72 lines
4.0 KiB
Markdown
72 lines
4.0 KiB
Markdown
# Changelog
|
|
|
|
## 0.1.8 - 2026-11-08
|
|
|
|
- Port 8081 landing page reduced to the flat application logo centred on the page (no gradients, shadows, text
|
|
or status indicator).
|
|
|
|
## 0.1.7 - 2026-11-08
|
|
|
|
- Port 8081: `/` serves a small landing page with the application logo (self-contained, no scripts, CSP pinned by
|
|
hash, light and dark theme) instead of plain text; `/favicon.svg` added. `/healthz` and every other path unchanged.
|
|
|
|
## 0.1.6 - 2026-11-08
|
|
|
|
- Autodiscover: the panel page lists the last 30 requests as received (headers without credentials, login as typed,
|
|
request and response bodies) to debug phones that still ask for the server. A 200 response carrying an
|
|
Autodiscover error (e.g. unsupported schema) is labelled "invalid request" in Live instead of "ok".
|
|
|
|
## 0.1.5 - 2026-11-08
|
|
|
|
- Autodiscover: iOS sends the same password twice, with `user@domain` and with the bare `user`; IMAP servers that
|
|
only know the full address refused the second attempt and the phone treated the whole Autodiscover as failed
|
|
(manual "Server" field). When the bare name is the local part of the requested address, the full address is now
|
|
tried first, then the name as given.
|
|
|
|
## 0.1.4 - 2026-11-07
|
|
|
|
- Autodiscover: several domains, each optionally with its own ActiveSync URL - one line per domain, e.g.
|
|
`example.org https://mail.example.org/Microsoft-Server-ActiveSync`. Without a URL the global Public ActiveSync URL
|
|
applies; an empty list serves every domain. Diagnostics use the per-domain URL.
|
|
|
|
## 0.1.3 - 2026-11-07
|
|
|
|
- New panel page **Autodiscover**: list of served e-mail domains, public ActiveSync URL and per-domain diagnostics
|
|
(DNS A/AAAA/SRV, endpoint probes with certificate/redirect detection, ActiveSync URL, verdict, recommended DNS
|
|
records and nginx block). When a domain list is set, other domains are refused.
|
|
- Built-in minimal DNS client (no new dependencies). Responses carry an `X-ActivePush` marker so the diagnostics can
|
|
tell ActivePush from another application behind the proxy.
|
|
|
|
## 0.1.2 - 2026-11-07
|
|
|
|
- Autodiscover: every attempt (including the unauthenticated first request iOS sends, wrong host, backend errors)
|
|
is now logged (`active_push::autodiscover`) and shown in Live with the host it arrived on; a request without
|
|
`AcceptableResponseSchema` is treated as MobileSync. See docs/TROUBLESHOOTING.md ("iPhone asks for the server").
|
|
|
|
## 0.1.1 - 2026-11-05
|
|
|
|
- Fix: devices migrated from Z-Push looping on unknown collection ids (`collection ... not found`) - such ids are
|
|
now removed from the device with a FolderHierarchy Delete on the next FolderSync.
|
|
- Counting: devices are physical phones (DeviceId); mailboxes are counted separately; partnerships shown too.
|
|
Devices page groups all mailboxes of one phone in one row; Users page renamed to Mailboxes with
|
|
"same device as" column.
|
|
- Panel: English by default, spacing between cards, styled select dropdowns, non-overlapping live stream
|
|
columns, chart axis labels no longer clipped, database size on Overview.
|
|
- Port 8081: plain text on `/`, plain 404 elsewhere, `/healthz` also checks the database.
|
|
- Retention: hourly WAL checkpoint/truncate, incremental auto-vacuum, pruning of id maps and very old states,
|
|
inactive devices removed after 180 days by default, bounded in-memory caches, unknown command names
|
|
normalised.
|
|
- `probe`: `--device-id`, `--device-type`, `--model`.
|
|
- Documentation in English with screenshots (`docs/PANEL.md`), new `LOGS.md` and `TROUBLESHOOTING.md`.
|
|
|
|
## 0.1.0 - 2026-11-05
|
|
|
|
First release: complete rewrite of Z-Push (combined backend: IMAP/SMTP + CalDAV + CardDAV) in Rust.
|
|
|
|
- ActiveSync 2.5-14.1, every command used by iOS, Android and Outlook.
|
|
- Push (Ping, hanging Sync) with cheap change detection.
|
|
- Administration panel: overview, live traffic, devices (remote wipe, blocks, approval), mailboxes, backends with
|
|
connection tests, ActiveSync settings, policies, security, logs and audit.
|
|
- Login lockouts, access lists, audit, Prometheus.
|
|
- .deb package, sandboxed systemd unit, Z-Push config importer, `admin/config/device/probe` CLI.
|