Skip to content

Releases: ConSol-Lab/Pumpkin

pumpkin-solver: v0.2.2

10 Nov 12:25
62b2f09

Choose a tag to compare

0.2.2 (2025-11-10)

Features

  • Adding logging of brancher statistics on completion (#257) (9d26842)
  • Allow unbounded integers in FlatZinc models (#285) (826fe58)
  • Adding disjunctive to the FlatZinc interface (#275) (606a7d8)

Bug Fixes

  • Allow bool in int search strategy (#308) (a3fb929)
  • Correctly reporting unknown solution in optimisation and solution enumeration (#247) (8c0f27c)
  • Only compile solution checkers for integration tests (#278) (a5e4c2c)
  • Support warm_start and ignore constraint_name search annotations (#235) (d7e8bb0)

pumpkin-core: v0.2.2

10 Nov 09:35
4013abc

Choose a tag to compare

0.2.2 (2025-11-10)

Features

  • Adding logging of brancher statistics on completion (#257) (9d26842)
  • Post equality as single predicate instead of splitting in two (#305) (8f43208)
  • Adding edge-finding for the disjunctive constraint (#275) (606a7d8)
  • Lazy explanation for linear less than or equals (#290) (3515c7a)
  • Write proofs with gzip encoding (#264) (83f76da)
  • Remove unnecessary variables introduced by bool2int (#232) (cf0b2fe)
  • Use lazy explanations for BinaryEq (#231) (4a89a5e)
  • Support warm_start and ignore constraint_name search annotations (#235) (d7e8bb0)

Bug Fixes

  • Add pumpkin-crates to default-members (#286) (bf7ff80)
  • Correctly reporting unknown solution in optimisation and solution enumeration (#247) (8c0f27c)
  • Create correct reason for preprocessing permanent nogood + Removing unassigned status for PredicateId (#250) (98ba136)
  • Provide SelectionContext instead of Assignments to Brancher::synchronise (#312) (9548114)
  • Remove debug printing (#254) (0ca93a2)
  • Remove the terms with zero coefficients from linear constraints (#269) (576887e)
  • Take root-propagation into account in the LUS optimiser (#253) (d30ed06)
  • Reduce cost of predicate notification (#259) (d38e990)

Refactors

  • Avoid unnecessary traversals of profiles in time-tabling + Improving Explanations (#282) (f7a4fdb)
  • Don't use binary equals when logging the full proof (#252) (4454d93)

pumpkin-solver: v0.2.1

10 Jul 13:41
5216848

Choose a tag to compare

0.2.1 (2025-07-10)

Features

  • Branch on objective variable first if not everything is assigned after the FlatZinc search strategy (#230) (d676430)
  • Arena allocation for the Nogood propagator (#212) (6f647e8)
  • Enforce constraint ID and inference label are provided in propagators (#179) (74126a1)
  • Expose a timeout flag in the Python API (#195) (7d4a74f)
  • Implement *_imp FlatZinc constraints for linear arithmetic (#219) (c00050f)
  • Implement the table and negative table constraints (#194) (49344d6)
  • Improving notification system for nogood propagator (#190) (b04ac58)
  • Merge equivalence classes of variables in int_eq as a preprocessing step (#221) (9b5c1cc)
  • Propagator for binary arithmetic constraints int_ne and int_eq (#223) (00a16e0)
  • Remove unused variables from the FlatZinc AST (#222) (223a26a)
  • Rewrite int_lin_eq and int_lin_ne over two variables into their binary equivalents (#240) (a370866)

Bug Fixes

  • Create sparse domains properly for a sparse FlatZinc domain (#243) (6225ff5)
  • Disable recursive minimisation when logging the full proof (#215) (7a0a08e)
  • Don't log same domain inference multiple times per deduction (#227) (30a7b53)
  • Fix lazy explanations for the element propagator (#191) (60e2bea)
  • Log the correct proofs when optimising (#216) (ca6e452)
  • Log the initial bounds in the full proof as inferences (#211) (7624035)
  • Properly explain root-level explanations that are not considered during conflict analysis (#176) (d237293)
  • Update outdated documentation from before the v0.2 release (#177) (8e4009f)

pumpkin-core: v0.2.1

10 Jul 13:58
2c2b496

Choose a tag to compare

chore: release  pumpkin-core 0.2.1 (#245)

:robot: I have created a release *beep* *boop*
---


See `pumpkin-solver` changelog.

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

drcp-format: v0.3.0

10 Jul 13:32
49abbde

Choose a tag to compare

0.3.0 (2025-07-10)

Features

  • Update to the new format, which inlines atomic constraint definitions into the proof steps (#204) (5cdc747)
  • Do mapping from codes to atomic constraints inside the crate (#204) (5cdc747)

pumpkin-solver: v0.2.0

11 Apr 09:24
952fccf

Choose a tag to compare

0.2.0 (2025-04-11)

Features

  • Add logging for branchers (#135) (d8814f1)
  • Add method for retrieving relevant brancher events (#138) (8253580)
  • Adding lower-bounding search to the solver (#132) (57bde78)
  • Adding random variable selector + sparse_set fixes (#139) (1c4b85f)
  • Debug clone does not synchronise at level 0 + random splitter edge cases (#146) (bba1abb)
  • Enable proof logging in appropriate test cases (#154) (914f1bc)
  • Expose the optimisation API in the python wrapper (#148) (ab9a463)
  • Flatzinc parse boolean & negative int arrays as well (#142) (68aef75)
  • Improve element propagator (#140) (b9bcfd3)
  • Lazy explanation context (#123) (0781357)
  • No additional variables during constraint construction (#131) (19dd45b)
  • Nemove explicit literals (#115) (ab74e20)
  • Stateful integer (#125) (eb01ed3)

Bug Fixes

  • Addressing clippy warnings (#143) (20c76bb)
  • Allow reification of lazy reasons (#152) (c7418ec)
  • Also log the inference that led to an empty domain (#165) (7799119)
  • Alternating brancher did not call the methods correctly (#128) (6019d86)
  • Disjunctive scheduling example had incorrect negation constraint (#114) (fd007a0)
  • Don't debug propagate deleted nogoods (#147) (e3a6527)
  • Explain root-level assignments in the proof log during conflict analysis (#163) (c877b06)
  • Fixing erronous conflict check when using incrementality (#137) (07c253f)
  • Give reason to root-level propagation in nogood propagator (#124) (14868d5)
  • Identify more places where root-level facts need to be logged to the proof (#153) (3ac5019)
  • Issue with integer multiplication + correct path in msc file (#117) (ce25710)
  • Post process new domain (#129) (26a3b46)
  • Print statistics at the end of solving process + make pumpkin-solver default bin (#162) (7d30ac8)
  • Remove paste dependency (#159) (ea53fed)
  • Root level assignments are properly explained in the proof when logging inferences (#158) (857f84c), closes #118 #119 #156

drcp-format: v0.2.1

11 Apr 09:02
6a0c37d

Choose a tag to compare

0.2.1 (2025-04-11)

Bug Fixes

  • an empty nogood with hints can now be parsed. (e4cb2cc)

pumpkin-solver: v0.1.4

07 Nov 14:34

Choose a tag to compare

0.1.4 (2024-11-07)

Features

  • allow logging of statistics to arbitrary writers (#73) (136e03a)
  • introduce inference-nogoods in drcp-format (#98) (e5ae6c2)
  • update to drcp-format v0.2.0 (#101) (2f6df0c)

Bug Fixes

  • cumulative holes in domain incorrectly used cached profile (#109) (4c86a8b)
  • cumulative sequence generation found less profiles than it should + fixing issues with debug propagation (#110) (f17222d)
  • use propagate for "<=" constraint + using solution reference from solution rather than solver (#108) (668bd0d)
  • wrong profile found for over-interval conflict explanation (#111) (4ba1d50)

drcp-format: v0.2.0

05 Nov 10:58
16f2935

Choose a tag to compare

0.2.0 (2024-11-05)

⚠ BREAKING CHANGES

  • introduce inference-nogoods in drcp-format (#98)

Features

  • introduce inference-nogoods in drcp-format (#98) (e5ae6c2)

pumpkin-solver-v0.1.3

31 Oct 14:41
04f8eb0

Choose a tag to compare

0.1.3 (2024-10-31)

Features

  • adding synchronisation for the cumulative constraint (#86) (5ef9d56)
  • implement consistency check interface in linear less than propagator (#87) (089a083)