diff --git a/CHANGELOG.md b/CHANGELOG.md index 76c633d742df..07ae006bdcb9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,14 +1,21 @@ # PRQL Changelog -## [unreleased] +## 0.11.0 — 2023-12-19 + +0.11.0 introduces new `date`, `string` & `math` modules with lots of standard +functions, including a new `date.to_text` function. It contains a few bugs +fixes, and lots of internal improvements to the compiler. + +This release has 119 commits from 9 contributors. Selected changes: **Language**: -- _Breaking_: Exclude `group`'s `by` columns from the partition. See #3490 +- _Breaking_: `group`'s `by` columns are now excluded from the partition. + (#3490) - _Breaking_: `round` is now in the `math` module and needs to be called via - `math.round`. See #3928 + `math.round`. (#3928) - _Breaking_: `lower` and `upper` are now in the `text` module and need to be - called via `text.lower` and `text.upper`. See #3913, #3973 + called via `text.lower` and `text.upper`. (#3913, #3973) **Features**: diff --git a/Cargo.lock b/Cargo.lock index 270580d1763e..dc6c7f53a100 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -837,7 +837,7 @@ dependencies = [ [[package]] name = "compile-files" -version = "0.10.2" +version = "0.11.0" dependencies = [ "prql-compiler", ] @@ -2161,7 +2161,7 @@ dependencies = [ [[package]] name = "mdbook-prql" -version = "0.10.2" +version = "0.11.0" dependencies = [ "ansi-to-html", "anstream", @@ -2866,7 +2866,7 @@ dependencies = [ [[package]] name = "prql" -version = "0.10.2" +version = "0.11.0" dependencies = [ "prql-compiler", "rustler", @@ -2874,7 +2874,7 @@ dependencies = [ [[package]] name = "prql-compiler" -version = "0.10.2" +version = "0.11.0" dependencies = [ "anstream", "anyhow", @@ -2916,7 +2916,7 @@ dependencies = [ [[package]] name = "prql-compiler-macros" -version = "0.10.2" +version = "0.11.0" dependencies = [ "prql-compiler", "syn 2.0.41", @@ -2924,7 +2924,7 @@ dependencies = [ [[package]] name = "prql-java" -version = "0.10.2" +version = "0.11.0" dependencies = [ "jni", "prql-compiler", @@ -2932,7 +2932,7 @@ dependencies = [ [[package]] name = "prql-js" -version = "0.10.2" +version = "0.11.0" dependencies = [ "console_error_panic_hook", "prql-compiler", @@ -2942,7 +2942,7 @@ dependencies = [ [[package]] name = "prql-python" -version = "0.10.2" +version = "0.11.0" dependencies = [ "insta", "prql-compiler", @@ -2952,7 +2952,7 @@ dependencies = [ [[package]] name = "prqlc" -version = "0.10.2" +version = "0.11.0" dependencies = [ "anstream", "anyhow", @@ -2981,7 +2981,7 @@ dependencies = [ [[package]] name = "prqlc-ast" -version = "0.10.2" +version = "0.11.0" dependencies = [ "enum-as-inner", "semver", @@ -2991,7 +2991,7 @@ dependencies = [ [[package]] name = "prqlc-clib" -version = "0.10.2" +version = "0.11.0" dependencies = [ "libc", "prql-compiler", @@ -3000,7 +3000,7 @@ dependencies = [ [[package]] name = "prqlc-parser" -version = "0.10.2" +version = "0.11.0" dependencies = [ "chumsky", "insta", diff --git a/Cargo.toml b/Cargo.toml index c1e6f0f030ff..97a15546fe04 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,7 +21,7 @@ edition = "2021" license = "Apache-2.0" repository = "https://github.com/PRQL/prql" rust-version = "1.70.0" -version = "0.10.2" +version = "0.11.0" [profile.release] # Optimize for binary size in releases of all crates, diff --git a/prqlc/bindings/elixir/native/prql/Cargo.toml b/prqlc/bindings/elixir/native/prql/Cargo.toml index fab6df1ee5cb..0a35b4312555 100644 --- a/prqlc/bindings/elixir/native/prql/Cargo.toml +++ b/prqlc/bindings/elixir/native/prql/Cargo.toml @@ -19,5 +19,5 @@ test = false # See Readme for details on Mac [target.'cfg(not(any(target_family="wasm", target_os = "macos", tarpaulin)))'.dependencies] -prql-compiler = {path = "../../../../prql-compiler", default-features = false, version = "0.10.2" } +prql-compiler = {path = "../../../../prql-compiler", default-features = false, version = "0.11.0" } rustler = "0.30.0" diff --git a/prqlc/bindings/js/package-lock.json b/prqlc/bindings/js/package-lock.json index 944c24eafe67..90ce0403c4a2 100644 --- a/prqlc/bindings/js/package-lock.json +++ b/prqlc/bindings/js/package-lock.json @@ -1,12 +1,12 @@ { "name": "prql-js", - "version": "0.10.2", + "version": "0.11.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "prql-js", - "version": "0.10.2", + "version": "0.11.0", "license": "Apache-2.0", "devDependencies": { "chai": "^4.3.6", diff --git a/prqlc/bindings/js/package.json b/prqlc/bindings/js/package.json index d29bb612d640..dd3aedf391ee 100644 --- a/prqlc/bindings/js/package.json +++ b/prqlc/bindings/js/package.json @@ -35,5 +35,5 @@ "test": "mocha tests" }, "types": "dist/node/prql_js.d.ts", - "version": "0.10.2" + "version": "0.11.0" } diff --git a/prqlc/prql-compiler-macros/Cargo.toml b/prqlc/prql-compiler-macros/Cargo.toml index 7ef739137ce3..bbd6c1660509 100644 --- a/prqlc/prql-compiler-macros/Cargo.toml +++ b/prqlc/prql-compiler-macros/Cargo.toml @@ -14,7 +14,7 @@ proc_macro = true test = false [dependencies] -prql-compiler = {path = "../prql-compiler", default-features = false, version = "0.10.2" } +prql-compiler = {path = "../prql-compiler", default-features = false, version = "0.11.0" } syn = "2.0.41" [package.metadata.release] diff --git a/prqlc/prql-compiler/Cargo.toml b/prqlc/prql-compiler/Cargo.toml index e976a801ab54..69ed16e60dbe 100644 --- a/prqlc/prql-compiler/Cargo.toml +++ b/prqlc/prql-compiler/Cargo.toml @@ -19,8 +19,8 @@ test-dbs = ["duckdb", "glob", "rusqlite", "tokio"] test-dbs-external = ["duckdb", "glob", "mysql", "pg_bigdecimal", "postgres", "rusqlite", "tiberius", "tokio", "tokio-util"] [dependencies] -prqlc-ast = {path = "../prqlc-ast", version = "0.10.2"} -prqlc-parser = {path = "../prqlc-parser", version = "0.10.2"} +prqlc-ast = {path = "../prqlc-ast", version = "0.11.0" } +prqlc-parser = {path = "../prqlc-parser", version = "0.11.0" } anstream = {version = "0.6.5", features = ["auto"]} anyhow = {version = "1.0.75", features = ["backtrace"]} diff --git a/prqlc/prql-compiler/tests/integration/sql.rs b/prqlc/prql-compiler/tests/integration/sql.rs index 9b8a2e92fcec..edaa6fdb2ffe 100644 --- a/prqlc/prql-compiler/tests/integration/sql.rs +++ b/prqlc/prql-compiler/tests/integration/sql.rs @@ -3920,7 +3920,7 @@ fn prql_version() { "#).unwrap(),@r###" SELECT *, - '0.10.2' AS y + '0.11.0' AS y FROM x "###); @@ -3932,7 +3932,7 @@ fn shortest_prql_version() { assert_display_snapshot!(compile(r#"[{version = prql_version}]"#).unwrap(),@r###" WITH table_0 AS ( SELECT - '0.10.2' AS version + '0.11.0' AS version ) SELECT version diff --git a/prqlc/prqlc-parser/Cargo.toml b/prqlc/prqlc-parser/Cargo.toml index 4392bcad1e46..9ba65ceec39a 100644 --- a/prqlc/prqlc-parser/Cargo.toml +++ b/prqlc/prqlc-parser/Cargo.toml @@ -13,7 +13,7 @@ doctest = false [dependencies] itertools = "0.12.0" -prqlc-ast = {path = "../prqlc-ast", version = "0.10.2" } +prqlc-ast = {path = "../prqlc-ast", version = "0.11.0" } semver = {version = "1.0.20"} # Chumsky's default features have issues when running in wasm (though we only diff --git a/prqlc/prqlc/Cargo.toml b/prqlc/prqlc/Cargo.toml index ddaf575b2825..1332653747ef 100644 --- a/prqlc/prqlc/Cargo.toml +++ b/prqlc/prqlc/Cargo.toml @@ -28,8 +28,8 @@ colorchoice-clap = "1.0.0" env_logger = {version = "0.10.1", features = ["color"]} itertools = "0.12.0" notify = "6.1.1" -prql-compiler = {path = '../prql-compiler', features = ["serde_yaml"], version = "0.10.2"} -prqlc-ast = {path = '../prqlc-ast', version = "0.10.2"} +prql-compiler = {path = '../prql-compiler', features = ["serde_yaml"], version = "0.11.0"} +prqlc-ast = {path = '../prqlc-ast', version = "0.11.0"} regex = {version = "1.10.2", features = ["std", "unicode"]} serde = "1" serde_json = "1.0.108" diff --git a/web/book/src/project/target.md b/web/book/src/project/target.md index a622e3ebf6b4..bca7d07ee036 100644 --- a/web/book/src/project/target.md +++ b/web/book/src/project/target.md @@ -80,7 +80,7 @@ echo 'prql target:sql.generic PRQL allows specifying a version of the language in the PRQL header, like: ```prql -prql version:"0.10.2" +prql version:"0.11.0" from employees ``` diff --git a/web/book/tests/documentation/snapshots/documentation__book__project__target__version__1.snap b/web/book/tests/documentation/snapshots/documentation__book__project__target__version__1.snap index 90c86b908f78..b06543460606 100644 --- a/web/book/tests/documentation/snapshots/documentation__book__project__target__version__1.snap +++ b/web/book/tests/documentation/snapshots/documentation__book__project__target__version__1.snap @@ -4,7 +4,7 @@ expression: "[{version = prql_version}]\n" --- WITH table_0 AS ( SELECT - '0.10.2' AS version + '0.11.0' AS version ) SELECT version diff --git a/web/playground/package-lock.json b/web/playground/package-lock.json index 2743614767e2..1d6ce46bc009 100644 --- a/web/playground/package-lock.json +++ b/web/playground/package-lock.json @@ -1,12 +1,12 @@ { "name": "prql-playground", - "version": "0.10.2", + "version": "0.11.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "prql-playground", - "version": "0.10.2", + "version": "0.11.0", "dependencies": { "@duckdb/duckdb-wasm": "^1.28.0", "@monaco-editor/react": "^4.6.0", @@ -30,7 +30,7 @@ }, "../../prqlc/bindings/js": { "name": "prql-js", - "version": "0.10.2", + "version": "0.11.0", "license": "Apache-2.0", "devDependencies": { "chai": "^4.3.6", diff --git a/web/playground/package.json b/web/playground/package.json index 2e4e5f0ccc28..645ad3f36324 100644 --- a/web/playground/package.json +++ b/web/playground/package.json @@ -47,5 +47,5 @@ "prepare": "rsync -ai --checksum --delete ../../prqlc/prql-compiler/tests/integration/data/ public/data/ && node generateBook.cjs", "preview": "vite preview" }, - "version": "0.10.2" + "version": "0.11.0" }