❌

Normale weergave

Tim Retout: In memoriam commit-email.py

16 Juni 2026 om 00:04

I have proposed the deletion of an obsolete script, but it makes me feel complicated feelings so I’m going to try and express those. This particular script was written in 2014, but the concept goes back much further – before git was invented.

When I started university in 2003, I seem to remember the computing society used to run tutorials for first-year students on how to use Apache Subversion for your group project – a vast upgrade on CVS (or worse, no version control at all). Back then, the idea of viewing your changesets in a web browser was relatively new – while it was possible to look at an SVN repository through a web UI, features were limited unless you installed something compicated like Trac.

Data flow when distributing commits via a mailing list Figure 1: Data flow when distributing commits via a mailing list

Perhaps because reading email on your desktop computer (I don’t think I could afford an IBM ThinkPad?) was the only vaguely real-time notification system available at the time (except I guess SMS, which cost 10p per text), a common pattern seemed to be to use a post-commit hook to send every single commit to a mailing list, named something like β€˜foo-commits’. Indeed, for a long time Fedora had an scm-commits list which appears to be a topic of recent discussion.

I can’t really explain why people wanted to have every commit sent to a mailing list except as a way of getting notified of activity – I can’t believe people would import raw patches from those lists, ala LKML, rather than run actual version control commands to fetch the new source directly. Maybe you’d have to go back to NNTP for this.

I do like the vendor-neutrality of the β€œeverything-as-text” approach, building on the open ecosystem of SMTP. But I doubt we’d see a widespread resurgence of commit lists now – most code hosting must allow anyone to subscribe to email notifications, I assume, and I don’t see a huge benefit in a mailing list archive of commit messages.

In the case of seL4, I’m even more confused about why this script was committed in 2014, shortly after the kernel was put on GitHub. I can only assume it was imported from previous infrastructure. I do know that the implementation is quite Python 2 heavy, with the conversion between unicode and bytes featuring heavily. So rather than risk breaking its logic with patching, I think it’s time to β€œthank it for its service” and let go.

  •  

v1.7.4 - QR-Code Mobile Pairing, Files Sharing, All Mail View & Calendar Recurrence Editor

Door: rathlinus
15 Juni 2026 om 23:34

1.7.4 (2026-06-15)

Thank you for your donations:

One-time

  • Anonymous

Monthly

Features

  • Mail: New "All Mail" view across folders and accounts
  • Mail: Edit contact directly from the email viewer contact sidebar
  • Calendar: Recurrence editor, set-default calendar, and timezone-aware calendar queries
  • Calendar: Agenda plugin sidecar
  • Composer: Email display name support
  • Composer: Drag-and-drop recipient chips between To/CC/BCC fields, with the address shown in the drag preview
  • Composer: Avatars in recipient autocomplete suggestions, including directory users
  • Files: JMAP file/folder sharing in the Files app (#408)
  • Auth: QR-code SSO login and device pairing between webmail and the mobile app
  • Auth: Require re-authentication for device pairing and SSO
  • Accounts: Manage shared/group account settings from the Accounts page
  • Setup: Opt-in telemetry in the web setup wizard
  • Mail: Persist the email detail sidebar state

Fixes

  • Mail: Preserve line breaks in the generated text/plain alternative (#421)
  • Mail: Fix inconsistent threading of email messages in the inbox and folders
  • Mail: Stop draft emails from being marked as unread
  • Mail: Prevent wide email tables from rendering with rotated headers (#409)
  • Mail: Preserve the folder list when a mailbox refetch hits the concurrent-request limit
  • Mail: Correct dark-mode background-image inversion and height clipping in the email viewer
  • Calendar: Dedupe scheduling emails and use Stalwart-compatible calendar filters
  • Calendar: Redesign the custom recurrence editor to match the modal UI
  • Files: Don't send the connected-account key as the JMAP accountId when sharing files (#408)
  • Routing: Strip the build-time basePath from router.push redirects after login (#390)
  • Nav: Open recent contact emails at / instead of 404ing on /mail
  • Nav: Hide the Add App button when sidebarAppsEnabled is false
  • Settings: Move the "Plain Text Only" setting from Reading to Composing (#422)
  • Privacy: Make telemetry opt-in
  • UI: Fix the context menu being invisible on first right-click after page load
  • Admin: Remove the JMAP status from the admin dashboard
  • i18n: Add missing translation keys across 17 locales

  •  
❌