PyCharm Changelog

What's new in PyCharm 2024.1 Build 241.14494.200 RC

Mar 25, 2024
  • The Django debugger now operates correctly with Python 3.12 when low-impact monitoring is enabled.

New in PyCharm 2024.1 Build 241.14494.122 EAP (Mar 25, 2024)

  • Support for the Docker Compose plugin 2.25.0
  • Numerous SQLAlchemy fixes including model field completion and mixins

New in PyCharm 2024.1 Build 241.14494.19 EAP (Mar 11, 2024)

  • Enhanced Terraform support

New in PyCharm 2024.1 Build 241.14024.28 EAP (Mar 6, 2024)

  • Support for larger Flask and FastAPI apps in the Endpoints tool window
  • WireMock server support
  • Quick fixes for creating React props and state

New in PyCharm 2024.1 Build 241.10840.16 EAP (Feb 5, 2024)

  • Option to show tool window names in the side toolbars
  • Git tab removed from the Search Everywheredialog

New in PyCharm 2024.1 Build 241.9959.30 EAP (Feb 2, 2024)

  • Revamped Terminal tool window
  • Ability to run and debug both client and server in a single npm configuration

New in PyCharm 2024.1 Build 241.8102.133 EAP (Jan 21, 2024)

  • Improved IDE zoom
  • Improved Django Structure tool window

New in PyCharm 2023.3 Build 233.11799.32 EAP (Nov 27, 2023)

  • Django Structure view
  • Search Everywhere UI
  • Support for nested classes in HTML completion
  • Angular 17 support

New in PyCharm 2023.3 Build 233.11799.20 EAP (Nov 15, 2023)

  • Support for Type Parameter Syntax (PEP 695)
  • Django Structure view
  • Django Live Preview
  • HTTP Client
  • VCS: all-in-one diff

New in PyCharm 2023.3 Build 233.11555.5 EAP (Nov 6, 2023)

  • Support for PEP 698 (@override decorator in static types)
  • New UI for the Django Server run configuration

New in PyCharm 2023.3 Build 233.11361.11 EAP (Oct 31, 2023)

  • Django Structure view
  • Enhancements to the Live Preview for Django templates
  • Support for Variadic Generics (PEP 646)
  • Interactive plots in SciView
  • Ability to view dataframes or series as charts

New in PyCharm 2023.3 Build 233.9802.6 EAP (Oct 13, 2023)

  • Enhanced code assistance for the new type parameter syntax
  • Code assistance for REST_FRAMEWORK parameters in settings.py

New in PyCharm 2023.3 Build 233.9102.128 EAP (Oct 7, 2023)

  • Support for new f-string grammar
  • Initial support for type parameter syntax
  • Django: quick-fix to register Django models
  • Django REST Framework: code assistance for serializers
  • Django REST Framework: live HTML preview for Django templates

New in PyCharm 2023.3 Build 233.6745.319 EAP (Oct 1, 2023)

  • UI/UX enhancements
  • Django REST Framework: support for viewsets
  • Support for type guards (PEP 647)
  • Enhancements to the Python Console

New in PyCharm 2023.2 Build 232.8660.49 EAP (Jul 14, 2023)

  • Endpoints tool window for Django REST.
  • Black formatter integration.
  • Run Anything.
  • Inlay parameter name hints.
  • Support for installing dependencies from pyproject.toml.

New in PyCharm 2023.2 Build 232.8296.19 EAP (Jun 28, 2023)

  • AI Assistant (Beta).
  • Support for Dev Containers.
  • Colored project headers in the new UI.
  • Inline parameter name hints.

New in PyCharm 2023.2 Build 232.7295.8 EAP (Jun 7, 2023)

  • Light theme with light header in the new UI
  • Improved main toolbar customization
  • Suggested plugins in Settings/Preferences
  • The ability to set up a cluster name for the Docker Compose-based interpreter
  • Refactoring and navigation for fixtures inside the usefixture decorator in pytest

New in PyCharm 2023.2 Build 232.5150.120 EAP (May 17, 2023)

  • A bundled OpenAPI Specifications plugin
  • A reworked Python Run/Debug Configurations dialog
  • Enhanced language detection and support for Jinja templates
  • Support for pytest fixture override

New in PyCharm 2023.1 Build 231.8109.91 RC (Mar 20, 2023)

  • Faster variable value previews for large collections.
  • Instant access to the Python Console and Python Packages tool window.

New in PyCharm 2023.1 Build 231.8109.4 EAP (Mar 9, 2023)

  • The option to save multiple tool window layouts.
  • The option to configure HTML code completion.

New in PyCharm 2023.1 Build 231.7515.12 EAP (Mar 2, 2023)

  • Remote Jupyter Notebooks.
  • Improvements to the Python Packages tool window.
  • Astro support.

New in PyCharm 2023.1 Build 231.6471.3 EAP (Feb 6, 2023)

  • Performance improvements
  • Better code insight for Python generic classes
  • TypeScript updates

New in PyCharm 2023.1 Build 231.4840.379 EAP (Jan 30, 2023)

  • Full IDE zoom
  • Editor improvements for Markdown

New in PyCharm 2022.3 Build 223.7571.203 (Dec 5, 2022)

  • PyCharm 2022.3: New Settings Sync Solution, New Way to Manage Conda Packages, and Enhanced UX for Pandas DataFrames
  • UX:
  • New Settings Sync solution:
  • The new Settings Sync plugin is now available for PyCharm. The new solution is capable of syncing most of the shareable settings from the platform, bundled plugins, and some third-party plugins. Please note that we are discontinuing support for the old IDE Settings Sync plugin and unbundling the Settings Repository. For more information, refer to this article.
  • A new way to manage Conda packages:
  • Search, install, and delete Conda packages without leaving the Editor window. The Python Packages tool window now works with the Anaconda package library, allowing you to customize your Conda interpreter directly while you are writing code.
  • New PyCharm UI available via settings:
  • Preview the completely reworked look and feel of PyCharm by switching to the new UI. Tick the New UI preview box in Settings/Preferences | Appearance & Behavior and give it a try while working on your projects. Watch the new UI in action in this video. You can learn more about our plans concerning this change in this blog post.
  • Redesigned Review list for GitHub and Space:
  • We’ve reworked the Review list UI to help reduce cognitive load and provide the most important information about requests at a glance. As part of this improvement, we’ve also unified the look and feel across all supported review platforms.
  • Improved tips of the day:
  • We’ve made a number of changes to the appearance and behavior of tips of the day to make them more useful and easier to digest. We’ve updated the dialog’s design and implemented tip rating functionality to collect your feedback. We’ve also fine-tuned the algorithm that determines which tips appear to make them more relevant to your experience with the IDE and the project you’re working on.
  • Further improvements:
  • To make interacting with PyCharm on multiple monitors more convenient, we’ve implemented the option to drag tool windows out of the main window and dock them to floating editor tabs.
  • We’ve implemented a few UI improvements to Bookmarks: just right-click on a tab to invoke the context menu and then select Bookmarks to bookmark files from editor tabs. You can also add all files in all open tabs to Bookmarks. Read more in our help.
  • PyCharm provides the ability to read code in your preferred style, without requiring you to reformat the real code. You can apply a new visual formatting layer in Reader mode.
  • We have fine-tuned the algorithm behind the Search Everywhere result list. The IDE will freeze the first search results and won’t re-sort them as more options are found. In addition, the ML ranking is now enabled for the Files tab, providing more accurate lookup results.
  • Jupyter Notebooks Pro:
  • Enhanced UX for pandas DataFrames:
  • You can switch between Table, Tree, and Text viewing modes. It’s now possible to transpose DataFrames, hide columns, and use pagination to quickly navigate through the rows.
  • DataFrames can now be exported in a wide variety of formats, including Excel, JSON, HTML, XML, Markdown tables, and SQL Insert statements.
  • Data Vision: inline information about Jupyter variables:
  • With Data Vision, you can inspect Jupyter variables within your notebook. Enabling this feature gives useful inline information about a number of important variable types, such as the size and contents of NumPy arrays and pandas DataFrames. Data Vision can be switched on by going to Settings/Preferences | Languages & Frameworks | Jupyter and selecting Show inline values in editor.
  • Editor:
  • Improvements to docstrings rendering in Quick Documentation:
  • The Quick Documentation popup now helps you quickly see the class attributes, as it now displays the Attributes section of the class docstrings. This also works for inherited class attributes and attributes of data classes.
  • Reading through the class instances is now easier: Just hover the mouse over the __init__ parameter and its description will be invoked from the class docstring.
  • Intention action preview enabled by default:
  • See instantly how your code will be altered once you apply the IDE’s suggestions. The preview appears when you open the list of available intention actions and hover on one option or another.
  • Python 3.11: Code insight for Self type [PEP 673]:
  • PyCharm recognizes the Self type for the method or attribute annotations, and it suggests the correct type for class instances.
  • PyCharm will warn you if the usage of Self is incorrect in the particular location.
  • Further improvements:
  • There’s a new quick-fix to suppress inspections with a comment in YAML files, including Kubernetes files, OpenAPI specifications, and docker-compose.yml.
  • asyncio support for the Python Console:
  • Python Console:
  • The built-in Python Console now supports using the await keyword outside the function to quickly run a coroutine. PyCharm 2022.3 also adds asyncio support for the debugger. While useful for debugging asynchronous code, this feature is experimental and might not be fully stable. To enable it, follow the steps described here.
  • Frontend Development Pro:
  • Vitest support:
  • PyCharm now supports Vitest, a Vite-native unit test framework! You can run, re-run, and debug your tests in all of the key ways you’d expect, including through gutter icons. Also, the Watch mode is enabled with the All Tests scenario by default. Snapshot testing and coverage are supported in watch mode, too, giving you near-instant feedback on coverage when coding.
  • New project templates for Next.js and Vite:
  • The New Project wizard available on PyCharm’s Welcome screen now includes project templates for Vite and Next.js. We’ve also updated the project template for Vue to make sure it follows the latest standards.
  • Vue updates:
  • PyCharm can now take care of unresolved imports and will offer suggestions for importing Vue components. We’ve also supported the props destructure syntax, improved the behavior of code completion and type checking for Vue library component props, and fixed several Nuxt 3 issues.
  • Integrated Developer Tools:
  • Security:
  • Vulnerability checker for packages:
  • PyCharm detects vulnerabilities in the packages used in your projects by checking the packages against the Checkmarx SCA Database and the National Vulnerability Database. The IDE will highlight packages that are considered vulnerable in package.json, requirements.txt, setup.py files. To view the inspections, you need to enable Security Inspections in Preferences / Settings | Editor | Inspections | Security.
  • HTTP Client Pro:
  • Code style improvements for the HTTP Client:
  • The HTTP Client now provides better formatting options for requests with long URLs. You can also use the Put query parameters on separate lines intention action to break the query into smaller fragments on different lines. To help you manage HTTP request formatting, we’ve implemented a new option in Settings/Preferences | Editor | Code Style | HTTP Request | Wrapping and Braces.
  • Pre-request scripts and new APIs for JavaScript handlers:
  • The HTTP Client now supports script blocks that are executed before requests. You can generate data before request execution and put it in the final request using variables. PyCharm now also provides the сrypto API, making your code capable of computing md5 or sha1 hash values for HTTP requests.
  • Docker Pro:
  • Pull Docker image intention action:
  • There is now an easy way to pull a required image without running it from a Dockerfile, docker-compose.yml, or even from tests that use Testcontainers. Simply call up the context actions (Alt+Enter) on the highlighted image name and select Pull Docker image.
  • Support for the .dockerignore file type:
  • We’ve introduced full support for .dockerignore files, including code highlighting and completion. These files are now taken into account when you build an image from the IDE.
  • Support for the heredoc format in Dockerfiles:
  • Here documents allow you to redirect subsequent Dockerfile lines to the input of RUN or COPY commands. PyCharm now supports this syntax, so you can use it to generate config files or multiline scripts right in your Dockerfiles.
  • Docker connections from Docker Contexts:
  • You can now set up additional Docker connections using Docker Contexts if you already have the settings for them in your Docker config file. You can do so by calling the Add Service context menu in the Services view and selecting Docker Connections From Docker Contexts.
  • Databases Pro:
  • Redis support:
  • In PyCharm 2022.3, we’ve implemented long-awaited support for Redis. You can now connect to Redis Single Instance, explore key values in the data viewer, write and execute Redis queries with the help of our smart coding assistance, and more. See the details in this blog post.
  • Formats for date and time data types in the data editor:
  • It’s now possible to customize how fields of the Datetime/timestamp, Time, and Date types will be displayed in the data editor. The settings are located in Database | Data Editor and Viewer.
  • Quick filter in Database Explorer:
  • We’ve introduced a long-awaited update to the Database Explorer. Now, when using quick search, you also have the ability to filter objects. All non-matching objects will be hidden.
  • Pattern-based schema filtering:
  • It’s now possible to choose databases or schemas for introspection based on regular expression patterns. To do this, click on Add Pattern and define a regular expression pattern in the new node. Adding multiple patterns will combine multiplicities, not create an intersection of them. The All node now behaves differently: You need to choose between All schemas, Default schema, or applying a regexp filter.

New in PyCharm 2022.3 Build 223.7571.64 RC (Nov 20, 2022)

  • Ability to execute asynchronous scripts in the Python Console with await.
  • Support for Vitest, a Vite-native unit test framework.
  • Viewing library code in your preferred code style.
  • Support for Redis.
  • Installers for Windows ARM64.

New in PyCharm 2022.3 Build 223.7401.13 EAP (Nov 14, 2022)

  • Support for Self type in Python 3.11.
  • Updated Tips of the Day.
  • Enhanced Bookmarks.

New in PyCharm 2022.3 Build 223.6160.21 EAP (Oct 12, 2022)

  • Intention action preview
  • Single-line copy/cut/paste

New in PyCharm 2022.2 Build 222.3345.131 (Aug 3, 2022)

  • Support for Python 3.11, Improved HTTP Client, and UX enhancements

New in PyCharm 2022.2 Build 222.3048.9 EAP (Jun 20, 2022)

  • Keyboard shortcut to change the font size globally.
  • WSL: Names of the virtual environments are now customizable.
  • WSL: Debugger for Docker running in WSL.

New in PyCharm 2022.2 Build 222.2270.35 EAP (Jun 2, 2022)

  • WSL: faster skeleton generation and updating for processes.
  • WSL: the ability to set up a virtual environment for WSL projects from PyCharm.
  • WSL: the ability to run Jupyter notebooks on WSL.
  • Python 3.11: support for exception groups.
  • UI: a Merge All Project Windows action on macOS.
  • UI: font size indicator on zoom.
  • UI: the ability to see the author of code in the editor.

New in PyCharm 2022.1 Build 221.4994.44 EAP (Mar 31, 2022)

  • Docker improvements
  • Updates for Kubernetes
  • Custom type renderers in the debugger
  • Enhanced Run / Debug widget

New in PyCharm 2022.1 Build 221.4165.171 EAP (Mar 14, 2022)

  • TypedDict: improved per-key warnings.
  • Basic authorization for custom package repositories is now available [PY-26556].
  • You can run commands directly from Markdown documents.
  • Vue: Global components are now recognized in the .vue files.
  • The manage.py console toolbar is no longer hidden [PY-50213].
  • PyCharm is now able to install Python 3 on macOS [PY-51686].
  • The remote interpreter setup doesn't affect the local venv path suggestion [PY-51175].
  • For Python 3.9 and earlier, using bitwise boolean OR operator won't cause an error [PY-51329].

New in PyCharm 2022.1 Build 221.3427.103 EAP (Jan 31, 2022)

  • New simplified UI for creating targets
  • Support for creating virtual environments on SSH and WSL targets
  • Ability to install Python on macOS
  • Support for explicitly parametrized generic class instantiation

New in PyCharm 2021.3 Build 213.5744.248 (Dec 2, 2021)

  • Python:
  • Poetry Support:
  • Poetry is becoming more and more popular among Python developers, and there were a lot of issues reported to our tracker to add support for it. The good news for Poetry users (and for those willing to try it) is that PyCharm now supports Poetry and provides code completion for your pyproject.toml files out of the box! Kudos to Koudai Aono, who developed the original plugin that has been merged into the PyCharm source code.
  • Further improvements:
  • PyCharm now supports PEP 612 - Parameter Specification Variables, another new feature in Python 3.10.
  • Web Development Pro:
  • FastAPI Support:
  • FastAPI, a popular high-performance Python web framework for building APIs, is now supported in PyCharm. Select the FastAPI project type and let PyCharm install all its dependencies and create the run/debug configurations for you. Alternatively, open an existing FastAPI project with PyCharm and create a FastAPI run configuration yourself. PyCharm will detect your application and run Uvicorn for you.
  • It is now easier to test your HTTP endpoints using the “test.http” file. Send GET, POST, and other request types to your application endpoints right from the editor.
  • New Endpoints Tool Window for FastAPI and Flask:
  • If you develop web applications using FastAPI and Flask, you likely work with endpoints. As you may already know, this workflow can be cumbersome in larger projects, so PyCharm 2021.3 introduces the new Endpoints tool window for FastAPI and Flask project types.
  • As soon as you start working on a new or existing project, PyCharm will scan its routes and list them in the Endpoints tool window, where you have code completion, navigation, and refactoring capabilities for your URLs. This tool window also provides you with a better overview of your endpoints and quick access to the documentation.
  • Further improvements:
  • PyCharm no longer requires you to start your HTML tags using ‘ Learn IDE in the main menu in the IDE.
  • Evaluate expressions from the debugger:
  • In this release, the discoverability of the Evaluate feature has been improved. Instead of using watches, you can now quickly access the Evaluate field right in the Debug tool window.
  • Further improvements:
  • You can create and edit Run Configurations during indexing.
  • You have more information about failures during the installation of Python packages so there is more context to fix any undesired issues.
  • You can stop PyCharm automatically numbering and indenting the next line in markdown lists. Go to Preferences > Languages & Frameworks > Markdown, and disable Automatic assistance in the editor.
  • You can now add multiple cells to an execution queue in the Python Console. PyCharm no longer blocks you until the previous execution is completed.
  • You can now specify an HTTP or SOCKS proxy server for your SSH configuration in Preferences/Settings | Tools | SSH Configurations.
  • Version Control:
  • Reorganized Version Control Settings:
  • We reorganized the VCS settings and made them more discoverable. In Preferences / Settings | Version Control you will now find a list of all the available settings, serving as a starting point for configuring your VCS.
  • The settings inside the sections are organized by the most important processes: Commit, Push, and Update. There is a separate node for Directory mappings, and the background operations are on by default.
  • Checkout and Rebase onto Current for Remote Branches:
  • When you need to check out the selected branch and rebase it on top of a branch that is currently checked out, you can use the Checkout and Rebase onto Current action, which was previously available for local branches only. In PyCharm 2021.3, you can use it for remote branches as well.
  • Push all up to here Action:
  • A new Push all up to here action is available that allows you to push only the commits you are confident about and leave the rest for later. It allows you to push commits up to the one you have selected in the Log tab of the Git tool window. To use it, pick the commit you want to stop at, right-click on it to call the context menu, and select the new Push All up to Here action.
  • Databases Pro:
  • New Database Diff Window:
  • The new database diff window is available from the context menu. It has a better UI and clearly shows what result you’ll get after you perform the synchronization.
  • The legend shows what the colors mean for your potential result:
  • Green and italic: object will be created.
  • Grey: object will be deleted.
  • Blue: object will be changed.
  • The Script preview tab shows the result script, which can be either opened in a new console or run from this dialog. The script applies the changes to make the database on the right (target) a copy of the database on the left (source).
  • In addition to the Script preview tab, there are two more tabs on the bottom pane of the database diff window: Object Properties Diff and DDL Diff. They display the differences between the particular versions of the object in the original and target databases.
  • Data Editor Aggregates:
  • The ability to display an Aggregate view for a range of cells is available. This is a long-awaited feature that will help you manage your data and spare you from having to write additional queries!
  • This makes the data editor more powerful and easier to use, bringing it a step closer to Excel and Google Spreadsheets. To use this feature you will first need to select the cell range you want to see the view for, then right-click and select Show Aggregate View from the menu.
  • Further improvements:
  • When you open or import a CSV file, PyCharm automatically detects that the first row is the header and contains the names of the columns.
  • End of Support:
  • End of support for Mako, Buildout, and Web2Py:
  • From PyCharm 2021.3 onwards, there will no longer be support for Mako, Buildout, or Web2Py.

New in PyCharm 2021.3 Build 213.5744.131 RC (Nov 22, 2021)

  • Poetry Support
  • New FastAPI Project Type
  • New Jupyter Notebook Experience
  • Remote Development Support (Beta)
  • And more...

New in PyCharm 2021.3 Build 213.5605.23 EAP (Nov 4, 2021)

  • New form of remote development named JetBrains Gateway.
  • Ability to set value for dictionary item during debug. [PY-28563]
  • Fixed a bug that was causing a project structure to become broken when using a venv with a package installed as editable. [PY-51125]

New in PyCharm 2021.3 Build 213.4631.9 EAP (Oct 13, 2021)

  • Checkout and Rebase onto Current for remote branches.
  • Reorganized VCS settings.
  • Manage the command execution queue in the Python Console.
  • Create/Edit Run Configurations during indexing.
  • Turn off smart list editing in Markdown.