v0.18.0
Breaking changes:
- Remarshal 0.18 finally encodes and decodes YAML as YAML 1.2 rather than YAML 1.1 like earlier versions. It means no more "Norway problem" (unquoted
NO
,No
, andno
being decoded as boolean false). Remarshal can now correctly process GitHub Actions YAML. To implement this, we have migrated from PyYAML to ruamel.yaml. The option--sort-keys
no longer affects YAML output due to a lack of support in the new YAML library. Because ruamel.yaml is not yet considered stable, the 1.0 release of Remarshal is postponed. - Multiple small changes to the Python API when using Remarshal as a library. For example, the order of the arguments to the function
remarshal
has changed. A type checker like mypy or Pyright can help you upgrade. We hope to make this the biggest change before the API is declared stable in version 1.0. - Support for Python 3.7 has been dropped.
Non-breaking changes:
- TOML decoding speed-up: TOML decoding should be at least 10× faster on average. Encoding is unaffected.
- There are new format command-line options
-f
/--from
and-t
/--to
like in Pandoc and iconv(1). We have hidden (but kept)-if
and-of
with a single dash. Those are legacy options from the Go days of Remarshal. - A new
--verbose
command-line option has been added for debugging. - The command-line interface and the help message have color. Color is used sparingly. You can disable it by setting the environment variable
NO_COLOR
. - Remarshal is now tested with PyPy and on macOS.