linol/yojson/_doc-dir/CHANGES.md
2024-02-20 18:15:51 +00:00

238 lines
5.4 KiB
Markdown

## 2.1.2
*2023-11-23*
### Fixed
- Fix the error location reported in the exception. Regression in 2.1.1
(reported by @johnridesabike, regression test by @ElectreAAS, fix by
@Leonidas-from-XIV, #171, #172)
## 2.1.1
*2023-10-10*
### Changed
- Make `Basic`, `Safe` & `Raw` seperate compilation units that get exposed by
the main module as suggested by @hhugo to enable JSOO to discard unused
modules. No API changes should be observable. (#84, #167 @Leonidas-from-XIV)
- Removed forward refs in the parser to make dead-code elimination in JSOO
better (#168, @hhugo)
## 2.1.0
*2023-04-26*
### Added
- Add `Yojson.Raw.Util` module to provide combinators for extracting fields
from `Yojson.Raw.t` values. (@tmcgilchrist, #163)
- Add `Util.path` function to recurse into an object through a list of keys.
(@cuihtlauac, @Leonidas-from-XIV, #157)
## 2.0.2
*2022-08-09*
### Added
- Expanded documentation of exceptions (@sim642, #148)
### Removed
- Removed undocumented and unused functions `write_float_fast` and
`write_std_float_fast` from `Yojson`, `Yojson.Basic` and `Yojson.Safe`
(@sim642, #149)
### Fixed
- Fix out-of-bounds error occurring when parsing object field names
with atdgen parsers using `map_ident` or `map_lexeme` (@mjambon, #150)
## 2.0.1
*2022-06-28*
### Fixed
- Fix pretty-printing behavior for lists/objects inside lists (@c-cube
#141, @mjambon #142)
## 2.0.0
*2022-06-02*
### Removed
- Removed dependency on easy-format and removed `pretty_format` from
`Yojson`, `Yojson.Basic`, `Yojson.Safe` and `Yojson.Raw`. (@c-cube, #90)
- Removed dependency on `biniou`, simplifying the chain of dependencies. This
changes some APIs:
* `Bi_outbuf.t` in signatures is replaced with `Buffer.t`
* `to_outbuf` becomes `to_buffer` and `stream_to_outbuf` becomes
`stream_to_buffer`
(@Leonidas-from-XIV, #74, and @gasche, #132)
- Removed `yojson-biniou` library
- Removed deprecated `json` type aliasing type `t` which has been available
since 1.6.0 (@Leonidas-from-XIV, #100).
- Removed `json_max` type (@Leonidas-from-XIV, #103)
- Removed constraint that the "root" value being rendered (via either
`pretty_print` or `to_string`) must be an object or array. (@cemerick, #121)
- Removed `validate_json` as it only made sense if the type was called `json`.
(@Leonidas-from-XIV, #137)
### Add
- Add an opam package `yojson-bench` to deal with benchmarks dependency
(@tmcgilchrist, #117)
- Add a benchmark to judge the respective performance of providing a buffer vs
letting Yojson create an internal (#134, @Leonidas-from-XIV)
- Add an optional `suf` keyword argument was added to functions that write
serialized JSON, thus allowing NDJSON output. Most functions default to not
adding any suffix except for `to_file` (#124, @panglesd) and functions
writing sequences of values where the default is `\n` (#135,
@Leonidas-from-XIV)
### Change
- The `stream_from_*` and `stream_to_*` functions now use a `Seq.t` instead of a
`Stream.t`, and they are renamed into `seq_from_*` and `seq_to_*` (@gasche, #131).
### Fix
- Avoid copying unnecessarily large amounts of strings when parsing (#85, #108,
@Leonidas-from-XIV)
- Fix `stream_to_file` (#133, @tcoopman and @gasche)
## 1.7.0
*2019-02-14*
### Add
- Add documented `write_t` and `read_t` to modules defining a JSON ast type for compatibility
with atdgen
## 1.6.0
*2019-01-30*
### Deprecate
- `json` types are deprecated in favor of their new `t` aliases, ahead of their removal in the next
major release (#73, @Leonidas-from-XIV)
### Add
- Add a type `t` and monomorphic `equal`, `pp` and `show` (#73, @Leonidas-from-XIV)
## 1.5.0
### Change
- Use dune as a build system (#67, @Leonidas-from-XIV)
- reraise exceptions in `finish_string` instead of silencing them by raising a `Failure _`
- raise finalizer exceptions in `from_channel` and `from_lexbuf` readers
### Fix
- Fix a race condition in builds (#57, @avsm)
## 1.2.0
*2014-12-26*
- new function `Yojson.Safe.buffer_json` for saving a raw JSON string while
parsing in order to parse later
## 1.1.8
*2014-01-19*
- cmxs is now generated for supported platforms
## 1.1.7
*2013-05-24*
- tolerate double quoted boolean "true" and "false" when a boolean is expected
## 1.1.6
*2013-05-16*
- fix a bug in float printing. now print number of significant figures rather
than decimal places for `write_float_prec` and `write_std_float_prec`
## 1.1.5
*2013-03-19*
- new function `Yojson.sort` to sort fields in objects, and corresponding
cmdline option.
## 1.1.4
*2012-12-31*
- proper support for escaped code points above U+FFFF
## 1.1.3
*2012-03-19*
- new function `Yojson.to_output` for writing to an OO channel; requires
`biniou` >= 1.0.2
## 1.1.2
*2012-02-27*
- various enhancements
## 1.1.1
*2012-02-07*
- ydump now implies -s i.e. multiple whitespace-separated records are accepted.
## 1.1.0
*2012-01-26*
- `Yojson.Biniou` becomes `Yojson_biniou`, package `yojson.biniou`
## 1.0.2
*2011-04-27*
- improved error messages showing several lookahead bytes
- factored out `lexer_state` and `init_lexer` definitions
- added `read_null_if_possible` function (used by `atdgen`)
## 1.0.1
*2011-01-22*
- fixed serialization of negative ints using the `write_int` function (affects
`atdgen`)
## 1.0.0
*2010-12-04*
- now requires `biniou` version 1.0.0 or higher
## 0.8.1
*2010-09-13*
- added `INSTALL` file
## 0.8.0
*2010-08-04*
- first release