Hush Line in 2025
This article summarizes the Hush Line codebase history from January 5, 2025 through December 31, 2025, based on git log --all in the main repository. This set intentionally stops at the end of 2025; 2026 will be covered separately later.
By the Numbers
- 719 commits
- 6 authors
- 24,020 lines added
- 8,902 lines removed
Compared with 2024, 2025 was a more focused year. The first half delivered substantial application and schema changes, while the second half was quieter and more maintenance-oriented.
Q1: Message Model And Encryption Overhaul
The first quarter of 2025 made some of the deepest product changes in the repo. Models, routes, and settings modules were split into more focused files, which made room for larger behavior changes without leaving everything in monolithic modules.
This was also the quarter when Hush Line moved heavily into custom message fields. The history shows the system replacing a single message content field with field definitions and values, client-side encryption for those fields, support for encrypted full email bodies, and tests that lock in multiple notification and encryption modes. Inbox status filters, counts, responsive tabs, onion-banner work, and FIELDS_MODE gating all landed in the same broad window.
Q2: Admin Controls And PWA Polish
The second quarter focused on operational polish and account governance. Healthchecks reduced startup noise, the notifications route was normalized, SMTP forwarding behavior was cleaned up, and personal-server Docker Compose paths were improved for development and simulation.
Admin controls expanded too. The first user could become an admin, registration settings became configurable in the app and through CLI commands, and registration-code behavior moved into organization settings. This same period also included funding-manifest work, PWA and manifest updates, splash screens, footer and mobile polish, and several dependency updates.
Q3: Quiet Maintenance
The third quarter was small by comparison, but still meaningful. The standout security-facing change was Clear-Site-Data support on logout handlers, which improved session cleanup on sign-out.
Outside of that, the quarter mostly shows version bumps and a focused iOS footer fix. It reads like a maintenance window rather than a feature-build period.
Q4: Documentation, Validation, And Interface Touch-Ups
The final quarter stayed relatively quiet, but it tightened important edges. The repo revised SECURITY.md for clarity, refreshed README copy, improved alias validation, and used Unidecode for directory sort keys.
There were also small but visible product refinements, including "powered by" logic changes, icon and dark-mode polish, and time-based UI shadow work. The year closed with a mix of documentation cleanup, validation improvements, and selective UI detail work.