Skip to content

Releases: inhabitedtype/angstrom

0.10.0

10 Jun 18:05
Compare
Choose a tag to compare

Breaking Changes

  • Add constant-checking int parsers. Translate calls to intn to get_intn (e.g., int32 becomes get_int32) when migrating to this version. (#139)

Bug Fixes

  • Fix error messages in little-endian int parsers (#141)
  • Fix bug in <|> operator that did not respect commit points (#146)

Improvements

  • Improve documentation of bigstring operations (#145, h/t @dinosaure)
  • Allow choice to specify error when all alternatives fail (#143)
  • Improve performance of some character parsers (#140)
  • Switch to using bigstringaf for bigstring operations (#138)
  • Remove references to Oasis build process in README (#137)

v0.9.0

27 Feb 03:53
Compare
Choose a tag to compare

Bugfixes

  • Check that the argument to advance is non-negative (#131, h/t @thedufer)
  • Properly set the position when calling failure continuations in count_while and count_while1 (#130, h/t @thedufer)
  • Fix the js_of_ocaml stubs, so that they actually work. (#133, h/t @martindemello)

API Changes

  • Make the continue function returned in the Partial state take an offset and a length. In the process clean up the Input module and remove some redundant checks introduced as part of a previous bugfix. (#123, #129)

Cleanup

  • Remove api.odocl, which was a remnant from the Oasis days (#125)
  • Compile C code with warnings (#126)
  • Add some documentation about the implementation of prompt (#128)

v0.8.1

14 Jan 23:06
Compare
Choose a tag to compare

Optimization and Code Reorganization

  • Optimize allocation of char parsers (#112)
  • Optimize allocation of *_while parsers (#116)
  • Move submodules of Angstrom into their own files (#115)
  • Eliminiate use of caml_equals in string parser (#117)
  • Fix and/or cleanup benchmarks and tests (#121, #122, #124)

API Changes

  • Added Unsafe.peek operation to enable non-allocating or copying lookahead. Should be used in place of peek-string when performance is critical. (#119)

v0.8.0

05 Jan 23:38
Compare
Choose a tag to compare

Bugfixes

  • Fix cstubs to use correct integer cast (#107, h/t @hcarty)
  • Fix OPAM constraints for async library (#106)
  • Fix bug in peek_char that could be triggered by a prompt for more input that did not actually grow the input (#104, h/t @dinosaure)

API Changes

  • Added the _bigstring family of functions that can be used like their string-equivalents. Also added an Unsafe module that contains functions that will not perform a copy of the underlying buffer when returning a bigstring. As the name suggests, these functions should be used with caution. (#99, h/t @hcarty).

Performance

  • Undo performance caused by the regression in #103 by using bigstring intrinsics rather than caml_ba_get_1 directly (#113)

Improvements

  • Make the library -safe-string-compatible (#109, #108)
  • Reorganize benchmarks into separate subcommands (#111)

v0.7.0

16 Sep 13:00
Compare
Choose a tag to compare

Breaking Changes

  • Remove support for using a string as an internal buffer (#97, #103)
  • Remove uint32 and uint64 in favor of the equivalent int32 and int64 (#86)

Other changes

  • Eliminate dependency on ocplib-endian (#98)
  • Eliminate dependency on cstruct (#96)
  • Update README with proper implementation of chain1l (#93)
  • Fix version constraint for alcotest dependency (#89, #92)
  • Switch to stdless Core and Async (#87)
  • Various build fixes from the move over to jbuilder (#88, #100, #101, #102)

v0.6.0

23 Jul 17:33
Compare
Choose a tag to compare
  • Remove deprecation warnings related to String.lowercase (#85)
  • Fix ocamldoc comments (#84)
  • Switch to jbuilder (#70, h/t @rgrinberg)

v0.5.1

24 Jun 22:47
Compare
Choose a tag to compare
  • same as 0.5.1 except on the proper release branch, with the right version set

v0.5.0

23 Jun 02:01
Compare
Choose a tag to compare
  • Rename rfc directory to examples so examples are to find (#76)
  • Fix a validation bug in the json example parser (#77)
  • Require OCaml version 4.03 or later (#81)
  • Change various equality checks for efficiency and readability (#80)

v0.4.0

20 Mar 00:23
Compare
Choose a tag to compare

Breaking Changes

  • Fail states now returns the character position of the parse failure. (#71)
  • Done states report the position in the input as their first constructor argument. (#71)
  • many_till is now not greedy, meaning it will end after the first time that the termination could have succeeded. (#74) (h/t @mattjbray)

Features

v0.3.0

27 Jan 16:51
Compare
Choose a tag to compare
  • add variance annotation to parser type (#62) (h/t @andreas)