Hi all,
On behalf of the Spyder Project Contributors <https://github.com/spyder-ide/spyder/graphs/contributors>, I'm pleased to announce the fourth 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 in 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. - Plot histograms from the dataframe viewer. - Add support for Polars dataframes, frozen sets, Numpy string arrays and pathlib.Path objects to the Variable Explorer. - Show the remote file system in the Files pane when a remote console has focus. - Add support to connect to JupyterHub servers. - Add support to use Pixi environments in the IPython console. - 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+X, 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. - Make shortcuts to move to different panes work when they are undocked. - Remove blank lines around cells when copying their contents to the console. - Automatically kill kernels when Spyder crashes. - Disable magics and commands to call Python package managers in the IPython console because they don't work reliably there. - Drop support for Python 3.8 - UX/UI improvements - Reorganize most menus to make them easier to navigate. - Add shortcut Ctrl+W to close Variable Explorer viewers. - Add option to hide all messages displayed in panes that are empty to Preferences > Application > Interface. - Fix plots looking blurred when scaling is enabled in high DPI screens. - 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. - Add set_default_kernel_spec to remoteclient plugin, in order to set default kernel spec used to open default consoles. - IPython console - Breaking - The sig_current_directory_changed signal now emits two strings instead of a single one. - 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. - Add server_id kwarg to the set_current_client_working_directory method. - Working Directory - Breaking - The sig_current_directory_changed signal now emits three strings instead of a single one. - Breaking - The sender_plugin kwarg of the chdir method now expects a string instead of a SpyderPluginV2 object. - Add server_id kwarg to the chdir method. - 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 rest API module to manage remote file systems. - Add get_environ_api method to get the rest API module to work with environment variables in the remote machine. - 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. - File Explorer - Breaking - ExplorerTreeWidgetActions renamed to ExplorerWidgetActions. - Breaking - The sig_dir_opened signal now emits two strings instead of a single one. - Add server_id kwarg to the chdir method. - Main menu - Breaking - From SourceMenuSections, move the Formatting section to EditMenuSections and Cursor to SearchMenuSections, remove the CodeAnalysis section and add the Autofix section. - Breaking - Replace the Tools, External and Extras sections in ToolsMenuSections with Managers and Preferences. - 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 <https://github.com/spyder-ide/spyder/blob/master/changelogs/Spyder-6.md> 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.0a3 Or you can use pip with this command: pip install --pre -U spyder Enjoy! Daniel -- You received this message because you are subscribed to the Google Groups "spyder" group. To unsubscribe from this group and stop receiving emails from it, send an email to spyderlib+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/spyderlib/d4b866f2-6b6c-4928-b693-dace2355c002n%40googlegroups.com.