CHANGELOG.md (3285B)
1 # Changelog 2 3 ## 1.4.0 (12.09.2022) 4 5 ### Enhancements 6 7 * Use the `:erlang.float_to_binary(_, [:short])` function, instead of `io_lib_format.fwrite_g/1` 8 where available (OTP 24.1+). This provides equivalent output with much less memory used 9 and significantly improved performance. 10 11 ## 1.3.0 (21.12.2021) 12 13 ### Enhancements 14 15 * Add the `Jason.OrderedObject` struct 16 * Support decoding objects preserving all the keys with `objects: :ordered_objects` option 17 * Support decoding floats to `Decimal` with `floats: :decimals` option 18 * Add `~j` and `~J` sigils in module `Jason.Sigil` to support writing JSON literals in code 19 20 ### Fixes 21 * Fix error reporting when decoding strings (it was possible to mis-attribute the offending byte) 22 * Verify fields given to `@derive` 23 24 ## 1.2.2 (08.09.2020) 25 26 ### Enhancements 27 28 * Support Decimal 2.0 29 30 ## 1.2.1 (04.05.2020) 31 32 ### Security 33 34 * Fix `html_safe` escaping in `Jason.encode` 35 36 The `<!--` sequence of characters would not be escaped in `Jason.encode` 37 with`html_escape` mode, which could lead to DoS attacks when used for 38 embedding of arbitrary, user controlled strings into HTML through JSON 39 (e.g. inside of `<script>` tags). 40 41 If you were not using the `html_safe` option, you are not affected. 42 43 Affected versions: < 1.2.1 44 Patched versions: >= 1.2.1 45 46 ## 1.2.0 (17.03.2020) 47 48 ### Enhancements 49 50 * Add `Jason.Encode.keyword/2` 51 ([cb1f26a](https://github.com/michalmuskala/jason/commit/cb1f26a)). 52 53 ### Bug fixes 54 55 * Fix `Jason.Helpers.json_map/1` value expansion 56 ([70b046a](https://github.com/michalmuskala/jason/commit/70b046a)). 57 58 ## 1.1.2 (19.10.2018) 59 60 ### Bug fixes 61 62 * correctly handle the `pretty: false` option 63 ([ba318c8](https://github.com/michalmuskala/jason/commit/ba318c8)). 64 65 ## 1.1.1 (10.07.2018) 66 67 ### Bug fixes 68 69 * correctly handle escape sequences in strings when pretty printing 70 ([794bbe4](https://github.com/michalmuskala/jason/commit/794bbe4)). 71 72 ## 1.1.0 (02.07.2018) 73 74 ### Enhancements 75 76 * pretty-printing support through `Jason.Formatter` and `pretty: true` option 77 in `Jason.encode/2` ([d758e36](https://github.com/michalmuskala/jason/commit/d758e36)). 78 79 ### Bug fixes 80 81 * silence variable warnings for fields with underscores used during deriving 82 ([88dd85c](https://github.com/michalmuskala/jason/commit/88dd85c)). 83 * **potential incompatibility** don't raise `Protocol.UndefinedError` in non-bang functions 84 ([ad0f57b](https://github.com/michalmuskala/jason/commit/ad0f57b)). 85 86 ## 1.0.1 (02.07.2018) 87 88 ### Bug fixes 89 90 * fix `Jason.Encode.escape` type ([a57b430](https://github.com/michalmuskala/jason/commit/a57b430)) 91 * multiple documentation improvements 92 93 ## 1.0.0 (26.01.2018) 94 95 No changes 96 97 ## 1.0.0-rc.3 (26.01.2018) 98 99 ### Changes 100 101 * update `escape` option of `Jason.encode/2` to take values: 102 `:json | :unicode_safe | :html_safe | :javascript_safe` for consistency. Old values of 103 `:unicode` and `:javascript` are still supported for compatibility with Poison. 104 ([f42dcbd](https://github.com/michalmuskala/jason/commit/f42dcbd)) 105 106 ## 1.0.0-rc.2 (07.01.2018) 107 108 ### Bug fixes 109 110 * add type for `strings` option ([b459ee4](https://github.com/michalmuskala/jason/commit/b459ee4)) 111 * support iodata in `decode!` ([a1f3456](https://github.com/michalmuskala/jason/commit/a1f3456)) 112 113 ## 1.0.0-rc.1 (22.12.2017) 114 115 * Initial release