Skip to content

Releases: skyyware/stage

Stage 0.1.4

Choose a tag to compare

@skyyware skyyware released this 03 Oct 13:48

Stage now accepts explicitly constructed HTTP ideas beside ordinary routes. An idea implements Stage\Http\Idea and returns its routes; the host supplies its dependencies. This provides a small contract for reusable Composer libraries.

composer require skyyware/stage:0.1.4

Duplicate method/path shapes are rejected across ideas and regular routes. Literal priority, parameters, HEAD, OPTIONS, and method errors retain their existing behavior. There is no automatic discovery, runtime installation, global hook registry, or new production dependency. Existing applications need no migration.

The new idea guide includes a runnable HTTP example, Composer metadata, ownership boundaries, and maintainer information for people and agents.

Validation: strict Composer metadata, PHPStan, 38 PHPUnit tests with 182 assertions, and Deptrac pass on PHP 8.4.26. The suite includes the existing real multipart and streamed-download checks. Installed ideas are trusted PHP code; review them before installation. This contract covers HTTP routes; CMS types/themes and plain PHP services retain their own contracts.

Stage 0.1.3

Choose a tag to compare

@skyyware skyyware released this 03 Oct 09:57

Stage now validates native PHP uploads and streams file attachments without buffering the payload. Existing buffered responses and route return types remain compatible.

composer require skyyware/stage:0.1.3
  • UploadedFile::fromPhp checks one native upload, actual byte length, metadata, and PHP upload errors. It returns the temporary path, client basename, and byte size.
  • FileResponse sends an attachment in 64 KiB chunks, with UTF-8 filenames, computed length, HEAD support, and application headers.
  • The documentation includes a runnable file-transfer guide and Composer-first application setup.

Validation on PHP 8.4.26: Composer metadata, PHPStan, 36 PHPUnit tests with 176 assertions, and Deptrac pass. Real HTTP tests transfer 64 MiB under a 16 MiB PHP memory limit. A separate boundary check transfers 250,000,000 bytes, verifies the download hash, and rejects a 250,000,001-byte upload with 413. The upload reported a 2 MiB PHP heap peak; this is not a total-process-memory or load-capacity measurement.

No new production dependencies or consumer migration. PHP/server multipart limits remain separate from the raw request-body limit. Applications own access, storage, quotas, and retention. Keep files unchanged during delivery and configure output buffering/compression for streaming. Range, resume, and arbitrary response streams are not implemented.

Stage 0.1.2

Choose a tag to compare

@skyyware skyyware released this 01 Oct 14:39

Stage's public documentation now points to the source, companion packages, and a manual release workflow. Contributors use the same local checks whether they work with an agent or write code themselves.

composer require skyyware/stage:^0.1.2

Requires PHP 8.4 or later within PHP 8 and ext-json. No production Composer package dependencies. No routing, public API, or runtime behavior changes from 0.1.1.

Validation: Composer metadata, PHPStan, 26 tests with 63 assertions, and dependency-boundary checks passed locally on PHP 8.4.26. Repository automation remains disabled.

This remains an early 0.x API. Worker lifecycle, streaming, and production capacity are outside the verified scope. See README.md, CONTRIBUTING.md, and docs/releases.md.

Distribution verified: a fresh Composer home and cache installed the exact version from Packagist without authentication, VCS overrides, local repositories, plugins, or development dependencies. The installed package reference matched the release tag and its executable example passed.

Stage 0.1.1

Choose a tag to compare

@skyyware skyyware released this 28 Sep 19:31

Parameter routes now use a path-depth and fixed-prefix index, so unrelated routes are skipped during dispatch. Literal priority, registration order, method handling, and parameter validation remain unchanged.

The release includes a repeatable routing benchmark and regression tests for overlapping prefixes and encoded paths. There are no public API or dependency changes.

Validation: 26 tests, 63 assertions, PHPStan, and dependency checks; CI passes on PHP 8.4 and 8.5.

Stage 0.1.0

Choose a tag to compare

@skyyware skyyware released this 28 Sep 15:59

Stage 0.1.0 is the first public MIT release of the PHP framework.

The core provides immutable HTTP messages, literal and named-parameter routes,
HEAD and OPTIONS handling, bounded request bodies, validated response headers,
and explicit caller permissions. Feature examples show typed operations and
checked dependency boundaries. There are no production Composer dependencies.

Install in an existing Composer project:

composer require skyyware/stage:^0.1

PHP 8.4 or 8.5 is required. Validation passed with 24 tests, 53 assertions,
PHPStan at maximum level, and dependency checks on both PHP versions.

This is an early 0.x API. Persistence, authentication providers, queues,
streaming, and persistent-worker lifecycle are application responsibilities.
Performance under load has not been established.

Read the README, HTTP reference, agent guide, and contribution instructions.
Issues and pull requests are open to people and agents.