v0.25.3
This commit is contained in:
1 parent
174389e5b1
commit
e6604e41fc
73 files changed
+1240
-201
No files matched your search
@@ -1,9 +1,9 @@
|
||||
# RustProxy 0.25.2
|
||||
# RustProxy 0.25.3
|
||||
|
||||
Independent Rust reverse proxy and static Web Server with a dashboard, SQLite configuration,
|
||||
streaming HTTP/TLS/WebSocket forwarding, raw TCP/UDP stream hosts, IP-bound vhosts and backend pools.
|
||||
|
||||
**0.25.2 release source.**
|
||||
**0.25.3 release source.**
|
||||
|
||||
## Layer-4 streams
|
||||
|
||||
@@ -11,13 +11,14 @@ Raw TCP/UDP forwarding has its own **Streams** page in the primary navigation, a
|
||||
|
||||
Named HTTP/HTTPS listener bind addresses use the same chip-style editor as vhost hostnames, including multi-address listeners.
|
||||
|
||||
## What changed in 0.25.2
|
||||
## What changed in 0.25.3
|
||||
|
||||
- Create password-encrypted full backups without stopping RustProxy. SQLite is captured with a consistent snapshot and durable files are copied into private staging before the encrypted archive is written; restore remains offline and atomic.
|
||||
- Preserve safe internal relative symlinks across backup/restore, including Certbot `live/` -> `archive/` certificate links. Absolute, escaping and dangling symlinks are rejected instead of being followed.
|
||||
- Recover restored/resumed authenticated dashboard tabs from a transient invalid-origin state with a bounded same-origin reload. Server-side Host, Origin, request-marker and CSRF checks remain strict.
|
||||
- Add per-vhost HTTP method policy with explicit allow-list or block-list modes. Method denials return `405 Method Not Allowed`; allow-list mode also emits `Allow`.
|
||||
- Extend Custom locations with the same method controls plus reusable ACL profile, inline IP ACL and country allow/block policy. Host and location policies compose additively and are enforced before origin connection.
|
||||
- Generate a 64-character SHA-256 request ID for each exchange, forward it to the origin as `X-Request-ID`, reuse it in diagnostics and persist it in access logging.
|
||||
- Retain up to 512 manual-configuration revisions in SQLite schema 8 and expose an authenticated revision-history modal with month/day navigation and per-revision change preview.
|
||||
|
||||
See [Web Server](docs/WEB_SERVER.md) for configuration and security details, [documentation index](docs/README.md) for the current documentation set, and [0.25.2 release audit](docs/V0.25.2_AUDIT.md) for point-by-point release status. Open follow-up work is tracked separately in [TODO](docs/TODO.md).
|
||||
See [host access](docs/VHOST_ACCESS.md), [Custom locations](docs/CUSTOM_LOCATIONS.md), [documentation index](docs/README.md) and the [0.25.3 release audit](docs/V0.25.3_AUDIT.md). Open follow-up work is tracked separately in [TODO](docs/TODO.md).
|
||||
|
||||
## Documentation
|
||||
|
||||
@@ -25,7 +26,8 @@ See [Web Server](docs/WEB_SERVER.md) for configuration and security details, [do
|
||||
- [docs/README.md](docs/README.md) - canonical documentation index.
|
||||
- [docs/WEB_SERVER.md](docs/WEB_SERVER.md) - Web Server configuration, HTTP behavior and filesystem security.
|
||||
- [docs/PHP_FPM.md](docs/PHP_FPM.md) - implemented FastCGI/PHP-FPM integration, safety model and runtime requirements.
|
||||
- [docs/V0.25.2_AUDIT.md](docs/V0.25.2_AUDIT.md) - 0.25.2 live-backup/symlink/origin recovery release audit and compiler gate.
|
||||
- [docs/V0.25.3_AUDIT.md](docs/V0.25.3_AUDIT.md) - 0.25.3 method-policy/location-ACL/request-ID/config-history release audit and compiler gate.
|
||||
- [docs/V0.25.2_AUDIT.md](docs/V0.25.2_AUDIT.md) - historical 0.25.2 live-backup/symlink/origin recovery audit.
|
||||
- [docs/V0.25.0_AUDIT.md](docs/V0.25.0_AUDIT.md) - Web Server foundation specification audit.
|
||||
- [docs/TEST_REPORT.md](docs/TEST_REPORT.md) - verification results and environment limitations.
|
||||
- [docs/TODO.md](docs/TODO.md) - unresolved follow-up only.
|
||||
@@ -91,7 +93,7 @@ CARGO_BUILD_JOBS=1 CARGO_PROFILE_RELEASE_LTO=false \
|
||||
CARGO_PROFILE_RELEASE_CODEGEN_UNITS=8 cargo build --release --locked
|
||||
```
|
||||
|
||||
The 0.25.2 source archive preserves the resolved `Cargo.lock` supplied with the source tree and
|
||||
The 0.25.3 source archive preserves the resolved `Cargo.lock` supplied with the source tree and
|
||||
updates only this package's own version entry. This packaging environment has no Cargo, so the
|
||||
dependency graph was not re-resolved here. On the compiler-enabled deployment host, run the
|
||||
locked check/test/release gates below and retain the verified lockfile. `dev.sh` can generate a
|
||||
@@ -308,12 +310,13 @@ language JSON files survive the update; shipped files replace their old names,
|
||||
whose previous bytes remain in the backup. Unknown custom source edits are not
|
||||
merged. Do not overlay individual source files onto an old tree.
|
||||
|
||||
RustProxy 0.25.2 keeps the existing SQLite schema version 7. Web Services and vhost/location
|
||||
source selection are stored in the normal revisioned configuration document, so no separate
|
||||
database migration is required; omitted source fields still default to Reverse Proxy. Once a
|
||||
0.25.2 configuration containing the new fields is saved, an older binary may reject unknown
|
||||
configuration fields. Roll back using the pre-upgrade data backup as well as the old source,
|
||||
not just the binary.
|
||||
RustProxy 0.25.3 upgrades SQLite to schema version 8 by adding retained manual-configuration
|
||||
history. Existing schema-7 data is migrated automatically; the current configuration is seeded
|
||||
as the first retained history row and future successful saves keep the newest 512 revisions.
|
||||
Vhost/location method and access-policy fields are additive and default to disabled/inherited
|
||||
behavior when omitted. Once a 0.25.3 configuration containing the new fields is saved, an older
|
||||
binary may reject unknown configuration fields. Roll back using the pre-upgrade data backup as
|
||||
well as the old source, not just the binary.
|
||||
|
||||
## Documentation and checks
|
||||
|
||||
@@ -329,7 +332,7 @@ python3 scripts/release_smoke.py
|
||||
# Runs those checks first, then the Rust suite when Cargo is available:
|
||||
bash dev.sh test
|
||||
# Source-only package, with no Git checkout required:
|
||||
python3 make_zip.py /tmp/RustProxy-0.25.2.zip
|
||||
python3 make_zip.py /tmp/RustProxy-0.25.3.zip
|
||||
```
|
||||
|
||||
## New management and test-origin guide
|
||||
|
||||
Reference in new issue
Block a user