Releases: Maatify/SharedCommon
v1.0.1 — Add AppPaths Utility for Common Directory Resolution
✨ Release Overview
This release introduces AppPaths to Maatify SharedCommon, providing a
centralized and reusable utility for resolving common application directories.
The goal of this addition is to reduce duplicated path-building logic across
projects, improve consistency, and provide a clearer foundation for filesystem
and configuration access in a framework-agnostic way.
✅ What’s New
-
Application Paths Utility
- Added
AppPathsunder theMaatify\SharedCommon\Pathnamespace - Centralizes access to commonly used project directories
- Added
-
Built-in Path Helpers
root()publicPath()publicImages()storage()config()logs()
-
Nested Storage Resolver
- Added
storagePath(string $subfolder)for consistent generation of
subpaths inside the storage directory
- Added
🏗 Why This Matters
Applications often repeat filesystem path construction in multiple places,
which can lead to inconsistency and harder maintenance.
By introducing AppPaths, this release provides:
- a single source of truth for common directory resolution
- improved readability when accessing project paths
- easier reuse across modules and applications
- safer and clearer path handling in shared infrastructure code
📦 Installation
composer require maatify/shared-common🔧 Requirements
- PHP 8.2+
📚 Documentation
This release is documented in:
CHANGELOG.md
The new utility can be used directly in application and infrastructure layers
where centralized path resolution is needed.
🔒 Security
If you discover a security issue, please review the project's
Security Policy.
📜 License
MIT License.
v1.0.0 — Initial Stable Release of Maatify SharedCommon
🎉 Initial Stable Release
This is the first stable release of Maatify SharedCommon, a foundational
library providing shared contracts and abstractions used across the Maatify
ecosystem.
The goal of this package is to standardize common cross-cutting concerns such as
time handling, telemetry context, and security event context while keeping
modules framework-agnostic and easily testable.
✨ Key Features
-
Clock Abstraction
ClockInterfacefor deterministic time handling- Default implementation:
SystemClock - Improves testability by removing direct usage of
time()anddate()
-
Telemetry Context Contract
- Unified interface for propagating telemetry metadata across modules
-
Security Event Context
- Standardized structure for security-related event information
-
Framework-Agnostic Design
- No dependency on frameworks
- Can be integrated with any DI container
-
Dependency Injection Bindings
SharedCommonBindingshelper for registering default implementations
🏗 Architecture
The module is intentionally minimal and focuses only on shared contracts used
by other Maatify components such as:
AdminKernelVerification- future infrastructure modules
This ensures consistent behavior across the entire ecosystem.
📦 Installation
composer require maatify/shared-common🔧 Requirements
- PHP 8.2+
📚 Documentation
Full documentation is available in the project documentation book:
- Architecture overview
- Clock abstraction design
- Integration patterns
- Extension points
See the docs/book directory for details.
🔒 Security
If you discover a security issue, please review the project's
Security Policy.
📜 License
MIT License.