Skip to content

v.1.2.0

Latest

Choose a tag to compare

@YeeShin504 YeeShin504 released this 20 Apr 00:43
· 67 commits to main since this release
76f5865

Release Notes

Version 1.2.0

Summary

This release focuses on symbolic case analysis improvements, test-suite reorganization and expansion, and documentation updates since v1.1.0.


Changelog

Features & Enhancements

  • Added symbolic RREF case exploration for parameterized systems and integrated it into higher-level case evaluation flows.
  • Improved deterministic grouping and ordering behavior in symbolic case evaluation output.
  • Moved sympy_commands() into utils.py.
  • Extended tutorial coverage and aligned test organization with chapter/tutorial structure.
  • Updated docs build and release automation setup (including offline docs/release artifact workflow updates).

Bug Fixes

  • Fixed matrix LaTeX rendering behavior for cases where printer context or augmentation metadata differ.
  • Fixed decomposition/custom-type LaTeX and evaluation edge cases, including inverse-handling paths for PDP.
  • Fixed regressions in symbolic case ordering/branching and refreshed affected tests.
  • Fixed formatting and consistency issues across docs/source to satisfy linting and test expectations.

Detailed Commit Log

See git history for commits here.


Migration Notes

  • No intentional breaking API changes are expected for most users.
  • Matrix.evaluate_cases(...) changed signature and behavior:
    • v1.1.0: evaluate_cases(self, rhs: Matrix | None = None, use_ref: bool = True) -> None
    • v1.2.0: evaluate_cases(self, rhs: Matrix | None = None, verbosity: int = 0) -> list[RREFCase]
    • use_ref is deprecated as evaluate_cases now use RREF for clearer analysis.
    • list[RREFCase] is now returned so that it can be used in downstream tasks.
  • Matrix.rref_cases(...) is a new public API for raw symbolic case enumeration.
  • Matrix.find_all_cases() was removed from Matrix as Matrix.rref_cases() is more thorough and easier to use.
  • Matrix.solve(...) now accepts verbosity: int = 0 (backward-compatible default).
  • sympy_commands moved out of ma1522.symbolic to ma1522.utils, and is re-exported at package level (from ma1522 import sympy_commands).