Dev Builds

These are the in-progress versions of Sublime Text, and are updated more frequently. Feel free to use them, but keep in mind you will be running less tested code, and you'll be seeing many more update notification prompts. Issues can be posted on our public issue tracker.

Sublime Text dev builds are available to licensed users only.

Version: Build 4173

Changelog

Build 4173

27 Feb 2024
  • Fixed another deadlock issue when reloading plugins
  • Improved accuracy of scope selectors
  • Improved clarity of dragged tabs in mixed-dpi setups
  • Fixed dragged tabs not following mouse in mixed-dpi setups
  • Fixed syntax tests not running when files aren't utf-8 encoded

Build 4172

22 Feb 2024
  • Fixed plugins deadlocking
  • Fixed git repository details not always showing
  • Fixed a use-after-free when exiting

Build 4171

21 Feb 2024
  • Fixed a crash when auto-completing
  • Fixed whole app crashing when a plugin host crashes
  • Fixed crash when using goto-anything with an image open
  • API: All functions are now available at import time
  • API: Fixed backwards compatibility breakage with View.style_for_scope
  • API: Fixed a regression that caused an infinite loop

Build 4170

20 Feb 2024
  • Added enable toggle to indexing status dialog
  • Fixed leak of shared memory
  • Improved error handling for shared memory
  • Improved behavior of Expand Selection in Python docstrings
  • Full Screen is now restored when exiting Distraction Free Mode
  • Added goto_anything_file_preview setting
  • Added context menu for image tabs
  • Added File > Open file as Text/Image for explicitly opening a file as an image or as text
  • Added "image_file_patterns" for controlling which files are automatically opened as an image
  • The "menu" key now works in the side-bar
  • Reduced memory usage when editing large files
  • Fixed dragged tabs being blurry on high-dpi
  • Fixed off-by-one in the alignment of multiple selected tabs
  • Fixed fold markers not having background rendering
  • Fixed an issue with rulers displaying incorrectly while scrolling under OpenGL
  • Opening folder history in Sublime Merge now works recursively
  • Added syntax argument to run_syntax_tests command
  • Added error message for syntax tests that aren't utf-8 encoded
  • Theme: New unmodified files no longer have the "dirty" attribute
  • API: Optimized auto-completion
  • API: Calling functions at import time now raises a RuntimeError
  • API: Fixed ViewEventListener occasionally leaking
  • API: Fixed Settings.get not always returning the default value on failure
  • API: Fixed View.style_for_scope not always returning the right source_line
  • API: minihtml now supports white-space: pre and white-space: pre-wrap
  • Mac: Files moved to trash now have a "Put Back" option
  • Mac: Fixed issues related to dragging the edges of windows
  • Mac: Fixed security entitlements for plugins not applying properly
  • Windows, Linux: Allow numbers as menu mnemonics
  • Windows: Fixed custom top-level menu items not being themed

Build 4168

23 Nov 2023
  • Fixed a stack overflow when closing large amounts of files
  • Linux: Fixed a rare crash with the save dialog

Build 4167

22 Nov 2023
  • API: Fixed backwards compatibility breakage with Sheet.is_transient()

Build 4165

15 Nov 2023
  • Fixed regression with edit_settings command
  • API: Reverted changes to on_query_completions

Build 4164

8 Nov 2023
  • Fixed an issue where animations were causing excessive redraws
  • Fixed some symbols being omitted from index
  • Fixed crash when switching projects before index was initialized
  • Added "ruler_width" setting
  • Fixed color emoji blending with transparency
  • Fixed line-number alignment when using a variable-width font
  • Fixed run_syntax_tests command not running symbol tests
  • API: Removed delay when querying auto-complete during an ongoing query
  • API: sublime_plugin.ListInputHandler now supports initial_selection
  • Linux: Improved tracking of fullscreen state
  • Windows: Added CRLF handling for text drag an drop
  • Windows: Fixed wrong font extents causing glyphs to be cut off at the top
  • Windows: Fixed caret movement across phantoms when using fractional scaling
  • Mac: Implemented window cascading
  • Mac: Recent files are now cleared when "update_system_recent_files" is disabled

Build 4160

21 Oct 2023
  • Fixed an indexing crash with very long symbol names
  • Fixed an indexing race condition

Build 4159

20 Oct 2023
  • Fixed a crash regression in 4158
  • API: Fixed sublime.choose_font_dialog not working in python 3.3 environment

Build 4158

19 Oct 2023
  • Various syntax highlighting improvements
  • Find in files now truncates long lines according to the "find_in_files_context_characters" setting
  • Index collation is now done incrementally
  • Fixed auto-complete not suggesting tokens from the current line
  • Added Copy Path to Sidebar context menu
  • Fixed case where opening a file from Sublime Merge wouldn't jump to the right line
  • Choose font dialog now has the currently configured font initially selected
  • Fixed a number of crashes
  • API: Fixed instability related to overlapping API calls
  • API: Fixed ListInputHandler not selecting the first result when initial_text is provided
  • API: Fixed crash when an edit token is passed to the wrong view
  • Linux: Fixed some memory leaks related to fonts
  • Linux: Font chooser dialog now only shows font families

Build 4156

18 Sep 2023
  • Added Preferences > Font > Choose… for an easy way to select a font
  • Fixed a memory corruption bug related to block carets
  • API: Added sublime.choose_font_dialog
  • API: Added update_text option to sublime.encode_value
  • Linux: Fixed "ui_scale" setting not being applied to fonts correctly in some cases

Build 4155

24 Aug 2023
  • Improved behavior of Indent command on empty lines
  • Improved bookmark toggling
  • Fixed an auto-indent issue
  • Fixed an issue with find_under_expand when the find panel is focused
  • Fixed a number of crashes
  • Updated to OpenSSL 1.1.1v
  • API: Fixed expand_to_paragraph in paragraph.py incorrectly unpacking tuple

Build 4154

8 Aug 2023
  • Fixed a Goto Anything regression in 4153
  • Mac: Fixed crash in 4153 when closing a window while an animation is playing

Build 4153

8 Aug 2023
  • Fixed double clicking a find in file result sometimes scrolling to the wrong line in the file
  • Fixed minimap border not rendering
  • Added Mouse Bindings to the Preferences menu
  • Improved Join Lines behavior
  • Improved performance of "Definitions" popup
  • Fixed case conversions not taking all-caps into account
  • Fixed disabling "highlight_gutter" resulting in "highlight_line" begin disabled
  • Fixed some incorrect behavior when converting a multi-line selection to Title Case
  • Fixed Quick Switch Project… from the settings window closing the window
  • Fixed "move_to_limit_on_up_down" setting not working
  • Added current_result command
  • Shift+Enter now also hides the incremental find panel
  • Fixed macro recording in Vintage package not working
  • API: Allow case insensitive comments using TM_COMMENT_CASE_INSENSITIVE
  • API: Fixed some issues related to plugin initialization
  • Mac: Improved animation frame timing
  • Mac: Fixed Copy as HTML not working
  • Mac: Fixed subl not always finding the correct application bundle
  • Mac: Fixed "regex_auto_escape" not working

Build 4150

11 May 2023
  • Fixed regression where syntax highlighting could break
  • Fixed drag selecting columns not respecting line padding
  • Fixed soft warp regression

Build 4149

4 May 2023
  • Various syntax highlighting improvements
  • Find in Files now supports quoting paths
  • Fixed minimap viewport opacity attribute not being respected
  • Fixed edge case that could break syntax highlighting
  • Added "find_in_files_suppress_errors" and "find_in_files_context_lines" settings
  • Fixed "draw_centered" setting causing incorrect gutter rendering in some cases
  • Fixed scrolling by page not always including a full line of context
  • Fixed recent file list not being updated when quitting with hot exit disabled
  • Improved performance when drag selecting columns
  • Fixed find in selection skipping empty selections
  • Improved caret positioning when using text wrapping
  • Fixed column number in the status bar not updating upon changing tab width
  • Fixed empty scope selectors not matching correctly
  • Fixed high memory usage edge case in minihtml parsing
  • API: Added support for the "context" key in mousemaps
  • API: The open_file command now supports "transient", "force_group", "clear_to_right" and "force_clone" arguments
  • Linux: Files for printing are saved in ~/Downloads if possible to work around snap/flatpak limitations
  • Linux: User config and cache paths are now created at startup if not present
  • Mac: System setting "click in the scroll bar to" is now respected
  • Windows: Added alt+shift+p as default keybinding for Quick Switch Project
  • Windows: Fixed tooltips sometimes not being removed
  • Windows: Fixed select folder dialog not respecting the initial directory

Build 4148

14 Mar 2023
  • Various syntax highlighting improvements
  • Last tab in a group can now be selected with alt+9 (Windows/Linux) and cmd+9 (Mac)
  • Split View retains the original view's viewport position
  • The window title now indicates whether Sublime Text is running with administrator privileges
  • Improved indentation detection for files with many single space indents
  • Fixed first character beyond ASCII range not being decoded/encoded for short code pages
  • Find in Files no longer cancels ongoing search with a renamed buffer
  • Fixed regression where ./ wouldn't work in the "Where" field of find-in-files
  • Fixed find settings confusion when run immediately after find_under_expand
  • Fixed minimap viewport highlighting not working when color schemes specify a text background
  • Reopen Closed File now uses the window's file history by default rather than global history
  • Fixed annotations displaying incorrectly when "ui_scale" is set to something other than 1
  • Fixed issue where the command palette could consume key presses while not having input focus
  • Fixed syntax-based folding not working correctly with some indented code
  • Fixed backtracking bug where tokens were being dropped
  • Fixed some hangs caused by syntax backtracking
  • Fixed tabs of deleted files incorrectly showing as modified in some cases
  • Fixed word wrap wrapping early in some cases
  • API: Added Window.num_views_in_group
  • API: Fixed inconsistent focus after Window.open_file
  • Mac: Better support for running as root
  • Mac: Added workaround for Monterey bug causing scrolling to misbehave
  • Linux: Fixed incorrect mouse behavior at window edges
  • Linux, Mac: Attempt to find the license key for the user when using sudo

Build 4147

22 Dec 2022
  • Improved minimap viewport contrast with large amounts of visible text
  • Fixed issues related to windows file descriptors with python 3.3 plugins
  • Fixed crash regression with find-in-files when an invalid regex is used
  • Fixed regression with tab ordering
  • Fixed goto-symbol not showing inside empty groups
  • Fixed extra commands being included for macros in some situations
  • Fixed syntax definition negative symbol tests

Build 4146

15 Dec 2022
  • Fixed a crash when a lazy loaded syntax doesn't exist
  • Windows: Fixed a packaging error with the installers

Build 4145

14 Dec 2022
  • Added "fold_style" setting, making it easy to disable syntax-based code folding
  • Fixed search results not being ordered for Find in Files
  • Find in Files now supports tab multi-select modifier keys
  • Added "find_in_files_side_by_side" setting
  • Added "regex_auto_escape" setting
  • Fixed case where open file/folder dialogs didn't respect "default_dir" setting
  • Fixed files in side-bar not properly reflecting their git status
  • Fixed syntax highlighting performance issue due to backtracking
  • Fixed a performance regression in 4142 on color schemes with very complex selectors
  • Folded regions no longer include the trailing newline by default
  • Fixed selection jumping when clicking on a fold marker
  • API: Updated to Python 3.8.12 and OpenSSL 1.1.1s
  • API: The Python 3.3 plugin environment now uses the same OpenSSL as 3.8
  • API: Added sublime.project_history() function
  • API: Added sublime.folder_history() function
  • Windows: Fixed lockup that could occur when menus and popups interfere
  • Mac: Fixed extra window being created when ST is launched by opening a file from finder
  • Mac: Added security entitlements allowing plugins & build systems to request the camera and microphone

Build 4141

7 Nov 2022
  • Fixed scroll jumping when folded regions are at the start of lines
  • Fixed Replace regression in 4139
  • Windows: Fixed menu items sometimes having the wrong size
  • Mac: Fixed Window/New Tab not working with the Adaptive theme

Build 4140

1 Nov 2022
  • Various syntax highlighting improvements
  • Mac: Fixed cursor getting stuck as a resize handle on Ventura
  • Linux: Fixed a "ui_scale" regression in 4139

Build 4139

27 Oct 2022
  • Fixed folder drag & drop not working in the side bar
  • Fixed fold tag not rendering in some rare cases
  • Fixed case where text in command palette was incorrectly colored
  • Fixed scroll jumping when folding by level
  • Removed trailing comma in status bar when "show_line_column" is disabled
  • Fixed side bar button theming issue in the Default theme
  • Linux: Fixed external pastes being confused for internal ones
  • Mac: Recent files are now available without having a window open

Build 4138

17 Oct 2022
  • Added buffer variable to the console
  • Added "show_spelling_errors" and "show_line_column" settings
  • Sort Lines no longer includes the newline at EOF when nothing is selected
  • Fixed fold-by-level not always folding the correct regions
  • Fixed scope-based folding not always overriding indentation-based folding
  • Fixed sometimes not being able to type a space after completing a snippet
  • Fixed date format in about window
  • Linux: Fixed not being able to grab the scrollbar in a maximized window when at the right edge of the screen
  • Mac, Linux: Fixed crash that could occur at startup

Build 4137

23 Sep 2022
  • Linux: Fixed a copy + paste regression
  • Linux and Mac: Fixed zombie processes while indexing
  • Windows: Fixed installer not including sublime_plugin.py

Build 4136

15 Sep 2022
  • Improved rendering performance with large folded regions
  • Improved performance while open folders are scanned for the side-bar
  • Improved regex performance for syntax highlighting
  • Added "minimap_horizontal_scrolling" setting
  • Added "hot_exit_projects" setting to control what data gets saved in workspace files
  • Find-in-files now supports project-relative patterns starting with //
  • Fixed code folding performance regression
  • Fixed Reveal in Side Bar not working in some cases
  • Fixed crash when quick switching projects
  • Fixed sheets not being added to the current selection in some cases
  • API: Added Window.promote_sheet
  • Linux: Added safeguard around nested GTK main loops possibly causing data loss
  • Linux: Fixed case where dragging a tab to a window wasn't working
  • Mac: Fixed license being removed due to MAC address changing
  • Mac: Fixed case when opening an already open file would jump to the start
  • Mac: Fixed scrolling when command modifier key is pressed
  • Windows: Open Containing Folder and similar now respect file explorer replacements
  • Windows: Fixed GDI font glow glyph positioning
  • Windows: Adjusted for the new Windows 11 window border

Build 4134

27 May 2022
  • Various syntax highlighting improvements
  • Built-in syntax definitions now have specialized scope-based folding rules instead of using generic ones
  • Scope-based folding regions starting with a newline token now include the newline itself
  • Added option for scope-based folding to exclude trailing newlines in fold regions
  • Fixed regression in fold-by-level behavior
  • A noop command can now be used for keybindings to block default behavior
  • Added the find_in_files_max_file_size setting
  • Added the ruler_style setting
  • Fixed single-line comment toggling regression when syntax has no line comments
  • Fixed HTML sheet styling regression
  • Fixed rendering performance issue in files with large diffs
  • API: Fixed crash when running hide_panel command from EventListener.on_deactivated
  • API: Fixed view.expand_to_scope stopping at phantoms
  • Mac: Fixed various issues with the quick switch project dialog
  • Mac: Fixed issue where dialogs could be triggered during dialogs

Build 4131

25 March 2022
  • Generic fold scopes have now been configured
  • Fixed successive fold calls not working in some cases
  • Fixed gitignore toggle for find-in-files not being respected
  • API: View.expand_to_scope now returns None when the text point doesn't match the selector
  • API: Fixed regression in Selection.subtract

Build 4130

23 March 2022
  • Added syntax-based code folding
  • Find patterns taken from an open file are now escaped for regex searches
  • Find-in-files now works in parallel
  • Reworked comment toggling to better handle embedded languages
  • Fixed various comment toggling edge cases
  • Added setting "goto_anything_exclude_gitignore"
  • Various syntax definition updates
  • Newly rewritten Haskell syntax highlighting thanks to deathaxe
  • Sub-word separators are now configurable using the "sub_word_separators" setting
  • Fixed centered views jumping in some cases when whole content is replaced
  • Added missing theming attributes to update dialog
  • Fixed wrong default extension being used in open file dialog
  • Fixed additional window getting created at startup with hot exit disabled
  • Syntax Highlighting: Context backtraces now show files names for tmLanguage-based syntaxes
  • Syntax Highlighting: Fixed various syntax highlighting bugs related to backtracking
  • API: The toggle_comment command can now take a variant argument for languages with multiple comment variants
  • API: Added View.expand_to_scope
  • Mac: Added work around for broken modal loops

Build 4129

24 February 2022
  • Fixed a selection rendering regression in 4128

Build 4128

22 February 2022
  • Added commands for converting between common identifier cases (See Edit > Convert Case)
  • Added support for Nordic (Windows 865) encoding
  • Fixed various issues with faded labels in the sidebar
  • Fixed scroll bar sometimes showing when text is wrapped
  • Reopening a file now asks for confirmation when there are unsaved changes
  • Fixed source mapping for inheritance in syntax backtraces
  • Mac: Fixed open file dialog crash with some syntaxes
  • Mac: Fixed case where settings window couldn't be closed
  • Linux: Fixed crash on startup for some desktop environments

Build 4127

11 February 2022
  • The recent file list is now global instead of per window
  • Files opened in Sublime Text are now added to the system recent file list (see the "update_system_recent_files" setting)
  • Improved filesystem symlink detection
  • Fixed changes to very large unsaved files being lost on hot exit; a prompt is now shown to save them
  • Drag operations are no longer interrupted when reloading a file
  • Fixed regression in expand_selection_to_paragraph command behavior
  • Fine tuned binary file detection for find-in-files
  • Fixed text annotation underlines not drawing when combined with other font styles
  • Fixed region rendering edge case
  • Fixed case where multiple reload prompts could show simultaneously
  • Added "open_tabs_after_current" setting for controlling where tabs are opened
  • Fixed shadow related OpenGL rendering bug
  • Fixed OpenGL rendering issue related to the wrong context being active
  • Fixed dragging rows in side-bar not scrolling
  • Syntax Highlighting: Context backtraces now link to their origin in sublime-syntax files
  • Syntax Highlighting: Fixed crash caused by starting a branch point at the end of a line
  • API: View.context_backtrace now returns a list of ContextStackFrame with source file and location data
  • API: "encoded_position": true may be passed to open_file command for the same behavior as sublime.ENCODED_POSITION
  • Linux: Follow system scroll bar overlay setting
  • Linux: Fix various issues caused by the C locale

Build 4125

17 December 2021
  • Improved OpenGL rendering performance by automatically batching together controls
  • Fixed crash when loading invalid grid layout from session
  • Fixed spell checker incorrectly marking some words as correct if they can't be encoded
  • Fixed various edge cases related to phantoms
  • Fixed rendering order of successive popups

Build 4124

9 December 2021
  • Added GB18030 and CP862 to status bar encoding menu
  • Made "find_in_files_max_result_size" not apply when replacing
  • Fixed text phantom rendering regression
  • Fixed phantom-related crash

Build 4123

6 December 2021
  • Added support for Chinese standard GB18030 encoding
  • Binary files now show as "Binary" syntax instead of "Plain Text" in the status bar
  • Resolved various issues tracking symlinks in the side-bar
  • Avoid session data corruption if a crash happens while saving the session
  • Syntax Highlighting: Fixed backtracking breaking when creating phantoms or doing a context backtrace
  • Syntax Highlighting: Fixed regression with some syntax definitions introduced in 4115
  • Fixes package subfolders sometimes not being loaded when matching the "ignored_packages" setting
  • Fixed wildcards incorrectly matching subpaths (For settings like "folder_exclude_patterns")
  • Fixed layout instability in side bar causing things to occasionally be rendered 1 pixel off
  • Added some missing glyphs to "draw_unicode_white_space": "all"
  • Linux: Added missing libcurl dependency for package managers
  • Linux: Fixed GTK overriding LC_NUMERIC breaking serialization
  • Mac: Aliases are now resolved when using drag and drop
  • Mac: Fixed window sometimes being restored on startup when "create_window_at_startup" is disabled
  • API: The show_panel command for the find and find in files panels can now take "pattern" and "replace_pattern" arguments

Build 4122

3 November 2021
  • Added support for CP862 file encoding
  • subl -n will reuse an existing empty window if the application isn't running
  • Added "draw_unicode_bidi" setting for drawing unicode bidi characters
  • Added "select_across_groups" setting for opting into the old side bar selection behavior when selecting a single file
  • Fixed "close_windows_when_empty" setting not working
  • Fixed goto-definition preview not closing on escape
  • Fixed quick panel closing on enter when there are no matching entries
  • API: ListInputHandler.preview is now called with None when no items match the current filter
  • API: Fixed case where Window.project_data() could return an invalid value
  • Windows: Fixed command line not taking focus after closing a waited on file
  • Windows: Fixed crash when OpenGL initialization fails
  • Mac: Fixed native tabs restoration resulting in odd behavior
  • Mac: Fixed subl -b not working
  • Mac: Fixed terminal not being focused after waiting on file
  • Mac: Fixed Window > Merge All Windows merging minimized windows
  • Mac: Fixed various inconsistencies when opening files from finder

Build 4120

25 October 2021
  • Fixed crash related to syntax backtracking and phantoms
  • Fixed text drag and drop regression

Build 4119

22 October 2021
  • Fixed wrong line numbers in some cases when code folding is being used
  • Mac: Fixed open files not being restored when hot_exit is disables
  • Mac: Tweak text drag-drop behavior to respect NSDragAndDropTextDelay

Build 4118

15 October 2021
  • Fixed sequential key binding regression in 4117

Build 4117

13 October 2021
  • Use goto-symbol to jump to specific files in find results
  • Improve color scheme/theme selection UI
  • File-specific indentation settings are now persisted across restarts
  • Fix extra blank window being opened at startup in some cases
  • Fix not properly exiting after a prompt when hot_exit is disabled
  • Add Selection > Expand Selection to Block which has the same behavior as Expand Selection to Paragraph had previously
  • Fix goto-anything and quick-panels closing when window loses focus
  • Fix focus lost when selected group is closed whilst reducing the number of groups
  • Various improvements to behavior of moving sheets during window layout changes
  • Fix some edge cases related to "find_in_files_max_result_size"
  • Fix regression where line numbers were not being calculated properly when folding
  • API: Fix View.show and View.show_at_center not working from on_load callback in some cases
  • Mac: Fix incorrectly reporting successful key event when no command was found
  • Windows: Fix stdout/stderr output data race when building
  • Windows: Fix hang on modal dialogs when context menu is open

Build 4116

29 September 2021
  • Fix download button in update dialog being clickable when disabled
  • Hide Sublime Merge menu items when "sublime_merge_path" is set to null
  • Mac: Fix windows not restoring properly with multi-monitor setups
  • Mac: Fix window layout issue with native tabs when exiting full screen
  • Linux: Fix race condition with multiple simultaneous command line invocations

Build 4115

24 September 2021
  • Fix line highlighting applying to all widgets
  • Fix caret position regression when drag-selecting text
  • Fix syntax highlighting backtracking-related performance problem
  • Improve mini-diff rendering performance under OpenGL
  • Improve performance when reading large files from stdin
  • Undo stack is now cleared when reading from stdin
  • Fix performance regression under Windows with non-integer DPI scaling
  • Fix current transient sheet unexpectedly closing when using goto-anything
  • Fix completions in input panel not utilizing available window space
  • Fix expand selection to tag not working in XML
  • Fix being unable to open more than one new empty window
  • Mac: The setting "use_find_clipboard" can be used to disable global find clipboard integration
  • Mac: Fix double click not working at the top of a window when in full screen with a custom title bar

Build 4114

3 September 2021
  • New update dialog that shows versions, license status and links to the changelog
  • Various syntax highlighting improvements
  • Right-delete now respects use_tab_stops setting
  • Improved hardware acceleration performance when rendering white space
  • Added find_scroll_highlights_limit, find_highlight_matches_max_size and find_regex_highlight_matches_max_size settings to allow configuring find limits
  • Added newline detection and normalization when changing settings programmatically
  • Layout is not longer remembered when "hot_exit" is disabled. You can change this using the remember_layout setting
  • Fixed tab selection stack not being updated as expected in some cases
  • Fixed transient sheets persisting when exiting goto-anything
  • Fixed save_on_focus_lost not working as expected with the reload dialog
  • Fixed snippet completions not respecting word boundaries
  • Fixed open files not being added to recent file list when hot exit is disabled
  • Fixed wrong path sometimes being used when viewing file history in Sublime Merge
  • Fixed window unexpectedly closing when project has no added folders and close_windows_when_empty is true
  • open_files_in_new_window is now respected when reading from stdin
  • Fixed regex replace not working on last occurrence when using look-behind
  • Fixed plugin popups sometimes having the wrong placement
  • Fixed plugins not loading when a .python-version file is in the User package
  • Fixed squiggle underline width not scaling properly
  • Fixed line highlighting not working when gutter is disabled
  • Fixed case where folders were being added to existing windows instead of opening in a new window
  • Linux: Make selection after middle-click paste consistent with other applications
  • Linux: Fixed custom title bar label color for some GTK themes
  • Windows: Fixed a case where session could be lost when upgrading
  • Windows: Fixed alternate data streams being deleted on save
  • Windows: Fixed slow window creation when using OpenGL
  • Windows: Fixed incorrect case being used when opening files from find-in-files with gitignore enabled
  • Mac: Fixed title bar text not fading when out of focus
  • Mac: Fixed reading stdin not working when no windows are open
  • API: Added Buffer.clear_undo_stack()
  • API: Fixed View.show and View.show_at_center not working from on_load callback

Build 4112

13 July 2021
  • Windows: Fixed a rendering quality regression in 4111

Build 4111

12 July 2021
  • Fixed an infinite loop that could occur during syntax highlighting

Build 4110

5 July 2021
  • Further OpenGL rendering performance improvements
  • Added syntax_detection_size_limit setting for controlling when syntax detection is skipped
  • Preserve Case now works with unicode characters
  • Middle clicking in the Open Files section of then sidebar will close the clicked on file
  • Fixed scenario where folders weren't being watched for changes
  • Fixed underlines being drawn behind line highlight
  • Mac: Fixed glyph rendering regression
  • Linux: Fixed letters sometimes being cut off

Build 4109

22 June 2021
  • Various syntax highlighting improvements
  • Syntax and indentation detection is now done when editing stdin
  • Fixed Ruby syntax highlighting in the Monokai color scheme
  • Fix Sublime Text opening stdin on Windows and Linux when not desired
  • Windows: Fixed always opening files in new windows

Build 4108

21 June 2021
  • Improved performance when editing large files
  • Improved OpenGL rendering performance
  • Improved handling of deleted files
  • subl can now be used to edit stdin, eg: echo test | subl | cat
  • Theme: Improved scroll puck visibility
  • Theme: Fixed adaptive theme not respecting themed_title_bar setting with light color schemes
  • Added reveal_menu setting for disabling revealing the menu when alt is pressed on Linux and Windows
  • Fixed the append command's scroll_to_end parameter sometimes not working
  • Safe Mode key binding can be disabled by creating a file named .Disable Safe Mode Shortcut in the data directory
  • Fixed Goto Symbol sometimes being scrolled incorrectly
  • Fixed multi-select file limit applying to sidebar
  • Fixed auto-complete related hang in some large files
  • Linux: Fixed print sometimes not working
  • Linux: Fixed wrong order of yes/no buttons in GTK dialogs
  • Windows: Always make a new window when launching main executable on Windows
  • Windows: Fixed window icon not scaling properly on Windows
  • Windows: Fixed globs not being expanded in some cases on Windows
  • Mac: Fixed auto theme not changing with OS auto theme on macOS

Build 4106

19 May 2021
  • Preparation for public release

Build 4105

10 May 2021
  • Linux, Mac: Caches have been moved to their proper location (~/.cache and ~/Library/Caches respectively)
  • Windows: Fixed an auto complete crash when auto_hide_menu is enabled
  • Windows: Fix memory leak

Build 4104

3 May 2021
  • Fix crash with chain command
  • Fix regressions with Goto Anything in 4103
  • Windows: Fixed an OpenGL regression in 4103

Build 4103

30 April 2021
  • Further performance improvements for Goto Anything
  • Added Scroll Bar.sublime-mousemap to customize scrollbar interaction
  • Added the chain command, 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 Bug" entry in the Help menu
  • "open_files_in_new_window" is 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_menu" with adaptive theme
  • Windows: Fix multiple application instances launching using "Open with Sublime Text"
  • API: Add missing sublime.selected_sheets() method for Python 3.3

Build 4102

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

Build 4101

6 April 2021
  • Windows: Fixed missing manifest

Build 4100

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/cmd modifier 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 shift modifier 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+enter key 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 alt or super
  • Various syntax definition updates
  • API: added Sheet.group()
  • API: added sublime.CLEAR_TO_RIGHT for use with Window.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.name is now derived from the path if not present

Build 4099

15 March 2021
  • Auto Complete: added the auto_complete_when_likely setting
  • Auto Complete: when mini_auto_complete is 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_file now preserves the current tab multi-selection
  • delete_file now properly closes associated tabs
  • swap_line_down will no longer result in an invalid selection
  • Trimming modified white space works properly in more edge cases
  • trim_trailing_white_space_on_save set to not_on_caret will 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_all is 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_row for the file with input focus now gets the attribute highlighted
  • 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() and yes_no_cancel_dialog now accept an optional title parameter
  • 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 br tags and at the beginning of li tags
  • API: minihtml now supports white-space: nowrap
  • API: Updated Python to 3.8.8 and OpenSSL to 1.1.1j

Build 4098

12 February 2021
  • Windows will remember their Virtual Desktop/Space/Workspace, controlled by the remember_workspace setting
  • Tab Multi-Select: added commands to change tab focus left and right
  • Tab Multi-Select: improved Selection > Tab Selection menu
  • 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 Bar now works consistently
  • Goto Symbol in Project now properly behaves with the Ctrl/Cmd modifier
  • Fixed the tree_animation_enabled setting 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_keys to event dicts when commands are invoked via a menu
  • API: Tooltips from minihtml title attributes 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

Build 4097

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+J is now used as a prefix for sequential key bindings, similar to Ctrl+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_only" and "replace_only" options to "auto_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

Build 4096

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 Scheme now supports in .tmTheme files
  • 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_tabs with square and rounded tabs
  • Themes: Fix background color of Adaptive theme tabset when a sheet has a color scheme override
  • Themes: tabset_control and tab_control now get a tint of the sheet after background_modifier is 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_TRANSIENT was removed, should use sublime.ADD_TO_SELECTION | sublime.SEMI_TRANSIENT in place
  • API: Added the flag sublime.SEMI_TRANSIENT for use with Window.open_file()
  • API: Added the flag sublime.REPLACE_MRU for use with Window.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_EVENT for use with Window.show_quick_panel(). This will pass an event dict to the on_select callback. The dict will contain the key modifier_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 key modifier_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()

Build 4095

22 January 2021
  • Changed file tab style, adding file_tab_style setting
  • 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_button setting
  • 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_file command now handles filenames with compound extensions
  • The scroll_past_end setting now supports customizing the scroll distance using numbers from 0.0 to 1.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-tmTheme files are now supported by the .sublime-color-scheme convertor
  • Themes: Included themes use variables extensively, making customization simpler
  • Themes: The settings key now supports objects, with keys being settings and values being a boolean, string or array of strings
  • Themes: Added sheet_contents class to text, image and HTML sheets
  • Themes: Added the background_modifier property for sheet_contents
  • Themes: Added a number of new attributes to tab_control for richer tab theming
  • Themes: The highlighted attribute is only applied to the most recently active sheet, rather that the most recently active sheet in each group
  • Themes: tab_control and sheet_contents classes now synchronize their highlighted and hover attributes
  • Themes: tooltip controls 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 ListInputItem so that ListInputHandler objects can provide kind info, annotations and details
  • API: Added color-based kind IDs for ListInputItem and QuickPanelItem to allow plugins to provide semantic colors
  • API: Improved sys.stdout to extend io.TextIOBase
  • API: Fix a bug with popup being stuck open when a popup is shown in the hide event handler of another popup

Build 4094

30 November 2020
  • Added additional menu items to the command palette
  • Auto save is now asynchronous
  • Added themed_title_bar setting
  • Added control_character_style setting
  • Copy as HTML will 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-commands files now support filtering commands via the "platform" key

Build 4093

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 subl not bringing the running application to the foreground

Build 4092

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_style preference
  • Added close_find_after_find_all preference
  • Added close_find_after_replace_all preference
  • 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

Build 4090

21 October 2020
  • Fixed a selection rendering regression

Build 4089

20 October 2020
  • Fixed a selection rendering regression in 4088
  • Fixed a Goto Anything regression in 4088
  • Indexing: index_workers is 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

Build 4088

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 (Cmd on 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()

Build 4087

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

Build 4086

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_PREFIX in conjunction with sublime.DYNAMIC_COMPLETIONS

Build 4085

4 September 2020
  • Definitions hover popup shows more information about symbols
  • Goto Symbol shows more information about symbols
  • trim_trailing_white_space_on_save can now be set to "not_on_caret"
  • Improved behavior of scroll_context_lines in conjunction with mouse selection
  • Fixed rendering of large ligature symbols
  • minihtml: Added support for display: inline-block and text-align
  • minihtml: Added support for title attribute tool tips
  • API: Added sublime.SymbolRegion and sublime.SymbolLocation with corresponding methods on View and Window

Build 4084

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.py will no longer fail, however these plugins must still be moved to 3.8 to work as expected

Build 4083

19 August 2020
  • Improved Jump Back and Jump Forward commands
  • Added advanced options to the draw_white_space setting
  • Auto Complete: no longer triggers at . or -> when there is an identifier to the right
  • Auto Complete: auto_complete_trailing_symbols is now disabled by default
  • Auto Complete: cancelCompletion will 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_lost is true
  • 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_record command
  • API: plugins may suppress selections from the Jump Back history list via the jump_ignore_selection region
  • API: plugins may now disable the default HTML and CSS completions
  • API: Renamed TextChangeListener.remove() to TextChangeListener.detach()
  • API: Fixed a crash with TextChangeListener
  • API: Added Buffer.id() and Buffer.file_name()
  • API: Added View.sheet() and View.sheet_id()
  • API: Added Window.selected_sheets(), Window.selected_sheets_in_group() and Window.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

Build 4081

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 subl behavior when choosing which window to open a file in
  • Improved undo history serialization performance
  • Added highlight_find_results_in_scrollbar setting
  • set_file_type command now accepts "scope:" prefixed syntax names
  • Fixed white flashes that could occur in some circumstances
  • API: Added sublime.TextChangeListener, replacing the now removed on_text_changed()
  • API: show_quick_panel now accepts placeholder text, via the placeholder argument
  • API: Added sublime.syntax_from_path(), sublime.find_syntax_by_name(), sublime.find_syntax_by_scope(), and sublime.find_syntax_for_file()
  • API: Removed sublime.find_syntax()
  • API: Added View.clones()
  • API: Added Sheet.is_semi_transient() and Sheet.is_transient
  • API: CommandInputHandler now has an initial_selection() method
  • API: sublime.executable_path(), sublime.packages_path(), sublime.installed_packages_path() and sublime.cache_path() may now be called at import time
  • Windows: added setting to disable vsync

Build 4079

17 July 2020
  • Fixed a crash regression in 4078
  • Mac: Fix Adaptive theme title bar color regression in 4078

Build 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_left is 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)

Build 4077

11 July 2020
  • Fixed a crash in 4075 that could occur when closing the preferences window

Build 4076

10 July 2020
  • Fixed a crash regression in 4075 with missing embeds

Build 4075

10 July 2020
  • Added out of the box support for TypeScript and JSX, with thanks to Thomas Smith
  • 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_click setting to support only previewing files on left click
  • Added selection_description_column_type setting to control how the column in the status bar is calculated
  • Added close_deleted_files setting to control behavior of session restoration when files have been deleted on disk
  • Added show_tab_close_buttons_on_left setting
  • 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_shadows setting
  • 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: TextChange objects now include the number of UTF16 and UTF8 code units
  • API: Window.open_file now accepts sublime.ADD_TO_SELECTION_SEMI_TRANSIENT in addition to sublime.ADD_TO_SELECTION as flags
  • API: View.show() now takes keep_to_left and animate parameters
  • API: Added sublime.open_dialog, sublime.save_dialog and sublime.select_folder_dialog
  • API: Settings objects can now be iterated over (3.8 only)
  • API: View.text_point() and related functions now accept a clamp_column parameter
  • API: Ensure on_text_changed() is called before on_query_completions() when sublime.DYNAMIC_COMPLETIONS has been specified
  • API: Region.__hash__ and Phantom.__hash__ have been replaced with to_tuple
  • API: repr now works as expected

Build 4074

28 April 2020
  • Auto Complete: Ranking quality improvements
  • Auto Complete: Added auto_complete_use_history setting to control if previous choices are automatically selected
  • Added additional settings to control the status bar: show_sidebar_button, show_indentation and show_syntax
  • Added relative line numbers, controlled by the relative_line_numbers setting
  • Color Schemes: Added support for the underline font 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 the sublime.ADD_TO_SELECTION flag
  • API: Window.new_html_sheet() no longer accepts cmd and args parameters
  • API: Fixed a regression in View.split_by_newlines()

Build 4073

8 April 2020
  • Reworked Auto Complete UI
  • Fixed a Find in Files crash regression in 4072
  • Improved layout preservation when programmatically editing preferences
  • .sublime-completion files can now specify annotation, kind and details
  • API: CompletionItem now accepts a details parameter, which can include basic HTML
  • API: minihtml now processes subl: links, running them as commands

Build 4072

8 April 2020
  • Find in Files can now filter by .gitignore
  • Fixed a path wildcard matching regression in 4070
  • Auto Complete: auto_complete_selector now applies to the position before the just-typed in character, matching auto_complete_triggers
  • Linux: Added Ctrl+Space to trigger Auto Complete
  • Linux, Windows: Added Alt+Shift+Left Mouse Button as 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

Build 4070

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/Spelling are now available on Mac
  • Fixed ignored_packages setting 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() and View.text_point_utf16() not working as expected

Build 4069

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() and View.text_point_utf16()
  • API: sublime.HistoricPosition now supplies utf8 and utf16 offsets
  • API: More detailed output when using sublime.log_control_tree()

Build 4068

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 subl not making Sublime Text the foreground window
  • Windows: Fixed a crash that could occur on startup

Build 4067

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_patterns and folder_include_patterns now 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()

Build 4065

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

Build 4064

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

Build 4063

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 revert on non-selected tabs not keeping the scroll position
  • Auto Complete: AC won't be triggered when replacing selected text
  • Fixed revert_hunk not 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" to view.style_for_scope()
  • API: Fixed newly created views not having a valid viewport before being returned to the API

Build 4062

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

Build 4061

11 December 2019
  • Auto Complete: Fixed cancelCompletions being ignored
  • Auto Complete: Fixed inserting a newline character not hiding the AC dialog

Build 4060

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

Build 4059

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

Build 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

Build 4057

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 to View.show_popup()

Build 4056

26 November 2019
  • Fixed a crash in 4055

Build 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_complete command 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

Build 4054

20 November 2019
  • Improved Switch File behavior in conjunction with multiple tabs selected
  • Fixed a 4053 regression where draw_centered wasn'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

Build 4053

19 November 2019
  • Added Revert Diff Hunk
  • Improved rendering performance on very long lines
  • Expanded draw_unicode_white_space setting
  • Fixed selection matching sometimes acting as if the find panel was open when it wasn't
  • Fixed open_project_or_workspace opening blank windows when the workspace is already open
  • Auto Complete: Fixed Auto Complete incorrectly showing in widget controls
  • Auto Complete: Re-added support for \t characters in .sublime-completion triggers
  • Auto Complete: Added fallback theme rules for older themes
  • Auto Complete: Several minor behavior enhancements
  • Windows: Fixed subl --safe-mode not 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-version files
  • 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

Build 4052

15 November 2019
  • Auto Complete: Added auto_complete_preserve_order setting
  • Auto Complete: Added auto_complete_include_snippets_when_typing setting
  • Auto Complete: Added auto_complete_use_index setting
  • 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_space not 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 CompletionItem interface

Build 4051

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

Build 4050

13 November 2019

GPU Rendering

  • New hardware_acceleration setting 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

Context-aware Auto Complete

  • 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

Tab Multi Select

  • 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

Python 3.8 API

  • Added a Python 3.8 API environment for plugins
  • Plugins can choose Python version via .python-version file 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

Editor Control

  • Build systems now use new annotations functionality instead of phantoms, reducing re-flow
  • Caret blinking is disabled by default. Set caret_style setting to smooth for previous behavior.
  • Find results are highlighted on the scroll bar
  • Improved automatic indentation detection
  • trim_trailing_white_space_on_save now trims only newly inserted trailing whitespace by default. Controlled via trim_only_modified_white_space setting.
  • Expanded draw_white_space setting, 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_space setting.
  • 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

Text Commands

  • 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_down not being able to swap an empty line onto the last line of a file
  • Fixed sort_lines replacing unicode newlines with regular ones

Snippets

  • Added auto_complete_include_snippets setting, for disabling auto complete integration
  • Added ignored_snippets setting, for disabling default snippets

Goto Symbol

  • 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

Indexing (Goto Definition)

  • Files ignored by .gitignore are not indexed by default. Controlled via index_exclude_gitignore setting.
  • Files without known extensions are no longer indexed by default. Controlled via index_skip_unknown_extensions setting.
  • Improved behavior with constantly changing files

Input Handling

  • 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_typing setting.
  • Windows, Linux: Fixed being unable to bind Ctrl+Break

Files and Folders

  • Saving files is now asynchronous
  • When save_on_focus_lost is enabled, closing an unsaved file will save and close it, instead of prompting to save
  • Improved behavior of save_on_focus_lost in conjunction with administrator owned files
  • Added reload_file_on_change setting 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 DEL character when a dialog is open in the background
  • Linux: Fix recreated directories not working correctly with file change monitoring

UI

  • Added highlight_gutter and highlight_line_number settings
  • Added the ability to auto hide the menu, tabs, and status bar when typing. See auto_hide_menu and related settings.
  • Window title bar can be controlled by show_rel_path and show_project_first settings
  • Tab context menu now includes Close Unmodified Files and Close Deleted Files entries
  • Themes now have a style property for title_bar element, for better integration with OS "dark modes"
  • Added glow font option to color schemes
  • Linux: Show sequential key bindings in the menu
  • Linux: Fixed context menu position being slightly offset

Rendering

  • 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

Application Behavior

  • Added Safe Mode, to simulate a clean install. Enabled by passing --safe-mode on the command line.
  • Added options to hot_exit setting 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

Syntax Definitions

  • Added ability to "branch" within syntax definitions, for non-deterministic or multi-line constructs
  • Many syntax highlighting improvements, including significant improvements to:
  • Fixed a performance issue with bounded repeats in regular expressions

API

  • minihtml now handles list-style-type CSS property - circle, square and disc
  • Improved coverage of plugin profiling
  • The cProfile module is now included on Linux
  • EventListener has many new features and bug fixes
    • on_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 before plugin_host exits, after API is shut down
    • New: on_text_changed() and on_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 an annotations parameter, to allow adding a per-region annotation to the buffer. The exec command 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() and sublime.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_workspace command
  • append command has new, optional disable_tab_translation argument
  • Improvements to the API, applied to the new Python 3.8 environment only:
    • bool(sublime.Selection()) will return False when len() == 0
    • sublime.load_binary_resource() now returns bytes instead of bytearray
    • Added Selection.__iter__()
    • Added Region.__iter__()
    • Added Region.__contains__()
    • Settings can now be treated like a dict
    • Plugins starting with _ will be ignored, __all__ global will be respected
    • Events won't be reported until plugin_loaded() has been called
    • .pyc files can now be imported when contained within .sublime-package files, although they will not be scanned for plugins
  • The certifi Python package is preinstalled
  • Significant performance improvements when rapidly printing to the Console

OS Compatibility

  • 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