Skip to content

v0.18.0

Latest
Compare
Choose a tag to compare
@dbohdan dbohdan released this 03 Apr 17:29

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, and no 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 in PyPy and on macOS.