Converted via https://domchristie.github.io/turndown
Sublime Text/Merge 中文 Telegram 交流群組: https://t.me/sublime_tw
ST 4 is currently under private alpha for power users to test and report issues to let the dev team make it polished before it gets publicly announced. It has been almost under alpha for 8 months already and it's actually kind of stable for daily use now. If you have a ST 3 license, you can join the offical ST Discord chat server to download and test it. And the most important thing, report issues you encoutered so ST 4 can become better. I hope people can interact with the dev team more so I don't directly put download links here but maybe you are smart enough to guess them :)
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 consistentlyGoto 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
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 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_only
andreplace_only
options 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 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
andtab_control
now get a tint of the sheet afterbackground_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 usesublime.ADD_TO_SELECTION
|sublime.SEMI_TRANSIENT
in place - API: Added the flag
sublime.SEMI_TRANSIENT
for use withwindow.open_file()
- API: Added the flag
sublime.REPLACE_MRU
for 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_EVENT
for use withwindow.show_quick_panel()
. This will pass an event dict to theon_select
callback. 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_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 from0.0
to1.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 forsheet_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
andsheet_contents
classes now synchronize theirhighlighted
andhover
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 thatListInputHandler
objects can provide kind info, annotations and details - API: Added color-based kind IDs for
ListInputItem
andQuickPanelItem
to allow plugins to provide semantic colors - API: Improved
sys.stdout
to 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_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
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
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
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_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
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()
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_PREFIX
in 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_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
andtext-align
- minihtml: Added support for
title
attribute tool tips - API: Added
sublime.SymbolRegion
andsublime.SymbolLocation
with corresponding methods onView
andWindow
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
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
istrue
- 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()
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
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 removedon_text_changed()
- API:
show_quick_panel
now accepts placeholder text, via theplaceholder
argument - 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:
CommandInputHandler
now 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_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)
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_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 acceptssublime.ADD_TO_SELECTION_SEMI_TRANSIENT
in addition tosublime.ADD_TO_SELECTION
as flags - API:
View.show()
now takeskeep_to_left
andanimate
parameters - API: Added
sublime.open_dialog
,sublime.save_dialog
andsublime.select_folder_dialog
- API:
Settings
objects can now be iterated over (3.8 only) - API:
View.text_point()
and related functions now accept aclamp_column
parameter - 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:
repr
now works as expected
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
andshow_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 thesublime.ADD_TO_SELECTION
flag - API:
Window.new_html_sheet()
no longer acceptscmd
andargs
parameters - 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-completion
files can now specifyannotation
,kind
anddetails
- API:
CompletionItem
now accepts adetails
parameter, 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_selector
now applies to the position before the just-typed in character, matchingauto_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
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()
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
subl
not 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_patterns
andfolder_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()
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
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"
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
cancelCompletions
being 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_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
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
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
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
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_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
- 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-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
- Build systems now use new annotations functionality instead of phantoms, reducing re-flow
- Caret blinking is disabled by default. Set
caret_style
setting tosmooth
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 viatrim_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
- 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
- Added
auto_complete_include_snippets
setting, for disabling auto complete integration - Added
ignored_snippets
setting, 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
.gitignore
are not indexed by default. Controlled viaindex_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
- 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
- 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
- Added
highlight_gutter
andhighlight_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
andshow_project_first
settings - Tab context menu now includes Close Unmodified Files and Close Deleted Files entries
- Themes now have a
style
property fortitle_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
- 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-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
- 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-type
CSS property -circle
,square
anddisc
- Improved coverage of plugin profiling
- The cProfile module is now included on Linux
EventListener
has 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_host
exits, 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 anannotations
parameter, to allow adding a per-region annotation to the buffer. Theexec
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()
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_workspace
command append
command has new, optionaldisable_tab_translation
argument- Improvements to the API, applied to the new Python 3.8 environment only:
bool(sublime.Selection())
will returnFalse
whenlen() == 0
sublime.load_binary_resource()
now returnsbytes
instead ofbytearray
- Added
Selection.__iter__()
- Added
Region.__iter__()
- Added
Region.__contains__()
Settings
can 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 .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
- 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