Skip to content

Releases: partiql/partiql-ir-generator

v0.6.3

22 Apr 23:58
9f4cb9e
Compare
Choose a tag to compare
  • Fix generated code using non-nullable type w/ ? warnings in builder function constructors and .toIonElement()
    • This allows for usage in Kotlin 1.9+

v0.6.2

22 May 17:17
Compare
Choose a tag to compare
  • Adds asAnyElement for List IonElement #148

v0.6.1 Release

01 Dec 18:54
bd72540
Compare
Choose a tag to compare
  • Enables experimental:: and deprecated:: annotations on type definitions.

v0.6.0

29 Aug 21:10
9ae5a9e
Compare
Choose a tag to compare

Changes

  • Project re-structure to Gradle conventions
  • Update dependency on ion-element to v1.0.0

Full Changelog: v0.5.0...v0.6.0

v0.5.1

18 Aug 22:02
79d632f
Compare
Choose a tag to compare

Full Changelog: v0.5.0...v0.5.1

v0.5.0

03 Mar 19:24
b6a6191
Compare
Choose a tag to compare
v0.5.0 Pre-release
Pre-release

Notable features include:

  • Split code generated with Kotlin target into multiple files (#106). PIG now generates one .generated.kt file per domain and cross-domain VisitorTransform, instead of one single file
    • This is a breaking change to API used by Gradle clients and to the CLI's command-line options
  • Relax rules related to product types (#98), thus allowing for product types with optional and variadic fields

Other misc changes:

  • Rewrite of README.md (#99)
  • Add ktlint to gradle build, upgrade gradle to 7.2, upgrade Kotlin to 1.4 (#111)
  • Upgrade dokka to 1.6.10 following gradle upgrade (#114)

Full Changelog: v0.4.0...v0.5.0

v0.4.0

06 Oct 23:12
afb1609
Compare
Choose a tag to compare
v0.4.0 Pre-release
Pre-release

Notable features include:

  • Cross domain visitor transforms
  • Same domain visitor transforms now avoid copying the entire tree--only those nodes that are different are copied.
  • <TypeDomain>.Builder in the generated code (this is potentially breaking from v0.3.0):
    • is now an interface with default implementations
    • Has a newMetaContainer function that can be overridden to supply a default MetaContainer for all new nodes created by the builder.
  • Record elements may now be variadic.
  • Support for the bool data type.
  • Generates a copy method for each generated class, similar to Kotlin's data class.

Commits included in this release:

  • afb1609 Prepare v0.4.0 release
  • 2e98a57 Improve introduction in the README.md.
  • 3188a9f Merge pull request #96 from partiql/lazy-publication
  • f10ed8d Use LazyThreadSafetyMode.PUBLICATION instead of NONE.
  • ca96271 Restore -SNAPSHOT to version number
  • 586633d Version bump to v0.3.2
  • b4b4d9d Fix for issue #92 (#93)
  • 9c31153 Allow custom builder interfaces which provide metas (#89)
  • b85eefe Add sum type converters to generated code (#88)
  • 4856472 Fix build error resulting from not rebasing before merge (#84)
  • c94488c Add primitive type bool (#42) (#80)
  • 58abfc7 Renames DomainNode.copyMetas -> copy (#83)
  • 3e11da6 Avoid unnecessary copies in generated VisitorTransforms (#75)
  • 7e9ae0f Variadic record elements (#67)
  • 7972a36 Generated cross-domain transforms (#60)
  • 3f8c403 Fix generate task order (#62)
  • 6601010 Generate .copy and .copyMetas function for generated classes (#53)
  • 7ac7c5d Fix builder importing (#56)
  • 9d20aed Fix GH actions duplicated builds
  • 126cc83 Update GH actions to run on all PRs and pushes
  • 2af35be Remove .travis.yml (#55)
  • 468eb2e Migrate to GitHub Actions (#54)
  • 8a4a4fc Version bump and add -SNAPSHOT
  • 1eccc1c Update VisitorTransformTests.kt

v0.3.3

06 Oct 23:15
75fea58
Compare
Choose a tag to compare
v0.3.3 Pre-release
Pre-release

Reverts the v0.3.2 changes due to a possible API incompatibility issue with <TypeDomain>.Builder in the generated code. This version reflects what's in v0.3.0.

v0.3.2

03 Sep 21:49
Compare
Choose a tag to compare
v0.3.2 Pre-release
Pre-release

Notable features include:

  • Cross domain visitor transforms
  • Same domain visitor transforms now avoid copying the entire tree--only those nodes that are different are copied.
  • <TypeDomain>.Builder in the generated code:
    • is now an interface with default implementations
    • Has a newMetaContainer function that can be overridden to supply a default MetaContainer for all new nodes created by the builder.
  • Record elements may now be variadic.
  • Support for the bool data type.
  • Generates a copy method for each generated class, similar to Kotlin's data class.

Commits included in this release:

  • 586633d Version bump to v0.3.2
  • b4b4d9d Fix for issue #92 (#93)
  • 9c31153 Allow custom builder interfaces which provide metas (#89)
  • b85eefe Add sum type converters to generated code (#88)
  • 4856472 Fix build error resulting from not rebasing before merge (#84)
  • c94488c Add primitive type bool (#42) (#80)
  • 58abfc7 Renames DomainNode.copyMetas -> copy (#83)
  • 3e11da6 Avoid unnecessary copies in generated VisitorTransforms (#75)
  • 7e9ae0f Variadic record elements (#67)
  • 7972a36 Generated cross-domain transforms (#60)
  • 3f8c403 Fix generate task order (#62)
  • 6601010 Generate .copy and .copyMetas function for generated classes (#53)
  • 7ac7c5d Fix builder importing (#56)
  • 9d20aed Fix GH actions duplicated builds
  • 126cc83 Update GH actions to run on all PRs and pushes
  • 2af35be Remove .travis.yml (#55)
  • 468eb2e Migrate to GitHub Actions (#54)
  • 8a4a4fc Version bump and add -SNAPSHOT
  • 1eccc1c Update VisitorTransformTests.kt

v0.3.0

29 Jul 22:08
Compare
Choose a tag to compare
v0.3.0 Pre-release
Pre-release

Major features include:

  • In the Kotlin target, snake_case used in type domain definitions is converted to PascalCase or camelCase as appropriate to the context, providing an API for the generated code that is far more idiomatic.
  • The Kotlin target now includes 3 different types of visitors:
    • A standard visitor, suitable for simple semantic checks and validation.
    • A folding visitor, suitable for extracting data from trees.
    • A transforming visitor, suitable for simple transformations.
  • Improvements to the public API for generating code--errors in the type domain throw an exception instead of calling exitProcess(-1).

Includes the following PRs: