Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.1 - 2026-06-19¶
Added¶
py.typedmarker so type information ships with the package and is picked up by downstream type checkers (PEP 561), matching theTyping :: Typedclassifier.- Community health files: GitHub issue and pull request templates.
Fixed¶
- Corrected the Zenodo DOI in the README badge to match
CITATION.cff. CONTRIBUTING.mdnow references the correct default branch (master) and the docstring style actually used in the codebase (Google, matchingmkdocs.yml).
Dependencies¶
- Bumped several development, docs, and notebook dependencies via Dependabot
(e.g.
jupyterlab,notebook,jupyter-server,tornado,bleach,mistune,urllib3,idna,pymdown-extensions). No changes to the core runtime dependencies.
1.0.0 - 2026-04-16¶
Added¶
- Initial stable release of
desdeo-brb1.x.x, a trainable Belief Rule-Based inference system implementing the RIMER methodology (Yang et al. 2006; Chen et al. 2011). - Core
BRBModelclass with scikit-learn-compatiblefit()andpredict()API. - NumPy backend with SLSQP and trust-constr optimizers for standard MSE training.
- JAX backend with L-BFGS-B and automatic differentiation for fast training of large models.
- Pyomo/IPOPT backend for use with custom symbolic objectives.
- Differential Evolution (
DE) and hybridDE+SLSQPtraining methods for non-convex problems. - Multi-start optimization via
n_restartsparameter to handle local minima. - Adaptive referential value training as described in Chen et al. (2011).
- Explainability features:
describe_rule(),describe_all_rules(),InferenceResult.explain(), andBRBModel.explain()for human-readable rule descriptions and prediction traces. - Custom loss function support via
fit_custom()for domain-specific objectives such as INFRINGER-style value function learning. - Four Jupyter notebooks covering getting started, multi-attribute models, expert knowledge integration with pipeline leak detection, and explainability.
Dependencies¶
- Core:
numpy>=1.24,scipy>=1.10,pydantic>=2.0 - Optional:
jax(for JAX backend),pyomo(for IPOPT backend),jupyter+matplotlib(for running the notebooks)