Sublime Text Build 4200 and Future Plugin Changes

May 21, 2025 by Benjamin Schaaf All Posts

Sublime Text 4, build 4200 is out now with some exciting new features, improvements and fixes. We're also announcing some changes to the way plugins will be handled in the future:

Phasing out Python 3.3

Python 3.3 will be phased out over the course of a year, being removed entirely some time after Q1 2026. This will be done in stages, starting with this update adding the "disable_plugin_host_3.3" setting. With the setting enabled all plugins will run under python 3.8.

Upgrading Python 3.8 to 3.13

We will be replacing Python 3.8 with 3.13 in the next development cycle. Plugins targeting 3.8 will instead run on 3.13. This will roll out slowly, initially through a beta program, to ensure a smooth transition.

Supported Platform Changes

Moving to newer versions of Python means we need to drop support for older operating systems. Future versions of Sublime Text will increase the minimum macOS version from 10.9 to 10.13. We will also be ending support for Windows 7, 8 and 8.1; the minimum will be Windows 10.

Python Upgrade Policy

Going forward we will be following an approximately 5 year lifecycle for python versions, aligning with Python's own policy.

Download Sublime Text 4

Sidebar on the Right

You can now put the sidebar on the right hand side using the "sidebar_on_right" setting.

Toml and Zsh syntaxes

We now ship with built-in support for both TOML and Zsh

Build System Input

Adding "interactive": true to your build systems allows you to provide input to your programs.

Multi-cursor Performance Improvement

While previously having many cursors would grind the editor to a halt, we now stay usable at over 100 thousand.

Full Changelog

New Features and Improvements

  • Sidebar can now be moved to the right side using the "sidebar_on_right" setting
  • Build systems can now optionally have an input box by using "interactive": true
  • Added "disable_plugin_host_3.3" setting. This causes all plugins to run under 3.8
  • Rewritten syntax highlighting for SQL, ActionScript, Diff, Bash and Graphviz thanks to jrappen, michaelblyons, keith-hall and deathaxe
  • Added Zsh and TOML syntax highlighting thanks to deathaxe
  • Various syntax highlighting improvements
  • Improved git status performance
  • Significantly improved performance when editing with many selections
  • Commands passed via the command line are now delayed until files and plugins have loaded
  • Built-in color schemes now specially highlight string mapping keys
  • Improved behavior of copy/cut with multiple empty selections
  • Tab translation is now disabled when reading from stdin
  • Improved handling of saving files in non-existent directories
  • Added "default_font_size" setting
  • Added "reload_file_in_background" setting
  • Added "set_unsaved_view_name_for_syntax" setting
  • Allow variable expansion in a syntax's first_line_match regex
  • API: Added Window.create_io_panel and Window.find_io_panel
  • API: Added Selection.has_empty_region, Selection.has_non_empty_region and Selection.has_multiple_non_empty_regions

Fixes

  • Fixed wrap_lines command not understanding newer ruler settings
  • Fixed bookmarks not toggling at EOF
  • Fixed an issue with click event handling on the scroll bar
  • Fixed build system errors not having the correct PATH
  • Fixed index crawler leaking shared memory in special cases
  • Fixed local transformed symbols having the wrong region
  • Fixed find_under_expand edge case
  • Fixed uneven indent guide rendering with fractional dpi scaling
  • Fixed certain minimap settings incorrectly affecting text rendering