Hi all,
On behalf of the Spyder Project Contributors, I'm pleased to announce the second alpha of our next minor version: Spyder 6.1.
We've been working on this version for around half a year now and it's working relatively well. We encourage all people who like the bleeding edge to give it a try.
Spyder 6.1 comes with the following interesting new features and fixes:
New features
- Add support to work with multiple cursors to the Editor. Options to configure them are available in Preferences > Editor > Advanced settings.
- Add a graphical interface to the update process of our standalone installers.
- Paths can be added to the front of sys.path in the Pythonpath manager.
- Copy/cut the current line if nothing is selected in the Editor with Ctrl+C/Ctrl+V, respectively.
- Add option to show/hide the Editor's file name toolbar to Preferences > Editor > Interface.
- Select full floating point numbers by double-clicking them on the Editor and the IPython console.
Important fixes
- Much better support for PyQt6 and PySide6.
UX/UI improvements
- Add option to hide all messages displayed in panes that are empty to Preferences > Application > Interface.
API changes
Editor
- Breaking - The NewFile, OpenFile, OpenLastClosed, MaxRecentFiles, ClearRecentFiles, SaveFile, SaveAll, SaveAs, SaveCopyAs, RevertFile, CloseFile and CloseAll actions were moved to the ApplicationActions class in the Application plugin.
- Breaking - The shortcuts "new file", "open file", "open last closed", "save file", "save all", "save as", "close file 1", "close file 2" and "close all" were moved to the "main" section.
- Add open_last_closed, current_file_is_temporary, save_all, save_as, save_copy_as and revert_file methods.
IPython console
- Breaking - Remove set_working_directory method. You can use set_current_client_working_directory instead, which does the same.
- Breaking - The save_working_directory method was made private because it's only used internally.
- Add sender_plugin kwarg to the set_current_client_working_directory method.
Working Directory
- Breaking - The sig_current_directory_changed signal now emits two strings instead of a single one.
- Breaking - The sender_plugin kwarg of the chdir method now expects a string instead of a SpyderPluginV2 object.
Remote Client
- Breaking - The create_ipyclient_for_server and get_kernels methods were removed.
- Add sig_server_changed signal to report when a server was added or removed.
- Add get_server_name method to get a server name given its id.
- Add register_api and get_api methods in order to get and register new rest API modules for the remote client.
- Add get_jupyter_api method to get the Jupyter API to interact with a remote Jupyter server.
- Add get_file_api method to get the SpyderRemoteFileServicesAPI rest API module to manage remote file systems.
Pythonpath manager
- Breaking - The sig_pythonpath_changed signal now emits a list of strings and a bool, instead of two dictionaries.
Application plugin
- Add create_new_file, open_file_using_dialog, open_file_in_plugin, open_last_closed_file, add_recent_file, save_file, save_file_as, save_copy_as, revert_file, close_file, close_all and enable_file_action methods to perform file operations in the appropriate plugin.
- Add focused_plugin attribute.
SpyderPluginV2
- Add CAN_HANDLE_FILE_ACTIONS and FILE_EXTENSIONS attributes and create_new_file, open_file, get_current_filename, current_file_is_temporary, open_last_closed_file, save_file, save_all, save_file_as, save_copy_as, revert_file, close_file and close all methods to allow other plugins to hook into file actions.
- Add sig_focused_plugin_changed signal to signal that the plugin with focus has changed.
PluginMainWidget
- Add SHOW_MESSAGE_WHEN_EMPTY, MESSAGE_WHEN_EMPTY, IMAGE_WHEN_EMPTY, DESCRIPTION_WHEN_EMPTY and SET_LAYOUT_WHEN_EMPTY class attributes, and set_content_widget, show_content_widget and show_empty_message methods to display a message when it's empty (like the one shown in the Variable Explorer).
Shellconnect
- Breaking - Rename is_current_widget_empty to is_current_widget_error_message in ShellConnectMainWidget.
- Add switch_empty_message to ShellConnectMainWidget to switch between the empty message widget and the one with content.
- Add ShellConnectWidgetForStackMixin class for widgets that will be added to the stacked widget part of ShellConnectMainWidget.
AsyncDispatcher
- Breaking - Remove dispatch method to use it directly as decorator.
- Add class DispatcherFuture to spyder.api.asyncdispatcher and QtSlot method to AsyncDispatcher so that connected methods can be run inside the main Qt event loop.
- Add early_return and return_awaitable kwargs its constructor.
For a more complete list of changes, please see our changelog
You can easily install this release candidate if you use conda by running:
conda install -c conda-forge/label/spyder_dev -c conda-forge/label/spyder_kernels_rc -c conda-forge spyder=6.1.0a2
Or you can use pip with this command:
pip install --pre -U spyder
Enjoy!
Daniel