🦖
[] Өөрчлөлтийн түүх
codesaur/container GitHub дээр үзэх

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() and bind() now reject non-instantiable classes (abstract or private constructor) early with a clear ContainerException - previously such registrations succeeded and later failed on get() with a raw PHP Error
  • Tests covering abstract class and private constructor rejection

Changed

  • Added native array type declarations to all Container properties ($definitions, $instances, $bindings, $aliases)
  • Added mixed return type declaration to Container::get()
  • Removed pointless ARRAY_FILTER_USE_BOTH flag from the alias cleanup in remove() (the callback only uses the value)
  • Removed personal phone number from the author metadata in composer.json
  • Removed minimum-stability: dev from composer.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/checkout from v4 to v6 in the CI workflow
  • Documented the new non-instantiable class validation in docs/en/api.md and docs/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 - added CHANGELOG.md update reminder to documentation checklist
  • Cleaned up SECURITY.md formatting (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
  • 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
  • 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.md file 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/ and docs/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, usage
    • API.EN.md - API reference
    • CODE_REVIEW.EN.md - Code review report
    • CHANGELOG.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 ContainerInterface standard 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() methods
  • NotFoundException and ContainerException exception classes

Released

  • Initial release