diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5ac1b82..080063c 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.3](https://github.com/The-FireHub-Project/Runtime/compare/v0.3.2...v0.3.3)] – 2026-10-12
+
+### Added
+* Improve Random class maximum value handling for consistency and clarity by @dieselxxx
+
## [[v0.3.2](https://github.com/The-FireHub-Project/Runtime/compare/v0.3.1...v0.3.2)] – 2026-09-29
### Added
diff --git a/README.md b/README.md
index 0487b2b..7e3f114 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 4c70af6..2164e7d 100644
--- a/src/Arr/Access.php
+++ b/src/Arr/Access.php
@@ -377,7 +377,7 @@ public static function random (array $array, int $number = 1):int|string|array {
}
/** @var ($number is int<2, max> ? list : TKey) */
- return array_rand($array, $number);
+ return array_rand($array, $number); // @phpstan-ignore varTag.type
}
diff --git a/src/Random.php b/src/Random.php
index 504930d..eb70245 100644
--- a/src/Random.php
+++ b/src/Random.php
@@ -46,6 +46,7 @@
*
* @param null|non-negative-int $max [optional]
* Optional highest value to be returned.
+ * Defaults to max value supported by the generator.
*
*
* @throws \FireHub\Runtime\Exception\RandomNumberBelowMinimumException If $min is less than 0.
@@ -66,7 +67,11 @@ public static function number (int $min = 0, ?int $max = null):int {
]
);
- if ($max !== null && $max < $min)
+ $maximum = mt_getrandmax();
+
+ $max ??= $maximum;
+
+ if ($max < $min)
throw new RandomMaximumBelowMinimumException(
'The maximum value must be greater than or equal to the minimum value.',
[
@@ -75,7 +80,7 @@ public static function number (int $min = 0, ?int $max = null):int {
]
);
- if ($max !== null && $max > $maximum = mt_getrandmax())
+ if ($max > $maximum)
throw new RandomNumberAboveGeneratorMaximumException(
'The maximum value must be less than or equal to the maximum value supported by the generator.',
[
@@ -84,7 +89,7 @@ public static function number (int $min = 0, ?int $max = null):int {
]
);
- return mt_rand($min, $max ?? ($maximum ?? 0));
+ return mt_rand($min, $max);
}