121 lines
3.4 KiB
Markdown
121 lines
3.4 KiB
Markdown
|
# Changelog
|
|||
|
|
|||
|
## 1.4.1 (06.07.2023)
|
|||
|
|
|||
|
* Add limit to decoded integer sizes of 1024 digits. This can be changed
|
|||
|
with the `decoding_integer_digit_limit` app env config.
|
|||
|
|
|||
|
## 1.4.0 (12.09.2022)
|
|||
|
|
|||
|
### Enhancements
|
|||
|
|
|||
|
* Use the `:erlang.float_to_binary(_, [:short])` function, instead of `io_lib_format.fwrite_g/1`
|
|||
|
where available (OTP 24.1+). This provides equivalent output with much less memory used
|
|||
|
and significantly improved performance.
|
|||
|
|
|||
|
## 1.3.0 (21.12.2021)
|
|||
|
|
|||
|
### Enhancements
|
|||
|
|
|||
|
* Add the `Jason.OrderedObject` struct
|
|||
|
* Support decoding objects preserving all the keys with `objects: :ordered_objects` option
|
|||
|
* Support decoding floats to `Decimal` with `floats: :decimals` option
|
|||
|
* Add `~j` and `~J` sigils in module `Jason.Sigil` to support writing JSON literals in code
|
|||
|
|
|||
|
### Fixes
|
|||
|
* Fix error reporting when decoding strings (it was possible to mis-attribute the offending byte)
|
|||
|
* Verify fields given to `@derive`
|
|||
|
|
|||
|
## 1.2.2 (08.09.2020)
|
|||
|
|
|||
|
### Enhancements
|
|||
|
|
|||
|
* Support Decimal 2.0
|
|||
|
|
|||
|
## 1.2.1 (04.05.2020)
|
|||
|
|
|||
|
### Security
|
|||
|
|
|||
|
* Fix `html_safe` escaping in `Jason.encode`
|
|||
|
|
|||
|
The `<!--` sequence of characters would not be escaped in `Jason.encode`
|
|||
|
with`html_escape` mode, which could lead to DoS attacks when used for
|
|||
|
embedding of arbitrary, user controlled strings into HTML through JSON
|
|||
|
(e.g. inside of `<script>` tags).
|
|||
|
|
|||
|
If you were not using the `html_safe` option, you are not affected.
|
|||
|
|
|||
|
Affected versions: < 1.2.1
|
|||
|
Patched versions: >= 1.2.1
|
|||
|
|
|||
|
## 1.2.0 (17.03.2020)
|
|||
|
|
|||
|
### Enhancements
|
|||
|
|
|||
|
* Add `Jason.Encode.keyword/2`
|
|||
|
([cb1f26a](https://github.com/michalmuskala/jason/commit/cb1f26a)).
|
|||
|
|
|||
|
### Bug fixes
|
|||
|
|
|||
|
* Fix `Jason.Helpers.json_map/1` value expansion
|
|||
|
([70b046a](https://github.com/michalmuskala/jason/commit/70b046a)).
|
|||
|
|
|||
|
## 1.1.2 (19.10.2018)
|
|||
|
|
|||
|
### Bug fixes
|
|||
|
|
|||
|
* correctly handle the `pretty: false` option
|
|||
|
([ba318c8](https://github.com/michalmuskala/jason/commit/ba318c8)).
|
|||
|
|
|||
|
## 1.1.1 (10.07.2018)
|
|||
|
|
|||
|
### Bug fixes
|
|||
|
|
|||
|
* correctly handle escape sequences in strings when pretty printing
|
|||
|
([794bbe4](https://github.com/michalmuskala/jason/commit/794bbe4)).
|
|||
|
|
|||
|
## 1.1.0 (02.07.2018)
|
|||
|
|
|||
|
### Enhancements
|
|||
|
|
|||
|
* pretty-printing support through `Jason.Formatter` and `pretty: true` option
|
|||
|
in `Jason.encode/2` ([d758e36](https://github.com/michalmuskala/jason/commit/d758e36)).
|
|||
|
|
|||
|
### Bug fixes
|
|||
|
|
|||
|
* silence variable warnings for fields with underscores used during deriving
|
|||
|
([88dd85c](https://github.com/michalmuskala/jason/commit/88dd85c)).
|
|||
|
* **potential incompatibility** don't raise `Protocol.UndefinedError` in non-bang functions
|
|||
|
([ad0f57b](https://github.com/michalmuskala/jason/commit/ad0f57b)).
|
|||
|
|
|||
|
## 1.0.1 (02.07.2018)
|
|||
|
|
|||
|
### Bug fixes
|
|||
|
|
|||
|
* fix `Jason.Encode.escape` type ([a57b430](https://github.com/michalmuskala/jason/commit/a57b430))
|
|||
|
* multiple documentation improvements
|
|||
|
|
|||
|
## 1.0.0 (26.01.2018)
|
|||
|
|
|||
|
No changes
|
|||
|
|
|||
|
## 1.0.0-rc.3 (26.01.2018)
|
|||
|
|
|||
|
### Changes
|
|||
|
|
|||
|
* update `escape` option of `Jason.encode/2` to take values:
|
|||
|
`:json | :unicode_safe | :html_safe | :javascript_safe` for consistency. Old values of
|
|||
|
`:unicode` and `:javascript` are still supported for compatibility with Poison.
|
|||
|
([f42dcbd](https://github.com/michalmuskala/jason/commit/f42dcbd))
|
|||
|
|
|||
|
## 1.0.0-rc.2 (07.01.2018)
|
|||
|
|
|||
|
### Bug fixes
|
|||
|
|
|||
|
* add type for `strings` option ([b459ee4](https://github.com/michalmuskala/jason/commit/b459ee4))
|
|||
|
* support iodata in `decode!` ([a1f3456](https://github.com/michalmuskala/jason/commit/a1f3456))
|
|||
|
|
|||
|
## 1.0.0-rc.1 (22.12.2017)
|
|||
|
|
|||
|
* Initial release
|