Skip to content

Tags: oxphp/oxphp

Tags

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