Skip to content

Commit def2b73

Browse files
Autofill changelog with release notes (#89)
Co-authored-by: Thomas Honeyman <admin@thomashoneyman.com>
1 parent c03dfc0 commit def2b73

File tree

1 file changed

+170
-3
lines changed

1 file changed

+170
-3
lines changed

CHANGELOG.md

Lines changed: 170 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,175 @@ New features:
1010

1111
Bugfixes:
1212

13-
* Changed type in docs of `decodeJson` from `forall a. DecodeJson a => Json -> Either String a` to `forall a. DecodeJson a => Json -> Either JsonDecodeError a`.
14-
1513
Other improvements:
1614

17-
## [0.0.0] - 2020-01-01
15+
## [v7.0.0](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v7.0.0) - 2020-06-19
16+
17+
This release introduces a few major changes:
18+
19+
**Introducing typed errors**
20+
21+
This release introduces a shift in the way this library handles errors. Previously, errors were reported as `String` values when decoding. Now, errors are reported as `JsonDecodeError` values, which provide much richer information about what errors have occurred. This brings this library into line with `purescript-codec-argonaut`, which also uses typed errors.
22+
23+
There are new functions to help work with this error type:
24+
25+
- `printJsonDecodeError :: JsonDecodeError -> String` can be used to recover a string error from a typed error
26+
- `parseJson :: String -> Either JsonDecodeError Json` can be used instead of `Data.Argonaut.Parser.jsonParser` if you need to parse a `Json` value from a JSON string. It uses `jsonParser` under the hood, but provides a typed error instead of a string error.
27+
28+
Implemented in #73 and relevant documentation updated in #80.
29+
30+
**Add encoding and decoding functions without type classes**
31+
32+
Sometimes it is useful to be able to use the encoders and decoders defined in this library without needing the type classes. If you want to use the functions directly without a type class, they can now be found in the `Data.Argonaut.Decode.Decoders` and `Data.Argonaut.Encode.Encoders` modules.
33+
34+
Implemented in #74.
35+
36+
**Removed deprecated functions and operators**
37+
38+
A number of functions and operators were deprecated in the last release. Their removal doesn't change the functionality of this library -- as noted in the prior release, all deprecated operators have functionally-equivalent alternatives. For example:
39+
40+
- `.?` -> `.:`
41+
- `.??` -> `.:?`
42+
- `.?!` -> `.:!`
43+
44+
Implemented in #82.
45+
46+
**Migrate the library to use Spago**
47+
48+
This is a purely internal change, but the `purescript-argonaut-codecs` library now uses Spago internally to manage dependencies and the overall build. Over time the purescript-contrib organization will shift to use Spago instead of Pulp + Bower.
49+
50+
Implemented in #81.
51+
52+
## [v6.1.0](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v6.1.0) - 2020-05-08
53+
54+
This release includes two small improvements to the library:
55+
56+
* Adds new instances for `NonEmptyArray` and `NonEmptyList` (#61) and `Identity` (#54)
57+
* Elaborates errors produced with the generic instance for records (#72)
58+
59+
As well as a new tutorial for the library (#62)
60+
61+
## [v6.0.2](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v6.0.2) - 2019-05-06
62+
63+
Fixed associativity of a type annotation in advance of new `purs` version
64+
65+
## [v6.0.1](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v6.0.1) - 2019-03-24
66+
67+
Fixes a typo in documentation (@JamieBallingall)
68+
69+
## [v6.0.0](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v6.0.0) - 2019-03-05
70+
71+
Updated dependencies
72+
73+
## [v5.1.3](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v5.1.3) - 2019-03-01
74+
75+
Uses the `elaborateFailure` function in `getFieldOptional'` for more descriptive error messages (@LucianU)
76+
77+
## [v5.1.2](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v5.1.2) - 2019-01-28
78+
79+
Fixed a typo in the `getFieldOptional` docs (@Jwhiles)
80+
81+
## [v5.1.1](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v5.1.1) - 2019-01-04
82+
83+
- Bumps minor dependencies (@thomashoneyman)
84+
- Adds instances for `Set` (@bradediger)
85+
86+
## [v5.1.0](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v5.1.0) - 2018-11-24
87+
88+
Update combinators and operators to better reflect the usage pattern of Aeson, providing deprecation warnings for the old combinators (@davezuch)
89+
90+
## [v5.0.0](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v5.0.0) - 2018-11-09
91+
92+
Adds support for encoding and decoding record types (@elliotdavies)
93+
94+
## [v4.0.2](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v4.0.2) - 2018-06-27
95+
96+
- Adds better error messages (@crcornwell)
97+
- Tells you which index did not exist if you fail to access an array
98+
- Tells you which key did not exist if you fail to access an object
99+
100+
## [v4.0.1](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v4.0.1) - 2018-06-22
101+
102+
- Adds metadata including contributor guidelines
103+
- Pushes latest release to Pursuit
104+
105+
## [v4.0.0](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v4.0.0) - 2018-06-04
106+
107+
Updates for 0.12
108+
109+
## [v3.3.0](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v3.3.0) - 2018-03-15
110+
111+
- Added `assocOptional` and `encodeOptional` functions and operators (@foresttoney, @kanterov)
112+
113+
## [v3.2.0](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v3.2.0) - 2017-07-10
114+
115+
- Added `(.?=)` operator for specifying a default value for an optional field (@cdepillabout)
116+
117+
## [v3.1.0](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v3.1.0) - 2017-05-24
118+
119+
- `getFieldOptional` and corresponding `(.??)` operator are now exported from `Data.Argonaut.Decode` (@cdepillabout)
120+
121+
## [v3.0.1](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v3.0.1) - 2017-04-24
122+
123+
- Reverted the change to the `Maybe` codec as it was not functioning correctly. The original behaviour has been restored.
124+
125+
## [v3.0.0](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v3.0.0) - 2017-04-08
126+
127+
- Updated for PureScript 0.11
128+
- Encoding and decoding of `Maybe` has been updated to be able to accurately represent nested `Maybe`s. The `DecodeJson` instance is compatible with the old format, but `EncodeJson` produces a different structure now, so this may be a breaking change depending on your use case.
129+
130+
## [v2.1.0](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v2.1.0) - 2017-03-07
131+
132+
- Added codecs for `Void` (@natefaubion)
133+
134+
## [v2.0.0](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v2.0.0) - 2016-10-22
135+
136+
- Updated dependencies
137+
138+
## [v1.1.0](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v1.1.0) - 2016-08-05
139+
140+
- Added `(.??)` combinator for attempting to read fields that are optional (@passy)
141+
142+
## [v1.0.0](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v1.0.0) - 2016-06-11
143+
144+
Updates for the 1.0 core libraries.
145+
146+
## [v0.6.1](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v0.6.1) - 2016-01-15
147+
148+
- Fixed import warning
149+
150+
## [v0.6.0](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v0.6.0) - 2016-01-15
151+
152+
- The encoding of `Either` has been modified to be more explicit, allowing `Either` with the same type on either side to be decoded (@hdgarrood)
153+
154+
## [v0.5.2](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v0.5.2) - 2016-01-13
155+
156+
- Improved generic decoding errors (@hdgarrood)
157+
158+
## [v0.5.1](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v0.5.1) - 2015-12-22
159+
160+
- The `DecodeJson` instance for `Maybe` now treats `null` as `Nothing` to match the `EncodeJson` instance
161+
162+
## [v0.5.0](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v0.5.0) - 2015-11-20
163+
164+
- Updated for PureScript 0.7.6 and the updated generics (@zudov)
165+
166+
**Note**: this release _requires_ PureScript 0.7.6 or newer.
167+
168+
## [v0.4.1](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v0.4.1) - 2015-11-04
169+
170+
- Fix various warnings
171+
172+
## [v0.4.0](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v0.4.0) - 2015-11-04
173+
174+
Updated dependencies
175+
176+
## [v0.3.0](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v0.3.0) - 2015-08-25
177+
178+
## [v0.2.0](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v0.2.0) - 2015-08-19
179+
180+
- Updated dependencies for PureScript 0.7.3 (@zudov)
181+
182+
## [v0.1.0](https://github.com/purescript-contrib/purescript-argonaut-codecs/releases/tag/v0.1.0) - 2015-07-13
183+
184+
- Initial release

0 commit comments

Comments
 (0)