Skip to content

Tags: oxphp/oxphp

Tags

v0.10.0

Toggle v0.10.0's commit message
Release 0.10.0

v0.9.0

Toggle v0.9.0's commit message
Release 0.9.0

v0.8.0

Toggle v0.8.0's commit message
Release v0.8.0

HTTP Range requests for static files (strong ETags, 206/416/If-Range), configurable HTTP/2 connection limits with DoS hardening (Rapid Reset, HPACK-bomb, window-stall, PING keepalive), and a Framework static-miss fallback to the front controller. Breaking: worker mode is now strictly static-or-worker (no per-request .php execution), and Framework-mode PATH_INFO/PHP_SELF follow CGI semantics. Also: server security headers no longer overwrite application headers, streamed responses are never compressed, and PHP_DENY_PATHS now covers SPA mode and directory-index resolution. See https://github.com/oxphp/oxphp/releases/tag/v0.8.0 for full notes.

v0.7.0

Toggle v0.7.0's commit message
Release v0.7.0

PHP-style CLI (serve / run / implicit run, --user privilege drop), X-Forwarded-Port, profiler decorator per-attribute args, APM span events, and decorator-cache crash fixes. Access-log remote_addr renamed to remote_ip. See https://github.com/oxphp/oxphp/releases/tag/v0.7.0 for full notes.

v0.6.0

Toggle v0.6.0's commit message
Release v0.6.0

Shared\* primitive redesign, cancelled-request status semantics,
exception class renames, Worker method renames, and async API rework.
See https://github.com/oxphp/oxphp/releases/tag/v0.6.0 for full notes.

v0.5.0

Toggle v0.5.0's commit message
Cut 0.5.0 release

Config:
  - Bump crate version 0.4.0 → 0.5.0 in Cargo.toml and Cargo.lock.
  - Bump latest oxphp_versions entry 0.4.0 → 0.5.0 in supported-versions.yml so move-aliases.sh routes the floating tags (latest, 0.5.0, php8.5) to 0.5.0-php8.5-alpine3.23.
  - Flip dev compose.yml default PHP_VERSION 8.4 → 8.5 to match the published default-PHP alias, and replace the stale "8.5 is currently broken" comment with a note that both 8.4 and 8.5 are supported via build.rs ABI selection.

Docs:
  - Promote CHANGELOG Unreleased section to 0.5.0 (2026-05-05) with a headline summarizing the canonical ENTRY_FILE / WORKER_MODE_ENABLED model retiring INDEX_FILE / WORKER_FILE, the new OxPHP\Server\Worker class for runtime introspection and Worker::scheduleExit() recycling, strict bool / STATIC_MAX_AGE env parsing, and the STATIC_MAX_AGE / STATIC_REVALIDATE rename. Add the 0.5.0 release link reference.
  - Bump Docker image pins ghcr.io/oxphp/oxphp:0.3.0 → :0.5.0 in README.md and 60 example files under docs/{en,ru,zh}/** (127 occurrences) — examples were skipped during the 0.4.0 cut and were two minors stale.

v0.4.0

Toggle v0.4.0's commit message
Bump latest aliases to 0.4.0 and default PHP to 8.5

Config:
  - Set oxphp_versions[0] to 0.4.0 and default_php to 8.5 in supported-versions.yml so move-aliases.sh routes the floating tags (latest, 0.4.0, php8.5) to 0.4.0-php8.5-alpine3.23.

v0.3.0

Toggle v0.3.0's commit message
Weak-link Rust FFI exports in bridge for bare PHP CLI dlopen

Fix:
  - Declare oxphp_shared_retain/release/is_alive and oxphp_profiler_flush_span_events/sample_hit with __attribute__((weak)). musl's dynamic linker does eager relocation on dlopen, so when /usr/local/etc/php/conf.d/extension.ini loads liboxphp_bridge.so into a bare `php` CLI (no oxphp Rust binary in the process to supply the symbols), non-weak references abort the load. Weak linkage leaves the refs as NULL instead.
  - Guard each call site with a NULL check: portbuf_ser_zval serializes SHARED zvals as null when the registry symbols are absent; portrd_deser_zval skips the balancing release; oxphp_prof_flush_buffer/oxphp_profiler_begin bail out before invoking the profiler sink; oxphp_shared_wrapper_new returns -1 up front. Under normal oxphp-server invocations all symbols resolve and behavior is unchanged.

Docs:
  - Inline rationale at each weak declaration — one anchor comment near the first oxphp_shared_retain forward decl explains musl eager relocation and the CLI-dlopen path; later declarations cross-reference it.

v0.2.0

Toggle v0.2.0's commit message
Bump version to 0.2.0 across Cargo.toml and docs

Docs:
  - Updated Docker image tag oxphp/oxphp:0.1.0 → 0.2.0 across all docs (en/ru/zh), READMEs, Dockerfile examples, and welcome page (67 files, mechanical find-replace).

Config:
  - Bumped Cargo.toml package version to 0.2.0.

v0.1.0

Toggle v0.1.0's commit message
Add CHANGELOG.md for v0.1.0 release