Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
385 changes: 239 additions & 146 deletions Cargo.lock

Large diffs are not rendered by default.

8 changes: 8 additions & 0 deletions drcp-format/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.3.1](https://github.com/ConSol-Lab/Pumpkin/compare/drcp-format-v0.3.0...drcp-format-v0.3.1) - 2026-02-10

### Other

- Update rust edition to 2024 ([#311](https://github.com/ConSol-Lab/Pumpkin/pull/311))
- *(drcp-format)* Update README
- *(drcp-format)* Improve parser speed ([#293](https://github.com/ConSol-Lab/Pumpkin/pull/293))

## [0.3.0](https://github.com/ConSol-Lab/Pumpkin/compare/drcp-format-v0.2.1...drcp-format-v0.3.0) (2025-07-10)


Expand Down
2 changes: 1 addition & 1 deletion drcp-format/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "drcp-format"
version = "0.3.0"
version = "0.3.1"
description = "Parse and write DRCP and literal definition files."
license.workspace = true
authors.workspace = true
Expand Down
14 changes: 14 additions & 0 deletions fzn-rs-derive/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.1.0](https://github.com/ConSol-Lab/Pumpkin/releases/tag/fzn-rs-derive-v0.1.0) - 2026-02-10

### Added

- Introducing `fzn-rs`, a better FlatZinc parser that is easier to re-use across projects ([#238](https://github.com/ConSol-Lab/Pumpkin/pull/238))
14 changes: 14 additions & 0 deletions fzn-rs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.1.0](https://github.com/ConSol-Lab/Pumpkin/releases/tag/fzn-rs-v0.1.0) - 2026-02-10

### Added

- Introducing `fzn-rs`, a better FlatZinc parser that is easier to re-use across projects ([#238](https://github.com/ConSol-Lab/Pumpkin/pull/238))
21 changes: 21 additions & 0 deletions pumpkin-checker/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.1.0](https://github.com/ConSol-Lab/Pumpkin/releases/tag/pumpkin-checker-v0.1.0) - 2026-02-10

### Added

- *(pumpkin-core)* Propagator for the hypercube linear constraint ([#347](https://github.com/ConSol-Lab/Pumpkin/pull/347))
- *(pumpkin-core)* If the `check-propagations` flag is enabled, the state will run inference checkers on all propagations immediately ([#340](https://github.com/ConSol-Lab/Pumpkin/pull/340))
- *(pumpkin-checker)* Introduce the uncertified proof checker ([#328](https://github.com/ConSol-Lab/Pumpkin/pull/328))

### Other

- *(pumpkin-checker)* Add test cases for verifiers ([#352](https://github.com/ConSol-Lab/Pumpkin/pull/352))
- *(pumpkin-solver)* Run proof checker on integration tests ([#329](https://github.com/ConSol-Lab/Pumpkin/pull/329))
4 changes: 2 additions & 2 deletions pumpkin-checker/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ license.workspace = true
authors.workspace = true

[dependencies]
pumpkin-core = { version = "0.2.2", path = "../pumpkin-crates/core/" }
pumpkin-core = { version = "0.2.3", path = "../pumpkin-crates/core/" }
pumpkin-checking = { version = "0.2.2", path = "../pumpkin-crates/checking/" }
pumpkin-propagators = { version = "0.2.2", path = "../pumpkin-crates/propagators/" }
anyhow = "1.0.99"
clap = { version = "4.5.47", features = ["derive"] }
drcp-format = { version = "0.3.0", path = "../drcp-format" }
drcp-format = { version = "0.3.1", path = "../drcp-format" }
flate2 = "1.1.2"
fzn-rs = { version = "0.1.0", path = "../fzn-rs" }
thiserror = "2.0.16"
Expand Down
19 changes: 19 additions & 0 deletions pumpkin-crates/checking/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.2.2](https://github.com/ConSol-Lab/Pumpkin/releases/tag/pumpkin-checking-v0.2.2) - 2026-02-10

### Added

- *(pumpkin-core)* Propagator for the hypercube linear constraint ([#347](https://github.com/ConSol-Lab/Pumpkin/pull/347))
- *(pumpkin-core)* If the `check-propagations` flag is enabled, the state will run inference checkers on all propagations immediately ([#340](https://github.com/ConSol-Lab/Pumpkin/pull/340))

### Other

- *(pumpkin-checker)* Add test cases for verifiers ([#352](https://github.com/ConSol-Lab/Pumpkin/pull/352))
18 changes: 18 additions & 0 deletions pumpkin-crates/conflict-resolvers/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.2.2](https://github.com/ConSol-Lab/Pumpkin/releases/tag/pumpkin-conflict-resolvers-v0.2.2) - 2026-02-10

### Added

- Extract conflict resolvers and nogood minimisation into a separate crate ([#341](https://github.com/ConSol-Lab/Pumpkin/pull/341))

### Other

- *(pumpkin-checker)* Add test cases for verifiers ([#352](https://github.com/ConSol-Lab/Pumpkin/pull/352))
2 changes: 1 addition & 1 deletion pumpkin-crates/conflict-resolvers/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ description = "The conflict resolvers of the Pumpkin constraint programming solv
workspace = true

[dependencies]
pumpkin-core = { version = "0.2.2", path = "../core" }
pumpkin-core = { version = "0.2.3", path = "../core" }
15 changes: 15 additions & 0 deletions pumpkin-crates/constraints/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.2.2](https://github.com/ConSol-Lab/Pumpkin/releases/tag/pumpkin-constraints-v0.2.2) - 2026-02-10

### Added

- Extract conflict resolvers and nogood minimisation into a separate crate ([#341](https://github.com/ConSol-Lab/Pumpkin/pull/341))
- Extract propagators into separate crate ([#337](https://github.com/ConSol-Lab/Pumpkin/pull/337))
2 changes: 1 addition & 1 deletion pumpkin-crates/constraints/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ description = "The constraints of the Pumpkin constraint programming solver."
workspace = true

[dependencies]
pumpkin-core = { version = "0.2.2", path = "../core" }
pumpkin-core = { version = "0.2.3", path = "../core" }
pumpkin-propagators = {version = "0.2.2", path="../propagators"}

[dev-dependencies]
Expand Down
40 changes: 40 additions & 0 deletions pumpkin-crates/core/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,45 @@
# Changelog

## [0.2.3](https://github.com/ConSol-Lab/Pumpkin/compare/pumpkin-core-v0.2.2...pumpkin-core-v0.2.3) - 2026-02-10

### Added

- *(pumpkin-core)* Propagator for the hypercube linear constraint ([#347](https://github.com/ConSol-Lab/Pumpkin/pull/347))
- Extract conflict resolvers and nogood minimisation into a separate crate ([#341](https://github.com/ConSol-Lab/Pumpkin/pull/341))
- *(pumpkin-core)* If the `check-propagations` flag is enabled, the state will run inference checkers on all propagations immediately ([#340](https://github.com/ConSol-Lab/Pumpkin/pull/340))
- *(pumpkin-solver-py)* Support warm starting for optimisation models ([#344](https://github.com/ConSol-Lab/Pumpkin/pull/344))
- *(pumpkin-solver-py)* Add incrementality to python interface ([#315](https://github.com/ConSol-Lab/Pumpkin/pull/315))
- Extract propagators into separate crate ([#337](https://github.com/ConSol-Lab/Pumpkin/pull/337))
- *(pumpkin-core)* Crash if a propagator constructor does not register anything ([#338](https://github.com/ConSol-Lab/Pumpkin/pull/338))
- *(pumpkin-core)* Make propagator API public ([#333](https://github.com/ConSol-Lab/Pumpkin/pull/333))
- Add interface for nogood minimiser ([#326](https://github.com/ConSol-Lab/Pumpkin/pull/326))
- Implement State API ([#319](https://github.com/ConSol-Lab/Pumpkin/pull/319))
- *(pumpkin-core)* WebAssembly support for pumpkin-core ([#327](https://github.com/ConSol-Lab/Pumpkin/pull/327))

### Fixed

- *(pumpkin-solver-py)* Forward brancher events in PythonBrancher ([#358](https://github.com/ConSol-Lab/Pumpkin/pull/358))
- *(pumpkin-core)* Do not check for event registration when already panicking ([#346](https://github.com/ConSol-Lab/Pumpkin/pull/346))
- Sign error in greater_than constraint ([#334](https://github.com/ConSol-Lab/Pumpkin/pull/334))
- Generate constraint tags via State ([#335](https://github.com/ConSol-Lab/Pumpkin/pull/335))
- *(pumpkin-core)* Allow propagators to register for predicates becoming true ([#331](https://github.com/ConSol-Lab/Pumpkin/pull/331))
- Off-by-one error when explaining empty domain conflict ([#322](https://github.com/ConSol-Lab/Pumpkin/pull/322))
- *(pumpkin-core)* Don't use binary equality when logging proof ([#320](https://github.com/ConSol-Lab/Pumpkin/pull/320))
- *(pumpkin-core)* Declare solving after conflict resolution ([#317](https://github.com/ConSol-Lab/Pumpkin/pull/317))

### Other

- *(pumpkin-checker)* Add test cases for verifiers ([#352](https://github.com/ConSol-Lab/Pumpkin/pull/352))
- Stop watching predicates without any watchers in nogood propagator ([#351](https://github.com/ConSol-Lab/Pumpkin/pull/351))
- Simplify predicate notification system ([#348](https://github.com/ConSol-Lab/Pumpkin/pull/348))
- `InferenceCode` wraps constraint tag and inference label directory ([#339](https://github.com/ConSol-Lab/Pumpkin/pull/339))
- *(pumpkin-core)* Explicitly register predicates in NogoodPropagator ([#332](https://github.com/ConSol-Lab/Pumpkin/pull/332))
- *(pumpkin-solver)* Run proof checker on integration tests ([#329](https://github.com/ConSol-Lab/Pumpkin/pull/329))
- *(pumpkin-core)* Use clippy to detect disallowed types ([#325](https://github.com/ConSol-Lab/Pumpkin/pull/325))
- *(pumpkin-core)* Empty domain conflict is a predicate and reason ([#314](https://github.com/ConSol-Lab/Pumpkin/pull/314))
- *(pumpkin-core)* Separate conflict resolvers further from solver ([#310](https://github.com/ConSol-Lab/Pumpkin/pull/310))
- Update rust edition to 2024 ([#311](https://github.com/ConSol-Lab/Pumpkin/pull/311))

## [0.2.2](https://github.com/ConSol-Lab/Pumpkin/compare/pumpkin-core-v0.2.1...pumpkin-core-v0.2.2) (2025-11-10)


Expand Down
4 changes: 2 additions & 2 deletions pumpkin-crates/core/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "pumpkin-core"
version = "0.2.2"
version = "0.2.3"
repository.workspace = true
edition.workspace = true
license.workspace = true
Expand All @@ -20,7 +20,7 @@ fnv = "1.0.7" # We require features which are on the `main` branch of the reposi
rand = { version = "0.8.5", features = [ "small_rng", "alloc" ] }
once_cell = "1.19.0"
downcast-rs = "1.2.1"
drcp-format = { version = "0.3.0", path = "../../drcp-format" }
drcp-format = { version = "0.3.1", path = "../../drcp-format" }
convert_case = "0.8.0"
itertools = "0.13.0"
bitfield-struct = "0.9.2"
Expand Down
27 changes: 27 additions & 0 deletions pumpkin-crates/propagators/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.2.2](https://github.com/ConSol-Lab/Pumpkin/releases/tag/pumpkin-propagators-v0.2.2) - 2026-02-10

### Added

- Calculate minimal profile for explaining time-table conflict ([#353](https://github.com/ConSol-Lab/Pumpkin/pull/353))
- *(pumpkin-core)* Propagator for the hypercube linear constraint ([#347](https://github.com/ConSol-Lab/Pumpkin/pull/347))
- Extract conflict resolvers and nogood minimisation into a separate crate ([#341](https://github.com/ConSol-Lab/Pumpkin/pull/341))
- *(pumpkin-core)* If the `check-propagations` flag is enabled, the state will run inference checkers on all propagations immediately ([#340](https://github.com/ConSol-Lab/Pumpkin/pull/340))
- Extract propagators into separate crate ([#337](https://github.com/ConSol-Lab/Pumpkin/pull/337))

### Fixed

- Use saturating multiplication in integer multiplication propagator ([#350](https://github.com/ConSol-Lab/Pumpkin/pull/350))
- Explanation check for Cumulative after full explanation is created ([#349](https://github.com/ConSol-Lab/Pumpkin/pull/349))

### Other

- `InferenceCode` wraps constraint tag and inference label directory ([#339](https://github.com/ConSol-Lab/Pumpkin/pull/339))
4 changes: 2 additions & 2 deletions pumpkin-crates/propagators/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ description = "The propagators of the Pumpkin constraint programming solver."
workspace = true

[dependencies]
pumpkin-core = { version = "0.2.2", path = "../core" }
pumpkin-core = { version = "0.2.3", path = "../core" }
pumpkin-checking = { version = "0.2.2", path = "../checking" }
enumset = "1.1.2"
bitfield-struct = "0.9.2"
Expand All @@ -21,7 +21,7 @@ clap = { version = "4.5.40", optional = true, features=["derive"]}
[dev-dependencies]
pumpkin-constraints = { version = "0.2.2", path = "../constraints" }
pumpkin-conflict-resolvers = {version = "0.2.2", path = "../conflict-resolvers/"}
pumpkin-solver = { version = "0.2.2", path="../../pumpkin-solver"}
pumpkin-solver = { version = "0.2.3", path="../../pumpkin-solver"}

[features]
clap = ["dep:clap", "pumpkin-core/clap"]
2 changes: 1 addition & 1 deletion pumpkin-solver-py/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ doc = false

[dependencies]
pyo3 = { version = "0.25.1", features= ["extension-module"] }
pumpkin-solver = { version = "0.2.2", path = "../pumpkin-solver" }
pumpkin-solver = { version = "0.2.3", path = "../pumpkin-solver" }
pumpkin-constraints = { version = "0.2.2", path = "../pumpkin-crates/constraints", features=["clap"] }
pumpkin-conflict-resolvers = {version = "0.2.2", path = "../pumpkin-crates/conflict-resolvers/"}

Expand Down
21 changes: 21 additions & 0 deletions pumpkin-solver/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,27 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.2.3](https://github.com/ConSol-Lab/Pumpkin/compare/pumpkin-solver-v0.2.2...pumpkin-solver-v0.2.3) - 2026-02-10

### Added

- Extract conflict resolvers and nogood minimisation into a separate crate ([#341](https://github.com/ConSol-Lab/Pumpkin/pull/341))
- *(pumpkin-core)* If the `check-propagations` flag is enabled, the state will run inference checkers on all propagations immediately ([#340](https://github.com/ConSol-Lab/Pumpkin/pull/340))
- *(pumpkin-solver-py)* Support warm starting for optimisation models ([#344](https://github.com/ConSol-Lab/Pumpkin/pull/344))
- Extract propagators into separate crate ([#337](https://github.com/ConSol-Lab/Pumpkin/pull/337))

### Fixed

- *(pumpkin-solver)* Stop search when a SIGTERM signal is received ([#324](https://github.com/ConSol-Lab/Pumpkin/pull/324))
- Off-by-one error when explaining empty domain conflict ([#322](https://github.com/ConSol-Lab/Pumpkin/pull/322))

### Other

- *(pumpkin-core)* Explicitly register predicates in NogoodPropagator ([#332](https://github.com/ConSol-Lab/Pumpkin/pull/332))
- *(pumpkin-solver)* Run proof checker on integration tests ([#329](https://github.com/ConSol-Lab/Pumpkin/pull/329))
- Update rust edition to 2024 ([#311](https://github.com/ConSol-Lab/Pumpkin/pull/311))
- Adjust versions python interface ([#313](https://github.com/ConSol-Lab/Pumpkin/pull/313))

## [0.2.2](https://github.com/ConSol-Lab/Pumpkin/compare/pumpkin-solver-v0.2.1...pumpkin-solver-v0.2.2) (2025-11-10)


Expand Down
4 changes: 2 additions & 2 deletions pumpkin-solver/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "pumpkin-solver"
version = "0.2.2"
version = "0.2.3"
description = "The Pumpkin combinatorial optimisation solver library."
readme = "../README.md"
authors.workspace = true
Expand All @@ -13,7 +13,7 @@ clap = { version = "4.5.17", features = ["derive"] }
env_logger = "0.10.0"
flatzinc = "0.3.21"
log = "0.4.27"
pumpkin-core = { version = "0.2.2", path = "../pumpkin-crates/core/", features = ["clap"] }
pumpkin-core = { version = "0.2.3", path = "../pumpkin-crates/core/", features = ["clap"] }
pumpkin-constraints = {version = "0.2.2", path = "../pumpkin-crates/constraints/"}
pumpkin-propagators = {version = "0.2.2", path = "../pumpkin-crates/propagators/", features=["clap"]}
pumpkin-conflict-resolvers = {version = "0.2.2", path = "../pumpkin-crates/conflict-resolvers/"}
Expand Down