diff --git a/CHANGELOG.md b/CHANGELOG.md
index b6cfaa1..5ac1b82 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
+## [[v0.3.2](https://github.com/The-FireHub-Project/Runtime/compare/v0.3.1...v0.3.2)] – 2026-09-29
+
+### Added
+* Upgrade PHP compatibility to 8.2 and enforce readonly properties for runtime classes by @dieselxxx
+
## [[v0.3.1](https://github.com/The-FireHub-Project/Runtime/compare/v0.3.0...v0.3.1)] – 2026-09-16
### Added
diff --git a/README.md b/README.md
index ec20b88..dbe7ebf 100644
--- a/README.md
+++ b/README.md
@@ -7,12 +7,12 @@
PHP Runtime Foundation
@@ -22,25 +22,46 @@
/>
-[](https://github.com/The-FireHub-Project/Runtime/actions/workflows/PHPStan.yml)
-[](https://github.com/The-FireHub-Project/Runtime/actions/workflows/PHPUnit.yml)
-[](https://app.codecov.io/gh/The-FireHub-Project/Runtime/tree/develop)
-
-
+
+
+
-
+
-
+
+
+
+
+
+
+
+
+
@@ -54,47 +75,55 @@ Its role is to provide a consistent execution foundation between native PHP capa
---
-##
Development Branch
+##
Repository Purpose
-⚠️ **This is the `develop` branch**
+This repository provides a lightweight PHP runtime abstraction layer that wraps native PHP functionality into clean, consistent, and deterministic APIs.
-- Unstable
-- APIs may change without notice
-- Not intended for production use
+Its purpose is to reduce boilerplate and standardize common execution patterns across the FireHub ecosystem by offering ergonomic helper classes for arrays, strings, files, environment access, and other low-level runtime operations.
-##
Branch Purpose
+It is strictly focused on execution-level concerns and does not contain domain logic, business rules, or framework-level orchestration. It exists to improve developer productivity while preserving native PHP behavior and ensuring zero framework coupling.
-The `develop` branch is the **primary integration branch** for all ongoing development.
+##
Security
-It serves as the staging area where:
-- Feature branches are merged
-- Bug fixes are integrated
-- Experimental work is stabilized
-- Code is prepared for upcoming releases
+For security reporting and guidelines, please refer to our [SECURITY.md](https://github.com/The-FireHub-Project/.github/blob/master/.github/SECURITY.md) file.
-All **release branches** are created **from `develop`**.
+##
Community
-## Stability Guarantee
+
+
+
-❌ No backward compatibility guarantee
-❌ APIs may change without notice
-❌ Behavior may be incomplete or inconsistent
-❌ Breaking changes are expected
+- Be sure to review the [Code of Conduct](https://github.com/The-FireHub-Project/.github/blob/master/.github/CODE_OF_CONDUCT.md).
+- Read a [Contributing](https://github.com/The-FireHub-Project/.github/blob/master/.github/CONTRIBUTING.md) file to see how you can contribute to this project.
+- Read our [Security policy](https://github.com/The-FireHub-Project/.github/blob/master/.github/SECURITY.md) file to see how you can report a vulnerability.
+- Review the project [Governance model](https://github.com/The-FireHub-Project/.github/blob/master/.github/GOVERNANCE.md), including roles, decision-making, RFC process, and releases.
-This branch is intended **only for contributors and advanced testers**.
+##
Support
-##
Composer Usage (Not Recommended)
+
+
+
+
+
+
+
+
-For internal testing only:
+For help with FireHub products, please refer to the following resources:
-```json
-{
- "require": {
- "the-firehub-project/runtime": "dev-develop"
- }
-}
-```
-⚠️ Never use dev-develop in production.
+- **General questions & discussions**: [GitHub Discussions](https://github.com/orgs/The-FireHub-Project/discussions)
+- **Bug reports & issues**: [Support](https://github.com/The-FireHub-Project/Runtime/issues)
+- **Documentation & guides**: [FireHub Docs](https://the-firehub-project.github.io)
+- **Commercial support** (Pro/Enterprise): contact your account manager
##
Authors and Contributors
diff --git a/src/Arr/Access.php b/src/Arr/Access.php
index e7fbdd2..4c70af6 100644
--- a/src/Arr/Access.php
+++ b/src/Arr/Access.php
@@ -43,7 +43,7 @@
* without introducing domain logic, framework coupling, or additional abstraction overhead.
* @since 1.0.0
*/
-final class Access extends NativeRuntime {
+final readonly class Access extends NativeRuntime {
/**
* ### Checks if the given key or index exists in the array
diff --git a/src/Arr/Composition.php b/src/Arr/Composition.php
index c8ef5d3..257c578 100644
--- a/src/Arr/Composition.php
+++ b/src/Arr/Composition.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.4
+ * @php-version >=8.2
* @package Runtime
*/
@@ -34,7 +34,7 @@
* without introducing domain logic, framework coupling, or additional abstraction overhead.
* @since 1.0.0
*/
-final class Composition extends NativeRuntime {
+final readonly class Composition extends NativeRuntime {
/**
* ### Creates an array by using one array for keys and another for its values
diff --git a/src/Arr/Inspection.php b/src/Arr/Inspection.php
index 0b09cc5..8b862f9 100644
--- a/src/Arr/Inspection.php
+++ b/src/Arr/Inspection.php
@@ -38,7 +38,7 @@
* This component contains no domain logic, no framework coupling, and no business rules.
* @since 1.0.0
*/
-final class Inspection extends NativeRuntime {
+final readonly class Inspection extends NativeRuntime {
/**
* ### Checks if all array elements satisfy a callback function
diff --git a/src/Arr/Math.php b/src/Arr/Math.php
index e4e770c..2b41c17 100644
--- a/src/Arr/Math.php
+++ b/src/Arr/Math.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=8.0
+ * @php-version >=8.2
* @package Runtime
*/
@@ -28,7 +28,7 @@
* without introducing domain logic, framework coupling, or additional abstraction overhead.
* @since 1.0.0
*/
-final class Math extends NativeRuntime {
+final readonly class Math extends NativeRuntime {
/**
* ### Calculate the product of values in an array
diff --git a/src/Arr/Mutation.php b/src/Arr/Mutation.php
index 0a510ab..bf4825a 100644
--- a/src/Arr/Mutation.php
+++ b/src/Arr/Mutation.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=8.0
+ * @php-version >=8.2
* @package Runtime
*/
@@ -30,7 +30,7 @@
* without introducing domain logic, framework coupling, or additional abstraction overhead.
* @since 1.0.0
*/
-final class Mutation extends NativeRuntime {
+final readonly class Mutation extends NativeRuntime {
/**
* ### Pop the element off the end of an array
diff --git a/src/Arr/Ordering.php b/src/Arr/Ordering.php
index fc63e8b..b5dc932 100644
--- a/src/Arr/Ordering.php
+++ b/src/Arr/Ordering.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=8.1
+ * @php-version >=8.2
* @package Runtime
*/
@@ -41,7 +41,7 @@
* without introducing domain logic, framework coupling, or additional abstraction overhead.
* @since 1.0.0
*/
-final class Ordering extends NativeRuntime {
+final readonly class Ordering extends NativeRuntime {
/**
* ### Sorts array
diff --git a/src/Arr/Pointer.php b/src/Arr/Pointer.php
index c3f4cd6..bc6bf72 100644
--- a/src/Arr/Pointer.php
+++ b/src/Arr/Pointer.php
@@ -34,7 +34,7 @@
* operations without introducing domain logic, framework coupling, or additional abstraction overhead.
* @since 1.0.0
*/
-final class Pointer extends NativeRuntime {
+final readonly class Pointer extends NativeRuntime {
/**
* ### Return the current element in an array
diff --git a/src/Arr/SetOperation.php b/src/Arr/SetOperation.php
index bf625ac..8ace44e 100644
--- a/src/Arr/SetOperation.php
+++ b/src/Arr/SetOperation.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.4
+ * @php-version >=8.2
* @package Runtime
*/
@@ -42,7 +42,7 @@
* without introducing domain logic, framework coupling, or additional abstraction overhead.
* @since 1.0.0
*/
-final class SetOperation extends NativeRuntime {
+final readonly class SetOperation extends NativeRuntime {
/**
* ### Computes the difference of arrays using values for comparison
diff --git a/src/Arr/Structure.php b/src/Arr/Structure.php
index d040866..088ecc1 100644
--- a/src/Arr/Structure.php
+++ b/src/Arr/Structure.php
@@ -39,7 +39,7 @@
* without introducing domain logic, framework coupling, or additional abstraction overhead.
* @since 1.0.0
*/
-final class Structure extends NativeRuntime {
+final readonly class Structure extends NativeRuntime {
/**
* ### Split an array into chunks
diff --git a/src/Arr/Transform.php b/src/Arr/Transform.php
index 3018242..1dcd249 100644
--- a/src/Arr/Transform.php
+++ b/src/Arr/Transform.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=8.1
+ * @php-version >=8.2
* @package Runtime
*/
@@ -42,7 +42,7 @@
* operations without introducing domain logic, framework coupling, or additional abstraction overhead.
* @since 1.0.0
*/
-final class Transform extends NativeRuntime {
+final readonly class Transform extends NativeRuntime {
/**
* ### Iteratively reduce the array to a single value using a callback function
diff --git a/src/Binary.php b/src/Binary.php
index ba47951..5ffc5b9 100644
--- a/src/Binary.php
+++ b/src/Binary.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.4
+ * @php-version >=8.2
* @package Runtime
*/
@@ -28,7 +28,7 @@
* API while preserving the behavior and semantics of the underlying PHP runtime.
* @since 1.0.0
*/
-final class Binary extends NativeRuntime {
+final readonly class Binary extends NativeRuntime {
/**
* ### Pack data into a binary string
diff --git a/src/Char/MB.php b/src/Char/MB.php
index d6d1701..4824c12 100644
--- a/src/Char/MB.php
+++ b/src/Char/MB.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=8.1
+ * @php-version >=8.2
* @package Runtime
*/
@@ -31,7 +31,7 @@
* processing while preserving native PHP behavior, encoding support, and runtime performance.
* @since 1.0.0
*/
-final class MB {
+final readonly class MB {
/**
* ### Return character by Unicode code point value
diff --git a/src/Char/SB.php b/src/Char/SB.php
index 92432c1..9d2ce0a 100644
--- a/src/Char/SB.php
+++ b/src/Char/SB.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.0
+ * @php-version >=8.2
* @package Runtime
*/
@@ -30,7 +30,7 @@
* processing while preserving native PHP behavior, performance, and compatibility.
* @since 1.0.0
*/
-final class SB {
+final readonly class SB {
/**
* ### Generate a single-byte string from a number
diff --git a/src/Constant.php b/src/Constant.php
index c84a789..82ea4a7 100644
--- a/src/Constant.php
+++ b/src/Constant.php
@@ -31,7 +31,7 @@
* additional abstraction or changing PHP semantics.
* @since 1.0.0
*/
-final class Constant extends NativeRuntime {
+final readonly class Constant extends NativeRuntime {
/**
* ### Checks whether a given named constant exists
diff --git a/src/Copy.php b/src/Copy.php
index d360080..4608df6 100644
--- a/src/Copy.php
+++ b/src/Copy.php
@@ -32,7 +32,7 @@
* Circular object references are preserved during the copy operation.
* @since 1.0.0
*/
-final class Copy extends NativeRuntime {
+final readonly class Copy extends NativeRuntime {
/**
* ### Creates a deep copy of the given value
diff --git a/src/Data.php b/src/Data.php
index 2c11da0..387098e 100644
--- a/src/Data.php
+++ b/src/Data.php
@@ -37,7 +37,7 @@
* without introducing domain logic, framework coupling, or additional abstraction overhead.
* @since 1.0.0
*/
-final class Data extends NativeRuntime {
+final readonly class Data extends NativeRuntime {
/**
* ### Gets the type name of a variable in a way that is suitable for debugging
diff --git a/src/DataIs.php b/src/DataIs.php
index 33dc172..2ce117f 100644
--- a/src/DataIs.php
+++ b/src/DataIs.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.4
+ * @php-version >=8.2
* @package Runtime
*/
@@ -39,7 +39,7 @@
* without introducing conversion, transformation, or additional abstraction logic.
* @since 1.0.0
*/
-final class DataIs extends NativeRuntime {
+final readonly class DataIs extends NativeRuntime {
/**
* ### Checks whether the value is an array
diff --git a/src/Date/Calendar.php b/src/Date/Calendar.php
index 08e5a27..d2ad76e 100644
--- a/src/Date/Calendar.php
+++ b/src/Date/Calendar.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=8.0
+ * @php-version >=8.2
* @package Runtime
*/
@@ -26,7 +26,7 @@
* while preserving native runtime behavior.
* @since 1.0.0
*/
-final class Calendar extends NativeRuntime {
+final readonly class Calendar extends NativeRuntime {
/**
* ### Check for a valid date
diff --git a/src/Date/Format.php b/src/Date/Format.php
index 9c23d98..eaa7445 100644
--- a/src/Date/Format.php
+++ b/src/Date/Format.php
@@ -26,7 +26,7 @@
* Provides low-level wrappers for formatting Unix timestamps into human-readable date and time representations while
* preserving native PHP formatting behavior.
*/
-final class Format extends NativeRuntime {
+final readonly class Format extends NativeRuntime {
/**
* ### Format a Unix timestamp
diff --git a/src/Date/Parse.php b/src/Date/Parse.php
index 0d4ba0b..96d0609 100644
--- a/src/Date/Parse.php
+++ b/src/Date/Parse.php
@@ -30,7 +30,7 @@
* native PHP behavior.
* @since 1.0.0
*/
-final class Parse extends NativeRuntime {
+final readonly class Parse extends NativeRuntime {
/**
* ### Returns associative array with detailed info about the given date/time
diff --git a/src/Date/Solar.php b/src/Date/Solar.php
index 6acef70..6bfcd5e 100644
--- a/src/Date/Solar.php
+++ b/src/Date/Solar.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.4
+ * @php-version >=8.2
* @package Runtime
*/
@@ -24,7 +24,7 @@
* PHP date functions.
* @since 1.0.0
*/
-final class Solar extends NativeRuntime {
+final readonly class Solar extends NativeRuntime {
/**
* ### Gets information about sunset/sunrise and twilight begin/end
diff --git a/src/Date/Timestamp.php b/src/Date/Timestamp.php
index 0294d45..14964e6 100644
--- a/src/Date/Timestamp.php
+++ b/src/Date/Timestamp.php
@@ -26,7 +26,7 @@
* native runtime behavior.
* @since 1.0.0
*/
-final class Timestamp extends NativeRuntime {
+final readonly class Timestamp extends NativeRuntime {
/**
* ### Format a Unix timestamp
diff --git a/src/Date/Timezone.php b/src/Date/Timezone.php
index 2b9862c..295f82b 100644
--- a/src/Date/Timezone.php
+++ b/src/Date/Timezone.php
@@ -30,7 +30,7 @@
* native runtime behavior.
* @since 1.0.0
*/
-final class Timezone extends NativeRuntime {
+final readonly class Timezone extends NativeRuntime {
/**
* ### Gets the default timezone used by all date/time functions in a script
diff --git a/src/FileSystem/File.php b/src/FileSystem/File.php
index 0c8371d..6d216d0 100644
--- a/src/FileSystem/File.php
+++ b/src/FileSystem/File.php
@@ -46,7 +46,7 @@
* altering native runtime semantics.
* @since 1.0.0
*/
-final class File extends NativeRuntime {
+final readonly class File extends NativeRuntime {
/**
* ### Checks whether a file or folder exists
diff --git a/src/FileSystem/Folder.php b/src/FileSystem/Folder.php
index 3ed0ab4..b4ffcd7 100644
--- a/src/FileSystem/Folder.php
+++ b/src/FileSystem/Folder.php
@@ -46,7 +46,7 @@
* altering native runtime semantics.
* @since 1.0.0
*/
-final class Folder extends NativeRuntime {
+final readonly class Folder extends NativeRuntime {
/**
* ### Tells whether the filename is a regular folder
diff --git a/src/FileSystem/Link.php b/src/FileSystem/Link.php
index b59fae6..d7d188f 100644
--- a/src/FileSystem/Link.php
+++ b/src/FileSystem/Link.php
@@ -37,7 +37,7 @@
* altering native runtime semantics.
* @since 1.0.0
*/
-final class Link extends NativeRuntime {
+final readonly class Link extends NativeRuntime {
/**
* ### Tells whether the path is a symbolic link
diff --git a/src/FileSystem/Metadata.php b/src/FileSystem/Metadata.php
index 4bfeb9e..e4a736f 100644
--- a/src/FileSystem/Metadata.php
+++ b/src/FileSystem/Metadata.php
@@ -52,7 +52,7 @@
* altering native runtime semantics.
* @since 1.0.0
*/
-final class Metadata extends NativeRuntime {
+final readonly class Metadata extends NativeRuntime {
/**
* ### Gets file size
diff --git a/src/FileSystem/Path.php b/src/FileSystem/Path.php
index 4c29460..242d177 100644
--- a/src/FileSystem/Path.php
+++ b/src/FileSystem/Path.php
@@ -33,7 +33,7 @@
* native runtime semantics.
* @since 1.0.0
*/
-final class Path extends NativeRuntime {
+final readonly class Path extends NativeRuntime {
/**
* ### Returns a trailing name component of a path
diff --git a/src/FileSystem/Permission.php b/src/FileSystem/Permission.php
index 865a737..3ec94d4 100644
--- a/src/FileSystem/Permission.php
+++ b/src/FileSystem/Permission.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.4
+ * @php-version >=8.2
* @package Runtime
*/
@@ -29,7 +29,7 @@
* altering native runtime semantics.
* @since 1.0.0
*/
-final class Permission extends NativeRuntime {
+final readonly class Permission extends NativeRuntime {
/**
* ### Tells whether the path is executable
diff --git a/src/FileSystem/Storage.php b/src/FileSystem/Storage.php
index 6d14e86..75220ee 100644
--- a/src/FileSystem/Storage.php
+++ b/src/FileSystem/Storage.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.4
+ * @php-version >=8.2
* @package Runtime
*/
@@ -29,7 +29,7 @@
* altering native runtime semantics.
* @since 1.0.0
*/
-final class Storage extends NativeRuntime {
+final readonly class Storage extends NativeRuntime {
/**
* ### Gets total size of a filesystem or disk partition
diff --git a/src/Func.php b/src/Func.php
index 1b6d71a..1bd4465 100644
--- a/src/Func.php
+++ b/src/Func.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.4
+ * @php-version >=8.2
* @package Runtime
*/
@@ -29,7 +29,7 @@
* altering function invocation semantics.
* @since 1.0.0
*/
-final class Func extends NativeRuntime {
+final readonly class Func extends NativeRuntime {
/**
* ### Checks if the function name exists
diff --git a/src/Hash.php b/src/Hash.php
index 94b9217..33d84ef 100644
--- a/src/Hash.php
+++ b/src/Hash.php
@@ -40,7 +40,7 @@
* hashing semantics.
* @since 1.0.0
*/
-final class Hash extends NativeRuntime {
+final readonly class Hash extends NativeRuntime {
/**
* ### Generates a hash value
diff --git a/src/Introspection.php b/src/Introspection.php
index 716ed83..78b97e4 100644
--- a/src/Introspection.php
+++ b/src/Introspection.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.4
+ * @php-version >=8.2
* @package Runtime
*/
@@ -31,7 +31,7 @@
* altering PHP execution semantics.
* @since 1.0.0
*/
-final class Introspection extends NativeRuntime {
+final readonly class Introspection extends NativeRuntime {
/**
* ### Gets the declared classes
diff --git a/src/Iterator.php b/src/Iterator.php
index 7be1990..9bb5784 100644
--- a/src/Iterator.php
+++ b/src/Iterator.php
@@ -30,7 +30,7 @@
* without altering PHP iterator semantics.
* @since 1.0.0
*/
-final class Iterator extends NativeRuntime {
+final readonly class Iterator extends NativeRuntime {
/**
* ### Copy the iterator into an array
diff --git a/src/Json.php b/src/Json.php
index c9ee254..a14cc08 100644
--- a/src/Json.php
+++ b/src/Json.php
@@ -36,7 +36,7 @@
* without altering PHP JSON semantics.
* @since 1.0.0
*/
-final class Json extends NativeRuntime {
+final readonly class Json extends NativeRuntime {
/**
* ### JSON representation of a value
diff --git a/src/Math.php b/src/Math.php
index 29345f0..8ba125c 100644
--- a/src/Math.php
+++ b/src/Math.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=8.1
+ * @php-version >=8.2
* @package Runtime
*/
@@ -63,7 +63,7 @@
* without altering PHP math semantics.
* @since 1.0.0
*/
-final class Math extends NativeRuntime {
+final readonly class Math extends NativeRuntime {
/**
* ### Finds whether a value is a legal finite number
diff --git a/src/Math/DecimalEngine.php b/src/Math/DecimalEngine.php
index ca72296..43e031a 100644
--- a/src/Math/DecimalEngine.php
+++ b/src/Math/DecimalEngine.php
@@ -31,7 +31,7 @@
* developer-facing API remain the responsibility of the Decimal Value Object.
* @since 1.0.0
*/
-final class DecimalEngine extends NativeRuntime {
+final readonly class DecimalEngine extends NativeRuntime {
/**
* ### Implements operations
diff --git a/src/Number.php b/src/Number.php
index 859a06a..bc586f2 100644
--- a/src/Number.php
+++ b/src/Number.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=8.1
+ * @php-version >=8.2
* @package Runtime
*/
@@ -30,7 +30,7 @@
* hexadecimal, as well as formatting numbers for display.
* @since 1.0.0
*/
-final class Number extends NativeRuntime {
+final readonly class Number extends NativeRuntime {
/**
* ### Format a number with grouped thousands
diff --git a/src/ObjectModel/Identity.php b/src/ObjectModel/Identity.php
index 9be9a80..fbed7ed 100644
--- a/src/ObjectModel/Identity.php
+++ b/src/ObjectModel/Identity.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.4
+ * @php-version >=8.2
* @package Runtime
*/
@@ -26,7 +26,7 @@
* This component exposes native PHP object identity operations used for object comparison, tracking, and indexing.
* @since 1.0.0
*/
-final class Identity extends NativeRuntime {
+final readonly class Identity extends NativeRuntime {
/**
* ### Return the integer object handle for a given object
diff --git a/src/ObjectModel/Inspection.php b/src/ObjectModel/Inspection.php
index 60a70ad..4feddda 100644
--- a/src/ObjectModel/Inspection.php
+++ b/src/ObjectModel/Inspection.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=8.1
+ * @php-version >=8.2
* @package Runtime
*/
@@ -31,7 +31,7 @@
* existence of runtime-defined entities without introducing reflection abstractions or additional behavior.
* @since 1.0.0
*/
-final class Inspection extends NativeRuntime {
+final readonly class Inspection extends NativeRuntime {
/**
* ### Checks if a class name exists
diff --git a/src/ObjectModel/Metadata.php b/src/ObjectModel/Metadata.php
index 06d639d..c66f969 100644
--- a/src/ObjectModel/Metadata.php
+++ b/src/ObjectModel/Metadata.php
@@ -34,7 +34,7 @@
* information without introducing reflection-based abstractions.
* @since 1.0.0
*/
-final class Metadata extends NativeRuntime {
+final readonly class Metadata extends NativeRuntime {
/**
* ### Creates an alias for a class
diff --git a/src/ObjectModel/Relation.php b/src/ObjectModel/Relation.php
index a4eb59c..ddebfef 100644
--- a/src/ObjectModel/Relation.php
+++ b/src/ObjectModel/Relation.php
@@ -34,7 +34,7 @@
* runtime behavior.
* @since 1.0.0
*/
-final class Relation extends NativeRuntime {
+final readonly class Relation extends NativeRuntime {
/**
* ### Checks whether the object or class is of a given type or subtype
diff --git a/src/Random.php b/src/Random.php
index 5c9fc5e..504930d 100644
--- a/src/Random.php
+++ b/src/Random.php
@@ -35,7 +35,7 @@
* without altering PHP randomness semantics.
* @since 1.0.0
*/
-final class Random extends NativeRuntime {
+final readonly class Random extends NativeRuntime {
/**
* ### Generate a random value via the Mersenne Twister Random Number Generator
diff --git a/src/ResourceManager.php b/src/ResourceManager.php
index 144e0bd..3833ff4 100644
--- a/src/ResourceManager.php
+++ b/src/ResourceManager.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=8.1
+ * @php-version >=8.2
* @package Runtime
*/
@@ -30,7 +30,7 @@
* altering native resource semantics.
* @since 1.0.0
*/
-final class ResourceManager extends NativeRuntime {
+final readonly class ResourceManager extends NativeRuntime {
/**
* ### Returns an integer identifier for the given resource
diff --git a/src/Shutdown.php b/src/Shutdown.php
index 5463d6e..5d4661a 100644
--- a/src/Shutdown.php
+++ b/src/Shutdown.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.4
+ * @php-version >=8.2
* @package Runtime
*/
@@ -27,7 +27,7 @@
* shutdown lifecycle semantics.
* @since 1.0.0
*/
-final class Shutdown extends NativeRuntime {
+final readonly class Shutdown extends NativeRuntime {
/**
* ### Register a function for execution on shutdown
diff --git a/src/SplAutoload.php b/src/SplAutoload.php
index cbe4798..ceecd80 100644
--- a/src/SplAutoload.php
+++ b/src/SplAutoload.php
@@ -28,7 +28,7 @@
* autoload execution semantics.
* @since 1.0.0
*/
-final class SplAutoload extends NativeRuntime {
+final readonly class SplAutoload extends NativeRuntime {
/**
* ### Register a callback function as an autoloader
diff --git a/src/Str/MB/Access.php b/src/Str/MB/Access.php
index 42865e5..c956e15 100644
--- a/src/Str/MB/Access.php
+++ b/src/Str/MB/Access.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=8.1
+ * @php-version >=8.2
* @package Runtime
*/
@@ -35,7 +35,7 @@
* operations without introducing domain logic, framework coupling, or additional abstraction overhead.
* @since 1.0.0
*/
-final class Access extends NativeRuntime {
+final readonly class Access extends NativeRuntime {
/**
* ### Get part of string
diff --git a/src/Str/MB/Casing.php b/src/Str/MB/Casing.php
index f6fea94..34d2d73 100644
--- a/src/Str/MB/Casing.php
+++ b/src/Str/MB/Casing.php
@@ -27,7 +27,7 @@
* transformation operations with support for Unicode-aware character processing.
* @since 1.0.0
*/
-final class Casing extends NativeRuntime {
+final readonly class Casing extends NativeRuntime {
/**
* ### Perform case folding on a string
diff --git a/src/Str/MB/Configuration.php b/src/Str/MB/Configuration.php
index f864a4c..900e7d2 100644
--- a/src/Str/MB/Configuration.php
+++ b/src/Str/MB/Configuration.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=8.1
+ * @php-version >=8.2
* @package Runtime
*/
@@ -29,7 +29,7 @@
* runtime configuration while preserving native PHP behavior, encoding support, and runtime performance.
* @since 1.0.0
*/
-final class Configuration extends NativeRuntime {
+final readonly class Configuration extends NativeRuntime {
/**
* ### Set/Get internal character encoding
diff --git a/src/Str/MB/Inspection.php b/src/Str/MB/Inspection.php
index 2aa2d45..d86d5aa 100644
--- a/src/Str/MB/Inspection.php
+++ b/src/Str/MB/Inspection.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=8.1
+ * @php-version >=8.2
* @package Runtime
*/
@@ -32,7 +32,7 @@
* operations without introducing domain logic, framework coupling, or additional abstraction overhead.
* @since 1.0.0
*/
-final class Inspection extends NativeRuntime {
+final readonly class Inspection extends NativeRuntime {
/**
* ### Get string length
diff --git a/src/Str/MB/Regex.php b/src/Str/MB/Regex.php
index 7479071..7c10990 100644
--- a/src/Str/MB/Regex.php
+++ b/src/Str/MB/Regex.php
@@ -34,7 +34,7 @@
* functions while preserving native runtime behavior.
* @since 1.0.0
*/
-final class Regex extends NativeRuntime {
+final readonly class Regex extends NativeRuntime {
/**
* ### Perform a regular expression match
diff --git a/src/Str/MB/Search.php b/src/Str/MB/Search.php
index a2af8db..b948e39 100644
--- a/src/Str/MB/Search.php
+++ b/src/Str/MB/Search.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=8.1
+ * @php-version >=8.2
* @package Runtime
*/
@@ -33,7 +33,7 @@
* or additional abstraction overhead.
* @since 1.0.0
*/
-final class Search extends NativeRuntime {
+final readonly class Search extends NativeRuntime {
/**
* ### Find the position of the first occurrence for a substring in a string
diff --git a/src/Str/MB/Transform.php b/src/Str/MB/Transform.php
index 9cdadd9..100575b 100644
--- a/src/Str/MB/Transform.php
+++ b/src/Str/MB/Transform.php
@@ -40,7 +40,7 @@
* transformation operations with support for Unicode-aware character processing.
* @since 1.0.0
*/
-final class Transform extends NativeRuntime {
+final readonly class Transform extends NativeRuntime {
/**
* ### Pad a multibyte string to a certain length with another multibyte string
diff --git a/src/Str/SB/Access.php b/src/Str/SB/Access.php
index 2e36035..bda6c54 100644
--- a/src/Str/SB/Access.php
+++ b/src/Str/SB/Access.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.4
+ * @php-version >=8.2
* @package Runtime
*/
@@ -34,7 +34,7 @@
* operations without introducing domain logic, framework coupling, or additional abstraction overhead.
* @since 1.0.0
*/
-final class Access extends NativeRuntime {
+final readonly class Access extends NativeRuntime {
/**
* ### Get part of string
diff --git a/src/Str/SB/Casing.php b/src/Str/SB/Casing.php
index 6fba48a..efc45eb 100644
--- a/src/Str/SB/Casing.php
+++ b/src/Str/SB/Casing.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.4
+ * @php-version >=8.2
* @package Runtime
*/
@@ -31,7 +31,7 @@
* transformation operations without introducing domain logic, framework coupling, or additional abstraction overhead.
* @since 1.0.0
*/
-final class Casing extends NativeRuntime {
+final readonly class Casing extends NativeRuntime {
/**
* ### Make string lowercase
diff --git a/src/Str/SB/Compare.php b/src/Str/SB/Compare.php
index e60663a..f4bd068 100644
--- a/src/Str/SB/Compare.php
+++ b/src/Str/SB/Compare.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=8.0
+ * @php-version >=8.2
* @package Runtime
*/
@@ -30,7 +30,7 @@
* comparison operations without introducing domain logic, framework coupling, or additional abstraction overhead.
* @since 1.0.0
*/
-final class Compare extends NativeRuntime {
+final readonly class Compare extends NativeRuntime {
/**
* ### String comparison
diff --git a/src/Str/SB/Delimiter.php b/src/Str/SB/Delimiter.php
index 16418fa..4034406 100644
--- a/src/Str/SB/Delimiter.php
+++ b/src/Str/SB/Delimiter.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.4
+ * @php-version >=8.2
* @package Runtime
*/
@@ -30,7 +30,7 @@
* concatenation operations without introducing domain logic, framework coupling, or additional abstraction overhead.
* @since 1.0.0
*/
-final class Delimiter extends NativeRuntime {
+final readonly class Delimiter extends NativeRuntime {
/**
* ### Join array elements with a string
diff --git a/src/Str/SB/Escape.php b/src/Str/SB/Escape.php
index 95d0870..d741ab7 100644
--- a/src/Str/SB/Escape.php
+++ b/src/Str/SB/Escape.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.4
+ * @php-version >=8.2
* @package Runtime
*/
@@ -32,7 +32,7 @@
* operations without introducing domain logic, framework coupling, or additional abstraction overhead.
* @since 1.0.0
*/
-final class Escape extends NativeRuntime {
+final readonly class Escape extends NativeRuntime {
/**
* ### Quote string with slashes
diff --git a/src/Str/SB/Inspection.php b/src/Str/SB/Inspection.php
index 8acdedc..5c2ca76 100644
--- a/src/Str/SB/Inspection.php
+++ b/src/Str/SB/Inspection.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.4
+ * @php-version >=8.2
* @package Runtime
*/
@@ -28,7 +28,7 @@
* inspection operations without introducing domain logic, framework coupling, or additional abstraction overhead.
* @since 1.0.0
*/
-final class Inspection extends NativeRuntime {
+final readonly class Inspection extends NativeRuntime {
/**
* ### Get string length
diff --git a/src/Str/SB/Regex.php b/src/Str/SB/Regex.php
index 31f3f52..0c7e837 100644
--- a/src/Str/SB/Regex.php
+++ b/src/Str/SB/Regex.php
@@ -30,7 +30,7 @@
* regular expression engine while preserving native runtime behavior.
* @since 1.0.0
*/
-final class Regex extends NativeRuntime {
+final readonly class Regex extends NativeRuntime {
/**
* ### Perform a regular expression match
diff --git a/src/Str/SB/Replace.php b/src/Str/SB/Replace.php
index a3126ec..3f1393c 100644
--- a/src/Str/SB/Replace.php
+++ b/src/Str/SB/Replace.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.0
+ * @php-version >=8.2
* @package Runtime
*/
@@ -30,7 +30,7 @@
* operations without introducing domain logic, framework coupling, or additional abstraction overhead.
* @since 1.0.0
*/
-final class Replace extends NativeRuntime {
+final readonly class Replace extends NativeRuntime {
/**
* ### Replace all occurrences of the search string with the replacement string
diff --git a/src/Str/SB/Search.php b/src/Str/SB/Search.php
index 31b1999..455cd9b 100644
--- a/src/Str/SB/Search.php
+++ b/src/Str/SB/Search.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=8.0
+ * @php-version >=8.2
* @package Runtime
*/
@@ -35,7 +35,7 @@
* operations without introducing domain logic, framework coupling, or additional abstraction overhead.
* @since 1.0.0
*/
-final class Search extends NativeRuntime {
+final readonly class Search extends NativeRuntime {
/**
* ### Checks if a string contains a value
diff --git a/src/Str/SB/Transform.php b/src/Str/SB/Transform.php
index 24b429e..9983f89 100644
--- a/src/Str/SB/Transform.php
+++ b/src/Str/SB/Transform.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=8.1
+ * @php-version >=8.2
* @package Runtime
*/
@@ -44,7 +44,7 @@
* transformation operations without introducing domain logic, framework coupling, or additional abstraction overhead.
* @since 1.0.0
*/
-final class Transform extends NativeRuntime {
+final readonly class Transform extends NativeRuntime {
/**
* ### Repeat a string
diff --git a/src/System/Clock.php b/src/System/Clock.php
index ed5ce4f..24f110a 100644
--- a/src/System/Clock.php
+++ b/src/System/Clock.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.4
+ * @php-version >=8.2
* @package Runtime
*/
@@ -29,7 +29,7 @@
* without altering native runtime semantics.
* @since 1.0.0
*/
-final class Clock extends NativeRuntime {
+final readonly class Clock extends NativeRuntime {
/**
* ### Return current Unix timestamp
diff --git a/src/System/Configuration.php b/src/System/Configuration.php
index 37786e8..0a78437 100644
--- a/src/System/Configuration.php
+++ b/src/System/Configuration.php
@@ -38,7 +38,7 @@
* altering the underlying PHP configuration system.
* @since 1.0.0
*/
-final class Configuration extends NativeRuntime {
+final readonly class Configuration extends NativeRuntime {
/**
* ### Retrieve a path to the loaded php.ini file
diff --git a/src/System/Environment.php b/src/System/Environment.php
index 7a7cd57..9c5d4b2 100644
--- a/src/System/Environment.php
+++ b/src/System/Environment.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=8.0
+ * @php-version >=8.2
* @package Runtime
*/
@@ -30,7 +30,7 @@
* operating system or process environment semantics.
* @since 1.0.0
*/
-final class Environment extends NativeRuntime {
+final readonly class Environment extends NativeRuntime {
/**
* ### Gets the value of a single or all the environment variables
diff --git a/src/System/Extension.php b/src/System/Extension.php
index 1d43fe2..4879031 100644
--- a/src/System/Extension.php
+++ b/src/System/Extension.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.4
+ * @php-version >=8.2
* @package Runtime
*/
@@ -30,7 +30,7 @@
* altering extension loading or execution semantics.
* @since 1.0.0
*/
-final class Extension extends NativeRuntime {
+final readonly class Extension extends NativeRuntime {
/**
* ### Check if a PHP extension is loaded
diff --git a/src/System/FileSystem.php b/src/System/FileSystem.php
index 43c321e..5cefbb9 100644
--- a/src/System/FileSystem.php
+++ b/src/System/FileSystem.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.4
+ * @php-version >=8.2
* @package Runtime
*/
@@ -28,7 +28,7 @@
* native runtime behavior.
* @since 1.0.0
*/
-final class FileSystem extends NativeRuntime {
+final readonly class FileSystem extends NativeRuntime {
/**
* ### Array with the names of included or required files
diff --git a/src/System/Memory.php b/src/System/Memory.php
index 6f9e167..cbb027a 100644
--- a/src/System/Memory.php
+++ b/src/System/Memory.php
@@ -30,7 +30,7 @@
* altering native runtime behavior.
* @since 1.0.0
*/
-final class Memory extends NativeRuntime {
+final readonly class Memory extends NativeRuntime {
/**
* ### Gets the amount of memory allocated to PHP
diff --git a/src/System/Platform.php b/src/System/Platform.php
index fab1450..d5570c5 100644
--- a/src/System/Platform.php
+++ b/src/System/Platform.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.4
+ * @php-version >=8.2
* @package Runtime
*/
@@ -28,7 +28,7 @@
* operating system detection semantics.
* @since 1.0.0
*/
-final class Platform extends NativeRuntime {
+final readonly class Platform extends NativeRuntime {
/**
* ### Gets OS information
diff --git a/src/System/Process.php b/src/System/Process.php
index 6a4d88b..6a5e828 100644
--- a/src/System/Process.php
+++ b/src/System/Process.php
@@ -28,7 +28,7 @@
* operating system process semantics.
* @since 1.0.0
*/
-final class Process extends NativeRuntime {
+final readonly class Process extends NativeRuntime {
/**
* ### Gets PHP's process ID
diff --git a/src/System/Runtime.php b/src/System/Runtime.php
index e1d5e34..6bfdeb8 100644
--- a/src/System/Runtime.php
+++ b/src/System/Runtime.php
@@ -32,7 +32,7 @@
* runtime detection semantics.
* @since 1.0.0
*/
-final class Runtime extends NativeRuntime {
+final readonly class Runtime extends NativeRuntime {
/**
* ### Type of interface between web server and PHP
diff --git a/src/System/Time.php b/src/System/Time.php
index d004851..aff7577 100644
--- a/src/System/Time.php
+++ b/src/System/Time.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.4
+ * @php-version >=8.2
* @package Runtime
*/
@@ -32,7 +32,7 @@
* altering native runtime behavior.
* @since 1.0.0
*/
-final class Time extends NativeRuntime {
+final readonly class Time extends NativeRuntime {
/**
* ### Delay execution
diff --git a/src/Tick.php b/src/Tick.php
index a6dc730..2f10ae7 100644
--- a/src/Tick.php
+++ b/src/Tick.php
@@ -7,7 +7,7 @@
* @copyright 2026-present The FireHub Project - All rights reserved
* @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0
*
- * @php-version >=7.4
+ * @php-version >=8.2
* @package Runtime
*/
@@ -29,7 +29,7 @@
* semantics.
* @since 1.0.0
*/
-final class Tick extends NativeRuntime {
+final readonly class Tick extends NativeRuntime {
/**
* ### Register a function for execution on each tick