rust-proxmox-schema (5.5.0-1) trixie; urgency=medium

  * api types: anchor the end of the ED25519 key regex. Previously, any value
    starting with a valid base64 encoded key passed validation.

  * oneOf: select the active variant through the type property, so variants
    can use different schemas for the same property name, where previously the
    first variant's schema was used:
    - lookups, property iteration and the verification of property strings,
      parameters and JSON values follow the selected variant, also when the
      type comes after the properties of its variant.
    - unknown types are rejected.
    - add the lookup_schema, lookup_all and all_properties methods. The old
      lookup and properties methods are soft-deprecated, only warning when
      building with `--cfg proxmox_schema="strict"`.
    - documentation shows the condition under which a property applies.
    - serializing a property string requires the type property to come before
      the properties of its variant, as with serde's derived implementations.
    - a type property declared as optional is rejected at compile time.

  * property strings: verification tracks aliases like their canonical
    property, so an alias satisfies a required property and conflicts with the
    canonical name.

  * property strings: deserializing into a map, like a JSON value, rejects
    duplicate keys instead of keeping the last value, and validation errors no
    longer start with "schema validation failed: ".

  * drop the unused de::MapAccess, de::SeqAccess and de::verify::Verifier from
    the public API and give SchemaDeserializer a third lifetime parameter.
    de::verify replaces de::verify::verify, which is soft-deprecated.

 -- Proxmox Support Team <support@proxmox.com>  Sat, 17 Oct 2026 09:39:06 +0200

rust-proxmox-schema (5.4.2-1) trixie; urgency=medium

  * api types: anchor both alternatives of the block device name regexes.
    Previously, any value starting with an sd, hd, vd or xvd disk name, or
    ending with an NVMe namespace name, passed validation, and the disk-only
    variant also accepted partitions.

 -- Proxmox Support Team <support@proxmox.com>  Wed, 14 Oct 2026 09:39:44 +0200

rust-proxmox-schema (5.4.1-1) trixie; urgency=medium

  * bump the proxmox-api-macro dependency to 1.7.0, so that the re-exported
    #[api] macro supports #[state] parameters.

 -- Proxmox Support Team <support@proxmox.com>  Mon, 12 Oct 2026 18:23:41 +0200

rust-proxmox-schema (5.4.0-1) trixie; urgency=medium

  * oneOf: drop support for a plain string variant, added in 5.2.0. The
    variants of a oneOf schema and the members of an allOf schema must be
    object schemas, or allOf and oneOf schemas made of those. This is now
    checked at compile time, so schemas using a string variant no longer
    compile.

  * oneOf: reject at compile time a variant with a property of the same name
    as the type property, as the two would clash.

  * return `&'static Schema` from the lookup methods of schemas and of the
    `ObjectSchemaType` trait, as schemas are always static. A looked-up
    schema can now be kept without borrowing the schema it came from.

  * multi-line comments: check the whole value for control characters. The
    pattern accepted any value with one line free of them, which includes
    every value ending in a newline. Newlines and tabs stay allowed. A stored
    comment with any other control character, for example in a Proxmox
    Backup Server node description, must be edited before its configuration
    can be saved again.

 -- Proxmox Support Team <support@proxmox.com>  Wed, 30 Sep 2026 10:40:58 +0200

rust-proxmox-schema (5.3.0-1) trixie; urgency=medium

  * add support for declaring deprecated property aliases on object schemas,
    so a renamed property keeps accepting its old name while the schema and
    generated documentation advertise only the new one. Aliases are honored
    by the CLI, property-string and query/form parsing, and can be rewritten
    to the canonical name for JSON request bodies.

 -- Proxmox Support Team <support@proxmox.com>  Wed, 01 Jul 2026 18:42:39 +0200

rust-proxmox-schema (5.2.0-1) trixie; urgency=medium

  * implement `UpdaterType` for `HashMap` and `BTreeMap`, so map-typed fields
    can be used inside `Updater`-derived types.

  * oneOf: allow a plain string as one of the variants, so a type that can
    deserialize from either a string or a structured object becomes
    representable as a single `OneOfSchema`.

 -- Proxmox Support Team <support@proxmox.com>  Thu, 07 May 2026 01:05:32 +0200

rust-proxmox-schema (5.1.1-1) trixie; urgency=medium

  * ser: fix value serialization for maps by actually serializing map values
    as values, not keys.
  * provide integer schema for (node) ports.
  * api-types: add ed25519 base64 encoded key schema.

 -- Proxmox Support Team <support@proxmox.com>  Wed, 01 Apr 2026 00:56:48 +0200

rust-proxmox-schema (5.1.0-1) trixie; urgency=medium

  * add CommaSeparatedList<T> wrapper type
  * reexport PropertyString<T> at the top level
  * update to edition 2024
  * the `api_string_type!` macro now adds a `FromStr` implementation
  * `api_string_type!` now uses const blocks around schema access for compile
    time validation
  * adapt PhantomData in PropertyString's Visitor for covariance

 -- Proxmox Support Team <support@proxmox.com>  Thu, 26 Mar 2026 10:39:32 +0100

rust-proxmox-schema (5.0.1-1) trixie; urgency=medium

  * drop now-unnecessary check for integer schema fitting into i64
  * allow marking the format of string schemas optional (they are then for
    documentation-only), so that enums can have an untagged 'Other(String)'
    variant for forward/backward compatibility
  * various clippy fixes
  * docs: fix typos

 -- Proxmox Support Team <support@proxmox.com>  Wed, 05 Nov 2025 14:45:44 +0100

rust-proxmox-schema (5.0.0-1) trixie; urgency=medium

  * change minimum, maximum and default integer values from isize to i64 to
    better support wasm (as it is 32-bits)

  * include value in property string parsing error message

 -- Proxmox Support Team <support@proxmox.com>  Thu, 04 Sep 2025 10:13:30 +0200

rust-proxmox-schema (4.1.1-1) trixie; urgency=medium

  * schema: add nix "feature" feature to fix dependencies for optional crate
    features.

 -- Proxmox Support Team <support@proxmox.com>  Tue, 15 Jul 2025 22:51:34 +0200

rust-proxmox-schema (4.1.0-1) trixie; urgency=medium

  * re-build for Debian Trixie based releases.

 -- Proxmox Support Team <support@proxmox.com>  Mon, 12 May 2025 21:22:39 +0200

rust-proxmox-schema (4.0.0-1) bookworm; urgency=medium

  * drop deprecated functions

  * make schema types non_exhaustive

  * add 'description()' builder methods to schema types

  * add `unwrap_*_schema_cloned()` to schema types as const fn to get a copy
    of a schema which can be manipulated in const contexts

  * impl UpdaterType from PropertyString<T> as Option<Self>

  * fix a pointer vs length confusion in the property string deserializer when
    using static strings

  * support PVE's 'keyAlias/alias' combination in serde based PropertyString
    deserialization

  * update docs to not use now-removed (previously deprecated) functions

  * improve indentation handling in doc output

  * elide lifetimes where possible with current expected rustc versions

 -- Proxmox Support Team <support@proxmox.com>  Wed, 15 Jan 2025 12:07:42 +0100

rust-proxmox-schema (3.2.0-1) bookworm; urgency=medium

  * bump api-macro dependency to 1.2

 -- Proxmox Support Team <support@proxmox.com>  Wed, 04 Sep 2024 15:38:00 +0200

rust-proxmox-schema (3.1.4-1) bookworm; urgency=medium

  * make Schema::any_object a const fn

  * add Schema::unwrap_any_object_schema as const fn

  * seal ObjectSchemaType

  * assert that dyn ObjectSchemaType is Send + Sync

 -- Proxmox Support Team <support@proxmox.com>  Wed, 28 Aug 2024 14:50:58 +0200

rust-proxmox-schema (3.1.3-1) bookworm; urgency=medium

  * replace lazy_static dependency with std's LazyLock

  * some clippy fixes

  * fix various typos in documentation

 -- Proxmox Support Team <support@proxmox.com>  Wed, 14 Aug 2024 11:06:10 +0200

rust-proxmox-schema (3.1.2-1) bookworm; urgency=medium

  * drop trailing whitespaces in wrap_text

  * wrap_text now works by paragraphs

  * drop trailing newline in property descriptions

  * use const blocks in thread_local! calls

  * various clippy fixes

 -- Proxmox Support Team <support@proxmox.com>  Wed, 17 Jul 2024 14:13:39 +0200

rust-proxmox-schema (3.1.1-1) bookworm; urgency=medium

  * add ip/cidr api schemas

 -- Proxmox Support Team <support@proxmox.com>  Thu, 16 May 2024 09:31:22 +0200

rust-proxmox-schema (3.1.0-1) bookworm; urgency=medium

  * use const_format to define static strings

  * replace SAFE_ID_REGEX_STR macro with a const &str

  * add IP regexes and api types

  * add common api types which were previously in pbs-api-types

 -- Proxmox Support Team <support@proxmox.com>  Tue, 19 Mar 2024 11:08:22 +0100

rust-proxmox-schema (3.0.1-1) bookworm; urgency=medium

  * actually perform additional-properties check for AllOf and OneOf schemas

  * clean up a few verification error messages

 -- Proxmox Support Team <support@proxmox.com>  Tue, 19 Mar 2024 11:05:43 +0100

rust-proxmox-schema (3.0.0-1) bookworm; urgency=medium

  * add basic oneOf schema support

 -- Proxmox Support Team <support@proxmox.com>  Fri, 02 Feb 2024 12:10:35 +0100

rust-proxmox-schema (2.0.2-1) bookworm; urgency=medium

  * derive PartialEq for UPID

  * improve some error messages

 -- Proxmox Support Team <support@proxmox.com>  Thu, 23 Nov 2023 09:16:01 +0100

rust-proxmox-schema (2.0.1-1) bookworm; urgency=medium

  * various clippy fixes

  * schema: serialize enum unit variants

 -- Proxmox Support Team <support@proxmox.com>  Wed, 20 Sep 2023 11:45:55 +0200

rust-proxmox-schema (2.0.0-1) bookworm; urgency=medium

  * update to bookworm specific release series

  * add `serde` infrastructure for property strings

  * add `PropertyString` wrapper type

  * change property string tests to use serde infrastructure

  * add schema/format for comments

 -- Proxmox Support Team <support@proxmox.com>  Mon, 24 Jul 2023 10:37:30 +0200

rust-proxmox-schema (1.3.7-1) stable; urgency=medium

  * add 'api-types' feature for the common basic types

 -- Proxmox Support Team <support@proxmox.com>  Thu, 02 Feb 2023 11:45:26 +0100

rust-proxmox-schema (1.3.6-1) stable; urgency=medium

  * clippy 1.65 fixes

  * move common metadata to workspace

  * use workspace dependencies

  * update nix to 0.26

 -- Proxmox Support Team <support@proxmox.com>  Thu, 05 Jan 2023 12:08:15 +0100

rust-proxmox-schema (1.3.5-1) unstable; urgency=medium

  * bump textwrap to 0.16

  * switch to namespaced features

 -- Proxmox Support Team <support@proxmox.com>  Thu, 1 Dec 2022 11:08:05 +0100

rust-proxmox-schema (1.3.4-1) unstable; urgency=medium

  * bump textwrap to 0.15

 -- Proxmox Support Team <support@proxmox.com>  Fri, 19 Aug 2022 12:27:08 +0200

rust-proxmox-schema (1.3.3-1) unstable; urgency=medium

  * bump nix to 0.24

 -- Proxmox Support Team <support@proxmox.com>  Thu, 2 Jun 2022 12:16:08 +0200

rust-proxmox-schema (1.3.2-1) unstable; urgency=medium

  * update to api macro 1.0.3

 -- Proxmox Support Team <support@proxmox.com>  Thu, 02 Jun 2022 10:11:39 +0200

rust-proxmox-schema (1.3.1-1) unstable; urgency=medium

  * don't accept unterminated quoted strings in property strings

  * bump api macro to 1.0.2 for the 'streaming' attribute

 -- Proxmox Support Team <support@proxmox.com>  Wed, 13 Apr 2022 08:18:08 +0200

rust-proxmox-schema (1.3.0-1) unstable; urgency=medium

  * add `unwrap_*_schema/format` const fn methods

  * make property_string module public

  * add `param_bail!` and `param_format_err!` convenience macros

 -- Proxmox Support Team <support@proxmox.com>  Fri, 04 Mar 2022 09:45:51 +0100

rust-proxmox-schema (1.2.1-1) unstable; urgency=medium

  * bump edition to 2021

  * impl FromIterator for ParameterError

  * support quoted values in property strings

 -- Proxmox Support Team <support@proxmox.com>  Thu, 17 Feb 2022 12:03:55 +0100

rust-proxmox-schema (1.2.0-1) unstable; urgency=medium

  * bump regex to 1.5

  * implement convenience traits for ParameterError

 -- Proxmox Support Team <support@proxmox.com>  Fri, 11 Feb 2022 14:06:55 +0100

rust-proxmox-schema (1.1.0-1) unstable; urgency=medium

  * make parse and verify functions methods of Schema

  * deprecated free-standing parse/verify functions

  * clippy fixes & cleanups

 -- Proxmox Support Team <support@proxmox.com>  Thu, 16 Dec 2021 11:04:59 +0100

rust-proxmox-schema (1.0.1-1) unstable; urgency=medium

  * updater: impl UpdaterType for Vec

 -- Proxmox Support Team <support@proxmox.com>  Wed, 10 Nov 2021 09:54:20 +0100

rust-proxmox-schema (1.0.0-1) stable; urgency=medium

  * initial split out of `librust-proxmox-dev`

 -- Proxmox Support Team <support@proxmox.com>  Wed, 06 Oct 2021 11:04:36 +0200
