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.0] - 2025-09-23
---------------------
Added
~~~~~
* Initial release of the BiSC algorithm implementation
* Core ``Permutation`` class with pattern containment checking
* ``MeshPattern`` class for generalized patterns with shading
* Complete BiSC algorithm implementation with MINE and GEN phases
* Command-line tools: ``bisc-examples`` and ``bisc-demo``
* Examples for known permutation classes:
* Stack-sortable permutations
* Smooth permutations
* Baxter permutations
* Comprehensive test suite with unit and integration tests
* Full API documentation with Sphinx
* PyPI package publication
* MIT License
Features
~~~~~~~~
* **Pattern Discovery**: Automatically discover forbidden patterns that characterize permutation classes
* **Mesh Patterns**: Support for generalized mesh patterns with shading constraints
* **Pure Python**: No external dependencies required
* **Extensible**: Easy to add new permutation classes and examples
* **Well-Tested**: Comprehensive test coverage
* **Documented**: Complete API documentation and examples
Algorithm Components
~~~~~~~~~~~~~~~~~~~~
* **MINE Phase**: Systematically record all mesh patterns appearing in input permutations
* **GEN Phase**: Generate forbidden patterns from allowed patterns using complement logic
* **Pattern Utilities**: Helper functions for pattern manipulation and analysis
* **Mesh Utilities**: Tools for working with mesh patterns and shading
Known Issues
~~~~~~~~~~~~
* None reported
Performance
~~~~~~~~~~~
* Efficient implementation suitable for permutations up to moderate length
* Memory usage scales with the number of input permutations and pattern length
* Algorithmic complexity depends on the size of the permutation class
Compatibility
~~~~~~~~~~~~~
* Python 3.7+
* Cross-platform (Windows, macOS, Linux)
* No external dependencies
Future Plans
~~~~~~~~~~~~
* Performance optimizations for larger permutation sets
* Additional permutation class examples
* Interactive visualization tools
* Jupyter notebook examples
* Integration with other combinatorics tools
[Unreleased]
------------
Changes that are in development but not yet released will be documented here.