jsx/CHANGES.md
alisdair sullivan 58b9887780 v2.6.1
2015-05-12 15:17:05 -07:00

181 lines
4.4 KiB
Markdown

v2.6.1
* hex.pm maintenance release
v2.6.0
* equivalent to v2.5.3 but created for semver reasons
v2.5.3
* add a `mix.exs` to be buildable by both mix and rebar
* minor README updates
v2.5.2
* fix regression parsing <<"-0e...">> (thanks @c-bik)
v2.5.1
* assume all datetimes are UTC time and add `Z` designator to indicate
* fix parsing issue with datetimes in arrays
v2.5.0
* `consult/2` function for reading a file directly to a json term
* `maps_always` build flag for always returning maps on platforms
that support them
* dialyzer fixes
v2.4.0
* enough performance improvements to justify a new version. 2-3x
speedup depending on mode of operation
v2.3.1
* fixes an issue where astral plane json escape sequences were
inadvertently being converted to the unicode replacement
character
v2.3
* switched to a faster implementation of string parsing in both
the decoder and encoder
* expand `uescape` option to the decoder
* allow control codes in json passed to decoder (contrary to the spec,
yes)
v2.2
* `return_maps` option
* `uescape` option for 7-bit clean output
* add `Makefile` for slightly better `erlang.mk` compatibility
* add `maps_support/0` call to determine whether `jsx` was compiled
with support for maps or not
v2.1.1
* faster generation of json via iolists
* `repeat_keys` option
v2.1
* force the end of streams with `end_json` in addition to `end_stream`
* support for encoding erlang datetime tuples to iso8601 format
* allow a single trailing comma in objects and arrays
v2.0.4
* more typespec adjustments
v2.0.3
* update some typespecs to make them more comprehensive
v2.0.2
* fixes travis-ci spec
v2.0.1
* fix regression in output of empty objects/arrays
v2.0
* jsx is much more pragmatic by default; common json errors are silently
ignored (and fixed). stricter parsing must be enabled with options
* add support for encoding otp 17.0's new maps data type
* removed `pre_encode` and `post_decode` options in favour of making jsx
functions easier to wrap and customize
* streaming behavior is now disabled by default and must be requested explicitly
* removed deprecated function names (`to_json`, `to_term`, `term_to_json`, etc)
* expanded test coverage
v1.4.5
* various fixes to typespecs uncovered by dialyzer
* allow integer keys during encoding
* convert atoms (other than `true`, `false` and `null`) to strings during encoding
v1.4.4
* typespec for `json_term/0` fixed
* incorrect boolean shortcircuiting fixed in multibyte escape processing
v1.4.3
* add empty rebar.config for mix build tool
* add `attempt_atom` option for decoding json objects
* fix a bug related to multibyte codepoints and streaming input
* add a missing error state in the encoder
v1.4.2
* build apparatus cleaned up and streamlined
* new `{raw, <<"json goes here">>}` intermediate form to support direct generation of json
* bugfixes involving inappropriate exceptions from jsx functions
v1.4.1
* fixes a bug with interaction between `dirty_strings` and even numbers of escape characters
* performance enhancements
v1.4
* radically refactored decoder
* `dirty_strings` now behaves intuitively in decoding. bad codepoints, bad utf8, illegal characters and escapes (except `"` and `'` if `single_quoted_strings` is enabled) are ignored completely
* `incomplete_handler` & `error_handler` are now available for use, see documentation in README
v1.3.3
* `pre_encode` now orders input in the order you'd expect
v1.3.2
* `pre_encode` is now able to handle tuples *correctly*
v1.3.1
* `pre_encode` is now able to handle tuples
v1.3
* introduces `prettify/1` and `minify/1`, shortcuts for `format/2`
* introduce `encode/1,2` and `decode/1,2` as primary interface to built in tokenizers. `to_json/1,2` and `to_term/1,2` remain accessible but not advertised
* new `parser/3` function exposes syntactic analysis stage for use with user defined tokenizers
* improved documentation
v1.2.1
* fixes incorrect handling of escaped forward slashes, thanks bob ippolito
v1.2
* rewritten handling of string escaping to improve performance
* `pre_encode` and `post_decode` hooks, see README
* `relax` option
v1.1.2
* add `dirty_strings` option
* more fixes for invalid unicode in strings
v1.1.1
* fixes bug regarding handling of invalid unicode in R14Bxx
v1.1
* improvements to string escaping and json generation performance
v1.0.2
* fixes to function specs
* rewritten README
* `comments` option
v1.0.1
* rebar fix