Repository navigation
Releases: sdenike/textmate
Release list
TextMate 3.0.0-revived.28
2026-10-09 (v3.0.0-revived.28)
Bundle commands run on the system Ruby again, and the editor's bars and overlays
fit macOS 27.
Fixed
-
Many bundle commands could not run at all. They were written for Ruby 1.8 and
failed on the Ruby that ships with macOS: missing libraries (jcode,
parsedate,iconv), a missing locale that made Word Count count bytes
instead of characters, and the oldruby18interpreter name. These are now
covered by compatibility shims in Bundle Support, so the affected bundles
work without being rewritten. -
Apache, C and Objective-C each contained a command with a Ruby 1.8
when X:
clause, which is a syntax error today, so the whole command failed to load.
They are fixed in forks, and new installs pick them up. On an existing
install, open Settings → Bundles and use Revert to Default on each.
Changed
-
The file browser's header and action bars, the editor's status bar and the
HTML output status bar now have a flat top edge, so they meet a neighbouring
sidebar or pane without a gap at the corner. The bottom corners stay rounded. -
The zoom percentage that appears when you change the text size is now a
glass capsule, drawn in the system label colour, in place of the grey
rounded box with a shadowed white number.
Internal
- Build and tested against the macOS 27 SDK. Open-time performance is unchanged
from macOS 26 (a 1 MB source file parses in about 1.1 s in the headless
benchmark). - Added
bin/check_bundle_commands, a static checker for Ruby 1.8-era breakage
in installed bundles, andbin/bench/measure-open.sh. - Added a headless parse benchmark and a check that the scope-matching fast
path is doing its job. - The glass snapshot tests were written for a 1x display and a macOS 26
limitation that no longer exists; they now measure in points.
What's Changed
- Bundles: Ruby 2.6 compatibility by shims, not forks by @sdenike in #35
- bench: write the measure-open.sh that CLAUDE.md has been documenting by @sdenike in #36
- bundles: a static checker for Ruby-1.8-era command breakage by @sdenike in #37
- bundles: fix the two syntax errors in Bundle Support by @sdenike in #38
- bundles: fork Apache, C and Objective-C to fix colon-case syntax errors by @sdenike in #39
- perf: a headless parse benchmark, and a negative result worth keeping by @sdenike in #40
- perf: make the parse benchmark honest, and prove the fast-reject works by @sdenike in #41
- docs: a Gatekeeper block that looks like an editor bug and is not by @sdenike in #42
- Release v3.0.0-revived.28: flat-top glass bars, glass zoom HUD, macOS 27 build by @sdenike in #43
Full Changelog: v3.0.0-revived.27...v3.0.0-revived.28
TextMate 3.0.0-revived.27
2026-08-27 (v3.0.0-revived.27)
The mate command works again on Macs that once ran the original TextMate, and
Settings, About and the update window are rebuilt.
Fixed
-
The
matecommand could not be updated, and on a Mac that had previously run
the original TextMate it did not work at all —mate somefileanswered
"Can't find TextMate.app" and nothing ever fixed it. The copy already
installed in/usr/local/binreported the same version number as the one
shipped here, so TextMate never offered to replace it, and an older copy goes
looking for an application this fork does not install.The shipped command now carries this fork's own version number, and TextMate
asks the installed command what version it is rather than trusting what it
last remembered. If you are affected right now, Settings → Terminal →
Uninstall followed by Install fixes it immediately. -
Quick Look previews could stop working after an update. The preview extension
carried a version number written by hand, which stopped matching the
application's on the first release after it was written. macOS refuses to
load an extension whose version disagrees with the application containing it,
and it does so without saying anything. Both now come from the same place. -
Release notes never appeared after an update. TextMate was asked to show
them, but nothing was listening, and the check meant to decide whether
anything had changed was looking in the wrong folder and always concluded
there was nothing to show.
Changed
-
Settings is rebuilt. All six panes — Software Update, Projects, Variables,
Files, Terminal and Bundles — now use the current macOS interface instead of
layouts dating from TextMate 2. The window, its toolbar, its keyboard
shortcuts and every setting they read and write are unchanged.One deliberate difference: in Settings → Bundles, the link and action buttons
on each row are now always visible, where previously they appeared only when
the pointer was over the row. -
The About window no longer draws itself with an embedded web browser, and the
software-update window is rebuilt to match the rest of the application. -
About → Changes now lists this fork's own releases rather than the whole of
TextMate's release history, with a link to the complete file for anything
older.
What's Changed
- fix(update): say which copy is unsigned, not which download by @sdenike in #20
- Settings: the Software Update pane in SwiftUI by @sdenike in #21
- Settings: the Projects pane in SwiftUI by @sdenike in #22
- Settings: the Variables pane in SwiftUI by @sdenike in #23
- scm_test: bound the wait that has hung CI twice by @sdenike in #25
- Settings: the Files pane in SwiftUI, and the pattern written down by @sdenike in #24
- docs: record that the four panes are held unreleased on purpose by @sdenike in #26
- Settings: the Terminal pane in SwiftUI, and the last xib deleted by @sdenike in #27
- Settings: the Bundles pane in SwiftUI — all six panes now ported by @sdenike in #28
- Versions that must track the app: mate and the QuickLook extension by @sdenike in #29
- The software-update sheet in SwiftUI by @sdenike in #30
- About in SwiftUI: no web view, no Markdown renderer by @sdenike in #31
- docs: Phase 6 is complete by @sdenike in #32
- About: show this fork's releases, not upstream's 171 by @sdenike in #33
- release: v3.0.0-revived.27 by @sdenike in #34
Full Changelog: v3.0.0-revived.26...v3.0.0-revived.27
TextMate 3.0.0-revived.26
2026-08-19 (v3.0.0-revived.26)
A Setup Assistant walks you through first launch.
Added
-
A Setup Assistant now walks you through initial setup the first time you
launch TextMate: choose a light, dark or automatic appearance with a live
theme preview, then pick which bundled language and tool bundles to
install. It replaces the old "Install Default Bundles" prompt, runs once,
and stays available afterwards from Help → Setup Assistant….Appearance and theme could previously be changed only from the View menu,
which made an untouched default hard to tell apart from a setting that had
been lost.
Fixed
- "Revert to Default" in Settings → Bundles was greyed out for every bundle
that ships with TextMate, so an edited copy of a standard bundle could not
be restored. TextMate was forgetting which bundles it ships each time it
reloaded its bundle list, and treating all of them as bundles you had
added yourself.
What's Changed
Full Changelog: v3.0.0-revived.25...v3.0.0-revived.26
TextMate 3.0.0-revived.25
2026-08-17 (v3.0.0-revived.25)
Quick Look previews work again.
Fixed
-
Several parts of the application were missing the files they needed to draw
themselves, and so did nothing at all: the Terminal pane in Settings, the whole
Bundle Editor, the encoding customisation window, and the tab-size picker.
Their layout files had never been built into the application. Also restored:
the file-type icons, the encodings list, Subversion status parsing, and the
HTML output window's supporting files. -
Pressing Space on a source file in Finder shows a TextMate preview again. The
old preview plug-in used an interface Apple retired in macOS 12, and macOS had
stopped loading it altogether — so previews had quietly not been working at
all. It is replaced by a modern Quick Look extension.
What's Changed
- Quick Look previews, and a Phase 2 resource regression that broke the Bundle Editor by @sdenike in #18
Full Changelog: v3.0.0-revived.24...v3.0.0-revived.25
TextMate 3.0.0-revived.24
2026-08-16 (v3.0.0-revived.24)
Opening a file is substantially faster, and the app is smaller.
Changed
-
Opening a large source file is much faster. A 1 MB file that took about 15.5
seconds to reopen now takes about 5.8 seconds, and a first open is roughly
2.3× faster.Two things caused the delay. The cache that remembers which editor settings
apply to a stretch of code threw itself away once it held a thousand entries —
a 1 MB file has far more than that, so the cache filled, emptied and refilled
without ever being used. And every lookup that missed the cache compared the
code's context against every rule in every installed bundle, in full, even
when the rule belonged to a different language entirely. Those comparisons now
stop early when the language cannot match. -
The About window no longer carries a copy of the project's entire commit
history — 1.5 MB of it, growing with every commit, and fetching a picture of
every contributor from the network each time it was opened. It links to the
contributor list and the commit log on GitHub instead. Building the app no
longer contacts GitHub either. -
The application is about 1.9 MB smaller than the previous community release,
and the helper programs bundled with it are now built for Apple Silicon only,
where three of them still carried unused Intel code. -
Windows can be consolidated by dragging one over another window's tab bar and
holding it there for a moment. The target's tab bar highlights while it waits,
and releasing before then does nothing, so an ordinary window move cannot merge
anything by accident.
Fixed
- Dragging a tab sideways to rearrange it no longer risks pulling it out into a
window of its own. A tab is only torn off once it is dragged clearly away from
the tab bar — travelling along the bar, however far, never detaches it.
Reported by @schriftgestalt.
What's Changed
Full Changelog: v3.0.0-revived.23...v3.0.0-revived.24
TextMate 3.0.0-revived.23
2026-08-16 (v3.0.0-revived.23)
Every material surface in the application now uses the macOS 26 glass material.
Changed
- The remaining translucent surfaces now use the macOS 26 glass material: the
Go to File and paste-history choosers' footer bars, the Bundles preferences
footer, tooltips, and the choice menu shown when completing a word. Together
with the earlier releases, every material surface in the application is now
drawn the same way.
What's Changed
Full Changelog: v3.0.0-revived.22...v3.0.0-revived.23
TextMate 3.0.0-revived.22
2026-08-15 (v3.0.0-revived.22)
Tabs move into the title bar, and can be dragged out into their own window.
Changed
-
Tabs now sit in the window's title bar, beside the close/minimise/zoom buttons,
rather than in a strip of their own below it. That gives back a full row of
window chrome to the editor. -
Dragging a tab out of the window now opens it in a window of its own. The
menu's Move Document to New Window, and double-clicking a tab, already did
this; the drag now does too. -
The About window now opens centred on the frontmost editor window, or centred
on screen when no editor window is open, instead of reappearing wherever it was
last left.
Fixed
- The window could not be dragged by the empty space in the tab bar. With tabs
moved into the title bar there was nowhere else left to grab, so windows could
not be moved at all. Dragging that space now moves the window; double-clicking
it still opens a new tab, as before.
What's Changed
Full Changelog: v3.0.0-revived.21...v3.0.0-revived.22
TextMate 3.0.0-revived.21
2026-08-15 (v3.0.0-revived.21)
Missing artwork is back, and the window chrome moves to the macOS 26 material.
Fixed
-
Missing artwork throughout the application. The code-folding arrows in the
gutter, gutter bookmarks, the diff/error/warning/note marks beside a line, the
Preferences window's toolbar icons, and the file browser's search, favorites
and SCM buttons were all drawing nothing.Forty image files had never been copied into the application since it moved to
the Xcode build. An earlier release fixed forty other missing images, but its
fix looked only in folders namedgfxand only for PNG files — and the entire
gutter icon set is PDF, kept in a different folder. A missing image fails
silently, drawing an empty control rather than an error, which is why it went
unnoticed through two releases.
Changed
-
The status bar, the file browser's header and actions bar, and the HTML output
status bar now use the macOS 26 glass material. -
Each tab's close button is now always visible, rather than fading in when the
pointer happens to be over the tab. Closing a tab used to mean aiming at it,
waiting for the button to appear, then aiming again. Tab widths are unchanged —
the button always occupied that space, it was simply invisible.
What's Changed
Full Changelog: v3.0.0-revived.20...v3.0.0-revived.21
TextMate 3.0.0-revived.20
2026-08-14 (v3.0.0-revived.20)
The first surface to adopt macOS 26's Liquid Glass material.
Changed
-
The key equivalent recorder — the field that records a shortcut in the Bundle
Item Chooser (⌃⌘T, when you search by key equivalent) — now draws its
background with the system's glass material instead of painting its own border
and fill. Its focus ring follows the new rounded outline, and its colours come
from the system rather than from hardcoded greys.This is a deliberately small first step. The surfaces you look at constantly —
the status bar, the file browser's header, the choosers and the tab bar — come
in later releases.
What's Changed
Full Changelog: v3.0.0-revived.19...v3.0.0-revived.20
TextMate 3.0.0-revived.19
2026-08-14 (v3.0.0-revived.19)
Changed
- The About window no longer shows a background image. The one it had came from
a different fork of TextMate and was never this project's artwork; the window
now uses your theme's own colours.
What's Changed
Full Changelog: v3.0.0-revived.18...v3.0.0-revived.19