← Back to all sparks
F

Fail2Ban

INFRA · APIS
Velocity2.5

Intrusion prevention tool that bans hosts causing repeated auth failures

Fail2Ban finally ships 1.1.1 after 14 months in beta, with a botched deb package on the way out the door

intrusion-preventionlog-monitoringsystemdpackagingrelease-cadenceopen-source
Current state
Fail2Ban watches log files for authentication failures and bans the offending addresses through the local firewall. It remains a default component of Linux server hardening, and its release cadence has never matched that prominence — six releases in the eight years before this one. The 1.1.1 final has now landed, closing a beta that had sat unfinished since June 2025, and it installs a systemd-managed socket rather than relying solely on the daemon's own startup.
Where it's heading
The pattern is long silences broken by releases that mostly absorb external change — Python 3.12 and 3.13 compatibility in 1.1.0, a Dovecot filter regression in 1.0.2 — with the substance deferred to a ChangeLog the feed does not carry. What is different this time is the contributor list, which runs to a dozen first-time contributors, suggesting the delay was throughput rather than abandonment. The release also had to be re-cut: the first Debian package shipped with wrong paths from a missing systemd-dev build dependency and was pulled and replaced.
Prediction
Given the beta-to-final gap just closed and the volume of first-time contributors merged into it, the useful thing to watch is whether the next release arrives in months rather than years; the entries do not indicate what it would contain.

Recent moves

  1. 3d ago

    1.1.1 final lands with systemd socket activation

    Ends the beta that had been outstanding since June 2025 and adds a systemd-managed fail2ban.socket to the Debian packaging. The release notes point at the ChangeLog rather than listing changes, and record that the first deb build was withdrawn for wrong paths and replaced — a rough landing for a release this overdue.

    View source ↗
  2. 1y ago

    1.1.1 beta, superseded 14 months later by the final

    A contentless interim beta that turned out to be the project's only visible activity for over a year. The 1.1.1 final has now superseded it.

    View source ↗
  3. 2y ago

    1.1.0 restores Python 3.12 and 3.13 compatibility

    A major version whose stated primary target was Python 3.12 and 3.13 compatibility — necessary work for a tool shipped in distributions that move Python forward on their own schedule. It is the last release before the long beta gap.

    View source ↗
  4. 3y ago

    1.0.2 fixes a Dovecot filter regression

    Issued to fix a single Dovecot filter regression, with everything else deferred to the ChangeLog. A targeted patch of the kind that punctuates this project's quiet periods.

    View source ↗
  5. 3y ago

    1.0.1 rolls up filter and action updates

    Described only as performance, stability, filter and action updates, with no specifics in the feed. Typical of the release-announcement style this project uses.

    View source ↗
  6. 5y ago

    0.11.2 stability and filter updates

    A stability and filter update on the 0.11 line, published the same day as the final 0.10 release. Detail again lives in the ChangeLog rather than the announcement.

    View source ↗