Changelog
This file documents all notable changes to the codesaur/container package.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[3.2.0] - 2026-07-03
[3.2.0]: https://github.com/codesaur-php/Container/compare/v3.1.3...v3.2.0
Added
set()andbind()now reject non-instantiable classes (abstract or private constructor) early with a clearContainerException- previously such registrations succeeded and later failed onget()with a raw PHPError- Tests covering abstract class and private constructor rejection
Changed
- Added native
arraytype declarations to allContainerproperties ($definitions,$instances,$bindings,$aliases) - Added
mixedreturn type declaration toContainer::get() - Removed pointless
ARRAY_FILTER_USE_BOTHflag from the alias cleanup inremove()(the callback only uses the value) - Removed personal phone number from the author metadata in
composer.json - Removed
minimum-stability: devfromcomposer.json- it is a root-only field with no effect on package consumers, and it was causing local dev installs to pull unstable dev-master builds of every dependency instead of stable releases - Bumped
actions/checkoutfrom v4 to v6 in the CI workflow - Documented the new non-instantiable class validation in
docs/en/api.mdanddocs/mn/api.md
[3.1.3] - 2026-03-05
[3.1.3]: https://github.com/codesaur-php/Container/compare/v3.1.2...v3.1.3
Fixed
- Removed trailing whitespace in CHANGELOG.md and docs/mn/README.md
- Fixed double blank line in docs/mn/code-review.md
- Fixed remaining Mongolian heading capitalization inconsistencies in docs/mn/api.md and docs/mn/code-review.md
[3.1.2] - 2026-03-04
[3.1.2]: https://github.com/codesaur-php/Container/compare/v3.1.1...v3.1.2
Changed
- Removed all emojis from documentation and project files for cleaner, more consistent formatting
- Fixed Mongolian heading capitalization across
docs/mn/files (e.g., "Давуу Талууд" -> "Давуу талууд") - Improved
CONTRIBUTING.md- addedCHANGELOG.mdupdate reminder to documentation checklist - Cleaned up
SECURITY.mdformatting (removed special characters, normalized dashes)
[3.1.1] - 2026-01-06
[3.1.1]: https://github.com/codesaur-php/Container/compare/v3.1.0...v3.1.1
Added
- Added initial release (v1.0) information to changelog
Fixed
- Fixed small documentation errors and inconsistencies
[3.1.0] - 2026-01-05
[3.1.0]: https://github.com/codesaur-php/Container/compare/v3.0.2...v3.1.0
Added
- Auto-wiring feature added
- Automatically resolves dependencies from container when constructor parameters have class type hints
- User-provided arguments take priority over auto-wiring
- Uses default values for optional parameters
- Interface binding feature added
- Ability to bind interfaces to implementations (
bind()method) - Getting interface returns implementation instance
- Works together with auto-wiring
- Ability to bind interfaces to implementations (
- Service aliases support added
- Ability to access one service by multiple names (
alias()method) - All aliases return the same instance (singleton behavior)
- Works together with interface binding
- Ability to access one service by multiple names (
- Auto-wiring tests added
- Interface binding tests added
- Service aliases tests added
- Documentation for auto-wiring, interface binding, and service aliases added
- Implemented features information added to CODE_REVIEW.md and CODE_REVIEW.EN.md
Changed
- README.md file restructured into 3 sections with navigation menu
- Mongolian description section
- English description section
- Installation section
- Changelog standardized and consolidated into a single English
CHANGELOG.mdfile at the repository root- Removed language specific changelog files
- Established a single source of truth for release history
- Table of contents menu items merged into one line
- Requirements & Installation section cleaned up and improved
- Documentation files reorganized into
docs/mn/anddocs/en/folders, all links updated
[3.0.2] - 2025-12-25
[3.0.2]: https://github.com/codesaur-php/Container/compare/v3.0.1...v3.0.2
Changed
- All *.md files refactored (unified style)
- Markdown syntax errors fixed
[3.0.1] - 2025-12-25
[3.0.1]: https://github.com/codesaur-php/Container/compare/v3.0.0...v3.0.1
Added
- English documentation added
README.EN.md- General introduction, installation, usageAPI.EN.md- API referenceCODE_REVIEW.EN.md- Code review reportCHANGELOG.EN.md- Changelog
- Language links between Mongolian and English files
Changed
- Documentation improvements
[3.0.0] - 2025-12-18
[3.0.0]: https://github.com/codesaur-php/Container/compare/v1.0...v3.0.0
Added
- Full PSR-11
ContainerInterfacestandard implementation - Lazy Loading mechanism - Services are created only when needed
- Automatic instance creation using Reflection
- Unit tests and Integration tests
- CI/CD pipeline (GitHub Actions)
- PHP 8.2, 8.3, 8.4 support
- Multi-platform support (Ubuntu, Windows)
Released
- Stable release
[1.0] - 2021-09-10
[1.0]: https://github.com/codesaur-php/Container/releases/tag/v1.0
Added
- Closure / callable support
- Singleton pattern (cached instances)
set(),get(),has(),remove()methodsNotFoundExceptionandContainerExceptionexception classes
Released
- Initial release