Releases: ty1824/dialector
Releases · ty1824/dialector
v0.9.3
Resolves several performance bugs with Inkt's internals:
- Queries assigned a value equal to their already-computed value would invalidate their dependencies
- Queries with transitive dependencies whose inputs had maybe changed would never validate (and thus always recompute).
- Added tests for these cases and several others.
Some enhancements:
- Eliminated a lot of dead code around input value verification (likely added to ensure correct behavior in the presence of the above bugs)
- Reduced the toString length of various query internals to make debugging easier.
What's Changed
Full Changelog: v0.9.2...v0.9.3
v0.9.2
v0.9.1
Dialector
- A convenience change - variance on the context type of
TypesafePredicate
isin
rather than invariant. This prevents needing to specifyin
at essentially all use sites.
What's Changed
Full Changelog: v0.9.0...v0.9.1
v0.9.0
Dialector
- Significant changes to predicates and rules. They now include a generic context parameter, and all APIs using them do as well.
- Unfinished/unused code has been moved to
dialector-kt-experimental
to avoid cluttering the API and make it easier to validate coverage. - Code coverage! Tests have been added to cover nearly the entire Dialector API
- Lots of miscellaneous improvements across the board.
What's Changed
Full Changelog: v0.8.0...v0.9.0
v0.8.0
Dialector
- Fixed a nullable cast bug in the resolve extension
- Now allows properties with default values. The hasDefault property must be set on the @Property annotation and a default getter must be provided by the property
- Attempted to add formatting capabilities to the Dialector code generator. This is disabled until a reflective access bug is fixed by the ktlint team/their upstream libraries.
Inkt
- Formalized the error messaging when a cycle occurs so it is more useful and complete.
What's Changed
Full Changelog: v0.7.0...v0.8.0
v0.7.0
v0.6.0
Additional improvements to the new Inkt query format.
- Queries are now invoked using
QueryContext.query
rather than an implicitinvoke
on the query definition. - Backdating support has been implemented - if a dependent query re-executes with the same value as it previously had, downstream queries will not require recomputation.
Misc changes to Dialector
- Node.getDescendants now has the proper return type.
- Reference resolution now supports a reified extension function.
v0.5.0
- New Inkt DSL allows for less query database boilerplate and provides interfaces for custom implementations.
- Code generation for references on builders has been changed to provide full contextual information to a reference. This includes the target, as before, along with the source node and relation (owning property).