Skip to content

Releases: InSyncWithFoo/ryecharm

v0.1.0-alpha-7

02 Feb 02:54
Compare
Choose a tag to compare
v0.1.0-alpha-7 Pre-release
Pre-release

For users

See the documentation for more information.

Latest tool versions at the time of release:

Added

  • 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 # noqa comments can now be re-enabled
    using an intention.

Removed

  • 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.

For contributors

Dependencies

v0.1.0-alpha-6

20 Jan 03:11
Compare
Choose a tag to compare
v0.1.0-alpha-6 Pre-release
Pre-release

For users

See the documentation for more information.

Latest tool versions at the time of release:

Added

  • 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 of dependency-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.

Changed

  • 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 config is 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.

Fixed

  • 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.

For contributors

Dependencies

v0.1.0-alpha-5

16 Dec 01:37
Compare
Choose a tag to compare
v0.1.0-alpha-5 Pre-release
Pre-release

For users

See the documentation for more information.

Latest tool versions at the time of release:

Added

  • User-level ruff.toml/.ruff.toml file can now be opened using an action.
  • "Unable to run command" notifications now have an action
    to view debug information.

Changed

  • ruff and uv executables from PATH are now prioritized during detection.
    Previously, those installed by Rye would be checked first.

Removed

  • 2024.3 is no longer supported.
  • Timeout settings are removed entirely. To cancel long-running processes,
    use the cross buttons next to progress indicators.

Fixed

  • 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.

For contributors

Dependencies

v0.1.0-alpha-4

22 Nov 03:04
Compare
Choose a tag to compare
v0.1.0-alpha-4 Pre-release
Pre-release

For users

See the documentation for more information.

Latest tool versions at the time of release:

Added

  • 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-groups table will have language injection
      similar to that of project.optional-dependencies and 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-dependencies are now reported.
    This field is deprecated as of uv 0.4.27;
    it should be replaced with dependency-groups.dev.

  • Dependency specifier strings in pyproject.toml and uv.toml
    now 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.dependencies
    • project.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.

Changed

  • 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.
  • .pyw files are now recognized as supported by Ruff,
    similar to .py and .pyi files.
  • Commands and their outputs are no longer logged by default.
    To restore the old behaviour, enable the
    insyncwithfoo.ryecharm.logging.commands registry entry.
  • The import optimizer and formatter will now show a notification
    if they cannot be run or if the process failed.

Removed

  • 2024.2 and older versions are no longer supported.

Fixed

  • 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 RuntimeException would be thrown.

For contributors

Changed

  • The # noqa comment parsing algorithm is updated to match that of Ruff.

Fixed

  • Test report artifacts for different platforms
    now use different names to prevent name conflict.

Dependencies

v0.1.0-alpha-3

21 Sep 09:55
Compare
Choose a tag to compare
v0.1.0-alpha-3 Pre-release
Pre-release

For users

See the documentation for more information.

Latest tool versions at the time of release:

Added

  • 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-fixable
    • lint.extend-ignore
    • lint.extend-per-file-ignores.*
    • lint.extend-safe-fixes
    • lint.extend-select
    • lint.extend-unfixable
    • lint.extend-unsafe-fixes
    • lint.fixable
    • lint.ignore
    • lint.per-file-ignores.*
    • lint.select
    • lint.unfixable

    The corresponding deprecated top-level settings are also recognized.

Changed

  • 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.

Fixed

  • Ruff is now no longer run on .rst files.
    Due to how .rst files are implemented,
    they were incorrectly determined to be Python files.

For contributors

Dependencies

v0.1.0-alpha-2

14 Sep 05:27
Compare
Choose a tag to compare
v0.1.0-alpha-2 Pre-release
Pre-release

For users

See the documentation for more information.

Latest tool versions at the time of release:

Added

  • Autocompletions are now provided for ruff and uv commands
    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-dependencies
    • dev-dependencies
    • override-dependencies
    • upgrade-package
    • pip.upgrade-package

    As a bonus, project.optional-dependencies is also supported.
    This monkeypatches PY-71120.

  • Ruff's command line mode now supports
    "fix all" and "organize imports" as intentions.

Changed

  • Projects not generated using the uv panel can now
    independently configure whether uv should be used as the package manager.

Fixed

  • "Bump project version" now no longer runs when
    the project's path cannot be located.
    This helps avoiding accidental resources usage and unwanted results.

For contributors

Dependencies

v0.1.0-alpha-1

07 Sep 03:26
Compare
Choose a tag to compare
v0.1.0-alpha-1 Pre-release
Pre-release

For users

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
  • uv:

    • Package management
    • Project generation
    • Synchronizing from editor
  • Rye:

    • Version bumping from editor

See the documentation for more information.

For contributors

Commands and settings integrated:

  • Ruff

    • Language server settings:
      • Root:
        • configuration
        • fixAll
        • organizeImports
        • showSyntaxErrors
        • logLevel
        • logFile
      • codeAction:
        • disableRuleComment.enable
        • fixViolation.enable
      • lint:
        • enable
    • Commands:
      • check: Run Ruff on the given files or directories (default)
      • format: Run the Ruff formatter on the given files or directories
      • rule: Explain a rule (or all rules)
      • config: List or describe the available configuration options
      • linter: List all supported upstream linters
      • version: Display Ruff's version
      • clean: Clear any caches in the current directory and any subdirectories
      • server: Run the language server
  • uv

    • Commands:
      • init: Create a new project
      • add: Add dependencies to the project
      • remove: Remove dependencies from the project
      • sync: Update the project's environment
      • pip: Manage Python packages with a pip-compatible interface
        • list: List, in tabular format, packages installed in an environment
      • venv: Create a virtual environment
      • version: Display uv's version
  • Rye

    • Commands:
      • show: Prints the current state of the project
      • version: Get or set project version
      • config: Reads or updates the Rye configuration
        • --show-path: Print the path to the config