diff --git a/CHANGELOG.md b/CHANGELOG.md index a587c0f5..0b9b2f00 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,11 +7,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## [Unreleased] +## [0.7.0] - 2025-11-11 + ### Added - Added formatting for multiline string interior whitespace. Enabled by default with new setting `format_multiline_strings`. 1. Indentation is normalised to align the trailing quote with the leading quote. Lines in the - middle are adjusted to retain their original significant leading whitespace. + middle are adjusted to retain their original significant leading whitespace. 2. Internal line endings are normalised to match the configured line ending. 3. Invalid multiline strings are left untouched. - All keywords are now set to lowercase. This includes reserved words (like `begin` and `const`) but also includes @@ -212,8 +214,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ``` - Format spaces between all tokens (on separate lines) -[Unreleased]: https://github.com/integrated-application-development/pasfmt/compare/v0.6.0...HEAD -[0.5.1]: https://github.com/integrated-application-development/pasfmt/compare/v0.5.1...v0.6.0 +[Unreleased]: https://github.com/integrated-application-development/pasfmt/compare/v0.7.0...HEAD +[0.7.0]: https://github.com/integrated-application-development/pasfmt/compare/v0.6.0...v0.7.0 +[0.6.0]: https://github.com/integrated-application-development/pasfmt/compare/v0.5.1...v0.6.0 [0.5.1]: https://github.com/integrated-application-development/pasfmt/compare/v0.5.0...v0.5.1 [0.5.0]: https://github.com/integrated-application-development/pasfmt/compare/v0.4.0...v0.5.0 [0.4.0]: https://github.com/integrated-application-development/pasfmt/compare/v0.4.0-rc2...v0.4.0 diff --git a/Cargo.lock b/Cargo.lock index 23257676..00008741 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -749,7 +749,7 @@ checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" [[package]] name = "pasfmt" -version = "0.6.0+dev" +version = "0.7.0+dev" dependencies = [ "anyhow", "assert_cmd", @@ -771,7 +771,7 @@ dependencies = [ [[package]] name = "pasfmt-core" -version = "0.6.0+dev" +version = "0.7.0+dev" dependencies = [ "criterion", "fxhash", diff --git a/core/CHANGELOG.md b/core/CHANGELOG.md index a1176d6f..417eabaa 100644 --- a/core/CHANGELOG.md +++ b/core/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +## 0.7.0 - 2025-11-11 + ### Added - Added setting to enable internal formatting of multiline strings: `OptimisingLineFormatterSettings.format_multiline_strings`. @@ -18,15 +20,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - In order to support mutation of token contents, a few APIs have been adjusted. 1. `Token::set_content` was added. 2. `FormattedTokens` - * Methods `new_from_tokens`, `new`, and `get_token` were adjusted to either expect exclusive - references to tokens as arguments, or return exclusive references to tokens as part of the - result. - * Method `get_tokens` was deleted and replaced by `tokens`, which returns an iterator instead - of a reference to a vector. - * Method `get_token_mut` was added to provide a way to safely retrieve mutatable references to - tokens (alongside the mutable formatting data), protecting against mutating ignored tokens. - * Method `tokens_mut` was added to provide an iterable equivalent to `get_token_mut`, - mirroring the relationship between `get_token` and `tokens`. + - Methods `new_from_tokens`, `new`, and `get_token` were adjusted to either expect exclusive + references to tokens as arguments, or return exclusive references to tokens as part of the + result. + - Method `get_tokens` was deleted and replaced by `tokens`, which returns an iterator instead + of a reference to a vector. + - Method `get_token_mut` was added to provide a way to safely retrieve mutatable references to + tokens (alongside the mutable formatting data), protecting against mutating ignored tokens. + - Method `tokens_mut` was added to provide an iterable equivalent to `get_token_mut`, + mirroring the relationship between `get_token` and `tokens`. ### Removed diff --git a/core/Cargo.toml b/core/Cargo.toml index 8afb1958..b0cb7138 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pasfmt-core" -version = "0.6.0+dev" +version = "0.7.0+dev" edition = "2021" [features] diff --git a/front-end/Cargo.toml b/front-end/Cargo.toml index ec3a0565..e4870ba9 100644 --- a/front-end/Cargo.toml +++ b/front-end/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pasfmt" -version = "0.6.0+dev" +version = "0.7.0+dev" edition = "2021" # To allow splitting integration tests into separate files without creating multiple test binaries