Converted via https://domchristie.github.io/turndown
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