News: January 2013

Sublime Text 3 Beta

January 29, 2013 by Jon Skinner

The first beta of Sublime Text 3 is now available to download for registered users. Some feature highlights are below, followed by our new pricing and upgrade policies, and system compatibility for Sublime Text 3.

Symbol Indexing. Sublime Text now scans the files in your project, and builds an index of which files contain which symbols. This backs the new features Goto Definition and Goto Symbol in Project, both of which are available from the Goto menu. Goto Definition takes you to the definition of the symbol under the caret, while Goto Symbol in Project prompts you to select a symbol via fuzzy matching, and then takes you to the definition of that symbol.

Pane Management. Working with multiple panes is now more efficient, with commands to create and destroy panes, and quickly move files between panes. You can see the new options under View/Groups, View/Focus Group and View/Move file to Group.

Speed. Sublime Text has always had speed as a feature, but version 3 addresses some weak points. Startup time is now virtually immediate, and plugins no longer have the opportunity to bring this down. Replace All performance is also significantly faster.

API. Sublime Text now uses Python 3.3 for plugins, and runs them out of process, so any plugins that load native code no longer risk crashing the main Sublime Text process. The API is also fully thread-safe, and provides several callbacks that run asynchronously (e.g., on_modified_async). There are also new API functions, including full access to the project data. Sublime Text 2 plugins will require porting to work with Sublime Text 3, however in most cases the changes will be small.

Selected Changes:

  • Added Goto Definition, and Goto Symbol in Project
  • Significantly improved startup time
  • Significantly improved Replace All performance
  • Improved matching algorithm used for Goto Anything and auto-complete accepts transposed characters
  • UI: Enhanced pane management
  • UI: Previewing files from the sidebar creates a preview tab
  • UI: Improved animation in the side bar
  • Projects: Multiple workspaces can be created for a single project
  • Projects: When adding folders to the sidebar, symlinks are not followed by default. This can be changed by enabling follow_symlinks in the project
  • Build Systems: Added 'shell_cmd', which supersedes 'cmd', with more intuitive syntax
  • Build Systems: Better PATH handling behavior on OS X when using shell_cmd
  • Build Systems: 'Make' build system has an improved error message regex
  • Build Systems: Syntax file can be specified for the output
  • Build Systems: Word wrap is enabled by default
  • Find in Files: Improved handling of binary files
  • Find in Files: Line numbers are hidden in the output
  • Find: Find in Selection will no longer be automatically selected
  • OSX: Improved performance on Retina displays
  • OSX: 10.7 or later is required
  • OSX: 64 bit only
  • OSX: System version of Python is no longer a dependency
  • OSX: Italic fonts are synthesized when not available in the typeface
  • Linux: .deb files are provided
  • Linux: Starting from the command line will daemonize the process by default
  • API: Upgrade from Python 2.6 to Python 3.3
  • API: Plugins run out-of-process
  • API: Plugin API is now thread-safe
  • API: Some API events are now run asynchronously
  • API: begin_edit() / end_edit() are no longer accessible
  • API: Projects are exposed to the API
  • API: Added window.settings() and window.template_settings()
  • API: show_quick_panel() accepts an on_highlighted callback

Compatibility. Sublime Text 3 should work on all systems that currently run Sublime Text 2, with the exception of OS X 10.6. Unfortunately, it has not been possible to maintain 10.6 compatibility, as there is no C++11 toolchain for OS X 10.6, and Sublime Text 3 makes extensive use of functionality in C++11.

Pricing. The price for a Sublime Text license key has increased by $11, from $59 to $70, the first price rise in Sublime Text's five year history. All licenses purchased at this new price are valid for Sublime Text 3. Users with a Sublime Text 2 license key can continue using the key with Sublime Text 3 while it's in beta. When 3.0 is released, upgrades will be available for $30, or $15 for users who have purchased recently. The cut off date for the reduced upgrade price will be based on the actual date of the 3.0 release.

Sublime Text 3 is currently available to registered users only. An evaluation version will be available later.