Skip to content

Releases: ahrefs/atd

2.15.0

27 Oct 03:05
Compare
Choose a tag to compare

CHANGES:

  • atddiff: Breaking changes in the JSON output format of atddiff (#382)
  • atddiff: Fix atddiff --version output (#379)
  • atddiff: New experimental option --no-locations aimed at
    producing more stable results that allow diffing successive
    atddiff reports to spot new findings and ignore old ones (#377)

2.14.1

21 Oct 00:30
Compare
Choose a tag to compare

CHANGES:

  • atddiff: Fixed reports for new variant cases. They are now correctly
    reported as forward incompatibilities (#373)

2.14.0

19 Oct 22:59
Compare
Choose a tag to compare

CHANGES:

  • atdd: Fix various issues with the interoperability of user defined types,
    used in or outside of records (#355)
  • atdd: Generated .d files now have the suffix _atd.d (#355)
  • atddiff now supports options for filtering the findings based on the
    direction of the incompatibility (--backward, --forward) or based on the
    name of the affected types (--types) (#365)
  • atddiff: new option --output-format json for exporting the results to
    JSON (#360)

2.13.0

16 Oct 02:52
Compare
Choose a tag to compare

CHANGES:

  • atdts: Stop compiler errors on generated typescript (#348)
  • atdts: Don't fail on wrap constructs (#353)
  • atdcat: New option -remove-wraps which pretty-prints the type
    definitions without wrap constructs (#353)
  • atdd: Add dlang backend to generate D code from ATD definitions (#349)
  • new tool: atddiff. Compares two versions of an ATD file and reports
    possible incompatibilities in the JSON data. Atddiff ships as part of the
    atd package together with atdcat (#352, #358)

2.12.0

12 May 21:37
Compare
Choose a tag to compare

CHANGES:

  • atdgen: Annotate generated code with types to disambiguate OCaml
    classic variants (#331)
  • atdpy: Support the option type more correctly so that it follows
    ATD's convention for JSON encoding. This allows compatibility with
    JSON produced by other tools of the ATD suite. The Python type,
    however, is still a nullable (Optional) to make things simpler for
    Python programmers. This prevents distinguishing ["Some", "None"]
    from "None" which both translate to None in Python. (#332)
  • (BREAKING) atdgen: revert default encoding of int64 values as string (#330)
  • atdgen: Support <json repr="string"> for int values (#330)
  • atdpy: Treat default field values as expressions to evaluate each time
    they're assigned to a field. This allows the use of mutable defaults such as
    lists (#339)

2.11.0

09 Feb 07:15
Compare
Choose a tag to compare

CHANGES:

  • atdpy: Support parametrized type definitions (#303)
  • atdpy: Support options approximately by treating them as nullables (#320)
  • atdts: Support parametrized type definitions (#303)
  • atdts: Fix incorrect type for TypeScript readers/writers generated
    for type abstract.
  • atdts: Fix incorrect type for TypeScript writers of optional fields.
    It was working only in special cases such as foo?: int.
  • atdts: Eliminate the type alias type Int = number since it was
    more confusing than helpful. Occurrences of Int are replaced
    by number /*int*/.
  • atdts: Disable all tslint and eslint rules in generated code so as
    to play well with all tslint and eslint configurations.

2.10.0

10 Aug 03:25
Compare
Choose a tag to compare

CHANGES:

  • atdgen: use Yojson 2.0 API (#299)
  • atdpy: Support recursive definitions (#315)
  • atdts: fix nullable object field writer (#312)

2.9.1

11 Jun 01:51
Compare
Choose a tag to compare

CHANGES:

  • atdgen: update abstract type validation to accept all input by default (#301)
  • atdts: fix reader for case type (#302)

2.8.0

07 Jun 03:25
Compare
Choose a tag to compare

CHANGES:

  • atdgen: use odoc syntax to disambiguate clashing names (#296)
  • atdpy: propagate decorators on sum types to all constructor classes (#298)

2.7.0

18 May 02:21
Compare
Choose a tag to compare

CHANGES:

  • Add ability to specify JSON/OCaml adapter with the arbitrary code
    using <json adapter.to_ocaml="..." adapter.from_ocaml="..."> (#184).
  • atdcat: add option -jsonschema-no-additional-properties for JSON Schema
    output to specify that JSON objects may not have extra properties
    (#293, #294).
  • atdcat: add title field to JSON Schema output containing the name
    of root type (#294).
  • atdcat: add command-line option to choose the version of JSON Schema
    to target. Options are the latest version "Draft 2020-12" and the
    previous version "Draft 2019-09" (#294).
  • ATD language: the abstract built-in can now be used like any
    other type to hold untyped data, if the implementation supports it.
    The supported targets so far are OCaml/JSON (atdgen), Python
    (atdpy), TypeScript (atdts), JSON Schema (atdcat) (#295).