From 4069e9ebfaa813d9a384dc629ab65795e8fde219 Mon Sep 17 00:00:00 2001 From: Avi Kaplan Date: Sun, 2 Aug 2026 16:41:37 +0200 Subject: [PATCH] Add CHANGELOG.md --- .pymarkdown | 5 +++- CHANGELOG.md | 65 ++++++++++++++++++++++++++++++++++++++++++++ README.md | 3 +- TODO.md | 4 --- calculus/__init__.py | 2 +- docs/STYLE.md | 14 ++++++++++ 6 files changed, 86 insertions(+), 7 deletions(-) create mode 100644 CHANGELOG.md diff --git a/.pymarkdown b/.pymarkdown index 1c79f46..92b47fb 100644 --- a/.pymarkdown +++ b/.pymarkdown @@ -6,6 +6,9 @@ "md013": { "line_length": 79, "strict": true + }, + "md024": { + "siblings_only": true } } -} \ No newline at end of file +} diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..434ec4f --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,65 @@ +# Changelog + +## v0.7.0 + +### Added + +- Added comparison operators to `NumericSequence`. +- Added one-based indexing support to `Recurrence`. +- Added a factory for building a `Series` from an existing sequence. +- Added `Fraction` support to the numeric type system. +- Added sequence rule retrieval. +- Added support for negative indexing in slice bounds for zero-indexed finite + sequences. + +### Changed + +- Renamed the `Real` numeric type alias from `Number`. +- Restricted `combine()` to same-type operands. + +### Removed + +- Removed complex number support from `NumericSequence`. +- Removed `shift_by()` and `shift_to()` sequence transformations. + +### Fixed + +- Fixed type-checking issues when applying arithmetic and slicing to derived + sequences. +- Fixed reverse slicing of infinite sequences without an explicit stop. + +## v0.6.0 + +### Added + +- Added BooleanSequence for boolean-valued sequences. + +## v0.5.0 + +### Added + +- Added Series for partial-sum sequences. + +## v0.4.0 + +### Added + +- Added NumericRecurrence for recursively defined numeric sequences. + +## v0.3.0 + +### Added + +- Added Recurrence for sequences defined by recurrence rules. + +## v0.2.0 + +### Added + +- Added NumericSequence with arithmetic operations. + +## v0.1.0 + +### Added + +- Added the initial calculus package implementation. diff --git a/README.md b/README.md index 6c858f4..5b1243e 100644 --- a/README.md +++ b/README.md @@ -233,9 +233,10 @@ print(4 * leibniz[1000]) │ └── test_utils.py # Pytest test suite for utility functions ├── .gitignore ├── .pymarkdown +├── CHANGELOG.md ├── LICENSE ├── README.md -├── TODO.md # Planned work +├── TODO.md ├── pyproject.toml # Project configuration ├── pytest.ini # Pytest configuration for test imports └── requirements-dev.txt # Development and CI dependencies diff --git a/TODO.md b/TODO.md index dc1a8e1..30bf3dd 100644 --- a/TODO.md +++ b/TODO.md @@ -17,10 +17,6 @@ - Identify opportunities to use decorators. -## Documentation - -- Add `CHANGELOG.md`. - ## Environment - Set up GitHub Issues for tracking bugs and planned work. diff --git a/calculus/__init__.py b/calculus/__init__.py index 2bec123..bad29b5 100644 --- a/calculus/__init__.py +++ b/calculus/__init__.py @@ -7,7 +7,7 @@ from .sequence import Sequence from .series import Series -__version__ = "0.6.0" +__version__ = "0.7.0" __all__ = [ "BooleanSequence", diff --git a/docs/STYLE.md b/docs/STYLE.md index 9159e9e..44d7c69 100644 --- a/docs/STYLE.md +++ b/docs/STYLE.md @@ -18,6 +18,20 @@ of the library. files, PR descriptions): wrap at 79 characters. - Fill the space: avoid wrapping lines prematurely. +## Changelog + +Changelog entries describe user-facing changes rather than implementation +details. + +- Group entries by release version. +- Keep releases in chronological order, newest first. +- Within each release, group entries under Added, Changed, Removed, Fixed, or + Deprecated subheadings, as applicable. +- Within each group in a release, list entries in the order they were added, + oldest first. +- Add new entries only under the next unreleased version. +- Do not modify existing entries unless correcting factual errors. + ## Git **Caution!** These conventions diverge from Conventional Commits and