Skip to content

v1.0.0rc2

Pre-release
Pre-release
Compare
Choose a tag to compare
@dbohdan dbohdan released this 21 Nov 06:20

Breaking changes

  • Python API:
    The API has undergone significant changes in how formatting options are handled.
    • The formatting parameters to remarshal.remarshal have been removed and replaced with format-specific option classes. It makes clear what format uses what options.
    • While this is a breaking change, it should have no impact as Remarshal is used through its command-line interface.
  • --json-indent and --yaml-indent are now synonyms. See below for why. This should also have minimal impact.

Non-breaking changes

  • New Python output format:
    Added support for outputting data as Python code.
  • Unified formatting options:
    There are several improvements to make the formatting options more consistent.
    • A new unified --indent option. The option acts as a synonym for --json-indent and --yaml-indent. The old options remain available, though they have been hidden in the help message.
    • A new --width option acts as a synonym for --yaml-width. Besides YAML, it sets the width for Python output.
  • Improved the limitations section in the readme.

Upcoming v1.0

The YAML 1.2 upgrade in version 0.18 caught some downstream users off guard when their output documents were no longer valid YAML 1.1. We could have signaled big breaking changes with an increment to the major version, but Remarshal was still version 0.x. We should be done with minor breaking changes now. Let's not postpone version 1.0 because our new YAML library isn't stable. We will release version 1.0 soon. Going forward, we will be able to use semantic versioning to signal breaking changes.