Skip to content

Releases: typedb/typeql

TypeQL 3.10.4

01 May 20:44
366c148

Choose a tag to compare

TypeQL Grammar and Language Library distributions for Rust

Available through https://crates.io/crates/typeql.

cargo add typeql@3.10.4

New Features

Bugs Fixed

Code Refactors

Other Improvements

  • Allow leading comma in redefine constraints

    Mirrors the leading-comma sugar already accepted by define: define person, owns name; parses, but redefine person, owns name @card(0..10); did not. Make redefinable_type accept an optional COMMA between the label and the constraint so concat-based query generation has the same shape for define and redefine.

  • Update Rust dependencies

TypeQL 3.10.1

23 Apr 11:04
d085b21

Choose a tag to compare

TypeQL Grammar and Language Library distributions for Rust

Available through https://crates.io/crates/typeql.

cargo add typeql@3.10.1

New Features

Bugs Fixed

Code Refactors

Other Improvements

  • Update dependencies

  • Update Rust to 1.93.0

TypeQL 3.10.0

22 Apr 16:31
e0c7cde

Choose a tag to compare

TypeQL Grammar and Language Library distributions for Rust

Available through https://crates.io/crates/typeql.

cargo add typeql@3.10.0

New Features

  • Implement unicode unescaping
    Escaped unicode characters can be used in TypeQL string literals. These must be of the form \uXXXX (exactly 4 hex digits), or \u{XX...X} (1 to 6 hex digits).

Bugs Fixed

Code Refactors

Other Improvements

  • Fix parser for inserting with anonymous relation syntax
    Fixes a bug in parsing for inserting with anonymous relation syntax

  • Minor grammar refactor for parser performance improvements
    Reordering the choices to boost performance by failing faster and having more frequent alternatives earlier. Also removes the !reserved check for identifiers and expects this to be handled in an application post-check.

  • Bazel 8 upgrade

    Update Bazel version from 6.2 to 8.5.1.

    The upgrade is done in a backwards-compatible way, such that "upstream" repositories that are yet to be upgraded may depend on this repository. This is done by preserving WORKSPACE and the deps.bzl loader files alongside the new Bazel 8 ones. Once every repository has been upgraded to Bazel 8, these files will be removed.

TypeQL 3.8.4-rc0

17 Apr 12:32
3e4cdff

Choose a tag to compare

TypeQL Grammar and Language Library distributions for Rust

Available through https://crates.io/crates/typeql.

cargo add typeql@3.8.4-rc0

New Features

  • Implement unicode unescaping
    Escaped unicode characters can be used in TypeQL string literals. These must be of the form \uXXXX (exactly 4 hex digits), or \u{XX...X} (1 to 6 hex digits).

Bugs Fixed

Code Refactors

Other Improvements

  • Fix parser for inserting with anonymous relation syntax
    Fixes a bug in parsing for inserting with anonymous relation syntax

  • Minor grammar refactor for parser performance improvements
    Reordering the choices to boost performance by failing faster and having more frequent alternatives earlier. Also removes the !reserved check for identifiers and expects this to be handled in an application post-check.

TypeQL 3.8.3-rc0

01 Apr 14:04
fb6219c

Choose a tag to compare

TypeQL 3.8.3-rc0 Pre-release
Pre-release

TypeQL Grammar and Language Library distributions for Rust

Available through https://crates.io/crates/typeql.

cargo add typeql@3.8.2

New Features

  • Allow leading underscore in type labels

    We relax our identifier rules, allowing _ as a leading underscore in type labels. This does NOT extend to variables, since we have some complexity around anonymous variables for the time being we don't want to modify.

Bugs Fixed

Code Refactors

  • Introduce Collector variant of Reducer to accomodate the unimplemented list reducer
    It was placed under Stat, which it is not and caused confusion & crashes in core.

Other Improvements

  • Add tests for end; clause in query pipelines

    Add tests for end; statements

  • Allow decimal syntax without a period

    To give both humans and LLMs more flexibility when writing decimal value types, we no longer requiring the .0 in xxx.0dec. This is unambiguous since the dec suffix already syntactically differentiates when a value is a decimal.

TypeQL 3.8.2

24 Mar 09:42
84a86ee

Choose a tag to compare

TypeQL Grammar and Language Library distributions for Rust

Available through https://crates.io/crates/typeql.

cargo add typeql@3.8.2

New Features

  • Allow leading underscore in type labels

    We relax our identifier rules, allowing _ as a leading underscore in type labels. This does NOT extend to variables, since we have some complexity around anonymous variables for the time being we don't want to modify.

Bugs Fixed

Code Refactors

  • Introduce Collector variant of Reducer to accomodate the unimplemented list reducer
    It was placed under Stat, which it is not and caused confusion & crashes in core.

Other Improvements

  • Add tests for end; clause in query pipelines

    Add tests for end; statements

  • Allow decimal syntax without a period

    To give both humans and LLMs more flexibility when writing decimal value types, we no longer requiring the .0 in xxx.0dec. This is unambiguous since the dec suffix already syntactically differentiates when a value is a decimal.

TypeQL 3.8.0

04 Feb 14:02
6449dad

Choose a tag to compare

TypeQL Grammar and Language Library distributions for Rust

Available through https://crates.io/crates/typeql.

cargo add typeql@3.8.0

New Features

  • Add built-in functions iid() and label()

    We add iid() and label() to the built-in functions in the TypeQL grammar.

Bugs Fixed

  • Use XID_START and XID_CONTINUE character classes

    We use XID_START and XID_CONTINUE character classes provided by pest instead of manually listing unicode codepoint ranges for our identifiers. We also change the definition of the word boundary (WB) to be "any character that is not an identifier continuation character" that resolves parsing bugs such as let $var= 4; failing to parse: = is not PUNCTUATION, so not valid word boundary.

Code Refactors

Other Improvements

  • Expose value parser

    We expose value parsing as a top-level function, and update the value literal definitions. This lets us re-use the value parser for test frameworks in other repositories.

  • Update TypeQL banner image link in README

  • Add contributing guidelines to CONTRIBUTING.md

  • Allow trailing commas (#421)

    To simplify writing and generating queries, we allow trailing commas anywhere we use a comma separated list of variables, statements, reductions, etc.

  • Remove discussion and Stack Overflow links

  • Allow trailing commas

    To simplify writing and generating queries, we allow trailing commas anywhere we use a comma separated list of variables, statements, reductions, etc.

TypeQL 3.8.0-rc0

29 Jan 15:26
c439821

Choose a tag to compare

TypeQL Grammar and Language Library distributions for Rust

Available through https://crates.io/crates/typeql.

cargo add typeql@3.8.0-rc0

New Features

  • Add built-in functions iid() and label()

    We add iid() and label() to the built-in functions in the TypeQL grammar.

Bugs Fixed

  • Use XID_START and XID_CONTINUE character classes

    We use XID_START and XID_CONTINUE character classes provided by pest instead of manually listing unicode codepoint ranges for our identifiers. We also change the definition of the word boundary (WB) to be "any character that is not an identifier continuation character" that resolves parsing bugs such as let $var= 4; failing to parse: = is not PUNCTUATION, so not valid word boundary.

Code Refactors

Other Improvements

  • Expose value parser

    We expose value parsing as a top-level function, and update the value literal definitions. This lets us re-use the value parser for test frameworks in other repositories.

  • Update TypeQL banner image link in README

  • Add contributing guidelines to CONTRIBUTING.md

  • Allow trailing commas (#421)

    To simplify writing and generating queries, we allow trailing commas anywhere we use a comma separated list of variables, statements, reductions, etc.

  • Remove discussion and Stack Overflow links

  • Allow trailing commas

    To simplify writing and generating queries, we allow trailing commas anywhere we use a comma separated list of variables, statements, reductions, etc.

TypeQL 3.7.0

02 Dec 17:35
d0134ff

Choose a tag to compare

TypeQL Grammar and Language Library distributions for Rust

Available through https://crates.io/crates/typeql.

cargo add typeql@3.7.0

New Features

  • Try blocks in write stages

    We allow try {} blocks in all write stages, viz. insert, delete, put, and update.

Bugs Fixed

Code Refactors

Other Improvements

  • Change CODEOWNERS

  • Fix illegal grammar error formatting

    We fix the (internal) illegal grammar error formatting to show the part of the query that caused the error rather than the corresponding parsed subtree.

TypeQL 3.7.0-rc0

12 Nov 18:16
6d96bdf

Choose a tag to compare

TypeQL Grammar and Language Library distributions for Rust

Available through https://crates.io/crates/typeql.

cargo add typeql@3.7.0-rc0

New Features

  • Try blocks in write stages

    We allow try {} blocks in all write stages, viz. insert, delete, put, and update.

Bugs Fixed

Code Refactors

Other Improvements

  • Change CODEOWNERS

  • Fix illegal grammar error formatting

    We fix the (internal) illegal grammar error formatting to show the part of the query that caused the error rather than the corresponding parsed subtree.