From b2029b13f73f87a54a15ab53fbcfb743fd3c65d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Althviz=20Mor=C3=A9?= <16781833+dalthviz@users.noreply.github.com> Date: Tue, 22 Apr 2025 15:48:12 -0500 Subject: [PATCH 1/2] Update Announcements --- Announcements.md | 92 +++++++++++++++++++++++++++++------------------- 1 file changed, 56 insertions(+), 36 deletions(-) diff --git a/Announcements.md b/Announcements.md index e585878f491..90b53c89926 100644 --- a/Announcements.md +++ b/Announcements.md @@ -165,60 +165,80 @@ scientific computing and software development. # Alpha/beta/rc release -**Subject**: [ANN] Spyder 6.0 rc2 is released! +**Subject**: [ANN] Spyder 6.1.0a2 is released! Hi all, On the behalf of the [Spyder Project Contributors](https://github.com/spyder-ide/spyder/graphs/contributors), -I'm pleased to announce the second beta of our next major version: Spyder **6.0**. +I'm pleased to announce the second alpha of our next minor version: Spyder **6.1**. -We've been working on this version for more than one year now and it's working +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.0 comes with the following interesting new features and fixes: +Spyder 6.1 comes with the following interesting new features and fixes: - New features - * New installers for Windows, Linux and macOS based on Conda and Conda-forge. - * Add a Debugger pane to explore the stack frame of the current debugging - session. - * Add a button to the Debugger pane to pause the current code execution and - enter the debugger afterwards. - * Add submenu to the `Consoles` menu to start a new console for a specific - Conda or Pyenv environment. - * Add ability to refresh the open Variable Explorer viewers to reflect the current - variable state. - * Show plots generated in the Variable Explorer or its viewers in the Plots pane. - * Show Matplotlib backend state in status bar. - * Make kernel restarts be much faster for the current interpreter. - * Turn `runfile`, `debugfile`, `runcell` and related commands into IPython magics. - * Add a new way to manage and establish connections with remote servers/kernels + * 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 - * Environment variables declared in `~/.bashrc` or `~/.zhrc` are detected and - passed to the IPython console. - * Support all real number dtypes in the dataframe viewer. - * Restore ability to load Hdf5 and Dicom files through the Variable Explorer - (this was working in Spyder 4 and before). - -- New API features - * `SpyderPluginV2.get_description` must be a static method now and - `SpyderPluginV2.get_icon` a class or static method. This is necessary to - display the list of available plugins in Preferences in a more user-friendly - way (see PR spyder-ide/spyder#21101). - * Generalize the Run plugin to support generic inputs and executors. This allows - plugins to declare what kind of inputs (i.e. file, cell or selection) they - can execute and how they will display the result. - * Add a new plugin called Switcher for the files and symbols switcher. - * Declare a proper API for the Projects plugin. - * Remove the Breakpoints plugin and add its functionality to the Debugger one. + * 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](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.0.0rc2 + 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: From 3f162035ee41c8a8007014765febd0a4605dfdf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Althviz=20Mor=C3=A9?= <16781833+dalthviz@users.noreply.github.com> Date: Tue, 22 Apr 2025 15:51:49 -0500 Subject: [PATCH 2/2] Update Changelog --- changelogs/Spyder-6.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/changelogs/Spyder-6.md b/changelogs/Spyder-6.md index 048e6467737..d336ce5b673 100644 --- a/changelogs/Spyder-6.md +++ b/changelogs/Spyder-6.md @@ -81,6 +81,42 @@ ---- +## Version 6.1.0a2 (2025/04/22) + +### Issues Closed + +* [Issue 23951](https://github.com/spyder-ide/spyder/issues/23951) - Multi-Cursor editing uses non-standard mouse shortcuts which cannot be configured ([PR 23463](https://github.com/spyder-ide/spyder/pull/23463) by [@athompson673](https://github.com/athompson673)) +* [Issue 23691](https://github.com/spyder-ide/spyder/issues/23691) - Multi-Cursor paste does not paste entire clipboard, or pastes nothing for some cursors ([PR 24223](https://github.com/spyder-ide/spyder/pull/24223) by [@athompson673](https://github.com/athompson673)) +* [Issue 23607](https://github.com/spyder-ide/spyder/issues/23607) - Remove Editor top bar showing file path ([PR 24194](https://github.com/spyder-ide/spyder/pull/24194) by [@jsbautista](https://github.com/jsbautista)) +* [Issue 22354](https://github.com/spyder-ide/spyder/issues/22354) - Provide custom editor widget for given file extension via plugin ([PR 22564](https://github.com/spyder-ide/spyder/pull/22564) by [@jitseniesen](https://github.com/jitseniesen)) +* [Issue 21197](https://github.com/spyder-ide/spyder/issues/21197) - Minimum size of empty pane is fairly big ([PR 24181](https://github.com/spyder-ide/spyder/pull/24181) by [@ccordoba12](https://github.com/ccordoba12)) +* [Issue 7794](https://github.com/spyder-ide/spyder/issues/7794) - Allow plugins to hook into File > Open ([PR 22564](https://github.com/spyder-ide/spyder/pull/22564) by [@jitseniesen](https://github.com/jitseniesen)) + +In this release 6 issues were closed. + +### Pull Requests Merged + +* [PR 24276](https://github.com/spyder-ide/spyder/pull/24276) - PR: Add new features and improvements for 6.1.0 to our Changelog, by [@ccordoba12](https://github.com/ccordoba12) +* [PR 24257](https://github.com/spyder-ide/spyder/pull/24257) - PR: Follow-up to removing `CONF` from `mouse_shortcuts` (Editor), by [@athompson673](https://github.com/athompson673) +* [PR 24250](https://github.com/spyder-ide/spyder/pull/24250) - PR: Remove `CONF` usage in `MouseShortcutEditor` (Editor), by [@ccordoba12](https://github.com/ccordoba12) +* [PR 24223](https://github.com/spyder-ide/spyder/pull/24223) - PR: Add multicursor paste behavior configuration to Preferences (Editor), by [@athompson673](https://github.com/athompson673) ([23691](https://github.com/spyder-ide/spyder/issues/23691)) +* [PR 24213](https://github.com/spyder-ide/spyder/pull/24213) - PR: Update `python-lsp-server` and `qtconsole` subrepos, by [@mrclary](https://github.com/mrclary) +* [PR 24204](https://github.com/spyder-ide/spyder/pull/24204) - PR: Fix several issues in the Layout plugin, by [@ccordoba12](https://github.com/ccordoba12) +* [PR 24194](https://github.com/spyder-ide/spyder/pull/24194) - PR: Add option to show/hide file name toolbar (Editor), by [@jsbautista](https://github.com/jsbautista) ([23607](https://github.com/spyder-ide/spyder/issues/23607)) +* [PR 24181](https://github.com/spyder-ide/spyder/pull/24181) - PR: Add API to display an empty message in any dockable plugin (API), by [@ccordoba12](https://github.com/ccordoba12) ([21197](https://github.com/spyder-ide/spyder/issues/21197)) +* [PR 24144](https://github.com/spyder-ide/spyder/pull/24144) - PR: Use `spyder-updater` to handle updates (Installers), by [@mrclary](https://github.com/mrclary) +* [PR 24131](https://github.com/spyder-ide/spyder/pull/24131) - PR: Use checksum to verify downloaded asset for updating Spyder (Update manager), by [@mrclary](https://github.com/mrclary) +* [PR 24014](https://github.com/spyder-ide/spyder/pull/24014) - PR: Return an iterable from `ls` method of `SpyderRemoteFileServicesAPI` (Remote client), by [@hlouzada](https://github.com/hlouzada) +* [PR 23732](https://github.com/spyder-ide/spyder/pull/23732) - PR: Fixes to make the app work with PySide6, by [@ccordoba12](https://github.com/ccordoba12) +* [PR 23720](https://github.com/spyder-ide/spyder/pull/23720) - PR: Refactor Remote Client kernel management, by [@hlouzada](https://github.com/hlouzada) +* [PR 23463](https://github.com/spyder-ide/spyder/pull/23463) - PR: Make `CodeEditor` mouse shortcuts configurable (Editor), by [@athompson673](https://github.com/athompson673) ([23951](https://github.com/spyder-ide/spyder/issues/23951)) +* [PR 23287](https://github.com/spyder-ide/spyder/pull/23287) - PR: Refactor how the installers are built, by [@mrclary](https://github.com/mrclary) +* [PR 22564](https://github.com/spyder-ide/spyder/pull/22564) - PR: Allow plugins to hook into file actions (API), by [@jitseniesen](https://github.com/jitseniesen) ([7794](https://github.com/spyder-ide/spyder/issues/7794), [22354](https://github.com/spyder-ide/spyder/issues/22354)) + +In this release 16 pull requests were closed. + +---- + ## Version 6.1.0a1 (2025/03/13) ### Issues Closed