diff --git a/.github/config/release-please-manifest.json b/.github/config/release-please-manifest.json index 0662c48..f1cd893 100644 --- a/.github/config/release-please-manifest.json +++ b/.github/config/release-please-manifest.json @@ -1,4 +1,4 @@ { - "crates/sqlx-query": "0.1.0", - "crates/sqlx-query-cel": "0.1.0" + "crates/sqlx-query": "1.0.0", + "crates/sqlx-query-cel": "1.0.0" } diff --git a/Cargo.lock b/Cargo.lock index 8715a3e..64cae2e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1372,7 +1372,7 @@ dependencies = [ [[package]] name = "sqlx-query" -version = "0.1.0" +version = "1.0.0" dependencies = [ "base64 0.23.1", "chrono", @@ -1388,7 +1388,7 @@ dependencies = [ [[package]] name = "sqlx-query-cel" -version = "0.1.0" +version = "1.0.0" dependencies = [ "cel", "chrono", diff --git a/crates/sqlx-query-cel/CHANGELOG.md b/crates/sqlx-query-cel/CHANGELOG.md new file mode 100644 index 0000000..01cd7ef --- /dev/null +++ b/crates/sqlx-query-cel/CHANGELOG.md @@ -0,0 +1,25 @@ +# Changelog + +## [1.0.0](https://github.com/sqlx-contrib/sqlx-query/compare/sqlx-query-cel-v0.1.0...sqlx-query-cel-v1.0.0) (2026-11-09) + + +### ⚠ BREAKING CHANGES + +* `FilterClauseError::Blank` is gone; `FilterClause::parse` returns `Ok` for a blank string. +* `Value` gains a `Uuid` variant and `FilterClauseError` an `InvalidLiteral` one; an exhaustive match on either needs the new arm. +* make the drivers and the date library cargo features +* number placeholders internally so MySQL and SQLite bind correctly ([#3](https://github.com/sqlx-contrib/sqlx-query/issues/3)) + +### Features + +* a blank filter is the empty filter, not an error ([#8](https://github.com/sqlx-contrib/sqlx-query/issues/8)) ([7dcfa8e](https://github.com/sqlx-contrib/sqlx-query/commit/7dcfa8ee9dc197e9155a255b38f22e624a5f4e87)) +* make the drivers and the date library cargo features ([f1fdc12](https://github.com/sqlx-contrib/sqlx-query/commit/f1fdc126910522f0d0a6bfab2f6b70d632a5642d)) +* number placeholders internally so MySQL and SQLite bind correctly ([#3](https://github.com/sqlx-contrib/sqlx-query/issues/3)) ([b716f04](https://github.com/sqlx-contrib/sqlx-query/commit/b716f04372952d40d209f0aa8563900605cb193f)) +* string matching, timestamp() and uuid() in filters, and cursors on UUID keys ([#5](https://github.com/sqlx-contrib/sqlx-query/issues/5)) ([5b7bd74](https://github.com/sqlx-contrib/sqlx-query/commit/5b7bd74165a9dcfc6737e77862685865cf0d6de1)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * sqlx-query bumped from 0.1.0 to 1.0.0 diff --git a/crates/sqlx-query-cel/Cargo.toml b/crates/sqlx-query-cel/Cargo.toml index e146b62..f4827f9 100644 --- a/crates/sqlx-query-cel/Cargo.toml +++ b/crates/sqlx-query-cel/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "sqlx-query-cel" description = "Reads an AIP-160 filter written in CEL into a sqlx-query WhereClause" -version = "0.1.0" # literal, not inherited -- see [workspace.package] +version = "1.0.0" # literal, not inherited -- see [workspace.package] edition.workspace = true license.workspace = true repository.workspace = true @@ -28,7 +28,7 @@ uuid = ["dep:uuid", "sqlx-query/uuid"] # dependency without one -- the published crate has no sibling directory to # resolve, only a registry. release-please's cargo-workspace plugin keeps this # in step with sqlx-query's own version. -sqlx-query = { path = "../sqlx-query", version = "0.1.0", default-features = false } +sqlx-query = { path = "../sqlx-query", version = "1.0.0", default-features = false } cel = { workspace = true } thiserror = { workspace = true } chrono = { workspace = true, optional = true } diff --git a/crates/sqlx-query/CHANGELOG.md b/crates/sqlx-query/CHANGELOG.md new file mode 100644 index 0000000..56cc27e --- /dev/null +++ b/crates/sqlx-query/CHANGELOG.md @@ -0,0 +1,31 @@ +# Changelog + +## [1.0.0](https://github.com/sqlx-contrib/sqlx-query/compare/sqlx-query-v0.1.0...sqlx-query-v1.0.0) (2026-11-09) + + +### ⚠ BREAKING CHANGES + +* `Page::cursor` is `Cursor`, not `Option`: test `is_empty()` for the last page. `Cursor::parse("")` returns `Ok` with the empty cursor rather than a token error. +* `FilterClauseError::Blank` is gone; `FilterClause::parse` returns `Ok` for a blank string. +* `Value` gains a `Uuid` variant and `FilterClauseError` an `InvalidLiteral` one; an exhaustive match on either needs the new arm. +* make the drivers and the date library cargo features +* bind any type sqlx can encode, not just Value's seven scalars +* number placeholders internally so MySQL and SQLite bind correctly ([#3](https://github.com/sqlx-contrib/sqlx-query/issues/3)) + +### Features + +* a blank filter is the empty filter, not an error ([#8](https://github.com/sqlx-contrib/sqlx-query/issues/8)) ([7dcfa8e](https://github.com/sqlx-contrib/sqlx-query/commit/7dcfa8ee9dc197e9155a255b38f22e624a5f4e87)) +* a Pager that cuts a keyset page and the cursor to the next ([#7](https://github.com/sqlx-contrib/sqlx-query/issues/7)) ([129d8e6](https://github.com/sqlx-contrib/sqlx-query/commit/129d8e6bfd037aec977e496fbb506d28f42c8b03)) +* bind any type sqlx can encode, not just Value's seven scalars ([1c430d4](https://github.com/sqlx-contrib/sqlx-query/commit/1c430d43640ba9518c490e1c42960b9f69261fcc)) +* build an order_by without parsing, and combine a where with OR ([eb01764](https://github.com/sqlx-contrib/sqlx-query/commit/eb017648c60ce13c6ba4d510628a810c3503ddc8)) +* make the drivers and the date library cargo features ([f1fdc12](https://github.com/sqlx-contrib/sqlx-query/commit/f1fdc126910522f0d0a6bfab2f6b70d632a5642d)) +* number placeholders internally so MySQL and SQLite bind correctly ([#3](https://github.com/sqlx-contrib/sqlx-query/issues/3)) ([b716f04](https://github.com/sqlx-contrib/sqlx-query/commit/b716f04372952d40d209f0aa8563900605cb193f)) +* string matching, timestamp() and uuid() in filters, and cursors on UUID keys ([#5](https://github.com/sqlx-contrib/sqlx-query/issues/5)) ([5b7bd74](https://github.com/sqlx-contrib/sqlx-query/commit/5b7bd74165a9dcfc6737e77862685865cf0d6de1)) +* the empty cursor is the empty page token, both ways ([#9](https://github.com/sqlx-contrib/sqlx-query/issues/9)) ([9b83709](https://github.com/sqlx-contrib/sqlx-query/commit/9b83709382e7908429e47339380354119758e6ac)) + + +### Bug Fixes + +* parenthesise the where clause the composer splices in ([#6](https://github.com/sqlx-contrib/sqlx-query/issues/6)) ([98aae2d](https://github.com/sqlx-contrib/sqlx-query/commit/98aae2df8b3cba768f05228e963b184351e783bb)) +* refuse an order_by field that is not an identifier ([5c1bef0](https://github.com/sqlx-contrib/sqlx-query/commit/5c1bef08a3d79f1a0005d79d56551e679aa3c5ac)) +* **test:** skip the live-driver tests on unreachable, not on unset ([8312b1a](https://github.com/sqlx-contrib/sqlx-query/commit/8312b1a436507533696b54b1ec23d95abb267e16)) diff --git a/crates/sqlx-query/Cargo.toml b/crates/sqlx-query/Cargo.toml index da2e890..56fa5a4 100644 --- a/crates/sqlx-query/Cargo.toml +++ b/crates/sqlx-query/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "sqlx-query" description = "Filtering, ordering and keyset pagination spliced into SQL you already wrote, for sqlx" -version = "0.1.0" # literal, not inherited -- see [workspace.package] +version = "1.0.0" # literal, not inherited -- see [workspace.package] edition.workspace = true license.workspace = true repository.workspace = true