Skip to content

chore(deps): update rust crate serde-saphyr to v2.1.0 - #1726

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/serde-saphyr-2.x-lockfile
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/serde-saphyr-2.x-lockfile

Conversation

@renovate

@renovate renovate Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
serde-saphyr dependencies minor 2.0.0 → 2.1.0

Release Notes

bourumir-wyngs/serde-saphyr (serde-saphyr)

v2.1.0

Compare Source

Added
  • Added PropertySyntax::DockerComposeWithNulls: Compose interpolation where a value that is
    solely a reference to an unset property, or whose expansion is null/~, becomes YAML null.
    Explicitly empty properties and empty defaults stay empty strings, and DockerCompose itself
    is unchanged.
  • Added opt-in Options::reject_tagged_field_names to catch misplaced tags on
    struct field names, with Error::TaggedStructFieldName diagnostics. Struct field names can
    only be strings, !!str is still accepted. As other tags can only be ignored, tag on a structure
    field name is almost for sure placed wrongly. This setting will be default in next major release.
  • Added Options::leading_zero_numbers_as_strings and
    Options::underscored_numbers_as_strings to preserve numeric spellings such as
    0755 and 1_000 as strings in untyped values, including untagged enums and
    flattened fields (#​225).
    Both default to false; direct typed parsing, explicit numeric tags, and
    mapping-key comparison keep their existing behavior.
  • Added Error::render_to to append diagnostics to any std::fmt::Write using
    RenderOptions, without collecting the complete output in an intermediate string
    (#​221).
  • Added DuplicateKeyPolicy::PassThrough to delegate repeated explicit mapping entries
    to Serde visitors, matching serde_yaml's handling for structs, standard maps, and custom
    multimap visitors (#​226).
    The default remains Error; merge expansion retains its precedence rules. See the README
    migration note for the scope of this option.
Deprecated
  • Deprecated SerializerOptions::empty_as_braces. Setting it to false emits YAML null
    for empty block collections without tags or anchors. These values do not round-trip into
    collection types. Omit the setting to keep the default true and emit [] or {}.
    Existing serialization behavior remains supported for compatibility.
Fixed
  • Preserve application-tagged null-like documents in multi-document APIs, including
    the garde and validator integrations. A document such as !Maybe null now reaches
    enum dispatch instead of being skipped. This also affects default options: an
    Option<String> target receives a None item for !Foo null, while a String target
    reports NullIntoString. Untagged null documents and explicit !!null are still skipped.
  • Resolve tagged enum payloads according to their target type under no_schema:
    !Number 42 can deserialize into a numeric payload, while a string payload still
    requires quoting, as in !Text "42". This applies independently of property interpolation.
  • Keep validated and ordinary multi-document APIs consistent for interpolated nulls
    and interpolation work budgets. Reader iterators stop after an interpolation-budget
    breach, including breaches reported through an alias.
  • Emit empty lines in literal and folded block scalars without indentation,
    avoiding trailing whitespace while preserving whitespace in the string content
    (#​249).
  • Expose the original std::io::Error from deserialization failures through
    std::error::Error::source(). The outer message is IO error, so error chains
    include the underlying cause only once. Standalone Miette, Figment, and Figment2
    diagnostics retain the cause in their messages. Custom Miette formatters retain
    control over the complete message through MessageFormatter::format_standalone_message.
  • Avoid duplicate messages from Error::WithSnippet when following
    std::error::Error::source() by forwarding the wrapped error's source.
    Use without_snippet() to inspect the wrapped error. Alias errors retain their
    complete source chain, including snippet wrappers, for compatibility.
  • Validate recognized scalar tags consistently for numeric, boolean, character,
    and enum targets, including externally tagged enum mapping keys (#​235).
    Incompatible tags and tagged null-like payloads no longer bypass validation.
  • Apply enabled robotics conversions to untyped reads, skipped fields, and
    flattened values. The local !time duration tag is distinct from standard YAML
    !!timestamp; robotics tags require the feature and angle_conversions: true.
  • Reject YAML null when deserializing sequences, mappings, and mapping-based structs instead
    of silently constructing empty values (#​233).
    Blank values and the plain spellings ~, null, Null, and NULL are handled consistently.
    Write [] for an empty sequence or {} for an empty mapping. Option<T> null handling
    and defaults for absent fields are unchanged; see the README migration notes.
  • Reject "wrong case" YAML 1.2 Core spellings like NUlL, .NAn or FAlse (PR #​254, #​237).

Configuration

📅 Schedule: (in timezone Europe/Berlin)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • Between 12:00 AM and 03:59 AM, only on Monday (* 0-3 * * 1)

🚦 Automerge: Enabled.

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants