This page documents user-facing changes.
For code changes, see CHANGELOG_CODE.md.
This section is currently empty.
0.1.0-alpha-22 - 2026-04-05
See the documentation for more information.
Latest tool versions at the time of release:
- In the previous version, RyeCharm fully expected the
severityproperty in the CLI output. In other words, it would throw deserialization errors if the Ruff executable in use was older than 0.15.7. The property is now considered optional, for backwards compatibility.
0.1.0-alpha-21 - 2026-03-29
See the documentation for more information.
Latest tool versions at the time of release:
- It is now possible to pass a custom argument to uv's
--projectoption using the corresponding setting. - More ty setttings have been added to allow for more granular control.
- Ruff 0.15.7 adds a new property (
severity) to its CLI output. This would cause RyeCharm to emit "unknown error" notifications. The property is now recognized correctly. Additionally, serialization errors will be reported more clearly.
- 2025.3.2.1 and older versions are no longer supported.
0.1.0-alpha-20 - 2025-11-23
See the documentation for more information.
Latest tool versions at the time of release:
- Ruff: 0.14.6
- uv: 0.9.11
- Rye: 0.44.0
- ty: 0.0.1-alpha.27
- uv update notifications now also have a "See what's new" action that will open the corresponding GitHub release in your browser.
- Ruff's
ruleJSON output schema was changed in 0.14.2, causing several RyeCharm features to stop working. RyeCharm now supports both old and new schemas. - Previously, Ruff's "run on save" actions would not be triggered on scratch files. This has been fixed. Consequently, the "Project files only" setting has been replaced with "Files to run on".
- 2025.2.3 and older versions are no longer supported.
0.1.0-alpha-19 - 2025-09-21
See the documentation for more information.
Latest tool versions at the time of release:
- Ruff: 0.13.1
- uv: 0.8.19
- Rye: 0.44.0
- ty: 0.0.1-alpha.21
- In the previous version, RyeCharm would raise deserialization errors
if Ruff is older than 0.12.4 and thus uses
"code": nullfor syntax error diagnostics, causing multiple duplicate notifications. This has been fixed. - Dependency tree popups no longer cause "Read access is allowed from inside read-action only" threading errors.
0.1.0-alpha-18 - 2025-09-14
See the documentation for more information.
Latest tool versions at the time of release:
- Ruff: 0.13.0
- uv: 0.8.17
- Rye: 0.44.0
- ty: 0.0.1-alpha.20
- Previously, paths in Ruff and ty diagnostics would only be resolved against the project's path. Now they will also be resolved against source roots if the corresponding setting is enabled.
-
The logging consoles have been improved for readability:
- Log lines are now marked with command IDs.
- Output lines are now prettified and folded by default.
- On console clear, the notice at the top will be reprinted.
- Ruff 0.12.4 slightly changed its JSON output format, which would cause syntax errors to be considered suppressible. This has been fixed.
- 2025.2 and older versions are no longer supported.
0.1.0-alpha-17 - 2025-08-31
See the documentation for more information.
Latest tool versions at the time of release:
- Ruff: 0.12.11
- uv: 0.8.14
- Rye: 0.44.0
- ty: 0.0.1-alpha.19
- File paths in Ruff and ty diagnostics as they are displayed in the terminal
(
--> path:line:column,::: path:line:column) will now be hyperlinked. They can be clicked on to navigate to the specified location. - If the corresponding setting is enabled, triggering Call Hierarchy on
a Python file will now show which files it imports and which files import it,
as output by
ruff analyze graph. The setting is disabled by default, because the feature might cause log-only but user-visible errors due to technical limitations.
- Previously, in LSP modes, Ruff won't run on scratch files as they are not considered part of the project. Now, RyeCharm will also run Ruff on such files, via the CLI.
- Dependency tree popups are now module-aware and thus works better in IntelliJ IDEA. Other IDEs are not affected by this change.
- ty servers will now be restarted automatically on settings change.
- Formatting commands (e.g.,
ruff format) will now be logged in Ruff's logging console, as is already the case with other commands.
0.1.0-alpha-16 - 2025-08-10
See the documentation for more information.
Latest tool versions at the time of release:
- Ruff: 0.12.8
- uv: 0.8.8
- Rye: 0.44.0
- ty: 0.0.1-alpha.17
-
On project open, RyeCharm will now:
- Recommend installing uv if it is not found.
- Recommend enabling ty if it is installed but disabled.
These recommendations are only shown once. The corresponding functionality can still be triggered using actions (Install uv and Enable ty accordingly).
-
UnsatisfiedRequirementInspectionerrors for dependencies defined inpyproject.toml'sbuild-system.requireswill now be suppressed. Such errors are considered false positives, as build dependencies are normally installed into isolated environments; plus, this only happens during build time, not development time.This feature is enabled by default for projects using uv-based interpreters, but it can also be enabled for other projects.
- Previously, a few features would not work during IDE indexing. This has been fixed. RyeCharm has never relied on IDE indices and it will continue to do so.
- Command descriptions used to be rendered as HTML directly, causing certain parts to be displayed incorrectly. Now they will be rendered as Markdown.
- 2025.1 and older versions are no longer supported.
0.1.0-alpha-15 - 2025-07-20
See the documentation for more information.
Latest tool versions at the time of release:
- Ruff: 0.12.4
- uv: 0.8.0
- Rye: 0.44.0
- ty: 0.0.1-alpha.14
- Script lock files (
*.py.lock) now have edit notices and custom icons similar to that ofuv.lock. - On project open, RyeCharm will now check if uv is outdated and either notify (default) or update automatically. This feature can be configured or disabled in the settings.
- The "Bump project version" intention has been updated
to accommodate new possible values for
version --bump. - The "Organize imports" intention is now
no longer available in
pyproject.toml.
- 2025.1.2 and older versions are no longer supported.
0.1.0-alpha-14 - 2025-06-29
See the documentation for more information.
Latest tool versions at the time of release:
- Ruff: 0.12.1
- uv: 0.7.16
- Rye: 0.44.0
- ty: 0.0.1-alpha.12
- The "Bump project version" intention now uses uv instead of Rye.
- 2025.1.1.1 and lower are no longer supported.
- RyeCharm-provided uv run configuration type and factories have been removed. Use native uv run configurations instead.
- ty's completion setting has been removed. It has never worked, and ty itself no longer recognizes it.
- Previously, the native client did not support
textDocument/diagnostic. 2025.1.2 added support for it, but the client does not send such requests by default, resulting in no diagnostics being displayed. This has been fixed. - Prior to this version, ty's diagnostics might be out-of-sync. This is no longer an issue.
- Due to an UI bug, the formatter and import optimizer would not work until Ruff's executable input field is modified. Now, instead of being prefilled, executable fields will have accompanying "Detect" buttons.
0.1.0-alpha-13 - 2025-05-18
See the documentation for more information.
Latest tool versions at the time of release:
- Ruff: 0.11.10
- uv: 0.7.5
- Rye: 0.44.0
- ty: 0.0.1-alpha.5
- Lock files for standalone scripts (
*.py.lock) will now be recognized as TOML files. - Provisional ty integration has been added.
- 2024.3 and lower are no longer supported.
- Previously, dependency tree popups might not be displayed correctly if the interpreter cannot be detected by uv. Now, RyeCharm will always pass the project's interpreter explicitly.
- Ruff's global inspection will now be run after first saving documents to avoid out-of-sync results.
pyproject.tomlfiles used to be passed to Ruff's server, which only ever expects Python files. This has been fixed.
0.1.0-alpha-12 - 2025-04-20
See the documentation for more information.
Latest tool versions at the time of release:
-
Standalone scripts (PEP 723 scripts) can now be run as uv run configurations.
-
Rule codes in rule violation tooltips are now hyperlinked. Clicking on this link would show the description of that rule. Note that the link is only available when "Render tooltips" is enabled and the tooltip format includes the code.
-
Dependency trees are now shown for specifiers in arrays paired with the following TOML keys:
project.dependenciesproject.optional-dependencies.*build-system.requiresdependency-groups.*- [
tool]uv.constraint-dependencies - [
tool]uv.dev-dependencies - [
tool]uv.override-dependencies - [
tool]uv.upgrade-package - [
tool]uv.pip.upgrade-package
The command line options to be used can be configured using relevant settings in the uv panel.
- RyeCharm will now log a user-visible error if Ruff outputs path-less diagnostics during global inspection. This behaviour is expected to be exceedingly rare, if not non-existent.
- Previously,
W191violations might not be displayed correctly. This has been fixed.
- The inspection named "Ruff inspection" has been removed. Previously, if this inspection were disabled, no diagnostics would be shown in Command line mode. The recommended alternative is to disable the "Linting" setting.
0.1.0-alpha-11 - 2025-04-06
See the documentation for more information.
Latest tool versions at the time of release:
- RyeCharm can now be configured to offer unsafe fixes in an editor context even if configuration files say otherwise.
- Inspect Code... will now also run Ruff.
- Project scripts and global tools can now be run as uv run configurations.
For project scripts, they can be configured automatically
using either run line markers shown in
pyproject.tomlor the corresponding actions in the menu when a subkey is right-clicked. - PEP 751's
pylock.tomlnow has a specialized icon.
- Ruff's annotator is now prioritized over other annotators (e.g., of other plugins).
- "Fix all", "Organize imports" and "Fix all similar violations" intentions now work correctly for injected files.
- Ruff's annotator will now also run on
pyproject.tomlwith regards to theRUF200rule. - Previously, due to a logic error, a
NullPointerExceptionmight be thrown in certain circumstances. This has been fixed.
0.1.0-alpha-10 - 2025-03-23
See the documentation for more information.
Latest tool versions at the time of release:
- RyeCharm now also displays documentation popups for rule selectors defined within script metadata blocks when such blocks are opened in a new editor tab using the related intention. It should be noted that Ruff does not support reading configurations from script metadata blocks yet.
- Single-rule selectors in TOML files and
# noqacomments can now be "folded" into that rule's name. Such foldings are displayed in their folded forms by default; this can be toggled using two settings in the Ruff panel. - Commands run by RyeCharm are now logged by a new "RyeCharm logs" tool window, which is hidden by default but can be made available via the More tool windows menu.
- If Backspace is pressed when an empty comment within a script metadata block is edited, RyeCharm will now remove that line and move the cursor back to the preceding line automatically.
- uv is now available as a run configuration.
- Previously, prefix selectors that only select preview rules
(e.g.,
CPY0) would not have documentation popups displayed on hover. This is due to RyeCharm not passing--previewwhen querying data, and getting no list in return. It now does. A new shortcoming of this approach is that resolved rule lists might contain rules that are not actually enabled. - The linter table is now speed-searchable.
- Edit script metadata fragment now uses a better logic to determine the offset the cursor of the new editor should be placed at. The result is expected to be more intuitive for users.
- The Edit script metadata fragment intention and TOML injection for script metadata blocks are now available during indexing.
- Redirected codes now have their documentation popups correctly displayed, similar to that of a prefix.
0.1.0-alpha-9 - 2025-03-09
See the documentation for more information.
Latest tool versions at the time of release:
.python-versionandpy.typednow have specialized icons.- Previously, in light mode,
uv.lock's icon has bad contrast. It now uses a new, more accessible icon. - Non-topmost TOML key segments in a Ruff option documentation popup
(e.g.,
ruffandlintinruff.lint.select) are now clickable. They can be used to navigate between options. - Toggling the registry entry used to be the only way to disable Red Knot. Now, it can also be disabled using an UI setting.
- Typing
scriptat the top-level of a.pyfile now suggests a live template that expands to a PEP 723 script metadata block. - Script metadata blocks now displays
# /// scriptwhen folded instead of the default...for multicomment blocks. - Temporary script metadata files (created by the "Edit script metadata fragment" intention) now have automatic JSON schema mapping.
- The bundled plugin Terminal is now an optional dependency.
- 2024.3.2 is no longer supported.
- Previously, Ruff's language server would not work correctly if the client was LSP4IJ. This has been fixed.
- "Unsuppress rule" intention now works as expected instead of causing a threading error.
0.1.0-alpha-8 - 2025-02-17
See the documentation for more information.
Latest tool versions at the time of release:
- Previously, pressing Enter in the middle of a script metadata block would break it, causing the code to no longer being highlighted as TOML. Now, doing so will insert a new empty comment.
- When a rule selector in a TOML configuration file is hovered, RyeCharm will now display a popup showing all rules matching that selector.
- It is now possible to fix all violations of the same code using a quick fix.
- Code actions provided by RyeCharm are now ordered, with Ruff violation fixes being at the top of the code action popup.
- Previously, the documentation for a rule would not be shown if both its code and the cursor were placed at the very end of a comment. This has been fixed.
0.1.0-alpha-7 - 2025-02-02
See the documentation for more information.
Latest tool versions at the time of release:
- RyeCharm now supports 2025.1 and 2024.3.2.
- Unsafe fixes can now be applied via the corresponding intention and action.
- When keys for Ruff configuration groups (e.g.,
tool.ruff.lint) are hovered, a list of its subkeys will now be shown, where each item can be clicked on to view its full description. - Disabled rule codes in
# noqacomments can now be re-enabled using an intention.
- 2024.3.1 is no longer supported.
- The old project generator, package manager and SDK flavor have all been removed in favor of the native support added in 2024.3.2.
0.1.0-alpha-6 - 2025-01-20
See the documentation for more information.
Latest tool versions at the time of release:
- Ruff's "Fix all" can now be used as an action. Previously, this functionality was only accessible via an intention.
optional-dependencies("extras") now have corresponding install buttons in the gutter similar to that ofdependency-groups.- Ruff's Markdown error messages are displayed as-is in tooltips by default. It is now possible to render them using a new setting.
- Links to Ruff rules in documentation popups are now resolved in-place, replacing the current popup content with the rule's documentation. Previously, such links would open the browser.
- If a Ruff executable is not specified, one will be detected during execution. When Ruff is not installed but "Formatting" is enabled, the formatter will fail with an error notification. As PyCharm triggers the formatter automatically on paste, this might cause some confusion. The formatter will now not run unless the executable is specified directly using the Ruff setting panel.
- The output of
ruff configis now no longer cached by default. This might result in a noticeable delay that would previously only happen in the first run. The old behaviour can be toggled using a new advanced setting.
- An error notification will now be displayed if
an invalid range is given to the formatter.
Previously, this would result in an
IndexOutOfBoundsException. - Due to a logic error, RyeCharm would naively run Ruff on Jupyter notebooks. This has been fixed. Jupyter notebooks have never been supported by any versions of RyeCharm.
0.1.0-alpha-5 - 2024-12-16
See the documentation for more information.
Latest tool versions at the time of release:
- User-level
ruff.toml/.ruff.tomlfile can now be opened using an action. - "Unable to run command" notifications now have an action to view debug information.
ruffanduvexecutables fromPATHare now prioritized during detection. Previously, those installed by Rye would be checked first.
- 2024.3 is no longer supported.
- Timeout settings are removed entirely. To cancel long-running processes, use the cross buttons next to progress indicators.
- Previously, due to a bug in the executable detector, the UI might freeze. This has been fixed.
- Path input fields (e.g., configuration files) now function correctly.
0.1.0-alpha-4 - 2024-11-22
See the documentation for more information.
Latest tool versions at the time of release:
-
File-level diagnostics by Ruff can now be displayed as editor banners.
-
LSP4IJ mode now respects many settings that were previously ignored due to technical limitations.
-
It is now possible to snooze notifications on formatting failures.
-
PEP 735 support is added:
-
Arrays under the
dependency-groupstable will have language injection similar to that ofproject.optional-dependenciesand others. -
Errors will be reported if:
- Two groups have the same name, normalized or otherwise.
- A group includes an invalid or non-existent group.
- A group references itself.
-
Group references will be detected and highlighted on focus.
-
Groups can be installed by clicking their corresponding line markers.
-
-
Usages of
uv.dev-dependenciesare now reported. This field is deprecated as of uv 0.4.27; it should be replaced withdependency-groups.dev. -
Dependency specifier strings in
pyproject.tomlanduv.tomlnow have the currently installed versions of the dependency displayed next to them as inlay hints.By default, dependency specifiers in the following arrays are recognized:
project.dependenciesproject.optional-dependencies.*dependency-groups.*- [
tool.uv]dev-dependencies
-
Links to Ruff options in documentation popups are now resolved in-place, replacing the current popup content with the option's documentation. Previously, such links would open the browser.
- RyeCharm's documentation popups are now prioritized over that of LSP4IJ. Both will be displayed in a paged popup, with RyeCharm's as the first. Previously, LSP4IJ's would take precedence.
- Executable suggestion notifications will now automatically disappear after 30 seconds. Previously, they would remain indefinitely on the screen.
.pywfiles are now recognized as supported by Ruff, similar to.pyand.pyifiles.- Commands and their outputs are no longer logged by default.
To restore the old behaviour, enable the
insyncwithfoo.ryecharm.logging.commandsregistry entry. - The import optimizer and formatter will now show a notification if they cannot be run or if the process failed.
- 2024.2 and older versions are no longer supported.
- Native LSP client mode now respects the "Report syntax errors" setting.
- Script metadata blocks will now have their trailing newlines stripped before being written back to the original file.
- New virtual environments created using the uv panel now have their names detected correctly. Previously, a threading error would be reported.
- Ruff's violation fixes with multiple edits are now applied correctly in Command line mode.
- The plugin now creates an informational-only
project generation panel on IntelliJ IDEA.
Previously, a
RuntimeExceptionwould be thrown.
0.1.0-alpha-3 - 2024-09-21
See the documentation for more information.
Latest tool versions at the time of release:
-
Script metadata blocks can now be edited in a separate editor. The new content will be written back when this editor is closed.
-
Ruff can now be configured to fix all problems on save.
-
Documentation is now provided when rule selectors specified in the following settings are hovered:
lint.extend-fixablelint.extend-ignorelint.extend-per-file-ignores.*lint.extend-safe-fixeslint.extend-selectlint.extend-unfixablelint.extend-unsafe-fixeslint.fixablelint.ignorelint.per-file-ignores.*lint.selectlint.unfixable
The corresponding deprecated top-level settings are also recognized.
- Error and information notifications are now splitted to different groups.
- A few settings' serialization names are changed.
- Notifications are no longer shown when an on-save task fail.
- Ruff is now no longer run on
.rstfiles. Due to how.rstfiles are implemented, they were incorrectly determined to be Python files.
0.1.0-alpha-2 - 2024-09-14
See the documentation for more information.
Latest tool versions at the time of release:
-
Autocompletions are now provided for
ruffanduvcommands when the new terminal is used. -
PEP 723 inline script metadata blocks now have TOML injected.
-
Various uv PEP 508 dependency arrays settings now have injections similar to that of
project.dependencies:constraint-dependenciesdev-dependenciesoverride-dependenciesupgrade-packagepip.upgrade-package
As a bonus,
project.optional-dependenciesis also supported. This monkeypatches PY-71120. -
Ruff's command line mode now supports "fix all" and "organize imports" as intentions.
- Projects not generated using the uv panel can now independently configure whether uv should be used as the package manager.
- "Bump project version" now no longer runs when the project's path cannot be located. This helps avoiding accidental resources usage and unwanted results.
0.1.0-alpha-1 - 2024-09-07
RyeCharm is an all-in-one plugin for working with Astral-backed tools. Supported features include:
-
Ruff:
- Linting:
- On-the-fly (command line tool)
- Language server
- Quick fixes:
- Fix all violations
- Organize imports
- Disable rule for line
- Automatic fix
- Formatting:
- On save
- On reformat
- On optimize imports
- Documentation on hover:
- Rule codes
- TOML setting keys
- Linting:
-
uv:
- Package management
- Project generation
- Synchronizing from editor
-
Rye:
- Version bumping from editor
See the documentation for more information.