github jp1337/easywall v2.3.0

5 hours ago

Highlights

This release reworks the easywall web interface from the ground up. The hand-rolled CSS components have been replaced with DaisyUI 5.5 primitives, HTMX 2.0 powers a new generation of in-place interactions, and the visual palette has been redesigned for cohesion.

A new color concept

The previous orange-on-navy combination was complementary — striking, but visually noisy. The new "Aurora Operator" palette uses analogous cool tones throughout: deep slate-blue chrome with cyan-400 / teal-400 accents in dark mode, or white with cyan-600 / teal-600 in light mode. Status colors (emerald, amber, rose, sky) stay clearly distinct from the accent.

Live validation everywhere

Three editors now validate input as you type:

  • Custom rules (/custom) — nft --check runs server-side via POST /custom/validate, per-line syntax errors surface inline
  • Blacklist & whitelist (/blacklist, /whitelist) — net.ParseIP / net.ParseCIDR validate every line via the shared POST /iplist/validate
  • All editors fall back to a soft notice when the core daemon is offline

Auto-save and toast feedback

The Options, Network, and System pages no longer require clicking Save. Toggle a switch or change a numeric input and the form posts in the background; a small toast in the bottom-right confirms ("Saved" / "Save failed"). The Save button is preserved for graceful degradation when JavaScript is disabled.

Audit log filter

The audit log page now has a search box that filters rows live (case-insensitive substring across action / rule type / detail / user) via GET /log/filter.

Component overhaul

All 15 templates were migrated to DaisyUI primitives — cards, buttons, alerts, fieldsets, toggles, tables, badges, tabs, steps. The custom CSS in web/src/app.css now contains only layout-specific chrome (sidebar, topbar, auth pages, status dots, audit log action tags).

Fixed

  • Custom rules in state.Current.Custom are now actually applied to the nftables kernel after the typed-rules flush

Compatibility

No breaking changes. Configuration files, IPC protocol, and on-disk state are compatible with v2.2.0.

Full changelog

See CHANGELOG.md for the complete list, or browse the v2.2.0…v2.3.0 diff.

🤖 Generated with Claude Code

Don't miss a new easywall release

NewReleases is sending notifications on new releases.