diff --git a/CHANGELOG.md b/CHANGELOG.md index 60aca559eef5..b86aa8b47066 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,14 +1,37 @@ # PRQL Changelog -## [unreleased] +## 0.2.7 — 2022-09-17 -### Fixes +0.2.7 is a fairly modest release, six weeks after 0.2.6. We have some more +significant features, including a `union` operator and an overhaul of our type +system, as open PRs which will follow in future releases. + +We also have new features in the [VSCode +extension](https://github.com/prql/prql-code), courtesy of @jiripospisii, +including a live output panel, + +Fixes: - `range_of_ranges` checks the Range end is smaller than its start (@shuozeli, #946) +Documentation: + +- Improve various docs (@max-sixty, #974, #971, #972, #970, #925) +- Add reference to EdgeDB's blog post in our FAQ (@max-sixty, #922) +- Fix typos (@kianmeng, #943) + +Integrations: + +- Add `prql-lib`, enabling language bindings with `go` (@sigxcpu76, #923) +- Fix line numbers in JS exceptions (@charlie-sanders, #929) + +Internal changes: + +- Lock the version of the rust-toolchain, with auto-updates (@max-sixty, #926, #927) + ## 0.2.6 — 2022-08-05 -### Fixes +Fixes: - Adjust `fmt` to only escape names when needed (@aljazerzen, #907) - Fix quoting on upper case `table` names (@max-sixty, #893) @@ -16,12 +39,12 @@ - Fix parse error on newlines in a `table` (@sebastiantoh 🆕, #902) - Fix quoting of upper case table names (@max-sixty, #893) -### Documentation +Documentation: - Add docs on [Architecture](prql-compiler/ARCHITECTURE.md) (@aljazerzen, #904) - Add Changelog (@max-sixty, #890 #891) -### Internal changes +Internal changes: - Start trial using Conventional Commits (@max-sixty, #889) - Add crates.io release workflow, docs (@max-sixty, #887) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c6557a0300c8..34e56fadbc9e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -137,9 +137,9 @@ as described on [Task](https://taskfile.dev/#/installation). We use a pyramid of tests — we have fast, focused tests at the bottom of the pyramid, which give us low latency feedback when developing, and then slower, -broader tests which ensure that we don't miss anything as PRQL develops[^2]. +broader tests which ensure that we don't miss anything as PRQL develops[^1]. -[^2]: +[^1]: Our approach is very consistent with **[@matklad](https://github.com/matklad)**'s advice, in his excellent blog post [How to Test](https://matklad.github.io//2021/05/31/how-to-test.html). @@ -168,14 +168,14 @@ Our tests: unit tests to test that our code basically works. We extensively use [Insta](https://insta.rs/), a snapshot testing tool which writes out the results of an expression in our code, making it faster to write and modify - tests[^4]. + tests[^3]. These are the fastest tests which run our code; they're designed to run on every save while you're developing. (While they're covered by `task test-all`, you'll generally want to have lower-latency tests running in a tight - loop.)[^3] + loop.)[^2] -[^3]: For example, this is a command I frequently run: +[^2]: For example, this is a command I frequently run: ```sh RUST_BACKTRACE=1 watchexec -e rs,toml,pest,md -cr -- cargo insta test --accept -- -p prql-compiler --lib @@ -198,7 +198,7 @@ Our tests: loop of writing snapshot files, triggering a change, writing a snapshot file, etc. -[^4]: +[^3]: [Here's an example of an insta test](https://github.com/prql/prql/blob/0.2.2/prql-compiler/src/parser.rs#L580-L605) — note that only the initial line of each test is written by us; the remainder @@ -252,7 +252,7 @@ Currently we release in a semi-automated way: - PR & merge an updated [Changelog](CHANGELOG.md). - Run `cargo release --no-push --no-tag -x patch` locally to bump the versions, - and merge the change. + then PR the change. - After merging, go to [Draft a new release](https://github.com/prql/prql/releases/new), write up release notes, select a new tag to be created, and hit the "Publish" button. @@ -261,17 +261,17 @@ Currently we release in a semi-automated way: - Add in the sections for a new Changelog: ```md - ### Features + Features: - ### Fixes + Fixes: - ### Documentation + Documentation: - ### Web + Web: - ### Integrations + Integrations: - ### Internal changes + Internal changes: ``` We may make this more automated in future; e.g. automatic changelog creation.