Skip to content

Release/v0.1.0 - #1

Merged
dieselxxx merged 26 commits into
masterfrom
release/v0.1.0
Oct 21, 2026
Merged

dieselxxx merged 26 commits into
masterfrom
release/v0.1.0

Conversation

@dieselxxx

Copy link
Copy Markdown
Contributor

🔖 Release Pull Request

Version

  • Release version: v0.1.0

Related Branches

  • Release branch: `release/v0.1.0
  • Target branch:
    • develop
    • master

Description

Alpha release

Release Overview

Pre-release Verification

  • Changelog completed:
    • Yes
  • Documentation updated:
    • Yes

Testing & Validation

System Validation

  • All unit tests pass
  • All integration tests pass
  • Core modules verified
  • Adapter modules verified
  • CI/CD pipelines are successful

Release Readiness

  • No critical bugs open
  • No blocking issues remaining
  • Performance checks completed

Versioning

  • Semantic Versioning compliance:

    • Major
    • Minor
    • Patch
  • Tagging:

    • Release tag v0.1.0 will be created

Deployment

  • Target environment:

    • Staging
    • Production
  • Deployment notes:

    • ...

Checklist

  • CHANGELOG.md updated
  • README.md updated (if needed)
  • Version bumped correctly
  • All tests passing
  • CI/CD pipelines green
  • Release branch merged correctly
  • Release tag created

Risks / Impact

  • Risk level:
    • None
    • Low
    • Medium
    • High

Potential Risks

  • Breaking changes:

  • Deployment risks:

  • Rollback considerations:

Notes

Release Notes

Deployment Instructions

Known Issues

dieselxxx and others added 26 commits October 14, 2026 13:43
… by reorganizing content, removed redundant sections, and introduced explicit guidelines for the `develop` branch usage.
…y injection container. Added interfaces (`Definition` and `Service`) and concrete implementations (`Instance`, `Factory`, `Cls`, and `Alias`) to define service lifetimes, resolutions, and aliases. Enhanced modularity and extensibility for container services.
…ontainer. Implemented foundational classes (`Registry`, `InstanceStore`, and `ResolutionStack`) to handle service registration, instance management, and circular dependency detection. Introduced custom exceptions (`CircularDependencyException`, `DuplicateServiceException`, and `ServiceNotFoundException`) to enforce registry invariants and improve error handling. Designed the architecture to enhance resolution tracking and service definition management within the container.
…ontainer. Implemented foundational classes (`Registry`, `InstanceStore`, and `ResolutionStack`) to handle service registration, instance management, and circular dependency detection. Introduced custom exceptions (`CircularDependencyException`, `DuplicateServiceException`, and `ServiceNotFoundException`) to enforce registry invariants and improve error handling. Designed the architecture to enhance resolution tracking and service definition management within the container.
…e. Enhanced scope mechanisms with precise state tracking, including resolution entry/exit, open/close assertions, and execution guarding. Refactored `Scope` class to improve lifecycle management and enforce strict control over state transitions. Added `run` method for executing callbacks within a scope and handling automatic cleanup. Introduced `ScopeActiveException` for concurrent execution errors. Updated `Resolver` and internal components (`ResolutionContext`, `InstanceStore`) to support new lifecycle operations. Improved exception messages for better diagnostics.
…error handling.

- Added `isClosed` method to determine the state of a scope.
- Improved exception messages in `ScopeActiveException` for clarity.
- Updated `ScopeState` to incorporate a `running` check for better execution guarding.
- Fixed incorrect exception descriptions in `Resolver` docblocks to ensure proper documentation of errors.
- Added `Autowirer` class to automatically resolve and construct registered services using constructor dependency injection.
- Integrated `Autowirer` into `Resolver` to support autowiring of class-based service definitions (`Cls`).
- Replaced manual instantiation in `Resolver::construct` with `Resolver::autowire` to maintain current resolution context.
- Enhanced exception handling, including improvements to docblocks for better error documentation in `Resolver`.
…d autowiring.

- Introduced `resolveImplicit` method in `Resolver` to handle unregistered concrete class instantiation using implicit construction logic.
- Enhanced `Autowirer` module with `canResolve` and `classId` helper methods to streamline dependency resolution and class type identification.
- Updated `resolve` logic to route unregistered service requests through `resolveImplicit`, supporting transient lifetimes.
- Improved exception handling and updated docblocks for `Resolver` and `Autowirer` to document implicit resolution workflows.
- Integrated `FireHub\Runtime\ObjectModel\Inspection` for class validation in service resolution mechanics.
…ution.

- Added support for resolving union (`ReflectionUnionType`) and intersection (`ReflectionIntersectionType`) type dependencies in the `Autowirer`.
- Introduced `unionId` and `intersectionId` methods to handle complex type-based resolution workflows.
- Added `AmbiguousDependencyException` to handle cases with multiple eligible service candidates.
- Updated `Registry` with an `implementations` method to provide known service implementation types for intersection resolution.
- Improved exception handling and updated docblocks to clarify dependency resolution rules.
- Extended `resolveParameter` in `Autowirer` to support variadic parameters, complex types, and stricter resolution logic.
- Updated `Autowirer` to use stricter type annotations for `Closure` parameters and return types, ensuring accurate dependency resolution for candidates and identifiers.
- Added a condition to skip non-`ReflectionNamedType` instances while processing intersection type dependencies in `intersectionId`.
- Updated the `Registry::implementations` return type to provide precise mapping of class-string keys to class-string values.
- Improved docblocks across updated methods for better maintainability and understanding of type-based services.
…omponents.

- Extracted dependency candidate evaluation into standalone `CandidateSelector` for improved union and intersection type handling.
- Added `TypeMatcher` class to encapsulate type inspection and matching logic, replacing inline methods for `classId` and `isConstructible`.
- Updated `Autowirer` to integrate `CandidateSelector` and `TypeMatcher`, reducing complexity and centralizing resolution workflows.
- Deprecated internal methods (`canResolve`, `classId`, `unionId`, `intersectionId`) in favor of modular components.
- Adjusted `Resolver`'s autowiring to utilize the modular `CandidateSelector` and `TypeMatcher` for enhanced constructor-based dependency injection.
- Improved alignment with PSR standards and updated minimum PHP version constraint to `>=8.2`.
- Added new exceptions (`ScopeClosedException`, `CircularDependencyException`, and `AmbiguousDependencyException`) to improve error reporting during resolution workflows.
- Introduced `TypeMatcher` and `CandidateSelector` as reusable class properties in `Resolver` for better dependency management and reduced redundancy.
- Refactored `autowire` logic in `Resolver` to reuse shared `TypeMatcher` and `CandidateSelector` instances, consolidating resolution logic.
- Updated docblocks to document new exceptions and provide clearer type annotations.
…ize and optimize constructor metadata handling.

- Introduced `ConstructorMetadata` class to encapsulate immutable metadata for constructors, including instantiability, constructor existence, and parameter details.
- Added `ConstructorMetadataCache` to cache and reuse reflection metadata for faster dependency resolution and reduced runtime overhead.
- Integrated `ConstructorMetadataCache` into `Autowirer`, `Resolver`, and `TypeMatcher` to streamline constructor metadata retrieval and refactor reflection logic.
- Replaced direct `ReflectionClass` and constructor inspection with cached metadata lookups.
- Updated `Autowirer::construct` and other resolution logic to use `ConstructorMetadata` for evaluating instantiability and parameter data.
- Adjusted constructor dependencies and updated docblocks for improved clarity and alignment with the FireHub architecture.
… optimize and centralize dependency resolution workflows.

- Introduced `DependencyPlan` and `ParameterPlan` classes to encapsulate precompiled dependency and parameter construction plans.
- Added `DependencyPlanCache` to store and reuse static parameter analysis for faster service instantiation and reduced runtime overhead.
- Refactored `Autowirer` to use `DependencyPlanCache` and precompiled plans, streamlining the resolution process.
- Adjusted `Resolver` and associated components to integrate `DependencyPlanCache`, replacing dynamic constructor metadata lookups with cached plans.
- Enhanced `resolveParameter` logic in `Autowirer` to execute precompiled parameter plans, improving modularity and reuse.
- Updated docblocks for new classes and methods, aligning with FireHub architecture standards.
- Improved service instantiation performance by reducing redundant constructor reflection and reusing cached data.
…nstance for enhanced dependency resolution.

- Updated `Autowirer` to accept `ResolutionContext` in its methods, enabling context-aware resolution.
- Refactored `Resolver` to introduce a reusable `Autowirer` instance, consolidating dependency resolution workflows.
- Simplified `autowire` implementation in `Resolver` by delegating directly to the shared `Autowirer` instance.
- Updated method signatures in `Autowirer` (`construct`, `resolveParameter`) to support contextual resolution.
- Integrated `Autowirer` adjustments with `ResolutionContext` to improve modularity, reusability, and maintainability.
- Enhanced docblocks to reflect new parameter signatures and provide better clarity on context-aware resolution mechanics.
… lookup and updated `Resolver` to integrate improved resolution logic.

- Introduced `Registry::find` to allow retrieving service definitions without exceptions for missing identifiers.
- Refactored `Resolver::resolve` to use `Registry::find`, replacing the previous `has` and `get` calls for streamlined service resolution.
- Enhanced singleton resolution in `Resolver::get` to check and return existing instances before resolving services.
- Updated `Resolver::resolve` to handle null definitions by delegating to `resolveImplicit`, ensuring robust handling of unregistered services.
- Adjusted docblocks to reflect the addition of `find` and updated service resolution workflow in `Registry` and `Resolver`.
… and optimize state management.

- Introduced `active` property in `ResolutionStack` to track active service identifiers, replacing the previous implementation relying on array inspections.
- Updated `enter` method to use `active` for circular dependency detection, improving performance and reducing reliance on helper utilities.
- Added logic to manage `active` state in `leave` method, ensuring accurate cleanup of resolved service identifiers.
- Enhanced docblocks to describe the purpose of `active` and its role in resolution workflows.
- Simplified `ResolutionContext::root` logic to handle null-scoped cases gracefully.
…tion.

- Added `matchesType` method to `CandidateSelector` for recursive evaluation of union, intersection, and named dependency types.
- Updated `Autowirer` to validate service implementations using `CandidateSelector::matchesType` during instantiation, throwing a detailed `ServiceInstantiationException` for mismatches.
- Refactored union dependency resolution to streamline candidate selection with stricter type checks, prioritizing registered implementations.
- Improved exception handling and updated docblocks to describe the role of `matchesType` in dependency resolution workflows.
- Enhanced service instantiation safety by enforcing type conformity for dynamically resolved dependencies.
…parameter binding into `Container`.

- Introduced `ParameterBindingRegistry` to manage explicit constructor parameter bindings, supporting parameter-level configuration for implementation classes.
- Updated `Container` to include a `bindParameters` method, enabling external registration of explicit bindings while maintaining compatibility with dynamically constructed and registered services.
- Refactored `Resolver` and `Autowirer` to integrate the shared `ParameterBindingRegistry`, improving modularity in dependency resolution workflows.
- Enhanced `Autowirer::resolveParameter` to prioritize explicit parameter bindings over auto-wiring or constructor default values.
- Updated constructor dependencies for `Resolver`, `Autowirer`, and associated components to support the new registry.
- Improved docblocks to document new methods and parameter binding concepts in alignment with FireHub conventions.
…tting

Reordered "the-firehub-project/runtime" and other dependencies in multiple composer.json files across Kernel, Container, and Advanced-DataStructures-Capability directories to ensure consistent dependency order. No functional changes introduced.
…cumentation.

- Updated `Scope` to implement `ScopeBoundary` instead of `ResolverBoundary`, reflecting corrected boundary alignment.
- Adjusted `Container` to implement `ContainerBoundary` and updated relevant imports for clarity.
- Enhanced PHPDoc blocks across `Container` to include detailed usage examples, improving developer understanding and usability.
- Added inline code examples to multiple service registration methods (`bind`, `singleton`, `scoped`, etc.) to demonstrate usage patterns in alignment with `FireHub` conventions.
- Improved readability and consistency of code documentation without introducing any functional changes.
… for improved consistency.

- Updated `Container` to implement the `Registrar` interface, aligning it with extended boundaries for service registration.
- Simplified PHPDoc blocks for `bind`, `factory`, `instance`, and `alias` methods by replacing detailed annotations with `{@inheritdoc}` for consistency and maintainability.
- Removed redundant parameter templates and return annotations, leveraging inherited documentation to reduce duplication.
- Refined imports by adding `Registrar` reference and reordering for clarity.
Removed outdated badges and updated repository purpose details.
@dieselxxx dieselxxx added the type: Maintenance Ongoing upkeep like dependencies, compatibility, and system health. label Oct 21, 2026
@dieselxxx dieselxxx self-assigned this Oct 21, 2026
@dieselxxx dieselxxx moved this from Todo to Done in 🚩 Triage Oct 21, 2026
@dieselxxx
dieselxxx marked this pull request as ready for review October 21, 2026 08:56
@dieselxxx
dieselxxx requested a review from a team as a code owner October 21, 2026 08:56
@dieselxxx
dieselxxx merged commit a342bbb into master Oct 21, 2026
4 of 8 checks passed
@dieselxxx
dieselxxx deleted the release/v0.1.0 branch October 21, 2026 08:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: Maintenance Ongoing upkeep like dependencies, compatibility, and system health.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant