Skip to content

v2.0.0 - Simplified Architecture

Choose a tag to compare

@kiarina kiarina released this 04 Sep 11:24
· 79 commits to main since this release
e698ba8

πŸš€ Major Release: Simplified Architecture

This is a breaking change release that removes all deprecated classes and simplifies the codebase.

πŸ’₯ Breaking Changes

  • REMOVED: Deprecated classes as announced in v1.0.0:
    • BaseSettingsManager β†’ Use SettingsManager instead
    • SingleSettingsManager β†’ Use SettingsManager(MySettings) instead
    • MappedSettingsManager β†’ Use SettingsManager(MySettings, multi=True) instead

πŸ—‘οΈ Removed

  • Internal implementation files: base.py, single.py, mapped.py, deprecated.py, types.py
  • nested_dict utility function (was only used by deprecated SingleSettingsManager)
  • Related test files and deprecation warnings

✨ Improvements

  • Simplified package structure with only the unified SettingsManager class
  • Reduced package size by removing 1,038 lines of deprecated code
  • Cleaner API surface with only the recommended SettingsManager class
  • Maintained 99% test coverage with 44 passing tests

πŸ”„ Migration

  • No breaking changes for users already using SettingsManager
  • All functionality remains available through the unified SettingsManager class
  • Users of deprecated classes need to migrate to SettingsManager

πŸ“Š Code Reduction

  • Removed: 1,066 lines of deprecated code
  • Added: 28 lines (mainly changelog and version updates)
  • Net reduction: 1,038 lines

This represents a significant simplification of the codebase while maintaining all functionality through the modern SettingsManager API.

πŸ› οΈ For Developers

  • All tests pass (44 tests)
  • 99% code coverage maintained
  • Linting passes
  • Build successful

Full Changelog: v1.0.3...v2.0.0