Features
- Add Ingress management: declare sites as ingresses that Nginx UI renders, applies and reconciles, with ACME certificate issuance, drift repair and backend health checks, plus an Ingress page that locks the sites and upstream groups it manages by @0xJacky (6791e7d4, 979f2261, b6141436, 5ba95f8d, d1c5d9ea)
- Add MFA enforcement and credential recovery by @akinoccc (db15caf4)
- Support Tencent Cloud DNS resolution lines by @akinoccc (c86fba0b)
- Make the sidebar logo navigate back to the home page by @EFX1SZH (8c5d87a1)
Bug Fixes
- Harden config file validation and privileged authorization by @0xJacky (b6d5d39b)
- Support the Streamable HTTP transport for MCP by @akinoccc (57c82142)
- Trim whitespace from login credentials and clarify the MFA enrollment status across locales by @akinoccc (84ababcf, d27449ec)
- Refuse deleting or renaming a site while it is in maintenance by @jayhemnani9910 (7db58ea1)
- Keep inline comments when a config is rebuilt by @jayhemnani9910 (320f1f08)
- Keep the certificate linked when a site or stream is renamed by @jayhemnani9910 (7fa22d48)
- Export PFX files that OpenSSL 3 can read by @jayhemnani9910 (d5e69698)
- Keep extra locations when staging a pending TLS server, and save locations added to a server that had none by @RyoKusnadi (ffd565f5, 52cf302d)
- Obtain a new certificate instead of renewing when its domains changed by @0xJacky (38fd0a78)
- Keep the server and upstream editor tabs bound to the loaded config by @0xJacky (33c50304)
- Keep remote-deploy sites and streams out of the local tab by @0xJacky (d9474814)
- Dim the text of disabled selects by @0xJacky (a9a1d4cb)