Releases: partiql/partiql-ir-generator
Releases · partiql/partiql-ir-generator
v0.6.3
v0.6.2
v0.6.1 Release
- Enables
experimental::
anddeprecated::
annotations on type definitions.
v0.6.0
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
Full Changelog: v0.5.0...v0.5.1
v0.5.0
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 forproduct
types withoptional
andvariadic
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
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 defaultMetaContainer
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'sdata 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
v0.3.2
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 defaultMetaContainer
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'sdata 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
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:
- Add Travis CI status badge
- Update README.md
- Add .travis.yml
- Bump version to 0.2.0 and remove -SNAPSHOT
- Add Travis CI status badge
- Add note to main README about PIG's API status
- Named product properties in generated code
- Convert snake case to camel or pascal case for all identifiers in Kotlin target
- Revise product element naming syntax.
- Add visitors to generated Kotlin code
- Folding visitor
- Add transforming visitors to generated code
- Increments bugfix revision and adds -SNAPSHOT
- Fix publishing to maven local
- Enhance public API for generating code (#5)
- Add underscore to field transform function name to improve readability
- Add copy method to LongPrimitive and SymbolPrimitive and add tests
- Fix capitalization of generated Builder objects
- Use AnyElement instead of
IonElement
in generated code. - Add basic kdoc to builder functions which explains presence of _ suffix
- Removed unsed property
- Removed unsed property
- Change return type of sum variant transform methods.
- Version bump in preparation for release