Skip to content

chore: release v0.5.0#1

Open
github-actions[bot] wants to merge 1 commit intodevelopfrom
release-plz-2026-03-19T06-08-57Z
Open

chore: release v0.5.0#1
github-actions[bot] wants to merge 1 commit intodevelopfrom
release-plz-2026-03-19T06-08-57Z

Conversation

@github-actions
Copy link
Copy Markdown

@github-actions github-actions Bot commented Mar 19, 2026

🤖 New release

  • flatzinc-serde: 0.4.4 -> 0.5.0 (⚠ API breaking changes)

flatzinc-serde breaking changes

--- failure constructible_struct_adds_field: externally-constructible struct adds field ---

Description:
A pub struct constructible with a struct literal has a new pub field. Existing struct literals must be updated to include the new field.
        ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/constructible_struct_adds_field.ron

Failed in:
  field Variable.name in /tmp/.tmpc25OSW/flatzinc-serde/src/lib.rs:432
  field Array.name in /tmp/.tmpc25OSW/flatzinc-serde/src/lib.rs:265

--- failure enum_discriminants_undefined_non_unit_variant: enum's variants no longer have defined discriminants due to non-unit variant ---

Description:
An enum's variants no longer have well-defined discriminant values due to a tuple or struct variant in the enum. This breaks downstream code that accesses discriminants via a numeric cast like `as isize`.
        ref: https://doc.rust-lang.org/reference/items/enumerations.html#assigning-discriminant-values
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/enum_discriminants_undefined_non_unit_variant.ron

Failed in:
  enum Method in /tmp/.tmpc25OSW/flatzinc-serde/src/lib.rs:372
  enum Type in /tmp/.tmpc25OSW/flatzinc-serde/src/lib.rs:417

--- failure enum_missing: pub enum removed or renamed ---

Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/enum_missing.ron

Failed in:
  enum flatzinc_serde::Domain, previously in file /tmp/.tmpfVwdJi/flatzinc-serde/src/lib.rs:326

--- failure enum_unit_variant_changed_kind: An enum unit variant changed kind ---

Description:
A public enum's exhaustive unit variant has changed to a different kind of enum variant, breaking possible instantiations and patterns.
        ref: https://doc.rust-lang.org/reference/items/enumerations.html
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/enum_unit_variant_changed_kind.ron

Failed in:
  variant Method::Minimize in /tmp/.tmpc25OSW/flatzinc-serde/src/lib.rs:377
  variant Method::Maximize in /tmp/.tmpc25OSW/flatzinc-serde/src/lib.rs:379
  variant Type::Int in /tmp/.tmpc25OSW/flatzinc-serde/src/lib.rs:421
  variant Type::Float in /tmp/.tmpc25OSW/flatzinc-serde/src/lib.rs:423
  variant Type::IntSet in /tmp/.tmpc25OSW/flatzinc-serde/src/lib.rs:425

--- failure enum_variant_added: enum variant added on exhaustive enum ---

Description:
A publicly-visible enum without #[non_exhaustive] has a new variant.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/enum_variant_added.ron

Failed in:
  variant Argument:ArrayNamed in /tmp/.tmpc25OSW/flatzinc-serde/src/lib.rs:245
  variant AnnotationLiteral:Int in /tmp/.tmpc25OSW/flatzinc-serde/src/lib.rs:199
  variant AnnotationLiteral:Float in /tmp/.tmpc25OSW/flatzinc-serde/src/lib.rs:201
  variant AnnotationLiteral:Variable in /tmp/.tmpc25OSW/flatzinc-serde/src/lib.rs:207
  variant AnnotationLiteral:Bool in /tmp/.tmpc25OSW/flatzinc-serde/src/lib.rs:209
  variant AnnotationLiteral:IntSet in /tmp/.tmpc25OSW/flatzinc-serde/src/lib.rs:215
  variant AnnotationLiteral:FloatSet in /tmp/.tmpc25OSW/flatzinc-serde/src/lib.rs:222
  variant AnnotationLiteral:String in /tmp/.tmpc25OSW/flatzinc-serde/src/lib.rs:228
  variant AnnotationArgument:ArrayNamed in /tmp/.tmpc25OSW/flatzinc-serde/src/lib.rs:177
  variant Literal:Variable in /tmp/.tmpc25OSW/flatzinc-serde/src/lib.rs:346

--- failure enum_variant_missing: pub enum variant removed or renamed ---

Description:
A publicly-visible enum has at least one variant that is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/enum_variant_missing.ron

Failed in:
  variant Literal::Identifier, previously in file /tmp/.tmpfVwdJi/flatzinc-serde/src/lib.rs:463
  variant AnnotationLiteral::BaseLiteral, previously in file /tmp/.tmpfVwdJi/flatzinc-serde/src/lib.rs:187

--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---

Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/struct_pub_field_missing.ron

Failed in:
  field domain of struct Variable, previously in file /tmp/.tmpfVwdJi/flatzinc-serde/src/lib.rs:609
  field value of struct Variable, previously in file /tmp/.tmpfVwdJi/flatzinc-serde/src/lib.rs:613
  field objective of struct SolveObjective, previously in file /tmp/.tmpfVwdJi/flatzinc-serde/src/lib.rs:534
Changelog

0.5.0 - 2026-04-17

Added

  • remove the resolving of right hand side values
  • change into_key to cloned_key which explicitly clones Arcs
  • add map-key functionality for NamedRef and Arc-backed objects
  • use Arc for variable and array references
  • perform de-aliasing and stateful interning during JSON deserialization
  • add FlatZinc::from_fzn_with_interner
  • never introduce Variable::value when parsing .fzn
  • [breaking] support for the original .fzn format (#295)
  • (flatzinc-serde) allow other variable and array map types

Fixed

  • (flatzinc-serde) remove ambiguity in AnnotationLiteral

Other

  • add --all-features flag usage for docs.rs
  • switch build and clippy to stable
  • add documentation build
  • move doc comments before outer attributes
  • add rust continuous integration
  • add release-plz
  • update metadata for repository move
  • release
  • release
  • release
  • release
  • clippy updates
  • Fix new clippy warnings
  • release
  • add README and CHANGELOG
  • add release-plz to handle package release to crates.io
  • move RangeList implementation into a separate crate
  • fix missing generic in AnnotationLiteral variant
  • add documentation for private items
  • enable additional linting and reorganize crate
  • fix copying mistake in AnnotationArgument documentation
  • Update Url -> Uri for lsp_types update
  • Add test case from unit tests that includes recursive annotation
  • Add helper iteration method to RangeList
  • Split call definitions for Constraint and Annotation
  • Add ability to print FlatZinc
  • make Identifier generic to allow no copy and interning
  • Fix typo: The MiniZinc Solver Configuration file extension is '.msc'
  • Fix some documentation typos and add to authors
  • Add methods to access RangeList bounds
  • Add usage level documentation to the crate
  • Add Type enum
  • Add distinction between int and float sets
  • Add RangeList type to represent sets
  • Add logic to resolve the encapsulation of String literals
  • Add (de)serializer generated from schema corrected for rust
  • Add new flatzinc-json crate

Added

  • Add support for parsing .fzn files when enabling the fzn feature.
    Users can access this functionality via the FlatZinc::from_fzn method.
  • Add helper type ArcKey, to use in collections that use variables or arrays as keys.
    ArcKey uses pointer identity to determine its order, equality, and hash value.
    Similarly, NamedRef can be used as a key, where the name attribute of variables and arrays are used to compare.

Changed

  • [breaking] The domain field of Variable has now moved to a variant argument on Type, accessible through the ty attribute.
  • [breaking] The objective field of the SolveMethod struct has now moved to a variant argument on Method, accessible through the method attribute.
  • [breaking] Change the default implementation of variables and arrays field of FlatZinc to be std::collections::HashMap.
  • Allow the usage of stateful interners for Identifier using FlatZinc::deserialize_with_interner and FlatZinc::from_fzn_with_interner.
  • [breaking] Remove the value field from Variable.
    MiniZinc 2.9.6 and later already resolve declaration right-hand sides before emitting FlatZinc, so this crate no longer accepts or exposes those values through Variable.
  • [breaking] FlatZinc now uses Arc<Variable> and Arc<Array> to represent variable reference in Literal.
    This allowed the removal of the Argument type, as inline arrays are now represented as Array types without names.
    The variables and arrays attributes of FlatZinc are now Vec<Arc<_>>.
    AnnotationLiteral now contains all its own variants, it no longer has a direct Literal variant.
    This avoids strong references in annotations that might lead to self-referencing structures.


This PR was generated with release-plz.

@github-actions github-actions Bot force-pushed the release-plz-2026-03-19T06-08-57Z branch from c1378fd to a8fb4bf Compare March 19, 2026 06:32
@github-actions github-actions Bot force-pushed the release-plz-2026-03-19T06-08-57Z branch 2 times, most recently from 79ed1e8 to d14b358 Compare March 24, 2026 01:57
@github-actions github-actions Bot force-pushed the release-plz-2026-03-19T06-08-57Z branch 2 times, most recently from 6a2010d to 192637f Compare March 30, 2026 23:29
@github-actions github-actions Bot force-pushed the release-plz-2026-03-19T06-08-57Z branch 3 times, most recently from 6900e5a to adb3a74 Compare April 10, 2026 03:51
@github-actions github-actions Bot force-pushed the release-plz-2026-03-19T06-08-57Z branch from adb3a74 to 84381d9 Compare April 17, 2026 03:49
@github-actions github-actions Bot force-pushed the release-plz-2026-03-19T06-08-57Z branch from 84381d9 to 769502d Compare April 17, 2026 03:55
@github-actions github-actions Bot force-pushed the release-plz-2026-03-19T06-08-57Z branch from 769502d to 7b4d590 Compare April 17, 2026 03:55
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