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_clicksetting to support only previewing files on left click - Added
selection_description_column_typesetting to control how the column in the status bar is calculated - Added
close_deleted_filessetting to control behavior of session restoration when files have been deleted on disk - Added
show_tab_close_buttons_on_leftsetting - Added Central European (Mac) encoding support
- Macros now record Find commands
- Added support for stippled_underline and squiggly_underline in color schemes
- Fixed several OpenGL related rendering issues
- Fixed white flashes in text views
- Fixed over/underscroll not providing any context
- Fixed annotations being oversized without overlay scrollbars
- Fixed phantoms sometimes leaking
- A cold exit will now update the recently opened files list
- Improve file deletion when there is no trash folder
- Session is now saved when application is notified of system shutdown
- Syntax Definitions: "extends" keyword in .sublime-syntax
- Syntax Definitions: "version: 2" in .sublime-syntax to fix edge cases while retaining backwards compatibility
- Syntax Definitions: lazy loading of external "embed" actions
- Syntax Definitions: reduced cache size on disk
- Syntax Definitions: prevent infinite include loops via with_prototype
- Syntax Definitions: improved matching performance and memory usage
- Syntax Definitions: "hidden_extensions" in .sublime-syntax
- Syntax Definitions: allow combining "pop" with "push"/"set"/"embed"/"branch"
- Syntax Definitions: fixed a number of scope related bugs
- Syntax Definitions: fixed some regex capture related bugs
- Windows: Added drop shadows to popup windows. These can be disabled via the
popup_shadowssetting - Windows: Added support for color emoji
- Windows: Various IME improvements
- Windows: Safe Mode is now activated via shift+alt
- Mac: Improved key translation fallback for non-pure-ascii keyboards
- Mac: Fix single instance id not taking into account the current user
- minihtml: Improved support for HTML entities
- minihtml: Added support for self-closed tags
- API: Updated Python to 3.8.3, and OpenSSL to 1.1.1g
- API:
TextChangeobjects now include the number of UTF16 and UTF8 code units - API:
Window.open_filenow acceptssublime.ADD_TO_SELECTION_SEMI_TRANSIENTin addition tosublime.ADD_TO_SELECTIONas flags - API:
View.show()now takeskeep_to_leftandanimateparameters - API: Added
sublime.open_dialog,sublime.save_dialogandsublime.select_folder_dialog - API:
Settingsobjects can now be iterated over (3.8 only) - API:
View.text_point()and related functions now accept aclamp_columnparameter - API: Ensure on_text_changed() is called before on_query_completions() when sublime.DYNAMIC_COMPLETIONS has been specified
- API:
Region.__hash__andPhantom.__hash__have been replaced withto_tuple - API:
reprnow works as expected
28 April 2020
- Auto Complete: Ranking quality improvements
- Auto Complete: Added
auto_complete_use_historysetting to control if previous choices are automatically selected - Added additional settings to control the status bar:
show_sidebar_button,show_indentationandshow_syntax - Added relative line numbers, controlled by the
relative_line_numberssetting - Color Schemes: Added support for the
underlinefont style - Color Schemes: Added new property,
inactive_selection_border - Added setting
hide_pointer_while_typing - Console now uses Python syntax highlighting by default
- Windows, Linux: Added Shift+F10 key binding to open the context menu
- Fixed folder dragging in the sidebar
- Further improvements in layout preservation when programmatically editing preferences
- API:
View.add_regions()calls that add an underline now have that underline applied to whitespace characters - API: Added
sublime.INHIBIT_REORDER - API:
Window.new_html_sheet()now accepts thesublime.ADD_TO_SELECTIONflag - API:
Window.new_html_sheet()no longer acceptscmdandargsparameters - API: Fixed a regression in
View.split_by_newlines()
8 April 2020
- Reworked Auto Complete UI
- Fixed a Find in Files crash regression in 4072
- Improved layout preservation when programmatically editing preferences
.sublime-completionfiles can now specifyannotation,kindanddetails- API:
CompletionItemnow accepts adetailsparameter, which can include basic HTML - API: minihtml now processes
subl:links, running them as commands
8 April 2020
- Find in Files can now filter by
.gitignore - Fixed a path wildcard matching regression in 4070
- Auto Complete:
auto_complete_selectornow applies to the position before the just-typed in character, matchingauto_complete_triggers - Linux: Added
Ctrl+Spaceto trigger Auto Complete - Linux, Windows: Added
Alt+Shift+Left Mouse Buttonas an alternative column selection binding - Fixed a file encoding regression
- Fixed a syntax highlighting backtracking edge case
- API: Fixed
on_selection_modified()being called with the wrong view when using cloned views
1 April 2020
- Spell Checking: Updated dictionaries
- Spell Checking: Added support for non-utf8 dictionaries
- Spell Checking: System dictionaries are now available on Linux
- Spell Checking: Dictionaries in
~/Library/Spellingare now available on Mac - Fixed
ignored_packagessetting causing sub-directories to be ignored - Fixed inline diffs not rendering an expected when draw centered is enabled
- Linux: Fixed a regression in key bindings for the space bar
- Windows: Fixed IME crash
- API: Fixed
View.text_point_utf8()andView.text_point_utf16()not working as expected
27 March 2020
- Comments and layout are preserved when programmatically editing preferences
- Holding down Shift on Windows, or Option on macOS, will start Sublime Text in Safe Mode
- Auto Complete: Typing the full tab trigger of a snippet will move it to the top of the results
- Auto Complete: Fixed some scenarios when auto complete would incorrectly trigger
- Linux: Improved compatibility with some keyboard layouts
- Mac: Improved compatibility with some keyboard layouts
- Windows: Improved IME support
- Syntax tests can now assert that reindent is working as expected
- Fixed popups not scrolling
- Fixed incorrect scrolling in Find Results after startup
- Windows: Fixed some Safe Mode inconsistencies
- minihtml: Fix HSL color blending
- minihtml: Fix handling of CSS comments
- API: Updated Python to 3.8.2
- API: Added
View.rowcol_utf8(),View.rowcol_utf16(),View.text_point_utf8()andView.text_point_utf16() - API: sublime.HistoricPosition now supplies utf8 and utf16 offsets
- API: More detailed output when using
sublime.log_control_tree()
28 February 2020
- Fixed Auto Complete unexpectedly showing after the first edit on a newly opened file
- Fixed a crash that could occur with syntax definition branch points
- Fixed the Console not scrolling to the end at startup
- Fixed syntax definitions not reloading
- Windows: Fixed
sublnot making Sublime Text the foreground window - Windows: Fixed a crash that could occur on startup
14 February 2020
- Auto Hide: Text now never jumps around when hiding tabs, even for short files
- Find in Files: Binary file patterns are applied when an explicit folder is given
- Find in Files: Using "Find in Folder…" from the sidebar context menu will apply project file filters
folder_exclude_patternsandfolder_include_patternsnow support project-relative paths, by starting the path with//- Improved performance when adding directories with extreme amounts of files to the side bar
- Fixed a race condition when using Build, with Save All on Build enabled and async file saving
- Improved menu auto hide behavior on Linux and Windows
- Fixed a case where Jump Back didn't behave as expected
- Linux: Removed dependency on glibc 2.18
- Linux: Better support for copy+paste with other applications that don't support utf8 text
- API: Added
Window.bring_to_front()
29 January 2020
- API: Added HTML sheets, which can be created via
window.new_html_sheet() - Command Line: Fixed subl only working intermittently on Windows
- Scrolling: Actually fixed newly opened files on Mac not scrolling to the expected position
28 January 2020
- Command Line: Fixed regressions in 4063
- API: Added
sublime.log_control_tree(bool). When enabled, clicking with ctrl+alt will log the control tree under the mouse to the console
27 January 2020
- Command Line:
subl -can now be used to read from stdin on all platforms - Fixed a regression in 4062 that could cause syntax definitions to not load correctly
- Fixed Wrap Selection With Tag not working
- Scrolling: Fixed newly opened files on Mac not scrolling to the expected position
- Scrolling: Fixed scroll position not being restored at start for non-selected tabs
- Scrolling: Fixed
reverton non-selected tabs not keeping the scroll position - Auto Complete: AC won't be triggered when replacing selected text
- Fixed
revert_hunknot showing in the context menu within inline diffs - Linux: Fixed text drag and drop not working correctly with unicode text
- Mac: Fixed tooltip rendering issue on external low DPI monitors
- Mac: Fixed Undo always being enabled, even if there's nothing to undo
- API: Added
"glow"toview.style_for_scope() - API: Fixed newly created views not having a valid viewport before being returned to the API
14 January 2020
- Improved syntax definition load time
- Fixed a crash that could occur with syntax definition branch points
- Auto Complete: Several small fixes
- minihtml: Fixed incorrect layout when using a non-default
ui_scale
11 December 2019
- Auto Complete: Fixed
cancelCompletionsbeing ignored - Auto Complete: Fixed inserting a newline character not hiding the AC dialog
6 December 2019
- Mac: Fixed New Window not working
- Auto Complete: Fixed a regression causing auto complete to be case sensitive
- OpenGL: Added support for repeated textures
- Fixed a 4059 regression in Jump Back
5 December 2019
- Reworked Jump Back and Jump Forward commands
- Auto Complete: Added Sublime Text 3 style selection history
- Auto Complete: Fixed a scenario where auto complete could insert nothing after selecting a completion already present at the insert location
- Fixed Join Lines not working as expected with multiple selections
- Fixed transient files not being created at startup when Hot Exit is disabled
- OpenGL: Fixed a rendering regression in 4058
4 December 2019
- Auto Complete: Rework how punctuation triggers are handled
- Auto Complete: Pressing tab when there are no available completions will insert a tab
- OpenGL: Improve minimap rendering quality
- OpenGL: Improve performance with many spelling errors
1 December 2019
- Fixed incorrect minimap rendering when using OpenGL
- Auto Complete: Completions are not as dependent on the syntax tokenisation rules
- Auto Complete: Various changes to how completions with punctuation are handled
- API: Added
sublime.DYNAMIC_COMPLETIONS.on_query_completions()can return this flag to indicate that completion results should be re-queried as the user types - API: Added
sublime.KEEP_ON_SELECTION_MODIFIED, which can be passed toView.show_popup()
26 November 2019
- Fixed a crash in 4055
25 November 2019
- Fixed a rendering regression in 4053
- Fixed saving files with hexadecimal encoding not working correctly when using non-canonical formatting
- Auto Complete: Improved behavior of completions starting with non-word characters
- Auto Complete: Running the
auto_completecommand when auto complete is already showing will re-query plugins for results - Auto Complete: Manually typing in the only available completion will hide the auto complete popup
- Improved minihtml rendering performance
- Linux: Fixed a wayland compatibility regression in 4054
- Windows: Fixed file deletion
- API: Fixed plugin profiling
- API: Fixed several edge cases related to plugin loading and reloading
- API: Auto Complete can be used in input panels again
20 November 2019
- Improved Switch File behavior in conjunction with multiple tabs selected
- Fixed a 4053 regression where
draw_centeredwasn't rendering correctly - Fixed a 4053 regression where up and down arrows weren't working as expected in Goto Anything
- Fixed empty buffers not displaying Phantoms
- Fixed using the Command Palette to automatically prompt for missing command arguments not working correctly
- Linux: Fixed tearing in full screen when using OpenGL
19 November 2019
- Added Revert Diff Hunk
- Improved rendering performance on very long lines
- Expanded
draw_unicode_white_spacesetting - Fixed selection matching sometimes acting as if the find panel was open when it wasn't
- Fixed
open_project_or_workspaceopening blank windows when the workspace is already open - Auto Complete: Fixed Auto Complete incorrectly showing in widget controls
- Auto Complete: Re-added support for
tcharacters in .sublime-completion triggers - Auto Complete: Added fallback theme rules for older themes
- Auto Complete: Several minor behavior enhancements
- Windows: Fixed
subl --safe-modenot working as expected - Mac: Fixed an issue creating new windows when using the Adaptive theme in full screen mode
- Mac: Fixed two cases where ctrl+click wasn't showing the context menu on MacOS
- API: Added error reporting for invalid
.python-versionfiles - API: Fixed a backwards compatibility issue with
window.get_view_index() - API: Packages shipped with Sublime Text, such as
HTML, can now be imported by both 3.3 and 3.8 plugins
15 November 2019
- Auto Complete: Added
auto_complete_preserve_ordersetting - Auto Complete: Added
auto_complete_include_snippets_when_typingsetting - Auto Complete: Added
auto_complete_use_indexsetting - Auto Complete: Fixed trailing punctuation being incorrectly added to API suggestions
- Added back Expand Selection to Scope
- OpenGL: Added support for
selection_corner_style - OpenGL: Performance improvements
- OpenGL: Fixed a crash related to missing textures
- Fixed
trim_only_modified_white_spacenot working as expected when using Save As - Fixed a crash with syntax highlighting back tracking
- Fixed selecting past the last line in the Command Palette
- API: Fixed compatibility with decorated EventListener methods
- API: Simplified
CompletionIteminterface
14 November 2019
- Fixed annotation close buttons not showing on custom themes
- Fixed navigation to unsaved files via Find in Files not working correctly
- Mac: Fixed slow Goto Anything in conjunction with OpenGL rendering in some circumstances
- Mac: Fixed a touch bar related memory leak
- Linux: Fixed menu drawing on old versions of GTK3
- Various minor crash fixes
13 November 2019
- New
hardware_accelerationsetting will composite the UI on the GPU - By default, GPU rendering is enabled on Mac, and disabled on Windows and Linux
- Details about the active GPU will be displayed in the Console
- The auto complete engine now suggests completions based on patterns in existing code
- Uses the entire project as a source, instead of just the current view
- Plugins may specify symbol kind info to be displayed in suggestions list
- When multiple tabs are selected, their contents will be shown side-by-side
- Side-by-side view is also used when selecting multiple files in sidebar
- Goto Definition popup allows opening the definition using side-by-side view
- Added a Python 3.8 API environment for plugins
- Plugins can choose Python version via
.python-versionfile in plugin folder - Existing plugins are fully supported via legacy Python 3.3 API
- Many API improvements and additions - see API section for more details
- Build systems now use new annotations functionality instead of phantoms, reducing re-flow
- Caret blinking is disabled by default. Set
caret_stylesetting tosmoothfor previous behavior. - Find results are highlighted on the scroll bar
- Improved automatic indentation detection
trim_trailing_white_space_on_savenow trims only newly inserted trailing whitespace by default. Controlled viatrim_only_modified_white_spacesetting.- Expanded
draw_white_spacesetting, supporting leading and trailing white space - Unicode white space characters, such as the zero width no-break space, are now drawn as hex values. Controlled via
draw_unicode_white_spacesetting. - Fixed spelling correction to support languages with upper case characters after start of word
- Linux: Text drag and drop is now supported
- Linux: Added support for alternate font weight names
- Linux: Selection is no longer cleared when another application makes a selection
- Improved behavior of Wrap Paragraph
- Improved behavior of Swap Lines
- Added Selection/Expand Selection as a general mechanism to expand the selection
- Selection/Split into Lines will now split a selection into words if the selection doesn't contain any newlines
- Show a sum in the status bar when there are multiple selections and all of them are numbers
- Fixed
swap_line_downnot being able to swap an empty line onto the last line of a file - Fixed
sort_linesreplacing unicode newlines with regular ones
- Added
auto_complete_include_snippetssetting, for disabling auto complete integration - Added
ignored_snippetssetting, for disabling default snippets
- Goto Symbol in Project is now significantly faster on huge projects
- Icons are now shown next to symbols, indicating the symbol kind
- Symbols with 3 characters or less are now indexed
- Files ignored by
.gitignoreare not indexed by default. Controlled viaindex_exclude_gitignoresetting. - Files without known extensions are no longer indexed by default. Controlled via
index_skip_unknown_extensionssetting. - Improved behavior with constantly changing files
- Modifier key taps can now be used as part of a key binding. For example,
["ctrl", "ctrl"]will trigger when Ctrl is pressed twice without pressing any other keys in between. - Linux: AltGr can now be used in key bindings via
altgr - Linux: Added a workaround for a touchscreen driver bug, which would cause right click and mouse scrolling to stop working
- Linux: When the menu is hidden, pressing alt will show it
- Mac: Fix Pinyin input
- Mac: Keypad keys can now be bound to as expected
- Mac: Added key bindings for macOS application tabs
- Windows, Linux: Hide mouse cursor when typing. Controlled via
hide_pointer_while_typingsetting. - Windows, Linux: Fixed being unable to bind Ctrl+Break
- Saving files is now asynchronous
- When
save_on_focus_lostis enabled, closing an unsaved file will save and close it, instead of prompting to save - Improved behavior of
save_on_focus_lostin conjunction with administrator owned files - Added
reload_file_on_changesetting to control if files are automatically reloaded or not - Windows: Fixed Open Containing Folder for UNC paths
- Windows: Fixed Save dialog not showing for new files with control characters on the first line
- Windows: Fixed Ctrl+Backspace inserting a
DELcharacter when a dialog is open in the background - Linux: Fix recreated directories not working correctly with file change monitoring
- Added
highlight_gutterandhighlight_line_numbersettings - Added the ability to auto hide the menu, tabs, and status bar when typing. See
auto_hide_menuand related settings. - Window title bar can be controlled by
show_rel_pathandshow_project_firstsettings - Tab context menu now includes Close Unmodified Files and Close Deleted Files entries
- Themes now have a
styleproperty fortitle_barelement, for better integration with OS "dark modes" - Added
glowfont option to color schemes - Linux: Show sequential key bindings in the menu
- Linux: Fixed context menu position being slightly offset
- Windows, Linux: Added support for per-display subpixel ordering
- Mac: Improved window resize performance
- Windows: Fixed rendering bug where other applications could cause persistent artifacts via window animations
- Added Safe Mode, to simulate a clean install. Enabled by passing
--safe-modeon the command line. - Added options to
hot_exitsetting to control behavior when the last window is closed - Fixed a possible case where an update loses the current session
- Settings containing a UTF-8 BOM will no longer fail to load
- Added ability to "branch" within syntax definitions, for non-deterministic or multi-line constructs
- Many syntax highlighting improvements, including significant improvements to:
- Erlang, with thanks to deathaxe
- Fixed a performance issue with bounded repeats in regular expressions
- minihtml now handles
list-style-typeCSS property -circle,squareanddisc - Improved coverage of plugin profiling
- The cProfile module is now included on Linux
EventListenerhas many new features and bug fixeson_query_completions()can now- return suggestions asynchronously
- return command completions
- include symbol kind information
- New:
on_init()is called once with list of views opened before plugin was loaded - New:
on_exit()is called immediately beforeplugin_hostexits, after API is shut down - New:
on_text_changed()andon_text_changed_async()provide detailed modification info - New methods:
on_reload()on_revert()on_new_window()on_new_window_async()on_pre_close_window()on_pre_move()on_post_move()on_post_move_async()on_new_project()on_new_project_async()on_load_project()on_load_project_async()on_pre_save_project()on_post_save_project()on_post_save_project_async()on_pre_close_project()
- Fixed
on_selection_modified()to not be called twice when left clicking
View.add_regions()now has anannotationsparameter, to allow adding a per-region annotation to the buffer. Theexeccommand now uses this API for build errors.View.element()returns a string describing widget views (find input, quick panel input, etc)- Image filenames can be retrieved via
Sheet.file_name() - Syntax definitions can be queried via
sublime.list_syntaxes()andsublime.find_syntax() View.assign_syntax()now fully supports scope names, e.g."scope:source.c++"- Assigning a syntax no longer removes widget settings files from a widget view
- Added
Window.workspace_file_name() - Added
open_project_or_workspacecommand appendcommand has new, optionaldisable_tab_translationargument- Improvements to the API, applied to the new Python 3.8 environment only:
bool(sublime.Selection())will returnFalsewhenlen() == 0sublime.load_binary_resource()now returnsbytesinstead ofbytearray- Added
Selection.__iter__() - Added
Region.__iter__() - Added
Region.__contains__() Settingscan now be treated like adict- Plugins starting with
_will be ignored,__all__global will be respected - Events won't be reported until
plugin_loaded()has been called .pycfiles can now be imported when contained within.sublime-packagefiles, although they will not be scanned for plugins
- The
certifiPython package is preinstalled - Significant performance improvements when rapidly printing to the Console
- The following operating systems are no longer supported as a result of adding Python 3.8:
- OS X 10.7
- OS X 10.8
- Windows XP
- Windows Vista