Rustsat

Latest version: v0.5.1

Safety actively analyzes 641872 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

0.5.1

Features

- Incremental precision in DPW
- Format vars and lits nicely with debug

Bug Fixes

- Make `Node` type (of `dbtotalizer`) opaque. This is technically a breaking
change, but since the `Node` type was never intended to be transparent, we are
_not_ treating it as one. If you are relying on having access to the `Node`
type, use the feature `internal` instead, but note that the internal API is
unstable.

Testing

- Fix warnings

<!-- generated by git-cliff -->

0.5.0

This release contains breaking changes. For detailed instructions on how to
handle migration, please refer to the [migration
guide](https://github.com/chrjabs/rustsat/blob/main/docs/0-5-0-migration-guide.md).

Bug Fixes

- Incorrect coarse_ub in dpw when unweighted
- Dynamic polynomial watchdog edge cases with < 2 inputs

Documentation

- Clarify lit rep and relation to IPASIR/DIMACS
- Add missing documentation
- Fix broken links

Features

- Migrate error handling to `anyhow` create
- Move IPASIR bindings to separate crate
- Instance ergonomics for member variables
- Ergonomics for opb writing
- Ergonomics for dimacs writing
- Add `add_clause_ref` method to `Solve` trait
- Add `add_nary` function
- Have file parsers take `BufRead` types
- `Extend<&Clause>` for solvers
- Catch memory out in solvers
- Catch memory outs in clause collector
- Parse external solver output
- `ipasir-display` feature

Miscellaneous Tasks

- Update to `pyo3` 0.21
- Specify minimum rust version

Performance

- Add `BufWriter` when writing to file
- Avoid unnecessary cloning

Refactor

- Clean up control flow in solver methods
- Clean up control flow in dimacs parsing
- Factor out C-API
- Factor out Python API

<!-- generated by git-cliff -->

0.4.3

Features

- Internal `from_raw` methods for db totalizers
- Thorough merge strategy for `NodeById`
- Make opb defaults more like pbo competition specs
- Output opbs with `variable` line

Bug Fixes

- Remove `weight_sum` field from `DbGte`

Documentation

- Disable cbindgen on docs.rs

<!-- generated by git-cliff -->
<!-- generated by git-cliff -->

0.4.2

Documentation

- Mark required features in documentation on [docs.rs](https://docs.rs/rustsat)

0.4.1

Documentation

- Improve doc examples
- Add shields to READMEs

Features

- Helpful shortcuts in instances and solver
- Index assignments by var and negate ternary vals

<!-- generated by git-cliff -->

0.4.0

Bug Fixes

- Set var manager in SatInstance::from_iter
- Set vm correctly in SatInstance::from(Cnf)
- Coarse convergence bounds
- Link capi tests to archive libs
- Typo in capi
- Parse empty instances correctly
- Limited connections in node db
- Next value in db-referencing gtes

Documentation

- (limited) python api documentation

Features

- Python api expose lit, clause, cnf
- Python len and indexing support for clause and cnf
- Feature switch for python api
- Python iterators
- Totalizer and comparison operators in pyapi
- Expose all encodings in python api
- Extend internal node api
- Limited connections in node db
- Constant method for objective
- Allow cloning totalizer db

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.