-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathCHANGELOG
110 lines (82 loc) · 4.03 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
v0.10.4
- Made it possible to change configuration of underlying URLSessionConfiguration
v0.10.3
- Wrap all serializer errors in a common enum
v0.10.2
- Made Response<T>'s initializer accept interpreted response
v0.10.1
- Made Response<T>'s initializer public
v0.10.0
- Added Reflectable.afterDeserialization and Reflectable.afterSerialization
v0.9.0
- Added Reflector.update
- Removed assert that prevented creation args from differing from starting args
v0.8.2
- Polished up connection error reporting
v0.8.1
- Made Diff's initializers public
v0.8.0
- Added Reflector.copy and Reflector.diff
v0.7.0
- Added a built-in and ready to go URL <--> String transformer
v0.6.7
- Added DateTransformer.swift to git repo
v0.6.6
- Fixed DateTransformer visibility
v0.6.5
- Made Path and Query values public
v0.6.4
- Builder cleanup, plus a test for enqueue blocking
- Slight wording change for missing JSON key error message
- Added unit test for HTTP 400s, and global vs local transformers
- Added a DateTransformer
v0.6.3
- Fixed a bug where sending off 100+ requests at once would cause a deadlock.
v0.6.2
- Fixed a bug that prevented simple transformations, like from String to Bool.
v0.6.1
- Fixes a bug that only manifests itself when being used in a 3rd-party project where ReflectableTransformer would claim it didn't support Reflectables. Caused by Swift bug where type is TypeOfProperty.Type would fail in the protocol extension but work fine in the actual class--again, only in 3rd-party projects. UGH!
v0.6.0
- Overhauled transformers API for Reflectables
- Removed the following properties/functions from Reflectable:
- `func set(value:, for property:) throws`, use `Reflector.set(value:for:on:)` instead
- `func value(for:) throws -> Any?`, use `Reflector.value(for:on:)` instead
- `static var ignoredProperties: [String]`, refer to "New Config API" instead
- `static var ignoreErrorsForProperties: [String]`, refer to "New Config API" instead
- `static var mappedProperties: [String: String]`, refer to "New Config API" instead
- `static var transformedProperties: [String: Retrolux.ValueTransformer]`, refer to "New Config API" instead
- New Config API: override/implement `static func config(_ c: PropertyConfig)` and then do something like `c["nameOfProperty"] = [.serializedName("name_of_property", .nullable]`
- Reflector now has a `globalTransformers` property, to allow adding support globally for things like `Date` conversion
v0.5.3
- Error messages are more human readable and have recovery suggestions
v0.5.2
- Fixed a bug where responses with Void.self as the return type would always fail, with isSuccessful always returning false.
v0.5.1
- Made Field.value public.
v0.5.0
- Added Builder.dry() for easier testing
- Added Call<T>.perform() for synchronous network calls
- Added testProvider: as a parameter to Builder.makeRequest
- Requests capture base URL when starting requests, not when creating requests
v0.4.2
- Added support for Cocoapods.
v0.4.1
- Added keyNotFound error
- Here be dragons: Removed "base class must be a Reflection" check. If your overridden functions/properties on Reflectable aren't being called, be sure to make sure they are implemented in your base class and overridden properly! This exposes a limitation of Swift protocols.
v0.4.0
- Added Response<T>.interpreted, removed Response<T>.result. This enables you to customize how the response from the server is interpreted.
- Simplified Response<T> by moving ClientResponse's members directly into Response<T>.
- Fixed a regression where requests that have no parameters (i.e., HTTP GET) would fail.
- Added overridable logging.
- Moved requestInterceptor and responseInterceptor from Client to Builder.
v0.3.2
- Made reflectable_setValue public, for all your hacking needs!
v0.3.1
- Fixed git submodule error by deleting .gitsubmodules file.
v0.3
- RetroluxReflector is now vendored in, because it prevents uploading App Store builds when installed via Carthage
- Faster reflection thanks to caching
- More errors handled by Builder
- "Max depth 2" bug fixed
v0.2.4
- Initial release