This gist will no longer be updated as the changelog will be on the official website.
- Sublime Text/Merge Official Discord chat server: https://discord.gg/D43Pecu
- Sublime Text/Merge 中文 Telegram 交流群組: https://t.me/sublime_tw
Converted via https://domchristie.github.io/turndown
Sublime Text 4 (Stable 4107) has been released. Check https://www.sublimetext.com/blog/articles/sublime-text-4
19 May 2021
- Preparation for public release
10 May 2021
- Linux, Mac: Caches have been moved to their proper location (
~/.cacheand~/Library/Cachesrespectively) - Windows: Fixed an auto complete crash when
auto_hide_menuis enabled - Windows: Fix memory leak
3 May 2021
- Fix crash with
chaincommand - Fix regressions with
Goto Anythingin 4103 - Windows: Fixed an OpenGL regression in 4103
30 April 2021
- Further performance improvements for Goto Anything
- Added
Scroll Bar.sublime-mousemapto customize scrollbar interaction - Added the
chaincommand, which accepts a list of commands to run in its "commands" argument. This allows binding a key to run multiple commands without having to use a macro - Various syntax definition updates
- Add
Report a Bugentry in the Help menu open_files_in_new_windowis now supported on all platforms- Fixed scroll jumping on swap up/down
- Auto Complete: Fixed an infinite loop when the same folder is added to the sidebar twice
- Linux: Use native dialogs functionality in GTK, enabling KDE dialogs when desired
- Mac: Improved behavior of Open and Save dialogs
- Windows: Fix scroll jumping when using
auto_hide_menuwith adaptive theme - Windows: Fix multiple application instances launching using "Open with Sublime Text"
- API: Add missing
sublime.selected_sheets()method for Python 3.3
9 April 2021
- Mac: Fixed window title appearing in the wrong location in the Adaptive theme
- Fixed a sidebar selection bug with the last file in a folder
- Folders in the sidebar can be recursively expanded via alt+arrow key
6 April 2021
- Windows: Fixed missing manifest
5 April 2021
- Mac releases now include native Apple Silicon binaries
- Switching files correctly updates the window title and status bar
- Tab Multi-Select: in Goto File and Goto Symbol in Project, the
ctrl/cmdmodifier now opens the file to the right, replacing any existing tabs - Tab Multi-Select: in Goto File, Goto Symbol in Project and Definitions popup, the
shiftmodifier appends the file to the far right - Goto Anything: pasting a file name and line number no longer changes the line in the previous file
- Goto Anything: add missing
ctrl+enterkey binding for Windows and Linux - Goto Anything: correct flickering of first tab when filtering files
- Auto Complete: fixed a regression with the Definition link
- Sidebar: fixed keyboard navigation when the Open Files section is displayed
- Code Folding: fixed some edge-case incorrect behaviors
- Linux: recursively expanding and collapsing sidebar folders now works with
altorsuper - Various syntax definition updates
- API: added
Sheet.group() - API: added
sublime.CLEAR_TO_RIGHTfor use withWindow.open_file() - API: fixed
ViewEventListener.on_load_async()sometimes not being called - API: added missing
Window.select_sheets()method to Python 3.3 plugin host - API:
Syntax.nameis now derived from the path if not present
15 March 2021
- Auto Complete: added the
auto_complete_when_likelysetting - Auto Complete: when
mini_auto_completeis enabled, a normal AC window will no longer appear - Auto Complete: fixed clipping of kind letters
- Sidebar: keyboard navigation has been fixed
- Sidebar: various file selection fixes, including paths passed to commands
switch_filenow preserves the current tab multi-selectiondelete_filenow properly closes associated tabsswap_line_downwill no longer result in an invalid selection- Trimming modified white space works properly in more edge cases
trim_trailing_white_space_on_saveset tonot_on_caretwill no longer remove file contents- Selection will no longer be reset after Find All is used when finding in selection
- Find results are now properly highlighted on Find All when
close_find_after_find_allis turned off - Unicode URLs are now properly handled in the editor context menu
- Closing window right after creating it will no longer crash
- Changing window layout will no longer crash
- Tab selection changes will no longer crash
- Mac: windows will now stay maximized when using Mac window tabs
- Linux: drag and drop of files into the editor has been fixed
- Windows: menu corruption when using dark menus has been fixed
- Themes: the
tree_rowfor the file with input focus now gets the attributehighlighted - Various syntax definition updates
- Clicking the Definition popup side-by-side icon will now replace all the selected tabs on the right
- Fixed reveal in side bar sometimes not scrolling far enough
- API: Added logging status functions:
sublime.get_log_commands()sublime.get_log_input()sublime.get_log_build_systems()sublime.get_log_result_regex()sublime.get_log_indexing()sublime.get_log_fps()sublime.get_log_control_tree()
- API: Make the logging function toggle when no argument is passed:
sublime.log_commands()sublime.log_input()sublime.log_build_systems()sublime.log_result_regex()sublime.log_indexing()sublime.log_fps()sublime.log_control_tree()
- API:
ok_cancel_dialog()andyes_no_cancel_dialognow accept an optionaltitleparameter - API: popups will be properly positioned when displayed near the right-hand side of the editor
- API: popups near the right-hand side of the editor with wrapped lines will now be properly sized
- API: minihtml will now properly handle whitespace after
brtags and at the beginning oflitags - API: minihtml now supports
white-space: nowrap - API: Updated Python to 3.8.8 and OpenSSL to 1.1.1j
12 February 2021
- Windows will remember their Virtual Desktop/Space/Workspace, controlled by the
remember_workspacesetting - Tab Multi-Select: added commands to change tab focus left and right
- Tab Multi-Select: improved
Selection > Tab Selectionmenu - Tab Multi-Select: the Alt modifier now works in the Side Bar
- Tab Multi-Select: the Alt and Ctrl/Cmd modifiers now work with the tab dropdown
- Find highlights are no longer shown for files over 1MB
- Side bar row highlights now properly reflect the selected tabs
- Fixed a regression that would leave open files after being deleted from the side bar
Reveal in Side Barnow works consistentlyGoto Symbol in Projectnow properly behaves with the Ctrl/Cmd modifier- Fixed the
tree_animation_enabledsetting to work properly - Prevent a crash when opening a file while two or more tabs are selected
- Fixed a bug with Goto Anything when combining a file name and line number
- Themes: Fix a regression that could cause folder icons in the side bar to be rendered incorrectly
- Linux: Resolved menu performance issues when using Wayland
- Linux: Fixed a crash on some non-Gnome desktop environments
- Linux: Prevent carets from getting stuck due to text drags
- API: Added
modifier_keysto event dicts when commands are invoked via a menu - API: Tooltips from minihtml
titleattributes are now positioned properly - API: Additional fix for
CommandInputHandler()objects for Python 3.3 - API: Updated Python to 3.8.7 and OpenSSL to 1.1.1i
3 February 2021
- Key Bindings: Join Lines is now on
Ctrl+Shift+J/Cmd+Shift+J - Key Bindings: Expand Selection to Indentation is no longer bound by default
- Key Bindings:
Ctrl+J/Cmd+Jis now used as a prefix for sequential key bindings, similar toCtrl+K/Cmd+K - Improved symbol popup navigation to default to replacing the focused sheet
- Append Tab icon in symbol popup now always opens a new tab to the right
- Added Selection/Tab Selection menu
- Find: Find in Selection now highlights the area that will be searched
- Find: Added
find_onlyandreplace_onlyoptions toauto_find_in_selection - Find: Fixed adjacent matches being skipped when find in selection is in use
- Find: Fixed find in selection option not being cleared when changing tabs
- Find: Find commands can now be run without the find panel having input focus
- Linux: Disable custom title-bar on non-gnome desktop environments
- Linux: Fix popups having a titlebar or not showing
- API: Fix CommandInputHandler objects for Python 3.3
29 January 2021
- Linux: Added support for custom title bars
- Goto File, Goto Symbol in Project, Goto Definition and the Definitions popup now support the ctrl/cmd modifier to open the file in addition to the current file
- Tabs, Open Files entries, Goto File, Goto Symbol in Project, Goto Definition and the Definitions popup now support using the alt modifier to replace the current file with the selected file
- Added support for previewing TGA and PSD images
- Command Palette entry
UI: Customize Color schemenow supports in.tmThemefiles - Find in Files: Fix not recursing into directories on networked file systems
- Find in Files: Hide rulers by default in find results
- Themes: Improved appearance of
highlight_modified_tabswith square and rounded tabs - Themes: Fix background color of
Adaptivetheme tabset when a sheet has a color scheme override - Themes:
tabset_controlandtab_controlnow get a tint of the sheet afterbackground_modifieris applied - Windows: Fix display of color emoji when using
subpixel_antialiasing - Windows: Work around OpenGL artifacts in text controls
- Windows: Fix flashing when using OpenGL and resizing a window
- Fixed an regression in Auto Complete window positioning
- API: Backwards Compatibility Break:
sublime.ADD_TO_SELECTION_SEMI_TRANSIENTwas removed, should usesublime.ADD_TO_SELECTION|sublime.SEMI_TRANSIENTin place - API: Added the flag
sublime.SEMI_TRANSIENTfor use withwindow.open_file() - API: Added the flag
sublime.REPLACE_MRUfor use withwindow.open_file(). When multiple sheets are selected, this flag will cause the opened file to replace the most recently used sheet with the file being opened. - API: Backwards Compatibility Break: The event parameter passed to commands when a minihtml link is clicked changed from a two-element list to a dict with the keys x and y
- API: Added the flag
sublime.WANT_EVENTfor use withwindow.show_quick_panel(). This will pass an event dict to theon_selectcallback. The dict will contain the keymodifier_keys, which will be a dict that may contain zero or more of the keys:primary,ctrl,super,alt,altgr. - API: The TextInputHandler and ListInputHandler classes may define a method
want_event()that returns True to receive an extra parameter, an event dict, when the validate() and confirm() methods are called. The dict will contain the keymodifier_keys, which will be a dict that may contain zero or more of the keys:primary,ctrl,super,alt,altgr. - API: Add
sublime.ui_info()for high-level information about the UI - API: Fix display of the annotation field of
ListInputItem()
22 January 2021
- Changed file tab style, adding
file_tab_stylesetting - Added Default Dark theme
- Added automatic dark/light theme and color scheme switching, based on OS theme changes
- Sheets without input focus are now dimmed when using included themes
- Included themes have a tab connector joining the active sheet and tab when using sheet multi-select
- Improved the theme and color scheme selection commands
- Added commands to simplify customizing the active theme or color scheme
- Added a New Tab button in the tab bar, and
hide_new_tab_buttonsetting - Various syntax highlighting improvements
- Added Preserve Case to Find in Files
- Definitions popups now include the symbol name
- Improved handling of newlines in exported HTML
- When renaming a file, the extension is now excluded from the initial selection
switch_filecommand now handles filenames with compound extensions- The
scroll_past_endsetting now supports customizing the scroll distance using numbers from0.0to1.0 - Double-clicking a semi-transient sheet's tab will now fully open the sheet
- Invalid Python version files are now correctly displayed in the Console
- Fix a regression with side bar input focus
- Resolve some bugs with syntax definitions that use branching
- Fix a bug with Jump Back saving multiple jump points when drag-selecting text
- Fixed a bug with Find where the most recent history item was sometimes overwritten
- Fixed image sheets to properly follow the theme scroll bar colors
- Fixed a bug with scroll position jumping around where certain commands were executed
- Color Schemes: Slightly darkened the background of Mariana
- Color Schemes:
.hidden-tmThemefiles are now supported by the.sublime-color-schemeconvertor - Themes: Included themes use variables extensively, making customization simpler
- Themes: The
settingskey now supports objects, with keys being settings and values being a boolean, string or array of strings - Themes: Added
sheet_contentsclass to text, image and HTML sheets - Themes: Added the
background_modifierproperty forsheet_contents - Themes: Added a number of new attributes to
tab_controlfor richer tab theming - Themes: The
highlightedattribute is only applied to the most recently active sheet, rather that the most recently active sheet in each group - Themes:
tab_controlandsheet_contentsclasses now synchronize theirhighlightedandhoverattributes - Themes:
tooltipcontrols now support animations to their opacity - Linux: Fix bug with the caret not moving after performing a text drag
- Linux: Fix key bindings containing the
-key when using a French AZERTY keyboard - Linux: Fix a bug with context menus sometimes getting incorrect variables
- Mac: Updated icon to follow macOS 11 style
- Mac: Added a workaround for Apple M1 OpenGL graphics driver bug that caused text to be rendered incorrectly
- Mac: Fix title bar flickering after switching between themes using light and dark menus
- Mac: Fix a bug with
"preview_on_click": "left_only"when the option key was used with the left mouse button - Mac/Windows: Added document icons and file associations for all Sublime file formats
- Windows: Added support for dark mode title bars and menus
- Windows: Correct some font rendering glitches
- Windows: Fix bug causing menu to appear when using key binding using
alt - Windows: Fix a crash when starting after closing with a window fullscreen
- Windows: Fix issue with properly sizing maximized windows when using custom title bars
- Windows: Added a workaround for Intel OpenGL graphics driver bug that caused black bars at the top of some windows
- API: Added
ListInputItemso thatListInputHandlerobjects can provide kind info, annotations and details - API: Added color-based kind IDs for
ListInputItemandQuickPanelItemto allow plugins to provide semantic colors - API: Improved
sys.stdoutto extendio.TextIOBase - API: Fix a bug with popup being stuck open when a popup is shown in the hide event handler of another popup
30 November 2020
- Added additional menu items to the command palette
- Auto save is now asynchronous
- Added
themed_title_barsetting - Added
control_character_stylesetting Copy as HTMLwill now set the clipboard MIME type- Fixed block carets not aligning with pixel boundaries on screens with fractional DPI scales
- Windows: Fixed regression that disabled sub-pixel anti-aliasing
- Mac: Improved OpenGL performance on Intel GPUs
- API:
.sublime-commandsfiles now support filtering commands via the "platform" key
18 November 2020
- Windows: Various fixes for custom title bars
- Printing: Added support for hashed color schemes
- Printing: Fixed non-ascii characters rendering incorrectly on Mac
- Fixed warning about incorrect menu mnemonic
- Mac: Fix
sublnot bringing the running application to the foreground
16 November 2020
- Various syntax highlighting improvements
- Windows: Added support for custom title bars
- Added
File/Print, which prints via a browser - Added
Edit/Copy as HTML - Added
Project/Recent/Remove Deleted - Added
wrap_width_stylepreference - Added
close_find_after_find_allpreference - Added
close_find_after_replace_allpreference - Improved performance with large session files
- Fixed an issue with undo stack serialization in the session
- Fixed dragging tabs to non-visible windows
- Build Systems: Any currently running process will be killed immediately when a new build is started
- Mac: Added workaround for the command line helper when app translocation is in effect
- Mac: Added workaround for macOS file dialogs not supporting file extensions containing periods
- API: Added
View.export_to_html() - API:
sublime.select_folder_dialog()now supports multiselect on Windows
21 October 2020
- Fixed a selection rendering regression
20 October 2020
- Fixed a selection rendering regression in 4088
- Fixed a Goto Anything regression in 4088
- Indexing:
index_workersis now applied exactly, rather than approximately, which improves behavior when re-indexing a large number of windows - Mac: Quick Switch Project now works without any windows open
- Linux: Fixed a compatibility regression in 4088 when GTK is built without Wayland support
- Windows: Fixed a case where the mouse cursor could remain unexpectedly hidden
- Windows: Fixed a compatibility issue with non-ascii user names
12 October 2020
- Fixed a syntax highlighting backtracking crash
- Fixed incorrect popup window sizes in some circumstances
- Improved performance with a large number of selections
- Added
console_max_history_lines - Tweaked jump history behavior
- Tweaked block caret size
- Quick Switch Project will open the selected project in a new window if
Ctrl(Cmdon Mac) is held down - Fixed regression where all but the first open file was being skipped in find in files
- Mac: Added a workaround for an Nvidia OpenGL driver issue
- API: Added
Sheet.close()
25 September 2020
- Various syntax highlighting improvements
- OpenGL rendering performance improvements
- Syntax Definitions: Added symbol indexing tests
- Syntax Definitions: Added more information to the Show Scope Name popup
- Syntax Definitions: Renamed TypeScript to TSX, and added a new vanilla TypeScript syntax
- Syntax Definitions: Fixed an infinite loop that could occur with branch points
- API: Fixed
on_pre_close()being called after the view had been removed from the window - API: Updated Python to 3.8.6
14 September 2020
- Tweaks to block caret rendering
- Fixed glow font rendering regression in 4085
- Fixed incorrect line highlight rendering
- Fixed an issue restoring undo history
- Syntax definitions can now use multiple inheritance, provided all parents have the same base syntax
- Linux: Added support for extra keys on Sun Type 7 keyboards
- Windows: Fixed a Korean IME compatibility issue
- Mac: Fixed a rendering glitch when moving windows between low dpi and high dpi monitors
- API: Fixed an issue when using
sublime.COMPLETION_FLAG_KEEP_PREFIXin conjunction withsublime.DYNAMIC_COMPLETIONS
4 September 2020
- Definitions hover popup shows more information about symbols
- Goto Symbol shows more information about symbols
trim_trailing_white_space_on_savecan now be set to"not_on_caret"- Improved behavior of
scroll_context_linesin conjunction with mouse selection - Fixed rendering of large ligature symbols
- minihtml: Added support for
display: inline-blockandtext-align - minihtml: Added support for
titleattribute tool tips - API: Added
sublime.SymbolRegionandsublime.SymbolLocationwith corresponding methods onViewandWindow
21 August 2020
- Fixed a crash regression in 4083
- Fixed new windows not having input focus set correctly
- API: Added
on_associate_buffer()callback - API: Python 3.3 plugins trying to import
Default/history_list.pywill no longer fail, however these plugins must still be moved to 3.8 to work as expected
19 August 2020
- Improved Jump Back and Jump Forward commands
- Added advanced options to the
draw_white_spacesetting - Auto Complete: no longer triggers at
.or->when there is an identifier to the right - Auto Complete:
auto_complete_trailing_symbolsis now disabled by default - Auto Complete:
cancelCompletionwill no longer prevent manual invocation - Files with the same filename, but in different groups, will now show path info in tab to disambiguate
- Resolved bugs when two views of the same buffer had different color schemes
- Relative line numbers are now correct when using a block caret
- Fix closing read-only files when
save_on_focus_lostistrue - Popups now better constrain themselves to the available window space
- Corrected OpenGL rendering to not accidentally reuse textures in certain circumstances
- Various crash fixes
- Various syntax highlighting improvements
- Syntax Definitions: prevent a crash when "extends" was combined with a context containing no patterns
- API: added
sublime.QuickPanelItem()with support for kind info, annotations and basic minihtml - API: plugins may now add selections to the Jump Back history list via the
add_jump_recordcommand - API: plugins may suppress selections from the Jump Back history list via the
jump_ignore_selectionregion - API: plugins may now disable the default HTML and CSS completions
- API: Renamed
TextChangeListener.remove()toTextChangeListener.detach() - API: Fixed a crash with
TextChangeListener - API: Added
Buffer.id()andBuffer.file_name() - API: Added
View.sheet()andView.sheet_id() - API: Added
Window.selected_sheets(),Window.selected_sheets_in_group()andWindow.select_sheets() - API:
EventListener.on_selection_modified()is no longer fired on non-selection state changes - Linux: added handling for GTK touch events
- Mac: editor context menu now shows the correct cursor
- Mac: cursor is no longer set when Sublime Text is not the foreground window
- Mac: macOS 10.14+ no longer uses custom IBeam cursor for dark editor panes
- Windows: corrected display of new windows to prevent flashes
- Windows: fixed hang when the compositor is disabled, removed setting to disable vsync
7 August 2020
- Changed default color scheme to Mariana
- Various syntax highlighting improvements
- Improved popup window behavior
- Improved performance when loading files with very long lines
- Improved quick panel sizing logic
- Improved behavior of
find_under_expand - Improved snippet behavior
- Improved
sublbehavior when choosing which window to open a file in - Improved undo history serialization performance
- Added
highlight_find_results_in_scrollbarsetting set_file_typecommand now accepts "scope:" prefixed syntax names- Fixed white flashes that could occur in some circumstances
- API: Added
sublime.TextChangeListener, replacing the now removedon_text_changed() - API:
show_quick_panelnow accepts placeholder text, via theplaceholderargument - API: Added
sublime.syntax_from_path(),sublime.find_syntax_by_name(),sublime.find_syntax_by_scope(), andsublime.find_syntax_for_file() - API: Removed
sublime.find_syntax() - API: Added
View.clones() - API: Added
Sheet.is_semi_transient()andSheet.is_transient - API:
CommandInputHandlernow has aninitial_selection()method - API:
sublime.executable_path(),sublime.packages_path(),sublime.installed_packages_path()andsublime.cache_path()may now be called at import time - Windows: added setting to disable vsync
17 July 2020
- Fixed a crash regression in 4078
- Mac: Fix Adaptive theme title bar color regression in 4078
17 July 2020
- Improved find history behavior
- Linux and Mac: Adaptive theme will set the menu color to follow the color scheme
- Fixed scrolling in popup windows when using fractional scaling
- Fixed links in annotations not working
- Fixed close button position when
show_tab_close_buttons_on_leftis used - Fix keypad enter not working in find panel
- Windows: Improved menu toggling behavior
- Windows: Fixed IME caret position when inserting code points outside of the BMP
- API: Replaced Settings iteration with
Settings.to_dict()(3.8 only)
11 July 2020
- Fixed a crash in 4075 that could occur when closing the preferences window
10 July 2020
- Fixed a crash regression in 4075 with missing embeds
10 July 2020
- Added out of the box support for TypeScript and JSX
- Undo information is preserved in the session
- Renamed File/New View into File into File/Split View
- Goto Anything can multi-select files by selecting a file while holding down Ctrl (Command on Mac)
- Find in Files: Added Find/Cancel Find in Files menu item
- Find in Files: Improved performance with large numbers of matches
- Added various performance improvements with large files and graceful find degradation
- Popup windows now use virtual windows for improved performance
- Added setting
scroll_context_lines - Added
preview_on_clicksetting to support only previewing files on left click - Added
selection_description_column_typesetting to control how the column in the status bar is calculated - Added
close_deleted_filessetting to control behavior of session restoration when files have been deleted on disk - Added
show_tab_close_buttons_on_leftsetting - Added Central European (Mac) encoding support
- Macros now record Find commands
- Added support for stippled_underline and squiggly_underline in color schemes
- Fixed several OpenGL related rendering issues
- Fixed white flashes in text views
- Fixed over/underscroll not providing any context
- Fixed annotations being oversized without overlay scrollbars
- Fixed phantoms sometimes leaking
- A cold exit will now update the recently opened files list
- Improve file deletion when there is no trash folder
- Session is now saved when application is notified of system shutdown
- Syntax Definitions: "extends" keyword in .sublime-syntax
- Syntax Definitions: "version: 2" in .sublime-syntax to fix edge cases while retaining backwards compatibility
- Syntax Definitions: lazy loading of external "embed" actions
- Syntax Definitions: reduced cache size on disk
- Syntax Definitions: prevent infinite include loops via with_prototype
- Syntax Definitions: improved matching performance and memory usage
- Syntax Definitions: "hidden_extensions" in .sublime-syntax
- Syntax Definitions: allow combining "pop" with "push"/"set"/"embed"/"branch"
- Syntax Definitions: fixed a number of scope related bugs
- Syntax Definitions: fixed some regex capture related bugs
- Windows: Added drop shadows to popup windows. These can be disabled via the
popup_shadowssetting - Windows: Added support for color emoji
- Windows: Various IME improvements
- Windows: Safe Mode is now activated via shift+alt
- Mac: Improved key translation fallback for non-pure-ascii keyboards
- Mac: Fix single instance id not taking into account the current user
- minihtml: Improved support for HTML entities
- minihtml: Added support for self-closed tags
- API: Updated Python to 3.8.3, and OpenSSL to 1.1.1g
- API:
TextChangeobjects now include the number of UTF16 and UTF8 code units - API:
Window.open_filenow acceptssublime.ADD_TO_SELECTION_SEMI_TRANSIENTin addition tosublime.ADD_TO_SELECTIONas flags - API:
View.show()now takeskeep_to_leftandanimateparameters - API: Added
sublime.open_dialog,sublime.save_dialogandsublime.select_folder_dialog - API:
Settingsobjects can now be iterated over (3.8 only) - API:
View.text_point()and related functions now accept aclamp_columnparameter - API: Ensure on_text_changed() is called before on_query_completions() when sublime.DYNAMIC_COMPLETIONS has been specified
- API:
Region.__hash__andPhantom.__hash__have been replaced withto_tuple - API:
reprnow works as expected
28 April 2020
- Auto Complete: Ranking quality improvements
- Auto Complete: Added
auto_complete_use_historysetting to control if previous choices are automatically selected - Added additional settings to control the status bar:
show_sidebar_button,show_indentationandshow_syntax - Added relative line numbers, controlled by the
relative_line_numberssetting - Color Schemes: Added support for the
underlinefont style - Color Schemes: Added new property,
inactive_selection_border - Added setting
hide_pointer_while_typing - Console now uses Python syntax highlighting by default
- Windows, Linux: Added Shift+F10 key binding to open the context menu
- Fixed folder dragging in the sidebar
- Further improvements in layout preservation when programmatically editing preferences
- API:
View.add_regions()calls that add an underline now have that underline applied to whitespace characters - API: Added
sublime.INHIBIT_REORDER - API:
Window.new_html_sheet()now accepts thesublime.ADD_TO_SELECTIONflag - API:
Window.new_html_sheet()no longer acceptscmdandargsparameters - API: Fixed a regression in
View.split_by_newlines()
8 April 2020
- Reworked Auto Complete UI
- Fixed a Find in Files crash regression in 4072
- Improved layout preservation when programmatically editing preferences
.sublime-completionfiles can now specifyannotation,kindanddetails- API:
CompletionItemnow accepts adetailsparameter, which can include basic HTML - API: minihtml now processes
subl:links, running them as commands
8 April 2020
- Find in Files can now filter by
.gitignore - Fixed a path wildcard matching regression in 4070
- Auto Complete:
auto_complete_selectornow applies to the position before the just-typed in character, matchingauto_complete_triggers - Linux: Added
Ctrl+Spaceto trigger Auto Complete - Linux, Windows: Added
Alt+Shift+Left Mouse Buttonas an alternative column selection binding - Fixed a file encoding regression
- Fixed a syntax highlighting backtracking edge case
- API: Fixed
on_selection_modified()being called with the wrong view when using cloned views
1 April 2020
- Spell Checking: Updated dictionaries
- Spell Checking: Added support for non-utf8 dictionaries
- Spell Checking: System dictionaries are now available on Linux
- Spell Checking: Dictionaries in
~/Library/Spellingare now available on Mac - Fixed
ignored_packagessetting causing sub-directories to be ignored - Fixed inline diffs not rendering an expected when draw centered is enabled
- Linux: Fixed a regression in key bindings for the space bar
- Windows: Fixed IME crash
- API: Fixed
View.text_point_utf8()andView.text_point_utf16()not working as expected
27 March 2020
- Comments and layout are preserved when programmatically editing preferences
- Holding down Shift on Windows, or Option on macOS, will start Sublime Text in Safe Mode
- Auto Complete: Typing the full tab trigger of a snippet will move it to the top of the results
- Auto Complete: Fixed some scenarios when auto complete would incorrectly trigger
- Linux: Improved compatibility with some keyboard layouts
- Mac: Improved compatibility with some keyboard layouts
- Windows: Improved IME support
- Syntax tests can now assert that reindent is working as expected
- Fixed popups not scrolling
- Fixed incorrect scrolling in Find Results after startup
- Windows: Fixed some Safe Mode inconsistencies
- minihtml: Fix HSL color blending
- minihtml: Fix handling of CSS comments
- API: Updated Python to 3.8.2
- API: Added
View.rowcol_utf8(),View.rowcol_utf16(),View.text_point_utf8()andView.text_point_utf16() - API: sublime.HistoricPosition now supplies utf8 and utf16 offsets
- API: More detailed output when using
sublime.log_control_tree()
28 February 2020
- Fixed Auto Complete unexpectedly showing after the first edit on a newly opened file
- Fixed a crash that could occur with syntax definition branch points
- Fixed the Console not scrolling to the end at startup
- Fixed syntax definitions not reloading
- Windows: Fixed
sublnot making Sublime Text the foreground window - Windows: Fixed a crash that could occur on startup
14 February 2020
- Auto Hide: Text now never jumps around when hiding tabs, even for short files
- Find in Files: Binary file patterns are applied when an explicit folder is given
- Find in Files: Using "Find in Folder…" from the sidebar context menu will apply project file filters
folder_exclude_patternsandfolder_include_patternsnow support project-relative paths, by starting the path with//- Improved performance when adding directories with extreme amounts of files to the side bar
- Fixed a race condition when using Build, with Save All on Build enabled and async file saving
- Improved menu auto hide behavior on Linux and Windows
- Fixed a case where Jump Back didn't behave as expected
- Linux: Removed dependency on glibc 2.18
- Linux: Better support for copy+paste with other applications that don't support utf8 text
- API: Added
Window.bring_to_front()
29 January 2020
- API: Added HTML sheets, which can be created via
window.new_html_sheet() - Command Line: Fixed subl only working intermittently on Windows
- Scrolling: Actually fixed newly opened files on Mac not scrolling to the expected position
28 January 2020
- Command Line: Fixed regressions in 4063
- API: Added
sublime.log_control_tree(bool). When enabled, clicking with ctrl+alt will log the control tree under the mouse to the console
27 January 2020
- Command Line:
subl -can now be used to read from stdin on all platforms - Fixed a regression in 4062 that could cause syntax definitions to not load correctly
- Fixed Wrap Selection With Tag not working
- Scrolling: Fixed newly opened files on Mac not scrolling to the expected position
- Scrolling: Fixed scroll position not being restored at start for non-selected tabs
- Scrolling: Fixed
reverton non-selected tabs not keeping the scroll position - Auto Complete: AC won't be triggered when replacing selected text
- Fixed
revert_hunknot showing in the context menu within inline diffs - Linux: Fixed text drag and drop not working correctly with unicode text
- Mac: Fixed tooltip rendering issue on external low DPI monitors
- Mac: Fixed Undo always being enabled, even if there's nothing to undo
- API: Added
"glow"toview.style_for_scope() - API: Fixed newly created views not having a valid viewport before being returned to the API
14 January 2020
- Improved syntax definition load time
- Fixed a crash that could occur with syntax definition branch points
- Auto Complete: Several small fixes
- minihtml: Fixed incorrect layout when using a non-default
ui_scale
11 December 2019
- Auto Complete: Fixed
cancelCompletionsbeing ignored - Auto Complete: Fixed inserting a newline character not hiding the AC dialog
6 December 2019
- Mac: Fixed New Window not working
- Auto Complete: Fixed a regression causing auto complete to be case sensitive
- OpenGL: Added support for repeated textures
- Fixed a 4059 regression in Jump Back
5 December 2019
- Reworked Jump Back and Jump Forward commands
- Auto Complete: Added Sublime Text 3 style selection history
- Auto Complete: Fixed a scenario where auto complete could insert nothing after selecting a completion already present at the insert location
- Fixed Join Lines not working as expected with multiple selections
- Fixed transient files not being created at startup when Hot Exit is disabled
- OpenGL: Fixed a rendering regression in 4058
4 December 2019
- Auto Complete: Rework how punctuation triggers are handled
- Auto Complete: Pressing tab when there are no available completions will insert a tab
- OpenGL: Improve minimap rendering quality
- OpenGL: Improve performance with many spelling errors
1 December 2019
- Fixed incorrect minimap rendering when using OpenGL
- Auto Complete: Completions are not as dependent on the syntax tokenisation rules
- Auto Complete: Various changes to how completions with punctuation are handled
- API: Added
sublime.DYNAMIC_COMPLETIONS.on_query_completions()can return this flag to indicate that completion results should be re-queried as the user types - API: Added
sublime.KEEP_ON_SELECTION_MODIFIED, which can be passed toView.show_popup()
26 November 2019
- Fixed a crash in 4055
25 November 2019
- Fixed a rendering regression in 4053
- Fixed saving files with hexadecimal encoding not working correctly when using non-canonical formatting
- Auto Complete: Improved behavior of completions starting with non-word characters
- Auto Complete: Running the
auto_completecommand when auto complete is already showing will re-query plugins for results - Auto Complete: Manually typing in the only available completion will hide the auto complete popup
- Improved minihtml rendering performance
- Linux: Fixed a wayland compatibility regression in 4054
- Windows: Fixed file deletion
- API: Fixed plugin profiling
- API: Fixed several edge cases related to plugin loading and reloading
- API: Auto Complete can be used in input panels again
20 November 2019
- Improved Switch File behavior in conjunction with multiple tabs selected
- Fixed a 4053 regression where
draw_centeredwasn't rendering correctly - Fixed a 4053 regression where up and down arrows weren't working as expected in Goto Anything
- Fixed empty buffers not displaying Phantoms
- Fixed using the Command Palette to automatically prompt for missing command arguments not working correctly
- Linux: Fixed tearing in full screen when using OpenGL
19 November 2019
- Added Revert Diff Hunk
- Improved rendering performance on very long lines
- Expanded
draw_unicode_white_spacesetting - Fixed selection matching sometimes acting as if the find panel was open when it wasn't
- Fixed
open_project_or_workspaceopening blank windows when the workspace is already open - Auto Complete: Fixed Auto Complete incorrectly showing in widget controls
- Auto Complete: Re-added support for
tcharacters in .sublime-completion triggers - Auto Complete: Added fallback theme rules for older themes
- Auto Complete: Several minor behavior enhancements
- Windows: Fixed
subl --safe-modenot working as expected - Mac: Fixed an issue creating new windows when using the Adaptive theme in full screen mode
- Mac: Fixed two cases where ctrl+click wasn't showing the context menu on MacOS
- API: Added error reporting for invalid
.python-versionfiles - API: Fixed a backwards compatibility issue with
window.get_view_index() - API: Packages shipped with Sublime Text, such as
HTML, can now be imported by both 3.3 and 3.8 plugins
15 November 2019
- Auto Complete: Added
auto_complete_preserve_ordersetting - Auto Complete: Added
auto_complete_include_snippets_when_typingsetting - Auto Complete: Added
auto_complete_use_indexsetting - Auto Complete: Fixed trailing punctuation being incorrectly added to API suggestions
- Added back Expand Selection to Scope
- OpenGL: Added support for
selection_corner_style - OpenGL: Performance improvements
- OpenGL: Fixed a crash related to missing textures
- Fixed
trim_only_modified_white_spacenot working as expected when using Save As - Fixed a crash with syntax highlighting back tracking
- Fixed selecting past the last line in the Command Palette
- API: Fixed compatibility with decorated EventListener methods
- API: Simplified
CompletionIteminterface
14 November 2019
- Fixed annotation close buttons not showing on custom themes
- Fixed navigation to unsaved files via Find in Files not working correctly
- Mac: Fixed slow Goto Anything in conjunction with OpenGL rendering in some circumstances
- Mac: Fixed a touch bar related memory leak
- Linux: Fixed menu drawing on old versions of GTK3
- Various minor crash fixes
13 November 2019
- New
hardware_accelerationsetting will composite the UI on the GPU - By default, GPU rendering is enabled on Mac, and disabled on Windows and Linux
- Details about the active GPU will be displayed in the Console
- The auto complete engine now suggests completions based on patterns in existing code
- Uses the entire project as a source, instead of just the current view
- Plugins may specify symbol kind info to be displayed in suggestions list
- When multiple tabs are selected, their contents will be shown side-by-side
- Side-by-side view is also used when selecting multiple files in sidebar
- Goto Definition popup allows opening the definition using side-by-side view
- Added a Python 3.8 API environment for plugins
- Plugins can choose Python version via
.python-versionfile in plugin folder - Existing plugins are fully supported via legacy Python 3.3 API
- Many API improvements and additions - see API section for more details
- Build systems now use new annotations functionality instead of phantoms, reducing re-flow
- Caret blinking is disabled by default. Set
caret_stylesetting tosmoothfor previous behavior. - Find results are highlighted on the scroll bar
- Improved automatic indentation detection
trim_trailing_white_space_on_savenow trims only newly inserted trailing whitespace by default. Controlled viatrim_only_modified_white_spacesetting.- Expanded
draw_white_spacesetting, supporting leading and trailing white space - Unicode white space characters, such as the zero width no-break space, are now drawn as hex values. Controlled via
draw_unicode_white_spacesetting. - Fixed spelling correction to support languages with upper case characters after start of word
- Linux: Text drag and drop is now supported
- Linux: Added support for alternate font weight names
- Linux: Selection is no longer cleared when another application makes a selection
- Improved behavior of Wrap Paragraph
- Improved behavior of Swap Lines
- Added Selection/Expand Selection as a general mechanism to expand the selection
- Selection/Split into Lines will now split a selection into words if the selection doesn't contain any newlines
- Show a sum in the status bar when there are multiple selections and all of them are numbers
- Fixed
swap_line_downnot being able to swap an empty line onto the last line of a file - Fixed
sort_linesreplacing unicode newlines with regular ones
- Added
auto_complete_include_snippetssetting, for disabling auto complete integration - Added
ignored_snippetssetting, for disabling default snippets
- Goto Symbol in Project is now significantly faster on huge projects
- Icons are now shown next to symbols, indicating the symbol kind
- Symbols with 3 characters or less are now indexed
- Files ignored by
.gitignoreare not indexed by default. Controlled viaindex_exclude_gitignoresetting. - Files without known extensions are no longer indexed by default. Controlled via
index_skip_unknown_extensionssetting. - Improved behavior with constantly changing files
- Modifier key taps can now be used as part of a key binding. For example,
["ctrl", "ctrl"]will trigger when Ctrl is pressed twice without pressing any other keys in between. - Linux: AltGr can now be used in key bindings via
altgr - Linux: Added a workaround for a touchscreen driver bug, which would cause right click and mouse scrolling to stop working
- Linux: When the menu is hidden, pressing alt will show it
- Mac: Fix Pinyin input
- Mac: Keypad keys can now be bound to as expected
- Mac: Added key bindings for macOS application tabs
- Windows, Linux: Hide mouse cursor when typing. Controlled via
hide_pointer_while_typingsetting. - Windows, Linux: Fixed being unable to bind Ctrl+Break
- Saving files is now asynchronous
- When
save_on_focus_lostis enabled, closing an unsaved file will save and close it, instead of prompting to save - Improved behavior of
save_on_focus_lostin conjunction with administrator owned files - Added
reload_file_on_changesetting to control if files are automatically reloaded or not - Windows: Fixed Open Containing Folder for UNC paths
- Windows: Fixed Save dialog not showing for new files with control characters on the first line
- Windows: Fixed Ctrl+Backspace inserting a
DELcharacter when a dialog is open in the background - Linux: Fix recreated directories not working correctly with file change monitoring
- Added
highlight_gutterandhighlight_line_numbersettings - Added the ability to auto hide the menu, tabs, and status bar when typing. See
auto_hide_menuand related settings. - Window title bar can be controlled by
show_rel_pathandshow_project_firstsettings - Tab context menu now includes Close Unmodified Files and Close Deleted Files entries
- Themes now have a
styleproperty fortitle_barelement, for better integration with OS "dark modes" - Added
glowfont option to color schemes - Linux: Show sequential key bindings in the menu
- Linux: Fixed context menu position being slightly offset
- Windows, Linux: Added support for per-display subpixel ordering
- Mac: Improved window resize performance
- Windows: Fixed rendering bug where other applications could cause persistent artifacts via window animations
- Added Safe Mode, to simulate a clean install. Enabled by passing
--safe-modeon the command line. - Added options to
hot_exitsetting to control behavior when the last window is closed - Fixed a possible case where an update loses the current session
- Settings containing a UTF-8 BOM will no longer fail to load
- Added ability to "branch" within syntax definitions, for non-deterministic or multi-line constructs
- Many syntax highlighting improvements, including significant improvements to:
- Erlang, with thanks to deathaxe
- Fixed a performance issue with bounded repeats in regular expressions
- minihtml now handles
list-style-typeCSS property -circle,squareanddisc - Improved coverage of plugin profiling
- The cProfile module is now included on Linux
EventListenerhas many new features and bug fixeson_query_completions()can now- return suggestions asynchronously
- return command completions
- include symbol kind information
- New:
on_init()is called once with list of views opened before plugin was loaded - New:
on_exit()is called immediately beforeplugin_hostexits, after API is shut down - New:
on_text_changed()andon_text_changed_async()provide detailed modification info - New methods:
on_reload()on_revert()on_new_window()on_new_window_async()on_pre_close_window()on_pre_move()on_post_move()on_post_move_async()on_new_project()on_new_project_async()on_load_project()on_load_project_async()on_pre_save_project()on_post_save_project()on_post_save_project_async()on_pre_close_project()
- Fixed
on_selection_modified()to not be called twice when left clicking
View.add_regions()now has anannotationsparameter, to allow adding a per-region annotation to the buffer. Theexeccommand now uses this API for build errors.View.element()returns a string describing widget views (find input, quick panel input, etc)- Image filenames can be retrieved via
Sheet.file_name() - Syntax definitions can be queried via
sublime.list_syntaxes()andsublime.find_syntax() View.assign_syntax()now fully supports scope names, e.g."scope:source.c++"- Assigning a syntax no longer removes widget settings files from a widget view
- Added
Window.workspace_file_name() - Added
open_project_or_workspacecommand appendcommand has new, optionaldisable_tab_translationargument- Improvements to the API, applied to the new Python 3.8 environment only:
bool(sublime.Selection())will returnFalsewhenlen() == 0sublime.load_binary_resource()now returnsbytesinstead ofbytearray- Added
Selection.__iter__() - Added
Region.__iter__() - Added
Region.__contains__() Settingscan now be treated like adict- Plugins starting with
_will be ignored,__all__global will be respected - Events won't be reported until
plugin_loaded()has been called .pycfiles can now be imported when contained within.sublime-packagefiles, although they will not be scanned for plugins
- The
certifiPython package is preinstalled - Significant performance improvements when rapidly printing to the Console
- The following operating systems are no longer supported as a result of adding Python 3.8:
- OS X 10.7
- OS X 10.8
- Windows XP
- Windows Vista

https://download.sublimetext.com/sublime_text_build_4074.zip
https://download.sublimetext.com/sublime_text_build_4074_x32_setup.exe
https://download.sublimetext.com/sublime_text_build_4074_x64.zip
https://download.sublimetext.com/sublime_text_build_4074_x64_setup.exe
https://download.sublimetext.com/sublime_text_build_4074_x64.tar.xz
https://download.sublimetext.com/sublime-text_build-4074_amd64.deb
https://download.sublimetext.com/sublime_text_build_4074_mac.zip