Releases: ahrefs/atd
Releases · ahrefs/atd
2.15.0
CHANGES:
2.14.1
2.14.0
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
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 withoutwrap
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 withatdcat
(#352, #358)
2.12.0
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 toNone
in Python. (#332) - (BREAKING) atdgen: revert default encoding of int64 values as string (#330)
- atdgen: Support
<json repr="string">
forint
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
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 typeabstract
. - atdts: Fix incorrect type for TypeScript writers of optional fields.
It was working only in special cases such asfoo?: int
. - atdts: Eliminate the type alias
type Int = number
since it was
more confusing than helpful. Occurrences ofInt
are replaced
bynumber /*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
2.9.1
2.8.0
2.7.0
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).