0.2.2 (2026-10-22)
Fixed
- The precompiled
x86_64-unknown-linux-gnuNIF in 0.2.0 and 0.2.1 needed glibc 2.33 or newer and failed to load on e.g. Debian 11 and Ubuntu 20.04. It is now built withcrosslike the other Linux targets, so it runs on older glibc versions again.
0.2.1 (2026-10-22)
Added
parse/2withruby: truereads plain values the way Ruby's Psych does, for YAML written by Ruby (e.g. Rails serialized columns). Psych follows YAML 1.1 and writes strings like1e5or1.5e3without quotes; with this option they stay strings instead of becoming floats.
Fixed
- Quoted strings whose continuation lines are not indented, as written by Ruby's Psych on older Ruby versions, are parsed like libyaml does instead of returning an "invalid indentation in quoted scalar" error.
0.2.0 (2026-10-22)
Fixed
parse/1no longer raises:nif_panickedon empty input (or input with only comments). It returns{:ok, nil}.parse/1no longer raises:nif_panickedon.inf,-.infand.nan(in any of their spellings, e.g..Infor.NAN). They are returned as:infinity,:neg_infinityand:nan, as the BEAM has no such floats.- Merge keys with a list of mappings (
<<: [*a, *b]) are now merged instead of being silently dropped. parse/1no longer raisesArgumentErroroninf,nanandinfinitywithout a leading dot. They are returned as strings.- The Hex package no longer contains stray macOS NIF builds.
Changed
- Inputs larger than 20 KB are parsed on a dirty CPU scheduler, so parsing a large document no longer blocks a normal BEAM scheduler.
- About 10-15% faster, as the parsed document is no longer copied before it is converted.
rustleris now an optional dependency, only needed to build the NIF from source, and anyrustler_precompiled~> 0.8is accepted. Apps no longer get rustler and its HTTP dependencies pulled in.True,TRUE,FalseandFALSEare parsed as booleans instead of strings, following the YAML 1.2 core schema..NaNis parsed as:naninstead of the string".NaN".- Updated to yaml-rust2 0.13 (which also fixes an infinite loop on some short documents) and rustler 0.38.
- Added a precompiled NIF for
aarch64-unknown-linux-musl(Alpine on ARM).
0.1.6
- Initial releases with precompiled NIFs.