From 90671766b1b67193c240f3a8402482cfd636745a Mon Sep 17 00:00:00 2001 From: devolutionsbot <31221910+devolutionsbot@users.noreply.github.com> Date: Tue, 15 Sep 2026 08:46:30 -0400 Subject: [PATCH 1/3] chore(release): prepare for publishing --- Cargo.lock | 76 +++++++++---------- policies/rust/now-policy-api/CHANGELOG.md | 19 +++++ policies/rust/now-policy-api/Cargo.toml | 4 +- .../now-policy-server-template/CHANGELOG.md | 19 +++++ .../now-policy-server-template/Cargo.toml | 6 +- policies/rust/now-policy/CHANGELOG.md | 19 +++++ policies/rust/now-policy/Cargo.toml | 2 +- 7 files changed, 101 insertions(+), 44 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 70b014a..2afaca0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -55,7 +55,7 @@ checksum = "82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.5", ] [[package]] @@ -111,9 +111,9 @@ dependencies = [ [[package]] name = "bitflags" -version = "2.13.1" +version = "2.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da" +checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06" [[package]] name = "bumpalo" @@ -129,9 +129,9 @@ checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04" [[package]] name = "cc" -version = "1.4.4" +version = "1.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad534f4357a5264cce5019c989cf66a4f0dc4e0d1b1d15f8aacec0ff7360273" +checksum = "a3eb0f42d6c360dc3f8a821f6bf2fdea7f72bfd36b3076eb0e6d1e9e0752fff4" dependencies = [ "find-msvc-tools", "shlex", @@ -203,7 +203,7 @@ checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.5", ] [[package]] @@ -236,9 +236,9 @@ dependencies = [ [[package]] name = "find-msvc-tools" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d45db016d36b838f563236e9193d0ee6ce38f3f68b6c94e914b4929c96bbb890" +checksum = "3e0f1c7c3a72c66fd80abe965175f7523475c0489a87d3ff9d6e8c87d87a9d2d" [[package]] name = "form_urlencoded" @@ -305,7 +305,7 @@ checksum = "9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.5", ] [[package]] @@ -524,9 +524,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.14.1" +version = "2.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07aa2048142242915a31d35844fb311e0e53fcca590c3a0a40dcf1b841fa09eb" +checksum = "cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855" dependencies = [ "equivalent", "hashbrown", @@ -557,9 +557,9 @@ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "js-sys" -version = "0.3.104" +version = "0.3.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e0c1080212aad755ea003d18543e8768dd432c48819efd73a7bf1e39b7a5a3a" +checksum = "ce57d20d1ea864ce2ac172ab472d409214f4fd359f0b2a2775abdf522e2af99e" dependencies = [ "cfg-if", "futures-util", @@ -613,7 +613,7 @@ dependencies = [ [[package]] name = "now-policy" -version = "0.3.0" +version = "0.4.0" dependencies = [ "chrono", "schemars", @@ -626,7 +626,7 @@ dependencies = [ [[package]] name = "now-policy-api" -version = "0.4.0" +version = "0.5.0" dependencies = [ "chrono", "derive_more", @@ -641,7 +641,7 @@ dependencies = [ [[package]] name = "now-policy-server-template" -version = "0.4.0" +version = "0.5.0" dependencies = [ "aide", "async-trait", @@ -765,7 +765,7 @@ checksum = "92ecd8964f8453721699a1ed72037b0db49ce2f5a5138486ee89bed6f67cdf3a" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.5", ] [[package]] @@ -913,7 +913,7 @@ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.5", ] [[package]] @@ -991,9 +991,9 @@ checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "smallvec" -version = "1.16.0" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9be42f50aa861c555654aa3a37f52f4b1074bacf4e48fe0ef7fa584e80f1f0f" +checksum = "ba467056f1b547ed52077911161fc86985becbc60e8e1857c8a144dab0def891" [[package]] name = "stable_deref_trait" @@ -1035,9 +1035,9 @@ dependencies = [ [[package]] name = "syn" -version = "3.0.4" +version = "3.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6275cddf4610d1775e6d1fe9469b2e77d0f39fd98fb7450901b821e0c53649f" +checksum = "12df2e0110f65b775f769bb17ef989067a1d931b2eb822bd4346631eeada89f9" dependencies = [ "proc-macro2", "quote", @@ -1078,7 +1078,7 @@ checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.5", ] [[package]] @@ -1110,7 +1110,7 @@ checksum = "78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.5", ] [[package]] @@ -1124,9 +1124,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.25.13+spec-1.1.0" +version = "0.25.15+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6975367e4d2ef766d86af01ffad14b622fecc8d4357a998fbc4deb6e9bacaf9b" +checksum = "1340ea94a5856333492c9064b02c778b191dd2c853778d9609debdcdfea3a614" dependencies = [ "indexmap", "toml_datetime", @@ -1244,15 +1244,15 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "uuid" -version = "1.26.0" +version = "1.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5772d71c9be8a8a6ac2117d949c5b224c1b72241bb611d9a3012edcf8af7812" +checksum = "2ef6dac1e96601b4fb3acccccff2139741fcb757cb9a36089bf5be91cfb285ce" [[package]] name = "wasm-bindgen" -version = "0.2.127" +version = "0.2.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b70935747edd64d89de3efa29d73789b806c15798f8e7dca4d8ac356b50ce70" +checksum = "aecb87a33d3b0c5e3b7aa46336eaf486cffafbd281b195e4c8b80d50df2351bf" dependencies = [ "cfg-if", "once_cell", @@ -1263,9 +1263,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.127" +version = "0.2.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77775f8f3f7217702089053b94958f8f54061a3f663417df76e19cbdcca29bc1" +checksum = "a690d511e3c1a8b3a55e33511e3c2c00c78415cd23650f32b808627f5696b9ed" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1273,22 +1273,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.127" +version = "0.2.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e11d33f857dc2fb11b8bc75aee111aa9cbeb12cd9f25efd3d4c2a3dd4e235284" +checksum = "411e4887f0071ef2d2164a9d5fdf2d20efbef78fccd3a78b0c10a1dc5295e48a" dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.119", + "syn 3.0.5", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.127" +version = "0.2.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef64dbcc55df09c7e5a46182d181c2cfa3e925f3da937ea764728b4bbb9dcbf" +checksum = "81941cd78d0c92026c33e5e01312845a4cb1e9af3407f9134b100dd03144103e" dependencies = [ "unicode-ident", ] @@ -1465,7 +1465,7 @@ checksum = "34df6fc39dbd26ddc9c10e6a2984476e13acce22e64e4487636ef494369225da" dependencies = [ "proc-macro2", "quote", - "syn 3.0.4", + "syn 3.0.5", ] [[package]] diff --git a/policies/rust/now-policy-api/CHANGELOG.md b/policies/rust/now-policy-api/CHANGELOG.md index 470a84c..ff9058f 100644 --- a/policies/rust/now-policy-api/CHANGELOG.md +++ b/policies/rust/now-policy-api/CHANGELOG.md @@ -7,6 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +## [[0.5.0](https://github.com/Devolutions/now-libraries/compare/now-policy-api-v0.4.0...now-policy-api-v0.5.0)] - 2026-09-15 + +### Features + +- [**breaking**] Simplify policy document identity ([#106](https://github.com/Devolutions/now-libraries/issues/106)) ([cc841bf6e5](https://github.com/Devolutions/now-libraries/commit/cc841bf6e59547ddefbb6287f7a0ef8466aedb10)) + + Policy documents no longer contain `$schema`, and `PolicyVersion` is + renamed to `PolicyFormatVersion` to identify software-managed + document-format compatibility rather than a publisher-authored release + version. + + Consumers must remove `$schema` and use `"PolicyFormatVersion": + "1.0.0"`. New documents emit `1.0.0`; readers accept and preserve + supported SemVer 1.x values and reject malformed or unsupported-major + values. Applications must not expose this field as editable policy + metadata. `Revision` and `PublishedAt` remain server-managed. + + + ## [[0.4.0](https://github.com/Devolutions/now-libraries/compare/now-policy-api-v0.3.1...now-policy-api-v0.4.0)] - 2026-09-03 ### Features diff --git a/policies/rust/now-policy-api/Cargo.toml b/policies/rust/now-policy-api/Cargo.toml index 19d8622..1e4293c 100644 --- a/policies/rust/now-policy-api/Cargo.toml +++ b/policies/rust/now-policy-api/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "now-policy-api" -version = "0.4.0" +version = "0.5.0" edition = "2024" license.workspace = true homepage.workspace = true @@ -16,7 +16,7 @@ workspace = true [dependencies] chrono = { version = "0.4", features = ["serde"] } derive_more = { version = "2", features = ["as_ref", "deref", "display", "from"] } -now-policy = { version = "0.3", path = "../now-policy" } +now-policy = { version = "0.4", path = "../now-policy" } schemars = { version = "0.9", features = ["chrono04"] } semver = "1" serde = { version = "1", features = ["derive"] } diff --git a/policies/rust/now-policy-server-template/CHANGELOG.md b/policies/rust/now-policy-server-template/CHANGELOG.md index c9c0bec..bf5c892 100644 --- a/policies/rust/now-policy-server-template/CHANGELOG.md +++ b/policies/rust/now-policy-server-template/CHANGELOG.md @@ -7,6 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +## [[0.5.0](https://github.com/Devolutions/now-libraries/compare/now-policy-server-template-v0.4.0...now-policy-server-template-v0.5.0)] - 2026-09-15 + +### Features + +- [**breaking**] Simplify policy document identity ([#106](https://github.com/Devolutions/now-libraries/issues/106)) ([cc841bf6e5](https://github.com/Devolutions/now-libraries/commit/cc841bf6e59547ddefbb6287f7a0ef8466aedb10)) + + Policy documents no longer contain `$schema`, and `PolicyVersion` is + renamed to `PolicyFormatVersion` to identify software-managed + document-format compatibility rather than a publisher-authored release + version. + + Consumers must remove `$schema` and use `"PolicyFormatVersion": + "1.0.0"`. New documents emit `1.0.0`; readers accept and preserve + supported SemVer 1.x values and reject malformed or unsupported-major + values. Applications must not expose this field as editable policy + metadata. `Revision` and `PublishedAt` remain server-managed. + + + ## [[0.4.0](https://github.com/Devolutions/now-libraries/compare/now-policy-server-template-v0.3.0...now-policy-server-template-v0.4.0)] - 2026-09-03 ### Features diff --git a/policies/rust/now-policy-server-template/Cargo.toml b/policies/rust/now-policy-server-template/Cargo.toml index eea4c86..43d8ef7 100644 --- a/policies/rust/now-policy-server-template/Cargo.toml +++ b/policies/rust/now-policy-server-template/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "now-policy-server-template" -version = "0.4.0" +version = "0.5.0" edition = "2024" license.workspace = true homepage.workspace = true @@ -17,8 +17,8 @@ workspace = true aide = { version = "0.15", features = ["axum", "axum-json"] } async-trait = "0.1" axum = { version = "0.8", default-features = false, features = ["json"] } -now-policy-api = { version = "0.4", path = "../now-policy-api" } -now-policy = { version = "0.3", path = "../now-policy" } +now-policy-api = { version = "0.5", path = "../now-policy-api" } +now-policy = { version = "0.4", path = "../now-policy" } schemars = "0.9" serde = { version = "1", features = ["derive"] } serde_json = "1" diff --git a/policies/rust/now-policy/CHANGELOG.md b/policies/rust/now-policy/CHANGELOG.md index cb4c4e5..cd572e4 100644 --- a/policies/rust/now-policy/CHANGELOG.md +++ b/policies/rust/now-policy/CHANGELOG.md @@ -7,6 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +## [[0.4.0](https://github.com/Devolutions/now-libraries/compare/now-policy-v0.3.0...now-policy-v0.4.0)] - 2026-09-15 + +### Features + +- [**breaking**] Simplify policy document identity ([#106](https://github.com/Devolutions/now-libraries/issues/106)) ([cc841bf6e5](https://github.com/Devolutions/now-libraries/commit/cc841bf6e59547ddefbb6287f7a0ef8466aedb10)) + + Policy documents no longer contain `$schema`, and `PolicyVersion` is + renamed to `PolicyFormatVersion` to identify software-managed + document-format compatibility rather than a publisher-authored release + version. + + Consumers must remove `$schema` and use `"PolicyFormatVersion": + "1.0.0"`. New documents emit `1.0.0`; readers accept and preserve + supported SemVer 1.x values and reject malformed or unsupported-major + values. Applications must not expose this field as editable policy + metadata. `Revision` and `PublishedAt` remain server-managed. + + + ## [[0.3.0](https://github.com/Devolutions/now-libraries/compare/now-policy-v0.2.0...now-policy-v0.3.0)] - 2026-09-03 ### Features diff --git a/policies/rust/now-policy/Cargo.toml b/policies/rust/now-policy/Cargo.toml index 54205fa..94ef10a 100644 --- a/policies/rust/now-policy/Cargo.toml +++ b/policies/rust/now-policy/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "now-policy" -version = "0.3.0" +version = "0.4.0" edition = "2024" license.workspace = true homepage.workspace = true From 3e00cbaf35308f2dc1fd4c6da7c66d4e32aa4b22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Cortier?= <3809077+CBenoit@users.noreply.github.com> Date: Tue, 15 Sep 2026 22:02:06 +0900 Subject: [PATCH 2/3] Update versioning guidelines in CHANGELOG.md Clarify versioning requirements and restrictions for policy documents. Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- policies/rust/now-policy-api/CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/policies/rust/now-policy-api/CHANGELOG.md b/policies/rust/now-policy-api/CHANGELOG.md index ff9058f..6179112 100644 --- a/policies/rust/now-policy-api/CHANGELOG.md +++ b/policies/rust/now-policy-api/CHANGELOG.md @@ -20,9 +20,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Consumers must remove `$schema` and use `"PolicyFormatVersion": "1.0.0"`. New documents emit `1.0.0`; readers accept and preserve - supported SemVer 1.x values and reject malformed or unsupported-major - values. Applications must not expose this field as editable policy - metadata. `Revision` and `PublishedAt` remain server-managed. + canonical three-component numeric versions in the 1.x line, with each component + bounded to an unsigned 64-bit integer. Readers reject malformed or unsupported-major + values. Applications must not expose this field as editable policy metadata. `Revision` and `PublishedAt` remain server-managed. From ce86437b45ed17b3595172c5fd7a9876f14eabdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20CORTIER?= Date: Tue, 15 Sep 2026 22:06:31 +0900 Subject: [PATCH 3/3] docs: clean release changelogs Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- policies/rust/now-policy-api/CHANGELOG.md | 17 +++-------------- .../now-policy-server-template/CHANGELOG.md | 16 ++-------------- policies/rust/now-policy/CHANGELOG.md | 18 ++++-------------- 3 files changed, 9 insertions(+), 42 deletions(-) diff --git a/policies/rust/now-policy-api/CHANGELOG.md b/policies/rust/now-policy-api/CHANGELOG.md index 6179112..f2385e4 100644 --- a/policies/rust/now-policy-api/CHANGELOG.md +++ b/policies/rust/now-policy-api/CHANGELOG.md @@ -11,20 +11,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Features -- [**breaking**] Simplify policy document identity ([#106](https://github.com/Devolutions/now-libraries/issues/106)) ([cc841bf6e5](https://github.com/Devolutions/now-libraries/commit/cc841bf6e59547ddefbb6287f7a0ef8466aedb10)) - - Policy documents no longer contain `$schema`, and `PolicyVersion` is - renamed to `PolicyFormatVersion` to identify software-managed - document-format compatibility rather than a publisher-authored release - version. - - Consumers must remove `$schema` and use `"PolicyFormatVersion": - "1.0.0"`. New documents emit `1.0.0`; readers accept and preserve - canonical three-component numeric versions in the 1.x line, with each component - bounded to an unsigned 64-bit integer. Readers reject malformed or unsupported-major - values. Applications must not expose this field as editable policy metadata. `Revision` and `PublishedAt` remain server-managed. - - +- [**breaking**] Replace `ResponsePolicyInfo::policy_version` with `policy_format_version: now_policy::PolicyFormatVersion`, serialized as `PolicyFormatVersion` ([#106](https://github.com/Devolutions/now-libraries/issues/106)) ([cc841bf6e5](https://github.com/Devolutions/now-libraries/commit/cc841bf6e59547ddefbb6287f7a0ef8466aedb10)) +- [**breaking**] Update embedded `PolicyDocument` and `PolicyDraftDocument` payloads to omit `$schema` and use `PolicyFormatVersion` instead of `PolicyVersion` ([#106](https://github.com/Devolutions/now-libraries/issues/106)) ([cc841bf6e5](https://github.com/Devolutions/now-libraries/commit/cc841bf6e59547ddefbb6287f7a0ef8466aedb10)) +- [**breaking**] Replace `PolicyFindingCode::UnsupportedPolicyVersion` with `UnsupportedPolicyFormatVersion` and remove `UnsupportedSchema` ([#106](https://github.com/Devolutions/now-libraries/issues/106)) ([cc841bf6e5](https://github.com/Devolutions/now-libraries/commit/cc841bf6e59547ddefbb6287f7a0ef8466aedb10)) ## [[0.4.0](https://github.com/Devolutions/now-libraries/compare/now-policy-api-v0.3.1...now-policy-api-v0.4.0)] - 2026-09-03 diff --git a/policies/rust/now-policy-server-template/CHANGELOG.md b/policies/rust/now-policy-server-template/CHANGELOG.md index bf5c892..8fa18e6 100644 --- a/policies/rust/now-policy-server-template/CHANGELOG.md +++ b/policies/rust/now-policy-server-template/CHANGELOG.md @@ -11,20 +11,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Features -- [**breaking**] Simplify policy document identity ([#106](https://github.com/Devolutions/now-libraries/issues/106)) ([cc841bf6e5](https://github.com/Devolutions/now-libraries/commit/cc841bf6e59547ddefbb6287f7a0ef8466aedb10)) - - Policy documents no longer contain `$schema`, and `PolicyVersion` is - renamed to `PolicyFormatVersion` to identify software-managed - document-format compatibility rather than a publisher-authored release - version. - - Consumers must remove `$schema` and use `"PolicyFormatVersion": - "1.0.0"`. New documents emit `1.0.0`; readers accept and preserve - supported SemVer 1.x values and reject malformed or unsupported-major - values. Applications must not expose this field as editable policy - metadata. `Revision` and `PublishedAt` remain server-managed. - - +- [**breaking**] Update policy endpoint payloads and generated OpenAPI schemas to omit `$schema` and use `PolicyFormatVersion` instead of `PolicyVersion` ([#106](https://github.com/Devolutions/now-libraries/issues/106)) ([cc841bf6e5](https://github.com/Devolutions/now-libraries/commit/cc841bf6e59547ddefbb6287f7a0ef8466aedb10)) +- [**breaking**] Update the re-exported `PolicyFindingCode` to replace `UnsupportedPolicyVersion` with `UnsupportedPolicyFormatVersion` and remove `UnsupportedSchema` ([#106](https://github.com/Devolutions/now-libraries/issues/106)) ([cc841bf6e5](https://github.com/Devolutions/now-libraries/commit/cc841bf6e59547ddefbb6287f7a0ef8466aedb10)) ## [[0.4.0](https://github.com/Devolutions/now-libraries/compare/now-policy-server-template-v0.3.0...now-policy-server-template-v0.4.0)] - 2026-09-03 diff --git a/policies/rust/now-policy/CHANGELOG.md b/policies/rust/now-policy/CHANGELOG.md index cd572e4..c1b5c2f 100644 --- a/policies/rust/now-policy/CHANGELOG.md +++ b/policies/rust/now-policy/CHANGELOG.md @@ -11,20 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Features -- [**breaking**] Simplify policy document identity ([#106](https://github.com/Devolutions/now-libraries/issues/106)) ([cc841bf6e5](https://github.com/Devolutions/now-libraries/commit/cc841bf6e59547ddefbb6287f7a0ef8466aedb10)) - - Policy documents no longer contain `$schema`, and `PolicyVersion` is - renamed to `PolicyFormatVersion` to identify software-managed - document-format compatibility rather than a publisher-authored release - version. - - Consumers must remove `$schema` and use `"PolicyFormatVersion": - "1.0.0"`. New documents emit `1.0.0`; readers accept and preserve - supported SemVer 1.x values and reject malformed or unsupported-major - values. Applications must not expose this field as editable policy - metadata. `Revision` and `PublishedAt` remain server-managed. - - +- Add `PolicyFormatVersion` and `CURRENT_POLICY_FORMAT_VERSION` for software-managed document-format compatibility; new documents use `1.0.0`, while readers accept canonical three-component numeric 1.x versions whose components fit in `u64` ([#106](https://github.com/Devolutions/now-libraries/issues/106)) ([cc841bf6e5](https://github.com/Devolutions/now-libraries/commit/cc841bf6e59547ddefbb6287f7a0ef8466aedb10)) +- [**breaking**] Replace `PolicyDocument::policy_version` and `PolicyDraftDocument::policy_version` with `policy_format_version: PolicyFormatVersion`, serialized as `PolicyFormatVersion` ([#106](https://github.com/Devolutions/now-libraries/issues/106)) ([cc841bf6e5](https://github.com/Devolutions/now-libraries/commit/cc841bf6e59547ddefbb6287f7a0ef8466aedb10)) +- [**breaking**] Remove the `_schema` field and serialized `$schema` member from `PolicyDocument` and `PolicyDraftDocument`; strict deserialization now rejects documents that still contain `$schema` ([#106](https://github.com/Devolutions/now-libraries/issues/106)) ([cc841bf6e5](https://github.com/Devolutions/now-libraries/commit/cc841bf6e59547ddefbb6287f7a0ef8466aedb10)) +- [**breaking**] Remove `PolicySchemaUri`, `PolicyDraftSchemaUri`, `POLICY_SCHEMA_URI`, and `POLICY_DRAFT_SCHEMA_URI` ([#106](https://github.com/Devolutions/now-libraries/issues/106)) ([cc841bf6e5](https://github.com/Devolutions/now-libraries/commit/cc841bf6e59547ddefbb6287f7a0ef8466aedb10)) ## [[0.3.0](https://github.com/Devolutions/now-libraries/compare/now-policy-v0.2.0...now-policy-v0.3.0)] - 2026-09-03