Releases: inhabitedtype/angstrom
Releases · inhabitedtype/angstrom
0.10.0
Breaking Changes
- Add constant-checking int parsers. Translate calls to
intn
toget_intn
(e.g.,int32
becomesget_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
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
andcount_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 thePartial
state take an offset and a length. In the process clean up theInput
module and remove some redundant checks introduced as part of a previous bugfix. (#123, #129)
Cleanup
v0.8.1
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
instring
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 ofpeek-string
when performance is critical. (#119)
v0.8.0
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 theirstring
-equivalents. Also added anUnsafe
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
v0.7.0
Breaking Changes
- Remove support for using a
string
as an internal buffer (#97, #103) - Remove
uint32
anduint64
in favor of the equivalentint32
andint64
(#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
andAsync
(#87) - Various build fixes from the move over to jbuilder (#88, #100, #101, #102)
v0.6.0
v0.5.1
v0.5.0
v0.4.0
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
- add
scan
,scan_state
, andscan_string
combinators. (#67) (h/t @rgrinberg) - Copyediting of the README and
mli
's (#64, #65) (h/t @olleolleolle)