News
Content:
-
September 12, 2024: Introducing the New TeamCity Plugin for IntelliJ IDEA
-
August 20, 2024: New Datalore Cloud Plans – What You Need to Know
-
July 16, 2024: The YouTrack App Now Supports Helpdesk Projects
-
June 25, 2024: What’s New in Datalore 2024.3: Quality Improvements
-
June 12, 2024: YouTrack Introduces Free Writing Assistance, Powered by JetBrains AI
-
May 17, 2024: TeamCity Pipelines Pulse, Issue #1: YAML-y Good News
September 24, 2024:
PyCharm vs. Jupyter Notebook
Jupyter notebooks are an important tool for data scientists, providing an easy option for conducting experiments and presenting results. According to our Developer Ecosystem Survey 2023, at least 35% of data professionals use Jupyter notebooks. Furthermore, over 40% of these users spend more than 20% of their working time using these resources.
There are several implementations of notebook technology available to data professionals. At first we’ll look at the well-known Jupyter Notebook platforms by Project Jupyter. For the purposes of this article, we’ll refer to the Project Jupyter implementations of notebooks as “vanilla Jupyter” in order to avoid confusion, since there are several other implementations of the tool.
While vanilla Jupyter notebooks can be sufficient for some tasks, there are other cases where it would be better to rely on another tool for working with data. In this article, we’ll outline the key differences between PyCharm Professional and vanilla Jupyter when it comes to data science applications.
What is Jupyter Notebook?
Jupyter Notebook is an open-source platform that allows users to create and share code, visualizations, and text. It’s primarily used for data analysis and scientific research. Although JupyterLab offers some plugins and tools, its capabilities and user experience are significantly more limited than PyCharm’s.
What is PyCharm Professional?
PyCharm is a comprehensive integrated development environment (IDE) that supports a wide range of technologies out of the box, offering deep integration between them. In addition to enhanced support for Jupyter notebooks, PyCharm Professional also provides superior database support, Python script editing, and GitHub integration, as well as support for AI Assistant, Hugging Face, dbt-Core, and much more.
Feature comparison: PyCharm Pro vs. Jupyter
Language support
While Jupyter notebooks claim to support over 40 programming languages, their usage is limited to the .ipynb format, which makes working with traditional file extensions like .py, .sql, and others less convenient. On the other hand, while PyCharm offers support for fewer languages – Python, JavaScript and TypeScript, SQL, and R (via plugin), along with several markup languages like HTML and CSS – the support is much more comprehensive.
Often, Jupyter notebooks and Python scripts serve different purposes. Notebooks are typically used for prototyping and experimentation, while Python scripts are more suitable for production. In PyCharm Professional, you can work with both of these formats and it’s easy to convert .ipynb files into .py files. See the video below for more information.
The smartest code completion
If you’ve ever written code in PyCharm Professional, you’ll have definitely noticed its code completion capabilities. In fact, the IDE offers several different types of code completion. In addition to the standard JetBrains completion, which provides suggestions based on an extensive understanding of your project and libraries, there’s also runtime completion, which can suggest names of data objects like columns in a pandas or Polars DataFrame, and ML-powered, full-line completion that suggests entire lines of code based on the current file. Additionally, you can enhance these capabilities with LLM-powered tools such as JetBrains AI Assistant, GitHub Copilot, Amazon Whisper, and others.
In contrast, code completion in Jupyter notebooks is limited. Vanilla Jupyter notebooks lack awareness of your project’s context, there’s no local ML-based code completion, and there’s no runtime code completion for database objects.
Code quality features and debugger
PyCharm offers several tools to enhance your code quality, including smart refactorings, quick-fixes, and AI Assistant – none of which are available in vanilla Jupyter notebooks.
If you’ve made a mistake in your code, PyCharm Professional will suggest several actions to fix it. These become visible when you click on the lightbulb icon.
PyCharm Professional also inspects code on the file and project level. To see all of the issues you have in your current file, you can click on the image in the top right-hand corner.
While vanilla Jupyter notebooks can highlight any issues after a code cell has been executed (as seen below), it doesn’t have features that allow you to analyze your entire file or project.
PyCharm provides a comprehensive and advanced debugging environment for both Python scripts and Jupyter notebooks. This debugger allows you to step into your code, running through the execution steps line by line, and pinpointing exactly where an error was made. If you’ve never used the debugger in PyCharm, you can learn how to debug a Jupyter notebook in PyCharm with the help of this blog by Dr. Jodie Burchell. In contrast, vanilla Jupyter offers basic debugging tools such as cell-by-cell execution and interactive %debug commands.
Refactorings
Web-based Jupyter notebooks lack refactoring capabilities. If you need to rename a variable, introduce a constant, or perform any other operation, you have to do it manually, cell by cell. In PyCharm Professional, you can access the Refactoring menu via Control + T and use it to make changes in your file faster. More information about refactorings in PyCharm you can find in the video.
Other code-related features
If you forget how to work with a library in vanilla Jupyter notebooks, you need to open another tab in a browser to look up the documentation, taking you out of your development environment and programming flow.
In PyCharm Professional, you can get information about a function or library you’re currently using right in the IDE by hovering over the code.
If you have a subscription to AI Assistant you can also use it for troubleshooting, such as asking it to explain code and runtime errors, as well as finding potential problems with your code before you run it.
Working with tables
DataFrames are one of the most important types of data formats for the majority of data professionals. In vanilla Jupyter notebooks, if you print a pandas or Polars DataFrame, you’ll see a static, output with a limited number of columns and rows shown. Since the DataFrame outputs in Jupyter notebooks are static, this makes it difficult to explore your data without writing additional code.
In PyCharm Professional, you can use interactive tables that allow you to easily view, navigate, sort, and filter data. You can create charts and access essential data insights, including descriptive statistics and missing values – all without writing a single line of code.
What’s more, the interactive tables are designed to give you a lot of information about your data, including details of:
-
Data type symbols in the column headers
-
The size of your DataFrame (in our case it is 2390 rows and 82 columns).
-
Descriptive statistics and missing values and many more.
If you want to get more information about how interactive tables work in PyCharm, check out the documentation.
Versioning and GitHub integration
In PyCharm Professional, you have several version control options, including Git.
With PyCharm’s GitHub integration, you can see and revert your changes with the help of the IDE’s built-in visual diff tool. This enables you to compare changes between different commits of your notebooks. You can find an in-depth overview of the functionality in this tutorial.
Another incredibly useful feature is the local history, which automatically saves a version history of your changes. This means that if you haven’t committed something, and you need to roll back to an earlier version, you can do so with the click of a button.
In vanilla Jupyter notebooks, you have to rely on the CLI git tool. In addition, Git is the only way of versioning your work, meaning there is no way to revert changes if you haven’t committed them.
Navigation
When you work on your project in Jupyter Notebook, you always need to navigate either within a given file or the whole project. On the other hand, the navigation functionality in PyCharm is significantly richer.
Beyond the Structure view that is also present in JupyterLab, you can also find some additional features to navigate your project in our IDEs. For example, double pressing Shift will help you find anything in your project or settings.
In addition to that, you can find the specific source of code in your project using PyCharm Professional’s Find Usages, Go to Implementation, Go to Declaration, and other useful features.
Check out this blog post for more information about navigation in Jupyter notebooks in PyCharm.
Visualizations
In addition to libraries that are available in vanilla Jupyter notebooks, PyCharm also provides further visualization possibilities with the help of interactive tables. This means you don’t have to remember or type boilerplate code to create graphs.
How to choose between PyCharm and vanilla Jupyter notebooks
Vanilla Jupyter notebooks are a lightweight tool. If you need to do some fast experiments, it makes sense to use this implementation.
On the other hand, PyCharm Professional is a feature-rich IDE that simplifies the process of working with Jupyter notebooks. If you need to work with complex projects with a medium or large codebase, or you want to add a significant boost to productivity, PyCharm Professional is likely to be more suitable, allowing you to complete your data project more smoothly and quickly .
Get started with PyCharm Professional
PyCharm Professional is a data science IDE that supports Python, rich databases, Jupyter, Git, Conda, and other technologies right out of the box. Work on projects located in local or remote development environments. Whether you’re developing data pipelines, prototyping machine learning models, or analyzing data, PyCharm equips you with all the tools you need.
The best way to understand the difference between tools is to try them for yourself. We strongly recommend downloading PyCharm and testing it in your real-life projects.
September 20, 2024:
What’s New in PyCharm 2024.2.2!
PyCharm 2024.2.2 is here with many key updates, including Python support improvements, new Django features, and enhancements to the Data View tool window!
Visit our What’s New page for more details on all these features and to explore many others. You can download the latest version from our download page or update your current version through our free Toolbox App.
PyCharm 2024.2.2 highlights
Django enhancements PRO
New code completion suggestions
When working with models, PyCharm now offers field completion suggestions in a variety of cases, such as Model.save(update_fields[…]), Model.refresh_from_db(fields=[…]), Model.clean_fields(exclude=[…]), and so on.
Quick-fix to create a method for an unresolved ViewSet
If a ViewSet has an unresolved reference, PyCharm suggests a quick-fix to introduce the missing method. Use Alt + Enter to call it.
Data View PRO
You can now look at n-dimensional NumPy arrays in the Data View tool window. Define the array you would like to inspect, along with a specific dimension or slice, in a special field at the bottom of the tool window, and PyCharm will display a table with the results.
Python support improvements
Support for default types for type parameters (PEP 696)
Improve typing with PyCharm’s support for the Python 3.13 ability to define the default types for type parameters. The IDE now incorporates default types for type parameters both for old-style and new-style generic classes, functions, and type aliases, and it takes them into account in type inference.
Pattern matching: Foldable match statements
To improve the readability of code with large pattern-matching statements, you can now use folding for entire match statements or for separate cases inside them.
Visit our What’s New page to learn about other useful features included in this release, or read the release notes for the full breakdown, including more details on the features mentioned here.
If you encounter any problems, please report them in our issue tracker so we can address them promptly.
Connect with us on X (formerly Twitter) to share your thoughts on PyCharm 2024.2.2!
September 12, 2024:
Introducing the New TeamCity Plugin for IntelliJ IDEA
We’re excited to announce the release of the updated TeamCity plugin for IntelliJ IDEA! 🎉 You can now download it directly from JetBrains Marketplace.
Using the plugin, you can trigger TeamCity builds directly from within your IDE and test any changes before committing them to the version control system.
Why get the new plugin?
This plugin has been built from the ground up to ensure it will eventually be able to replace the existing TeamCity plugin once support for the most frequently used and requested features has been added.
Here’s what’s new in the plugin:
-
We’ve added functionality enabling you to link TeamCity projects and build configurations to your IDE project so that you only see build configurations related to your IDE project.
-
With the help of the remote run feature, you can run build configurations on your local changes without committing them to the VCS.
-
The plugin’s tool window now contains a new Personal Builds tab where past personal builds are listed. It also shows live updates of all builds executed using the remote run feature.
-
Now it’s possible to select a build configuration and watch its build status for each commit in the VCS Log tool window.
Key benefits of this updated plugin include:
-
The ability to manually configure which TeamCity projects relate to your code, giving you more control over your builds.
-
Enhanced performance that significantly reduces lag between your actions in the IDE and the TeamCity server’s response.
We’re actively developing this plugin and planning to add even more features in upcoming releases. Your feedback is critical in shaping the tool to better meet the needs of IntelliJ IDEA developers.
You can install both the old and new plugin versions side by side, so feel free to compare and explore!
How to get started with the TeamCity plugin for IntelliJ IDEA
Initial setup
1. Download the plugin from Marketplace.
2. Once the plugin is installed, open your project in IntelliJ IDEA and invoke the plugin’s settings using the Tools | TeamCity (Experimental) | Settings… menu.
3. Click Log In and enter the following values:
-
Server URL – the HTTP(S) address of your TeamCity server.
-
Access token – your user access token that can be generated on the Your Profile | Access Tokens page in TeamCity.
With the new plugin, you can link build configurations from TeamCity directly to the project you have open. In the old plugin, this had to be configured through VCS roots, which wasn’t an easy process.
Now, users only need to create a given configuration once, and it will be saved in the source code. Everyone who downloads the project will then have it automatically configured and available without the need to set it up themselves.
Testing your local changes
One of the key benefits of the TeamCity IDEA plugins (both old and new) is the ability to run builds with your local changes before they are pushed to a remote branch, also known as a remote run. This allows you to spot issues without breaking the build for everyone else on your team.
Here’s how you can initiate a remote run from your IDE.
1. Make some changes to your code.
2. Go to Tools | TeamCity (Experimental) | Remote Run….
3. Then, under Remote Run… | Settings…, click the target build configurations that you want to run with your local changes. The plugin will then remember your choice and run builds for the same configuration(s) on subsequent remote runs. You can configure these project-configuration relations in the plugin settings.
Link your projects to TeamCity build configurations
Setting up project-configuration relations allows you to explicitly choose which configurations should be triggered depending on the introduced changes.
TeamCity’s IntelliJ IDEA integration enables you to choose the linking scope, selecting whether you want to link the whole project or only individual project modules to your TeamCity build configurations.
1. Click Tools | TeamCity (Experimental) | Settings… to open the plugin’s settings.
2. Choose the required Linking scope value:
-
PROJECT – allows you to link the entire IntelliJ IDEA project to the target build configuration(s). This option works best when you need to trigger builds of the same configuration(s) regardless of which part of your code changed.
-
MODULE – allows you to link individual modules to corresponding build configurations. For example, you can run both Build and Test configurations if the main module of your application changes, and only the Test configuration if you edit a separate module with unit and functional tests. This mode also benefits mono repositories where each module is a separate project with its own target build configuration(s).
Share your feedback
We’re still working on making the new plugin ready to replace the old one. For the time being, you can download both plugins – they won’t interfere with each other.
Is there any functionality that you’d like us to add to the new plugin? Let us know in the comments below! We want to make the plugin as useful as possible, and your feedback can help us do exactly that.
September 9, 2024:
How to Use Jupyter Notebooks in PyCharm
PyCharm is one of the most well-known data science tools, offering excellent out-of-the-box support for Python, SQL, and other languages. PyCharm also provides integrations for Databricks, Hugging Face and many other important tools. All these features allow you to write good code and work with your data and projects faster.
PyCharm Professional’s support for Jupyter notebooks combines the interactive nature of Jupyter notebooks with PyCharm’s superior code quality and data-related features. This blog post will explore how PyCharm’s Jupyter support can significantly boost your productivity.
Watch this video to get a comprehensive overview of using Jupyter notebooks in PyCharm and learn how you can speed up your data workflows.
Speed up data analysis
Get acquainted with your data
When you start working on your project, it is extremely important to understand what data you have, including information about the size of your dataset, any problems with it, and its patterns. For this purpose, your pandas and Polars DataFrames can be rendered in Jupyter outputs in Excel-like tables. The tables are fully interactive, so you can easily sort one or multiple columns and browse and view your data, you can choose how many rows will be shown in a table and perform many other operations.
The table also provides some important information for example:
-
You can find the the size of a table in its header.
-
You can find the data type symbols in the column headers.
-
You can also use JetBrains AI Assistant to get information about your DataFrame by clicking on the icon.
Easily spot issues with the data
After getting acquainted with your data, you need to clean it. This an important step, but it is also extremely time consuming because there are all sorts of problems you could find, including missing values, outliers, inconsistencies in data types, and so on. Indeed, according to the State of Developer Ecosystem 2023 report, nearly 50% of Data Professionals dedicate 30% of their time or more to data preparation. Fortunately, PyCharm offers a variety of features that streamline the data-cleaning process.
Some insights are already available in the column headers.
First, we can easily spot the amount of missing data for each column because it is highlighted in red. Also, we may be able to see at a glance whether some of our columns have outliers. For example, in the bath column, the maximum value is significantly higher than the ninety-fifth percentile. Therefore, we can expect that this column has at least one outlier and requires our attention.
Additionally, you might suspect there’s an issue with the data if the data type does not match the expected one. For example, the header of the total_sqft column below is marked with the symbol, which in PyCharm indicates that the column contains the Object data type. The most appropriate data type for a column like total_sqft would likely be float or integer, however, so we may expect there to be inconsistencies in the data types within the column, which could affect data processing and analysis. After sorting, we notice one possible reason for the discrepancy: the use of text in data and ranges instead of numerical values.
So, our suspicion that the column had data-type inconsistencies was proven correct. As this example shows, small details in the table header can provide important information about your data and alert you to issues that need to be addressed, so it’s always worth checking.You can also use no-code visualizations to gather information about whether your data needs to be cleaned. Simply click on the icon in the top-left corner of the table. There are many available visualization options, including histograms, that can be used to see where the peaks of the distribution are, whether the distribution is skewed or symmetrical, and whether there are any outliers.
Of course, you can use code to gather information about your dataset and fix any problems you’ve identified. However, the mentioned low-code features often provide valuable insights about your data and can help you work with it much faster.
Code faster
Code completion and quick documentation
A significant portion of a data professional’s job involves writing code. Fortunately, PyCharm is well known for its features that allow you to write code significantly faster. For example, local ML-powered full line code completion can provide suggestions for entire lines of code.
Another useful feature is quick documentation, which appears when you hover the cursor over your code. This allows you to gather information about functions and other code elements without having to leave the IDE.
Refactorings
Of course, working with code and data is an interactive process, and you may often decide to make some changes in your code – for example, to rename a variable. Going through the whole file or, in some cases, the entire project, would be cumbersome and time consuming. We can use PyCharm’s refactoring capabilities to rename a variable, introduce a constant, and make many other changes in your code. For example, in this case, I want to rename the DataFrame to make it shorter. I simply use the the Rename refactoring to make the necessary changes.
PyCharm offers a vast number of different refactoring options. To dive deeper into this functionality, watch this video.
Fix problems
It is practically impossible to write code without there being any mistakes or typos. PyCharm has a vast array of features that allow you to spot and address issues faster. You will notice the Inspection widget in the top-right corner if it finds any problems.
For example, I forgot to import a library in my project and made several typos in the doc so let’s take a look how PyCharm can help here.
First of all, the problem with the library import:
Additionally, with Jupyter traceback, you can see the line where the error occurred and get a link to the code. This makes the bug-fixing process much easier. Here, I have a typo in line 3. I can easily navigate to it by clicking on the blue text.
Additionally if you would like to get more information and suggestion how to fix the problem, you can use JetBrains AI Assistant by clicking on Explain with AI.
Of course, that is just the tip of the iceberg. We recommend reading the documentation to better understand all the features PyCharm offers to help you maintain code quality.
Navigate easily
For the majority of cases, data science work involves a lot of experimentation, with the journey from start to finish rarely resembling a straight line.
During this experimentation process, you have to go back and forth between different parts of your project and between cells in order to find the best solution for a given problem. Therefore, it is essential for you to be able to navigate smoothly through your project and files. Let’s take a look at how PyCharm can help in this respect.
First of all, you can use the classic CMD+F (Mac) or CTRL+F (Windows) shortcut for searching in your notebook. This basic search functionality offers some additional filters like Match Case or Regex.
You can use Markdown cells to structure the document and navigate it easily.
If you would like to highlight some cells so you can come back to them later, you can mark them with #TODO or #FIXME, and they will be made available for you to dissect in a dedicated window.
Or you can use tags to highlight some cells so you’ll be able to spot them more easily.
In some cases, you may need to see the most recently executed cell; in this case, you can simply use the Go To option.
Save your work
Because teamwork is essential for data professionals, you need tooling that makes sharing the results of your work easy. One popular solution is Git, which PyCharm supports with features like notebook versioning and version comparison using the Diff view. You can find an in-depth overview of the functionality in this tutorial.
Another useful feature is Local History, which automatically saves your progress and allows you to revert to previous steps with just a few clicks.
Use the full power of AI Assistant
JetBrains AI Assistant helps you automate repetitive tasks, optimize your code, and enhance your productivity. In Jupyter notebooks, it also offers several unique features in addition to those that are available in any JetBrains tool.
Click the icon to get insights regarding your data. You can also ask additional questions regarding the dataset or ask AI Assistant to do something – for example, “write some code that solves the missing data problem”.
AI data visualization
Pressing the icon will suggest some useful visualizations for your data. AI Assistant will generate the proper code in the chat section for your data.
AI cell
AI Assistant can create a cell based on a prompt. You can simply ask it to create a visualization or do something else with your code or data, and it will generate the code that you requested.
Debugger
PyCharm offers advanced debugging capabilities to enhance your experience in Jupyter notebooks. The integrated Jupyter debugger allows you to set breakpoints, inspect variables, and evaluate expressions directly within your notebooks. This powerful tool helps you step through your code cell by cell, making it easier to identify and fix issues as they arise. Read our blog post on how you can debug a Jupyter notebook in PyCharm for a real-life example.
Get started with PyCharm Professional
PyCharm’s Jupyter support enhances your data science workflows by combining the interactive aspects of Jupyter notebooks with advanced IDE features. It accelerates data analysis with interactive tables and AI assistance, improves coding efficiency with code completion and refactoring, and simplifies error detection and navigation. PyCharm’s seamless Git integration and powerful debugging tools further boost productivity, making it essential for data professionals.
Download PyCharm Professional to try it out for yourself!
August 22, 2024:
What’s New in Datalore 2024.4: Limit 500 Toggle, Easier Folder Import, Polars DataFrames Support, and More
Datalore 2024.4 introduces quality-of-life improvements for SQL cells, a revamped folder import workflow, support for Polars DataFrames, and more. Datalore Cloud customers have already received the new update automatically, and Datalore On-Premises customers can upgrade by following these instructions.
Limit 500 toggle for SQL cells
To help you prototype SQL queries faster, we’ve introduced a new Limit 500 feature inside SQL cells in Datalore notebooks. There is now a toggle visible in the SQL cell next to the Browse schema action. This setting will persist after a kernel restart, ensuring a seamless workflow.
Revamped import folder workflow
It is now easier to import your previous work into Datalore. We’ve enhanced the folder import experience with a new, streamlined dialog that appears when you click Import | Upload folder. You can now easily select which notebooks and files to import, with the option to import notebooks as files. Hidden files and folders are fully supported and can be imported if selected.
Updates to the notebook UI
We’ve made several updates to the notebook UI to enhance your editing experience. Unfocused code cells now have borders, improving cell visibility and making it easier to target the insert cell buttons. Interactive controls and metric cells now have their options merged with the cell toolbar, no longer occupying the full width of the notebook. Additionally, cell type-specific actions, such as selecting a datasource or target variable, are now positioned to the right of the execution time for easier access. Cells now also feature a Run button, which can be gray or blue depending on whether the cell was changed after execution – offering a clearer indication of a cell’s status.
Drop-down cell improvements
For large lists, you can now use a search string within the drop-down to quickly find your desired option. Additionally, multiselect drop-downs now include Select all and Clear all options.
Quick notebook access from the editor
You can now quickly search for and open notebooks in a separate tab directly from the Notebooks view. Enjoy easier navigation without extra context switching.
Support for Polars DataFrames
Datalore now supports rich table outputs for Polars DataFrames. To get an interactive table output, specify the DataFrame name at the end of the cell without a print statement.
Other updates and bug fixes
-
Duplicate file names are no longer permitted inside Datalore’s file system, with existing duplicates renamed with (#N) prefixes to make files easier to find and minimize naming confusion.
-
Python `input()` commands are now supported for interactive reports.
-
Git repositories with submodules are now cloned correctly.
-
Tables are no longer cropped when printing to PDF.
-
We’ve resolved the issue where pages would not load when Datalore was set up with an HTTP proxy on a non-standard port.
-
We’ve fixed the issue where refreshing the schema in the Edit database connection dialog would not work for users logged in via OAuth.
-
It is now possible to copy data from the cell outputs to the clipboard via the output’s context menut. This feature is supported for most cell output types.
-
The workspace owner is now indicated in the left-hand sidebar of the home page.
Datalore Cloud customers have already received these updates automatically.
For Datalore On-Premises customers, it is highly important to ensure the database that stores all the Datalore content is backed up before upgrading to the 2024.4 version.
Datalore 2024.4 introduces quality-of-life improvements for SQL cells, a revamped folder import workflow, support for Polars DataFrames, and more. Datalore Cloud customers have already received the new update automatically, and Datalore On-Premises customers can upgrade by following these instructions.
Limit 500 toggle for SQL cells
To help you prototype SQL queries faster, we’ve introduced a new Limit 500 feature inside SQL cells in Datalore notebooks. There is now a toggle visible in the SQL cell next to the Browse schema action. This setting will persist after a kernel restart, ensuring a seamless workflow.
Revamped import folder workflow
It is now easier to import your previous work into Datalore. We’ve enhanced the folder import experience with a new, streamlined dialog that appears when you click Import | Upload folder. You can now easily select which notebooks and files to import, with the option to import notebooks as files. Hidden files and folders are fully supported and can be imported if selected.
Updates to the notebook UI
We’ve made several updates to the notebook UI to enhance your editing experience. Unfocused code cells now have borders, improving cell visibility and making it easier to target the insert cell buttons. Interactive controls and metric cells now have their options merged with the cell toolbar, no longer occupying the full width of the notebook. Additionally, cell type-specific actions, such as selecting a datasource or target variable, are now positioned to the right of the execution time for easier access. Cells now also feature a Run button, which can be gray or blue depending on whether the cell was changed after execution – offering a clearer indication of a cell’s status.
Drop-down cell improvements
For large lists, you can now use a search string within the drop-down to quickly find your desired option. Additionally, multiselect drop-downs now include Select all and Clear all options.
Quick notebook access from the editor
You can now quickly search for and open notebooks in a separate tab directly from the Notebooks view. Enjoy easier navigation without extra context switching.
Support for Polars DataFrames
Datalore now supports rich table outputs for Polars DataFrames. To get an interactive table output, specify the DataFrame name at the end of the cell without a print statement.
Other updates and bug fixes
-
Duplicate file names are no longer permitted inside Datalore’s file system, with existing duplicates renamed with (#N) prefixes to make files easier to find and minimize naming confusion.
-
Python `input()` commands are now supported for interactive reports.
-
Git repositories with submodules are now cloned correctly.
-
Tables are no longer cropped when printing to PDF.
-
We’ve resolved the issue where pages would not load when Datalore was set up with an HTTP proxy on a non-standard port.
-
We’ve fixed the issue where refreshing the schema in the Edit database connection dialog would not work for users logged in via OAuth.
-
It is now possible to copy data from the cell outputs to the clipboard via the output’s context menut. This feature is supported for most cell output types.
-
The workspace owner is now indicated in the left-hand sidebar of the home page.
Datalore Cloud customers have already received these updates automatically.
For Datalore On-Premises customers, it is highly important to ensure the database that stores all the Datalore content is backed up before upgrading to the 2024.4 version.
August 20, 2024:
New Datalore Cloud Plans – What You Need to Know
As Datalore has evolved over the years, we’ve added more and more pricing tiers to cater to different users in the cloud. The variety of tiers sometimes made choosing a plan complicated. Now, we’ve decided to revamp our subscription plans to simplify the process of finding the option that best fits your needs. You no longer have to worry about juggling between Team, Professional, and Community plans; we now present a unified and powerful solution for all cloud users: Datalore Cloud.
Read on to learn more, and check out the new pricing plan comparison table below.
Datalore Cloud: One plan for all
Whether you’re an individual data scientist, a small startup, or a large corporation, Datalore Cloud is designed to cater to your needs. This comprehensive plan includes robust team management functionalities, ensuring seamless collaboration and efficiency. If you need a limited set of features, you can still enjoy Datalore on the Cloud Free tier.
New features for Datalore Cloud users
In line with many requests from our customers, Datalore Cloud offers a powerful CPU L machine, featuring 4 virtual CPUs (vCPUs) and 16 GB RAM. This machine is optimized to handle most of your daily tasks with ease and is included in your subscription.
Moreover, we’ve updated our computation options to include the latest and most powerful machines. You can explore detailed specifications and pricing in our documentation.
Transition details for existing users
For Team plan users:
-
Your team will now enjoy the upgraded CPU L machines, and you’ll receive six Datalore credits per month for each member.
-
The transition to the Cloud plan has happened automatically, so no action is needed from your side. Rest assured, the price remains the same!
For Professional plan users:
-
You can continue with your existing plan under the same terms and conditions.
-
However, you have the option to upgrade to the new Cloud plan, which includes the powerful CPU L machines and team-management features.
Please note that the Professional plan has been archived and is no longer available for new users.
For Community plan users:
-
Upon your next login, your Community plan will be upgraded to a 14-day Cloud trial at no additional cost.
-
After the trial, if you choose not to subscribe to the Cloud plan, you will transition to Cloud Free, our new free plan offering similar functionality to the old Community plan.
For Enterprise plan users:
-
Datalore Enterprise has been renamed to Datalore On-Premises. Other changes outlined above do not affect you.
August 6, 2024:
TeamCity 2024.07.1 Bug Fix Is Out
The 2024.07.1 bug fix for TeamCity On-Premises is now available for download!
This bug fix update resolves over 30 issues, including failing Maven builds in containers, agent Windows services not locating the bundled JRE, new licensing mechanism problems, and more. In addition, version 2024.07.1 resolves multiple important security issues and performance problems, which is why we always recommend installing bug-fix releases as soon as possible.
For the complete list of the issues fixed in this version, please refer to our release notes.
As with other minor updates, TeamCity 2024.07.1 shares the same data format with all 2024.07.x releases, allowing you to easily upgrade or downgrade within these versions without the need to back up or restore.
We recommend upgrading to apply the latest improvements and security fixes to your TeamCity server.
Before you start, read our upgrade notes and use one of the following options to upgrade:
-
Upgrade from your recent version with our automatic update.
-
Download the new version from the JetBrains website.
-
Pull the TeamCity Docker image.
July 18, 2024:
TeamCity 2024.07 Is Here
TeamCity 2024.07 is out! With this release, we’re introducing a number of important features, such as a new licensing mechanism that simplifies the management of TeamCity server and agent licenses.
There’s also the new GitHub Checks webhook trigger that allows you to queue builds instantly after pushing a commit to GitHub and receive updates in rich text format.
Additionally, the new Problems page provides a unified place for reviewing any issues with TeamCity tests and builds.
Read on to learn more about these features and other highlights of this release.
New licensing mechanism for JetBrains accounts
In version 2024.07, we’re introducing an option for TeamCity admins to activate licenses through a unified JetBrains Account. This new feature aims to simplify license management for TeamCity server and agent licenses through your JetBrains Account.
Previously, TeamCity Enterprise customers faced challenges with separate license keys for each build agent license or Enterprise server pack, especially for keys with different expiration dates. Offline keys require manual generation, download, and input into the TeamCity server.
Additionally, there was no flexibility to distribute agent licenses among multiple TeamCity servers, as customers had to manually transfer keys between servers. Furthermore, users couldn’t split agents from a single server pack between servers.
Now, you can simply log into your JetBrains Account from the Licenses page in TeamCity and select a server license for activation. Once connected, TeamCity will automatically update all server and agent licenses, eliminating the need to manually enter license keys for additional agents or license renewals.
TeamCity Professional users will also benefit from this new feature. Thanks to the unified JetBrains Account login, you’ll be able to stay better informed on all product updates and important security fixes.
Learn more about the JetBrains Account login in our documentation.
Custom path in the repository for versioned settings
In TeamCity, you can configure your projects and settings programmatically using the Kotlin DSL and XML format.
Previously, if a project had versioned settings stored in VCS, TeamCity would track only the .teamcity directory. TeamCity could still store versioned settings for all subprojects within a single repository, but only if the main project had versioned settings enabled. This was inconvenient in certain scenarios. For instance, a broken DSL in a main project blocked updates for all subprojects and other builds.
Another disadvantage of the previous approach is that if changes in one project triggered the Kotlin DSL compilation, the settings were applied to other projects stored in the same repository, even when the applied changes weren’t supposed to affect them.
In addition, users with large nested projects had to use different repositories to store versioned settings for different projects.
We’re now adding the ability to configure custom paths in the repository for versioned settings in TeamCity.
This feature is handy in the following scenarios:
-
If you have a monorepo with many projects and want to store settings for the subprojects, even if these subprojects aren’t interconnected.
-
If you have several projects stored in a single repository.
-
If you use your repository to exclusively store versioned settings, there is now an option to store them in the repository root, rather than a .teamcity subdirectory.
Read more about this feature in our documentation. Feel free to leave your comments in the corresponding YouTrack issue.
GitHub Checks webhook trigger
This new TeamCity feature allows you to queue builds instantly after pushing a commit to GitHub. It also publishes build statuses and details – such as problems or information about failed tests – in Markdown as GitHub checks.
This trigger is compatible with GitHub App connections that have webhooks enabled.
Learn more about this feature in our documentation.
Uploading SSH keys when creating project or VCS roots from URLs
TeamCity allows you to create projects or VCS roots from a URL.
Previously, the form for creating a project or build configuration from a URL accepted credentials such as username and password/access token only. This limitation restricted project admins from using SSH fetch URLs for Git VCS roots configured in this manner.
We reworked the authentication form so that you can manually choose either the Password/Access token or the SSH key option as the authentication type.
TeamCity will also automatically detect and suggest the appropriate authentication type when you insert the URL into the corresponding field.
The form’s new SSH key authentication supports passphrases, which are stored in the generated VCS root directory and used for this specific project or build configuration.
Learn more about the ability to upload SSH keys in our documentation.
Perforce Helix Core improvements
Customizing VCS label descriptions for Perforce (P4)
Thanks to its integration with Perforce Helix Core, TeamCity can build sources of projects stored in a Helix Core repository and apply automatic labels to sources and other elements.
Thanks to the VCS labeling build feature, TeamCity can label (tag) sources of a particular build in Perforce – both automatically and manually.
In version 2024.07, we’re adding the ability to customize VCS label descriptions, allowing you to be more specific in your descriptions. Similar to the existing labeling pattern settings, all TeamCity build parameters are available.
For instance, you can configure the VCS labeling build feature to display a TeamCity build or changelist number.
Head over to our documentation to learn more about how to configure VCS label descriptions for Perforce and other VCSs.
Support for Perforce ditto mappings
For some time, Perforce Helix Server has had a one-to-many mapping feature, which allows users to map a single depot path to multiple locations in a client workspace. This feature is also known as ditto mapping.
Starting from the 2024.07 version, ditto mapping is supported by TeamCity, too.
Running a custom task before checkout
We’re introducing a new feature called bootstrap steps that allows users to perform tasks before the checkout process runs on the agent. This helps identify and solve any locking issues, enables the working directory to be customized prior to checkout, and allows other actions to be performed on the agent before checkout.
When this feature is enabled, the build step configuration screen contains a Run during bootstrap option, enabling these bootstrap steps to be executed before all other build steps and prior to checkout.
Learn more about bootstrap steps in our documentation.
Prometheus counter for unassignable builds in queue
In certain scenarios, such as when TeamCity parameters are modified or the agent pool is depleted, jobs can stall indefinitely because they cannot be assigned to any agents.
In version 2024.07, we’re implementing the new build_queue_incompatible metric, which reflects the current number of builds without compatible agents in the build queue.
Sakura UI: Reworked Problems page
TeamCity provides an overview of current problems and investigations at both the project and build levels. Users can manage build configuration errors, failed tests, muted problems, and ongoing investigations, as well as the assignee and status of each issue.
We reworked the UI to give our users a clearer overview of all issues and their statuses, which can now be found on the unified Problems page.
This new, sleek design provides users with a single spot from where they can review and act upon all existing build issues.
For the full list of new features, please see our release notes.
July 16, 2024:
The YouTrack App Now Supports Helpdesk Projects
The YouTrack Helpdesk functionality has arrived in the YouTrack app! This means you can manage your customer support services on the go. Your agents and other team members can now work with support requests from their phones and tablets, and your reporters can submit and review tickets and public Knowledge Base articles in the app too.
A new YouTrack app version is already available for iOS or Android. If you’ve already started a helpdesk project in YouTrack, all existing and newly submitted tickets will automatically appear in the app.
How support agents and other team members work with tickets in the app
Navigate to all tickets via a new Helpdesk tab
A separate Helpdesk tab appears for support agents and other team members who can access helpdesk projects. It allows you to view a list of all tickets and navigate to separate support requests via search queries or filters. You can view tickets in various preview options – from a small view to a large one with an expanded ticket description.
The current Issues tab has also been updated with support tickets. When needed, your tickets will appear here among other issues in non-helpdesk projects.
If some of your team members who have access to helpdesk projects don’t need to see the Helpdesk tab in the app, they can turn it off in the app settings.
Work with tickets on the go
The app allows you to work with support tickets. You can assign agents to tickets, view the SLA goals, update statuses, and apply other updates to tickets. For example, the CC field is easily updatable from the YouTrack Mobile app, so you can add additional team members from the customer side in the loop immediately. This can be useful when dealing with a mix of online and offline communication, or when you get updates during a call or a customer meeting.
You can publish answers and participate in ticket discussions in the app the same way you would on the desktop version. Agents can post replies that are sent to the customers, and both agents and other team members can discuss tickets privately by making their ticket comments visible to other team members only. The app and email notifications will update you and your reporters about new ticket activity.
Your reporters’ experience in the app
Access existing tickets and create new ones
In most popular scenarios, external customers – reporters – receive emails about updates to their ticket statuses. In some cases, your customers may need access to their tickets or articles in the public Knowledge Base in YouTrack. Every once in a while, your reporters might need quick access to the submitted requests and public documentation. For that purpose, they can now also use the YouTrack app.
You can share your YouTrack URL with your reporters, and they can install and log in to the YouTrack app to view all of their submitted tickets and create new ones – straight from their ticket list page.
The app can help when you’re using a tablet or smartphone to collect feedback or tickets from your reporters. For example, having the device set up in a public place on company premises, or even equipping employees with mobile devices. In these cases, a mobile app is much more convenient than a web version as a way to handle feedback.
Engage with Knowledge Base articles
The app supports the Knowledge Base for your reporters as well. They can view public articles published in your helpdesk projects. With the app, it’s possible to read, browse, and comment on articles on the go.
YouTrack Helpdesk is available for YouTrack Cloud and Server customers. If you don’t have an active YouTrack subscription, you can use YouTrack for free with 10 users.
If you are already using YouTrack but have not started a helpdesk project, please feel free to check out YouTrack Helpdesk for your support team needs and create a helpdesk project in your YouTrack. You can start and use a helpdesk project with 3 support agents and unlimited reporters for free and scale up when you need it for a larger support team.
June 27, 2024:
TeamCity 2024.03.3 Bug Fix Is Now Available
The 2024.03.3 bug fix for TeamCity On-Premises is now available for download!
This release includes a few performance and security fixes. Among others, we addressed the following issues:
-
Some AWS EC2 instance agents couldn’t authorize on start.
-
Agents running from Windows 2024.03-nanoserver-2022 Docker images were incompatible with some runners after a restart.
-
Agent service under Windows didn’t use the bundled JRE and failed to start if JAVA_HOME wasn’t defined.
For the full list of the issues fixed in this version, please refer to our release notes.
As with other minor updates, TeamCity 2024.03.3 shares the same data format with all 2024.03.x releases, allowing you to easily upgrade or downgrade within these versions without the need to back up or restore.
We recommend upgrading to apply the latest improvements and security fixes to your TeamCity server.
Before you start, read our upgrade notes and use one of the following options to upgrade:
-
Upgrade from your recent version with our automatic update.
-
Download the new version from the JetBrains website.
-
Pull the TeamCity Docker image.
Thank you for submitting issues and voting on them. Your feedback is invaluable in helping us improve TeamCity.
If you encounter any problems or have suggestions, please report them via our forum or issue tracker.
Happy building!
June 25, 2024:
What’s New in Datalore 2024.3: Quality Improvements
Following a feature-rich 2024.2 release, we’ve focused on enhancing the quality and reliability of Datalore in our 2024.3 update. Datalore Community, Professional, and Team customers have already received the new update automatically, and Datalore Enterprise customers can upgrade by following these instructions.
Enhanced file handling for scheduled runs
We’ve added an option that lets you save files generated by scheduled runs directly to /data/notebook_files, just like you can for files generated during regular notebook sessions. This new feature allows files to be overwritten, and you can easily find files from all of your previous runs in one directory. The option to save files to isolated artifacts still exists, giving you more flexibility for your scheduled workflows.
Smoother environment setup for R and Scala
From now on, the necessary environment setup for R and Scala will be completed before the execution of init.sh, ensuring a smoother initial run. This enhancement allows you to make meaningful changes to init.sh scripts with the knowledge that they will be applied correctly, streamlining environment configuration.
Early terminal access during setup
The terminal is now accessible before environment setup is complete, allowing for early troubleshooting.
Other improvements and bug fixes
-
Exported workspaces now include both notebooks and their associated reports in the downloaded .zip file.
-
Datalore now supports ipydatagrid versions 1.3.0 and 1.3.1.
-
A new reportLink field has been added to the top-level metadata of downloaded notebooks.
-
When refreshing a database schema, you will now see a spinner during the refresh process and receive a clear notification when it is finished, alerting you to any errors.
-
For improved security, Git repository pulls are now limited to 100 MB for Datalore Community, Professional, and Team plans. Datalore Enterprise customers can configure the maximum pull size via the GIT_REPOSITORY_SIZE_LIMIT environment variable.
-
Notebooks created by non-owners of a workspace no longer have incorrect report links in the workspace view.
-
The correlation chart in the Visualize tab no longer blinks.
-
In scenarios where PyPi servers are not accessible, Datalore now provides clear messages to admins about connectivity issues, prevents infinite loading, and offers an improved troubleshooting process. Only Enterprise plan users were affected.
-
We’ve fixed a rendering issue that was causing ipywidgets outputs to shake in the report builder and on the report page. Only Community, Professional, and Team plans were affected.
-
Scheduled reports now update variables in Markdown cells.
Datalore Community, Professional, and Team customers have already received these updates automatically.
June 25, 2024:
PyCharm 2024.1.4: What’s New!
PyCharm 2024.1.4 is here! View and navigate to URLs directly from the Editor tab, and enjoy smart code assistance for TypedDict (PEP 692).
You can download the latest version from our download page, or update your current version through our free Toolbox App.
Key Features
Gutter actions and inlay hints for URLs
New gutter icons provide an easy way to manage URLs in Flask, FastAPI, and Django projects. In just a few clicks, you can test an endpoint by running the request in the HTTP Client, view all lower-level endpoints, and more.
Furthermore, new inlay hints with endpoint URLs further contribute to code readability for Python web frameworks.
PEP 692: Smart code assistance for TypedDict
With support for PEP 692, keyword arguments defined as TypedDict are now available when you invoke parameter info (⌘P / Ctrl+P), in code completion, and in the quick documentation popup (F1 / Ctrl+Q). Now you have access to yet another tool that lets you use the latest type hinting capabilities in Python to develop an easy-to-understand codebase.
Warnings for uninstalled packages in requirements.txt
PyCharm now underlines packages that are listed in requirements.txt but that are not installed on the current Python interpreter with a yellow squiggly line. Hover over the package name and click Install all missing packages to immediately set up your development environment.
Get all of the details in our release notes so you don’t miss out on anything new!
If you come across any bugs, please let us know in our issue tracker so we can fix them right away. Connect with us on X (formerly Twitter) and share your thoughts on PyCharm 2024.1.4!
June 12, 2024:
YouTrack Introduces Free Writing Assistance, Powered by JetBrains AI
Writing assistance powered by JetBrains AI is now included in YouTrack 2024.2. All cloud and server customers with active subscriptions can use it for free to automatically check grammar, spelling, and punctuation and add precision and flair to their writing.
We’ve also added improvements based on the most popular requests from teams using various parts of YouTrack on a daily basis. In YouTrack Helpdesk, you can now create online forms with conditional fields that allow for enhanced customization of your reporters’ tickets, while also allowing agents to clone tickets in order to work on them in other, non-helpdesk projects. Also, agents now know when other agents add comments. Additional improvements include streamlined setup for new projects, major performance and scalability boosts, and more.
Free AI-powered writing assistance for everyone
AI assistance in YouTrack now comes with even more features to enhance your teams’ efficiency. It can now help you with real-time proofreading of texts everywhere in YouTrack. The currently supported languages include English and German, with more to be added in the future.
You can rely on the AI to help describe your tasks, write articles, or participate in discussions. It will automatically check grammar, spelling, and punctuation as you write, and you can check the suggestions one by one or apply all corrections at once.
These proofreading features supplement the functionality of AI Assistant in YouTrack, which has been available since 2023 – generating at-a-glance summaries of content in tasks, articles, or support tickets, as well as making suggestions when composing replies.
To make the functionality available to your team members, your administrators should enable the AI-powered features on your YouTrack Cloud or Server, and then turn on the writing assistance feature. Both of the options rely on JetBrains AI credits, which are now replenished weekly for free. Later on, we’ll add the opportunity to purchase more JetBrains AI credits in case your team runs out.
Helpdesk improvements for support teams
Create online ticket collection forms with conditional fields
Online forms, which users fill out to file tickets in your helpdesk projects, have become more flexible. You can now use conditional fields to help you collect relevant information based on what reporters have provided in another field. For example, after the customer selects a request type, subsequent fields will present only the options that are relevant to this kind of request.
Project administrators in helpdesk projects can set the dependency between fields. One or several conditional fields can be shown based on a previously selected field. Then, you can add as many such fields as you need to the form, and they will be shown to reporters based on the settings you define. That way, you can ask for various data based on the product, type of request, and so on.
Know when other agents add comments
Sometimes, multiple people are involved in resolving the same support request. Now, support agents and your team members can see when other agents or team members are in the process of adding a comment to a ticket. This helps avoid duplicating efforts and lets you know who is working on an answer to the customer right now. A simple note showing your colleague is typing something will help agents to coordinate their work.
Clone tickets to non-helpdesk projects
This enhancement is also based on one of the most popular scenarios experienced by support teams using YouTrack. Sometimes, based on the information in your ticket, you want to continue working on it in one of your internal projects and convert the request into a feature or some other type of issue. Now, you can use the Copy to issue tracker command to easily create a copy of the ticket in another selected project. The newly created task will also automatically be linked as “relates to” the ticket in the helpdesk project, helping you track the source of the new issue.
Convenience in working with tasks and articles for everyone
View the history of text changes in tasks, articles, and comments
Based on your feedback, we’ve added the ability to review the edits applied to issue descriptions and comments to issues and articles (in addition to the previously available option to check on the history of changes for articles). This allows you to access a list of previous updates with information about who made each change and when. Highlights of the changed lines should help you navigate through texts easily. If the change was made in error or should be reverted, you can restore a previous version at any time. Use the settings or the activity stream to start working with the history of changes.
Convenience in working with attachments
For administration, legal, and other project teams, we’ve made it easier to deal with multiple document attachments. You can now choose how to view attachments – as file previews or as a list with details about each document. Attachments are also grouped into those added to the task description and files that were uploaded later in the comments. Finally, when you need to minimize distraction, you can just collapse the whole attachment section.
Improvements for dark theme lovers
We’ve significantly improved our dark mode for better visibility and convenience. We won’t try to describe the changes, but we hope they make a difference for many of you who prefer working in dark mode. Just check out the mode in YouTrack, as a picture is worth a thousand words.
Export articles as Markdown files
A new feature, also based on a very popular request, lets you export articles as Markdown files. This makes it easier for you to transfer your content from the YouTrack Knowledge Base to other platforms, applications, or systems without losing formatting and structure. Choose whether you want to export individual articles or all of their sub-articles, comments, and attachments.
Support for Mermaid diagrams for developers, technical writers, and project managers
Support for Mermaid syntax is a long-awaited feature for teams and project leaders who prefer a text-based, code-friendly approach to creating their visualizations. YouTrack now supports diagrams and charts created using Mermaid markup. You can add them to your tasks or articles and share them in comments – even inline comments in a Knowledge Base. Just embed the diagram as a code block with Mermaid syntax, and it will then be rendered automatically.
Easier creation of new projects for project administrators
We have updated the project wizard in YouTrack to help your project managers navigate the project creation process more easily. You can start with a project template and customize it to the team’s needs. Choose between the Default, Helpdesk, Scrum, and Kanban templates to kick off. The project wizard will lead you through the process of configuring each project and task template. In the next steps, you can invite your team members, enable time tracking, and select other settings.
The default project template would be a good place to start to configure everything based on your specific team’s scenario. In addition to that, for teams working in time-boxed iterations, for example, a Scrum project would provide preconfigured tasks with fields and two preconfigured Agile Boards with sprints – one for project managers and another for the development team.
If you want to experiment with various YouTrack configurations, you can also choose the Demo project template. It contains a preconfigured set of sample tasks, a collection of Agile Boards, reports, and a dashboard.
YouTrack has become faster for everyone
Both the cloud and server versions of YouTrack have undergone major performance and scalability improvements. Being able to do what you need to do quickly is always a priority and something that many teams mention as a key advantage of YouTrack over other trackers. This is why we’ve made YouTrack work significantly faster for the most frequently performed actions.
YouTrack is now able to handle more issues, articles, and files with fewer CPU cores and less RAM. The main pages, such as the issue pages, issue lists, and many more now load noticeably faster, with less traffic and lower server response times, especially for bigger YouTrack installations with thousands of users.
Other enhancements
YouTrack workflows now include more options related to articles, comments, and attachments. This release also includes upgrades to VCS and Build Server integrations, import configurations, and more.
Check out the Release Notes for the full technical details and a comprehensive list of bug fixes and improvements in this release. For details on configuring the latest features, see the documentation.
If you use YouTrack Cloud, you’ll automatically be upgraded to YouTrack 2024.2 in accordance with our Maintenance Calendar. If you have an active YouTrack Server subscription, you can download YouTrack 2024.2 today. If you don’t already have a license, you can use the free trial to test out the new version before you commit to buying! For more information about the licensing options available for YouTrack, please visit our Buy page.
May 21, 2024:
Deploying to Multiple Targets With Ease
Have you ever been faced with a situation where you needed to deploy your system to many different environments? For many of us, this is probably just staging or production. When using TeamCity to do this, we just create a build chain as follows:
But what if the number of deployment targets is higher, like ten or more?
In this case, we might end up with a build chain ending with a set of Publish to env* deployment build configurations:
In such cases, it’s always better to have a combining build configuration that has dependencies on all the Publish tasks:
Unfortunately, due to the current limitations of TeamCity, this combined Publish build configuration can’t be both composite and deployment at the same time. We’ve already had this feature requested by some users.
In this case, the build won’t be shown as running if any of the Publish to env* dependencies are still running, which is a bit inconvenient.
Maintaining the configuration
If we’re using the Kotlin DSL, we can program such a build chain relatively easily, as we can just create a loop that will generate all these Publish to env* build configurations. You can see an example of similar Kotlin DSL code in one of our previous posts.
If we’re not using the Kotlin DSL, then we have to create the build configurations via the UI. Usually, in such cases, creating a template first would be quite helpful. Maintaining this type of deployment configuration is much simpler with templates. However, even with a template, it still takes a lot of clicks to change anything in the configuration.
Moreover, whenever we add a new environment, we still need to create a new build configuration and add a dependency to it from the Publish build configuration.
All of this feels cumbersome, especially if the number of deployment targets is quite large. Is there really no better way?
Using Matrix builds
If we’ve already defined a template for the actual Publish to env* build configurations, then we’ve already generalized our publishing scripts such that they now accept a parameter denoting a particular environment and perform publishing based on that. In this case, a much better approach would be to use the Matrix Build feature.
To do this, we can add a Matrix Build feature to the Publish build configuration with a matrix parameter with the desired name and an array of values:
The Publish build configuration won’t need dependencies on Publish to env* build configurations anymore. Instead, it will have a dependency on Test. The deployment steps will be copied from a Publish to env* template.
In regards to the configuration of the dependencies, the resulting build chain will look the same as in the beginning:
However, if we trigger a Publish build configuration, its build will be transformed into a composite build with automatically generated dependencies on a set of parallel [env*] tasks, one for each value of the matrix parameter:
If you look closer at this screenshot, you can see that the Publish build is shown as running even though its dependencies are not finished yet. So, apparently a build can be both composite and deployment at the same time. This looks like a nice solution, at least for some of the users who voted for the composite deployment build feature ticket.
With the Matrix Build feature, the settings become much simpler. Now, there’s no need to have a template or a dedicated build configuration for each environment.
At the same time, adding a new environment is as simple as adding a new value to the matrix parameter (provided that our scripts understand this value).
The presentation of the results looks nicer too:
Matrix Builds also allow us to retain flexibility. For instance, if an [env*] build fails, we can retry this individual build or better yet, we can rerun the Publish build itself with the Rebuild failed dependencies option:
If our publish build requires an artifact prepared by the Build package task, we can just add an artifact dependency to the Publish build itself. When it is executed, the same dependency will be copied to the auto-generated [env*] builds so they all use the same artifact.
Finally, these [env*] build configurations won’t clutter our view as they won’t be visible by default. If necessary, one can always navigate to them and analyze their history.
Once again, the Matrix Build feature proves to be quite useful. If you’re using TeamCity 2023.11+, please give it a try and tell us how it can be improved!
May 17, 2024:
TeamCity Pipelines Pulse, Issue #1: YAML-y Good News
TeamCity Pipelines, our new product that offers a brand-new approach to the CI/CD process, is currently in Beta. We’d like to share product news with our users on a more regular basis. That’s why we’re starting a new initiative—the TeamCity Pipelines Pulse newsletter, and you’re now reading the very first issue.
Here’s what’s been keeping us busy since the release in March!
YAML autocompletion
YAML autocompletion for values – need we say more?
Ability to disable job reuse
TeamCity Pipelines is smart. It tries to reuse jobs and their results as much as possible. Sometimes, however, you don’t want that, so we’ve added the option to turn job reuse off.
Easter egg hunt
Waiting for your build to finish executing doesn’t have to be boring. 2048 is an egg-celent time killer, and we’ve brought it into TeamCity Pipelines.
Can you find it and beat your highest score on your instance? 🐰
Teaser: Dependency visual editor
In our ideal world, defining dependencies between jobs should be a visual process. Think Miro or Figma.
Currently you can only define dependencies by checking or unchecking boxes, but we’re working on new drag-and-drop style pipeline editing options. Stay tuned!
Crafting TeamCity Pipelines: The Art of Pitch DesignWe spent over a year fine-tuning our processes so we can adopt a better design approach that puts our customers first. Here’s how we go about designing new features for TeamCity Pipelines.
Bug fixes and improvements
We fixed a bunch of bugs for this release. Here are our favorites, in no particular order.
-
UI glitch: The side toolbar used to remain open after the creation of a pipeline, overlapping with the job creation interface. Not anymore!
-
You can now add any public repository to your pipeline. When you copy-paste an SSH link, TeamCity Pipelines will automatically convert it into HTTPS – sleek and easy.
-
A couple hiccups were affecting the agent terminal when switching pages. Those are gone for good.
-
YAML, YAML, YAML: We’ve implemented instant validation improvements and a couple fixes for some minor, but nasty, YAML syntax issues.
That’s it for today!
If you’re not part of the TeamCity Pipelines tribe yet, you can sign up here. The product is completely free while in public Beta.
April 23, 2024:
What’s New in Datalore 2024.2: Evolution of Datalore AI, New Homepage Design, and More
The new version brings AI Assistant to on-premises installations and features the evolution of Datalore AI, a revamped homepage design, support for variables in Markdown cells, and more.
From now on, we will specify the pricing tiers for which a particular feature is available. If no tier has been specified, the feature is available across the board.
Datalore Community, Professional, and Team customers will receive these updates automatically. Datalore Enterprise customers can upgrade by following these instructions.
Introducing Autopilot and revamping Ask AI
As the next step in the evolution of Datalore AI Assistant, we are introducing Datalore Autopilot. Get advice from AI or set an explicit research goal and receive tailored suggestions for your analysis. Autopilot can analyze notebook data in your preferred language – whether Python, Kotlin, R, or Scala.
If you want to generate SQL or Markdown code, add a new cell and use the Ask AI option by clicking on the AI Assistant icon in the upper-right corner of the cell.
Additionally, you can now access the AI prompt history, making it convenient to reuse or modify previously used prompts.
Datalore AI now available for Enterprise customers
Datalore AI is now available for on-premises installations, providing AI-powered coding assistance in Python, Kotlin, SQL, R, and Scala, along with text generation in Markdown cells. Automate routine code generation and fix errors – all without context switching. Admins have full control and can choose whether to enable the feature or not. Learn more about how it works in our documentation.
New homepage for effortless navigation
We’ve redesigned the homepage to streamline your navigation through Datalore workspaces. With the new layout, it takes fewer steps to reach any critical workspace artifact – from notebooks to databases, and everything in between.
Customize your workspace with an intuitive color coding system that allows for rapid identification and selection. Recent, shared, and active notebooks are now immediately accessible, ensuring that your ongoing work is always just a click away. Additionally, the new notebook unfolding feature provides you with a quick glimpse of the associated data, streamlining your workflow without the need for deep dives into content.
Revamped UI colors
We’ve updated Datalore’s UI colors with a focus on readability and accessibility. The updated palette is slightly more vibrant while maintaining familiarity. Enjoy the new tones in the notebook editor, reports, file systems, and more.
Support for variables in Markdown cells
Embed your variables in Markdown cells with double curly brackets. Variables will dynamically convert to their live values within your text.
Get code syntax highlighting in Markdown cells
Wrap your code with triple backticks and Datalore will highlight the syntax to make it clear and easy to follow.
Migration of Git repositories and SSH keys
As part of reworking Git integration, we are deprecating the current way of attaching Git repositories to notebooks. To automatically migrate existing Git repositories to the new implementation, Datalore admins need to follow these instructions. After migrating, Git repositories will become available as workspace resources along with related SSH keys. This change provides a more flexible and secure way of working with packages available via Git repositories in Datalore.
Custom PyPI server configuration support
You can now set up custom PyPI server configurations in Datalore. This allows you to explore custom repositories via Datalore’s environment manager, extending beyond the default pypi.org server, directly facilitating package installation for users. Find more details in our documentation.
Improvements and bug fixes
-
We now support connections to Snowflake using Azure OAuth 2.0 authentication.
-
We have added the ability to connect to Microsoft SQL Server using native Windows authentication and authorization.
-
When publishing a report, you can now choose if you want to let others make and download copies of the associated notebook.
-
Datalore Enterprise admins can now configure the permitted size for imported notebooks.
-
Datalore Enterprise admins can now limit the number of GPUs connected to an agent.
-
Datalore Enterprise admins will now be able to receive warnings about user storage running out of space. Find more info in our documentation.
-
It is now possible to see reports linked to each notebook within the workspace view.
-
We fixed the bug preventing SVG files from properly rendering in Markdown cells.
-
We resolved the inconsistency with MultiIndex DataFrames rendering in code cell outputs.
-
We corrected the issue with the last row of the DataFrame not appending correctly to existing tables via the Export to database cell.
-
We fixed the scrolling error that occurred when using ⌘F to find a code cell within the notebook.
-
It is now possible to access a database from a running notebook without pre-entering the database login credentials. After logging in, you can use the database for the duration of your session without saving the login details permanently.
-
As part of the migration from secrets to environment variables, we’ve deprecated adding new secrets to an environment.
-
We fixed a bug that prevented notebook owners from setting up email notifications for collaborators on scheduled runs.
-
We updated the Lets-Plot version from 4.2.0 to 4.3.0.
Datalore Community, Professional, and Team customers will receive these updates automatically.
April 11, 2024:
Django Learning Resources
Are you new to Django development? Are you already familiar with it and want to expand your knowledge? PyCharm has Django learning resources for everyone.
In this article, you’ll find a compilation of all the Django-related resources created by the experts at PyCharm to help you navigate through them all. From creating a new Django Python project in PyCharm to using different APIs and Frameworks, you’ll find a wealth of valuable information here.
Let’s start with the PyCharm guide first.
PyCharm Guide:
We have an in-depth tutorial on the PyCharm Guide named, ‘Developing Django Application using AWS,’ that starts from the basics of Django to helping you create your very first Django application.
Here’s a breakdown of the tutorial:
1. Introduction
In this chapter, you’ll be introduced to Django – what it is, when, and how it was created. You will also learn about other popular Python frameworks like FastAPI, Pyramid, and Flask.
2. Creating a new Django Project in PyCharm
Here you will learn how to create a new Django project in PyCharm. This chapter comes with a detailed step-by-step guide in both video and image formats so you can easily follow the instructions to create a Django project!
In this chapter, we’ll walk you through the process of connecting Postgres with a Django application using PyCharm. This tutorial comes in video or image-supported text formats.
4. Developing Django Applications using AWS
In this guide, we’ll explore the process of developing a Python Django application using AWS in PyCharm. You’ll find all of the resources developed by PyCharm in this guide, from an introduction to creating Django applications using AWS to how to properly test them.
In this Django tutorial, we’ll explore the powerful combination of Django and DRF, enabling you to create robust and scalable APIs effortlessly. From setting up your development environment to implementing endpoints and handling authentication, you’ll learn it all.
In this chapter, we’ll explore how to enhance the security of your Django REST APIs using JSON Web Tokens (JWT).
From installing a package to executing a test, you’ll learn all about how to create your first test in Django. You’ll find a detailed video tutorial as well as a step-by-step breakdown with images to help you easily follow the Django tutorial.
8. Exploring Django with Docker
Discover how to leverage Docker’s flexibility and Django’s robust features to build scalable and portable web applications in PyCharm. There is a video tutorial as well as a detailed breakdown of instructions.
Other tutorials in our PyCharm guide include:
1. Autocomplete Django Settings Strings
This short video demonstrates PyCharm’s autocomplete capabilities for Django Python code.
2. Creating CRUD APIs (TODO App)
In this tutorial, we’ll explore the process of building robust CRUD (Create, Read, Update, Delete) APIs using Django Rest Framework. From initializing to debugging your API, you’ll learn it all.
3. Build Django Apps on Google Cloud With PyCharm and Cloud Code
In this tutorial, you will discover how to leverage PyCharm and Google Cloud’s Cloud Code extension to streamline your development workflow and deploy your Django apps with ease.
Start developing Django apps with PyCharm
PyCharm Professional is the best-in-class IDE for Django development. It allows you to code faster with Django-specific code assistance, project-wide navigation and refactoring, and full support for Django templates. You can connect to your database in a single click and work on TypeScript, JavaScript, and frontend frameworks. PyCharm also supports Flask and FastAPI out of the box.
PyCharm YouTube:
1. Django Support in PyCharm with Ilya and Alexei
In this video, you’ll get to know why PyCharm is the ideal IDE for Django development and how you can benefit from it. Learn all about Django support in PyCharm, including code insight, navigation between views and models, built-in manage.py utility, from the PyCharm team itself!
2. Writing REST With Django and Ninja
In this Django tutorial, we’ll explore the powerful combination of Django and Ninja frameworks for building RESTful APIs. Discover how these tools can simplify your development process and enhance the functionality of your applications.
3. Database Performance Tips with Django
In this tutorial, we’ll explore database performance tips with Django with Andrew Brookins. Learn how to optimize queries, leverage caching techniques, fine-tune database settings, and more.
4. Django-in-PyCharm Tips: Reloaded
Here we provide you with more valuable tips to maximize your productivity and efficiency while working with Django in PyCharm. From configuring the Django project settings to utilizing powerful PyCharm features to make Django development a breeze, we’ve got you covered.
5. Faster Django Coding with Live Templates
In this quick tutorial, you’ll find out how to write code fast by using live templates and skipping boilerplate code. This way you can increase your productivity, reduce errors, and stay consistent.
6. Django Templates in 3 Minutes: A Quick Guide to Template Creation
Learn how to create a Django template in PyCharm with this quick and easy to follow tutorial.
7. Django-in-PyCharm Tips: Reloaded
Looking for a single place where you can find all the tips for Django in PyCharm? This is it! Learn from the best about what PyCharm can do for you when it comes to Django development and code like a pro in no time.
PyCharm Blog:
1. How To Learn Django: A Comprehensive Guide for Beginners
Are you struggling to learn Django? Or maybe you want to add Django to your technology stack but don’t know where to start. This blog dives into all the details on how to learn Django, from the prerequisites to helpful resources, you’l find everything you need here.
2. What is the Django Web Framework?
This is another great introductory article if you’re just starting out in Django. This blog post takes you to the very basics of what is Django, its origin, features, and anything else you would possibly want to know in order to get familiar with Django.
3. Create a Django App in PyCharm
In this detailed Django tutorial, you’ll find out everything you need to know before creating a Django app in PyCharm. From prerequisites to setup to building a sample application, you’ll learn all the basics including writing models and views, connecting to the database, and making API calls.
4. How to use Materialized Views in Django
In this Django tutorial, you’ll learn how to create, recreate, and query Materialized Views within your Django application, enabling you to optimize performance and streamline your data processing workflows.
5. Building APIs With Django REST Framework
In this Django REST framework tutorial, you will learn how to create a rental platform API. The tutorial demonstrates how to use Python and Django REST framework in PyCharm to develop APIs. By the time you’re done with the tutorial, you’ll be equipped with how to write and test your APIs.
6. How to Connect Django With MongoDB
If you’re someone who regularly uses databases with Django, then you know then connecting Django with MongoDB is not as simple as it looks. This in-depth article will guide you from the very beginning- From informing about the prerequisites to step-by-step tutorial complete with images, you’ll have all the tools in your arsenal to connect Django with MongoDB.
7. Django vs FastAPI: Which is the Best Python Web Framework?
This article explores the strengths and weaknesses of Django and FastAPI, two of the most popular Python web frameworks, to determine which is better suited for different project requirements. You’ll also find out how to install them, and how PyCharm supports each framework.
8. Django vs Flask: Which is the Best Python Web Framework?
Confused between Django and Flask? This blog give you an in-depth view of how each framework differs from each other in different aspect like architecture, learning curve, testing, databases, and so much more. After you’re done reading the articles, you’ll know the key differences between Django and Flask, as well as which one to choose for your next project.
So there you have it, all Django learning resources by PyCharm in one place. Check out our blog post, “How To Learn Django: A Comprehensive Guide for Beginners”, for more actionable insights!
April 4, 2024:
YouTrack Roadmap 2024
We’re getting lots of feedback from teams that have recently started using YouTrack, and we’re adjusting our product development plan for YouTrack in response. This flexibility with regard to our medium-term plans is possible for us since, in the longer term, we remain committed to our product’s core values and our vision for it.
We kicked off the new year with the first major update of 2024, which used your feedback to enhance the experience of working with Helpdesk agents. In this post, we’d like to highlight what’s next on the agenda in our YouTrack roadmap for 2024 and confirm our longer-term plans.
Growth trends confirm our long-term commitments
Reflecting on the past year, we’re thrilled to see the YouTrack customer base growing rapidly; we’ve recorded a double-digit percent increase in the number of teams who’ve started to manage their projects in YouTrack. We’re seeing a great deal of traction across a variety of company types and sizes – from enterprises with thousands of team members completing huge migration projects to small startups who are still in the process of getting their teams together.
The adoption of project management practices is rapidly increasing within companies. For example, when one department starts using YouTrack, team members from other groups often quickly follow suit, and the overall number of YouTrack users in the company typically grows 3–5 times within several months. Lots of teams beyond product management and software development need a powerful project management system to facilitate their workflows, which is helping YouTrack expand to numerous other departments, such as legal and compliance, HR, marketing and design, finance, administration, support, and more.
In 2024, we aim to further enhance YouTrack’s ability to manage a wide array of tasks and workflows – accommodating a range of needs, from the simplicity welcomed by new teams and team members to the complexity and flexibility required by multinational corporations.
We remain committed to giving you the freedom to choose where your applications and data are hosted. That’s why we’re continuing to develop YouTrack Cloud and Server in tandem, so teams can easily migrate between cloud and on-premises hosting as needed.
What we’re working on in 2024
AI assistance
As of December 2023, AI assistance is available for free to all teams using YouTrack, offering the ability to summarize content and create multiple replies. AI-powered functionality is going to be a big part of the product’s future development. Firstly, we’re working to add more features to facilitate your work with tasks, such as the ability to have AI create, autocomplete, and proofread texts for you on the go. Secondly, the search functionality will be AI-powered across all your content, meaning that YouTrack will be able to show you relevant results even as you adjust the phrasing of your searches and replace filters and queries with your own words. Going forward, we’d like to offer AI assistance for creating tasks and filling in their details, making to-do lists and dividing tasks, setting up projects, easily reviewing activity and updates in your projects with curated digests, facilitating no-code automation, and more.
The team behind JetBrains AI is focused on making it more powerful every day, and the YouTrack team is working hard to bring its power to your projects in YouTrack. The AI functionality in YouTrack is now free, but it consumes resources. When AI-powered features start to consume more resources than you have available, we will give you an option to pay for JetBrains AI credits that you will be able to use in YouTrack.
The roadmap we published a year ago did not mention AI, but it nevertheless became available by the end of 2023. This year we’re also open to the ways in which new AI capabilities could redefine the way you work with YouTrack, with a view towards putting AI at the center of your project management experience. As always, we’ll keep you posted on our progress, but we won’t pause our work on the functionalities most teams use in YouTrack every day.
Welcoming new teams and new team members to YouTrack easily
Organize multiple tasks and projects with new navigation sidebar
As YouTrack continues to gain traction with a wider variety of non-technical teams and projects, we’re actively looking for ways to simplify the organization of tasks and projects for all team members. At the same time, YouTrack remains a very powerful project management solution with extensive built-in functionality that is designed for enterprises but also available to small teams for no additional cost. Since we want to keep YouTrack flexible in order to meet the needs of any team regardless of its size or complexity, we’re planning a major redesign of the UI/UX, including the introduction of a new sidebar navigation option that places all of YouTrack’s features at your fingertips while also allowing you to focus on individual projects more easily.
Start all kinds of new projects and onboard team members
We’re planning to change the process of setting up new projects with the release of a step-by-step wizard. It will give project administrators the ability to use various project templates and tailor them to the needs of specific teams, all while making it easier to onboard new team members to existing projects.
Please let us know in the comments what kind of projects and templates you’d like to see first!
Helpdesk projects
We’re happy to see that a sizable portion of the thousands of teams that join YouTrack every month are choosing to explore YouTrack Helpdesk and are starting to work on their support tickets in YouTrack. These support teams range in size, from the small ones to huge departments in organizations with hundreds of support agents. Based on your feedback, we plan to add a simpler way to link Helpdesk tickets to related tasks in non-Helpdesk projects. We also aim to provide more customization options in the ticket creation form, and we’ll explore how we can enhance our support for an internal Helpdesk team scenario where your team members use regular YouTrack projects and simultaneously operate as reporters in Helpdesk.
Apps
Giving users the ability to create apps for YouTrack opens doors for further integration possibilities, as well as additional customization of the UI and functionality. Some apps will be provided with YouTrack out of the box. Our customers and technical and consulting partners will be able to create apps and install and use them in particular YouTrack instances or share them via JetBrains Marketplace. The advent of AI assistance has challenged us to redefine the ways apps should be created, but it also presents a great opportunity to make the creation of apps a low-code experience. In any case, we’re looking to make it possible to create apps for YouTrack later this year.
Planning canvas
We’re working on a way to enable teams to start planning using a whiteboard interface that can then transform their drafts and plans into full-fledged project tasks in just a few clicks. Additionally, we’d also like to make it possible to move existing YouTrack tasks to the planning canvas to allow for additional interactions and the creation of alternative versions of your projects.
Knowledge Base
To cater to the needs of teams who use the Knowledge Base extensively, we’ll be adding more fields and attributes for articles so that arranging and cataloging documents will be less time-consuming. AI-powered search and content creation functionalities may also redefine the experience of teams working with the Knowledge Base, so we’ll refine our plans for the future after the new AI capabilities have been made available to you.
Looking ahead: broad goals for 2024 and beyond
YouTrack for everyone
How would you feel if we got rid of YouTrack issues? We’d like to allow you to use whatever name you’d like for the tasks you’re working on. From now on, you’ll start with a simple task, and then it will be up to you to decide whether you’d like to call it an issue. Later you will have several additional options to choose from. For example, you might want to call something a “document” in a legal team project, a “purchase order” in accounting, or a “job or “employee” in recruitment and HR.
With such a diversity of teams and projects, we’d like to offer everyone the opportunity to choose exactly how to plan their workdays. That’s why we’ll create the My Workspace area, where each team member can keep track of everything they are planning to work on.
Project administrators can expect several changes in the near future. First, we’ll be making it easier for administrators to customize fields in tasks. We’ll also refine roles and permission schemes to provide the desired flexibility without creating an additional configuration burden for administrators. We know that the easier everything is for administrators, the better the YouTrack experience will be for your teams!
YouTrack for enterprises
With a growing average team size and customer base with each release, we’re adding more enhancements to improve cloud stability, performance, and fault tolerance, among other things. The current 99.9% availability threshold has been maintained for several years now, and the team is working to guarantee that YouTrack Cloud will be able to handle even more data with speed and reliability for companies with thousands of users and millions of tasks.
For our customers who choose YouTrack Server, adding support for multi-node installations is still our priority. This will provide enhanced performance and availability at scale. Beyond this, we’re also becoming more adept at supporting extremely large YouTrack installations, gaining more experience every day through our maintenance of youtrack.jetbrains.com – JetBrains’ own public project tracker, with about 1 million active users and over 3 million tasks. We’d be more than willing to share the insights we’ve acquired from this experience with you. Please feel free to get in touch with our support team for more information.
Premium support is available on request for larger teams seeking assistance with their migration to YouTrack, customizations, and more. What’s more, we’re also expanding our team of YouTrack-certified consulting partners who can help you with your projects. Please feel free to contact us for more information about any of these topics – we’re always happy to help.
Let us know what you think
Please keep in mind that these plans represent our general points of focus. There are improvements in the works for many of your other favorite YouTrack features. Furthermore, our current vision might change when we delve deeper into specific customer scenarios.
Subscribe to our blog and follow us on X to keep up to date with all our latest news. If you have any feedback or suggestions, please don’t hesitate to comment below. If you’re interested in more details on the features we’re working on, please feel free to check out our public project tracker. This is where you can find feature requests and vote for them. You can also subscribe to receive notifications about our progress on them by clicking the star icon.
Every year, we get thousands of requests from you that inspire us to look for ways to make YouTrack better for teams. Thank you for choosing YouTrack, and we look forward to many productive and successful years ahead working with you on the new features.
March 27, 2024:
TeamCity 2024.03 Is Here
In TeamCity 2024.03, we’re introducing some highly upvoted features, including optional artifact dependency, bundled HashiCorp Vault plugin, and supporting configuration cache for the Gradle build runner. Read on to learn what’s new.
Semi-automatic security updates
To keep you ahead of the curve in preventing and mitigating security issues, TeamCity 2024.03 now automatically downloads critical security updates. This approach helps to keep your system fortified against emerging risks and to swiftly tackle major vulnerabilities. Note that after an update is downloaded automatically, a system administrator still needs to approve its installation.
Bundled deal: the HashiCorp Vault plugin is now part of TeamCity
TeamCity has enjoyed integration with HashiCorp Vault via a plugin for a while now. Last year, we revamped the way this integration works, making it much easier to configure.
Now, starting from version 2024.03, we’re bundling the plugin with TeamCity, making it an integral component of any TeamCity installation.
Head over to our documentation to learn more about TeamCity’s HashiCorp Vault integration.
Optional artifact dependency
Artifact dependencies enable your build configurations to retrieve files generated by other configurations or other builds in the same build configuration. To establish these dependencies, you have to define artifact rules outlining which files to download and their designated storage locations.
Previously, if TeamCity was unable to locate files matching these rules, a build would fail with the “Unable to resolve artifact dependency” error.
Starting from version 2024.03, we’re introducing a more flexible approach to defining artifact dependencies. Now, you can configure the dependency to be ignored in the following cases:
-
The source build does not exist at all (this problem won’t be ignored if there are other, non-optional rules).
-
The source build does not have the required file.
-
The artifact rule is based on an archive and archive does not contain a required file.
If you’d like to share some feedback on the feature, please feel free to do so in this YouTrack ticket.
Trust but verify with untrusted builds
The Pull Requests feature allows you to review new code before adding it to the main codebase. You can choose to run builds from any contributors or only from those within your organization. The first option poses certain security risks, as it might expose your TeamCity server to harmful code. Meanwhile, the second choice restricts collaboration with a broader base of contributors.
Starting from version 2024.03, we’ve eliminated this trade-off between collaboration and security by introducing a new feature called the untrusted builds group. With untrusted builds, TeamCity can now differentiate between changes authored by trusted users and changes coming from an external source.
With this new functionality, you can specify the conditions that determine how pull requests coming from external sources should be handled. You can also specify the list of approvers who will receive a notification in case such an untrusted build is queued.
The untrusted builds group currently supports GitHub and GitLab. Learn more about Untrusted builds in our documentation.
dotCover runner
JetBrains dotCover has been supported as a coverage tool for .NET-related projects in TeamCity for a while now. In version 2024.03, we’ve introduced a new build runner in the .NET Support plugin that integrates with the dotCover tool.
The new dotCover runner allows users to:
-
Run an arbitrary process under dotCover code coverage profiling to produce a coverage snapshot.
-
Merge snapshots between build steps produced by other .NET or dotCover runners.
-
Generate merged reports across a build chain for parallel tests and transform them into TeamCity’s custom reports.
The new functionality is useful for profiling arbitrary processes running .NET applications and combining reports between builds into one build chain.
Learn more about our dotCover support in TeamCity in our documentation.
.NET test retry in TeamCity
In version 2024.03, we’ve introduced an exciting new feature for the .NET build runner that provides the possibility of setting up retry policies for tests that failed in the same build. This feature will help address test flakiness and mitigate transient failures when running integration tests.
If you’d like to share feedback on the feature, please feel free to do so in this YouTrack ticket.
Configuration cache support in the Gradle runner
Gradle’s configuration cache option significantly improves build performance by caching the result of the configuration phase and reusing this for subsequent builds. This allows Gradle to skip the configuration phase entirely in subsequent builds if there are no changes affecting the build configuration, such as modifications to build scripts.
Before version 2024.03, configuration cache support was not available in TeamCity’s Gradle build runner. With this release, we’re adding this functionality to TeamCity, enhancing the efficiency and performance of Gradle builds. Head over to our documentation to learn more about how to enable the configuration cache option for your TeamCity setup.
Git the ball rolling: enhanced Git submodule and large file storage (LFS) support
A Git submodule is a repository embedded within another Git repository. It allows you to include and track an external repository as a subdirectory within your main project. This is useful when you want to incorporate external code or libraries into your project while keeping them in a separate repository with its own version control history.
Previously, in cases when the project and its submodules had different VCS roots, it was impossible to configure submodule authentication that was different from the main repository one. For LFS, you had to use the same credentials as used for the Git VCS root itself.
Starting from 2024.03, we’re introducing a new option that provides support for external submodules as well as external LFS in TeamCity. Now, you have the ability to incorporate parameter-based credentials into your TeamCity projects.
As you check out source files, TeamCity seamlessly employs these credentials to access and retrieve the necessary files. Upgrade your project security and efficiency with this latest enhancement.
We look forward to receiving your feedback on the feature in this YouTrack ticket.
More control over Helix Swarm review comments
Previously, the Commit Status Publisher for Helix Swarm would comment on a review for every stage of the build (queued, started, succeeded/failed), causing potential spam issues, particularly with multiple tests running on a review.
Now, the Commit Status Publisher will only publish code review comments for the final “build finished” event. The possible comments are either: “Build was successful” or “Build failed“.
In addition to that, users will have the option to enable or disable the posting of code review comments via a checkbox in the build feature settings. This setting will also be available in Versioned Settings | Kotlin DSL for greater flexibility and control.
New parameter dialog
In the 2024.03 version, we’ve revamped the Add/Edit Parameter dialog, which you use when setting up build parameters in TeamCity.
In the updated dialog window, you can now opt for a new parameter type – Remote secret. You can select this type for parameters requiring values fetched from a remote source, such as HashiCorp Vault. This new parameter type also makes it easier for you to develop your own plugins.
March 4, 2024:
TeamCity 2023.11.4 Is Out
The new bug-fix release for TeamCity On-Premises is now available. In addition to important security fixes, version 2023.11.4 addresses several regular issues, including decreased TeamCity performance when the server cannot reach the jetbrains.com domain, a broken build log when publishing caches is aborted due to an error, inability to process cross-node events in a multi-node setup, and more. Refer to the release notes article for the complete list of fixed issues.
As with other minor updates, TeamCity 2023.11.4 shares the same data format with all 2023.11.x releases, allowing you to easily upgrade or downgrade within these versions without the need to back up or restore.
We recommend upgrading to apply the latest improvements and security fixes to your TeamCity server.
Before you start, read our upgrade notes and use one of the following options to upgrade:
-
Upgrade from your recent version with our automatic update.
-
Download the new version from the JetBrains website.
-
Pull the TeamCity Docker image.
February 23, 2024:
TeamCity Roadmap Q1–Q2 2024
In 2023, we introduced a number of highly anticipated features to TeamCity. The long-awaited dark theme is now available in both TeamCity Cloud and On-Premises. We’ve also introduced agent terminals that allow users to open remote terminals on agent machines directly from the TeamCity UI.
The Matrix Build feature in TeamCity now allows you to define a combination of parameters and corresponding values to create a matrix of build configurations. The Build Cache feature provides the ability to store files and share them between builds.
In this blog post, we’d like to shed some light on what we’re currently working on for TeamCity and what you can expect in the first half of 2024.
🚀 TeamCity Pipelines
TeamCity Pipelines is a new product that greatly simplifies the CI/CD process. The brand new visual pipeline editor provides a simple UI for working with CI/CD pipelines of any complexity. With TeamCity Pipelines, you can create, view, and modify your pipelines in one place and on a single page.
We’re releasing the Beta version on March 18, 2024 – sign up for early access today!
☁️ TeamCity Cloud
A lot is happening within TeamCity Cloud! Here’s a quick overview of what we’re currently working on.
Options for smaller teams
We’re working on introducing new options tailored to smaller teams as part of our product roadmap. Our ultimate goal is to introduce a completely free plan for TeamCity Cloud that many developers and smaller teams will benefit from.
TeamCity Cloud on AWS Marketplace
TeamCity Cloud will soon be available for purchase on AWS Marketplace, providing users with more flexibility in accessing and utilizing our services.
TeamCity On-Premises will also become available on AWS Marketplace in the near future.
Docker Registry and other package storages
As part of our commitment to meeting user needs, we’re exploring the possibility of integrating Docker Registry and other storages like Maven Repository and npm Registry into our offerings. If this feature is of interest to you, please let us know via this contact form.
Per-minute macOS build agents
We’re going to introduce per-minute macOS build agents to TeamCity Cloud. In addition to Windows, Linux, and ARM agents that are already available, you’ll also be able to run your builds on macOS.
We’re going to offer Intel-based and Apple Silicon M1 build agents, providing teams building for iOS with greater flexibility, scalability, and cost-effectiveness.
🌤️ TeamCity Cloud Integrations
Out-of-the-box Microsoft Azure support
Our customers are increasingly willing to run build agents in the cloud because it lets them quickly increase the capacity of their delivery pipelines when needed. To support users migrating to Microsoft Azure, we are planning to improve and bundle the TeamCity Azure plugin.
Executor mode
We would like to support a common scheduler like Kubernetes, HashiCorp Nomad, or AWS ECS in order to run simple build tasks without the requirement to specify and maintain a build agent.
This will allow you to start setting up project build configurations without thinking about what workers will run your builds.
This approach will be handy for small and simple tasks that do not require local caches of VCS roots, dependencies, and similar elements. It will also increase resource utilization using schedulers. The schedulers can run multiple tasks in parallel on the same cluster node out of the box.
Build agent image builder
With TeamCity’s image builder, you’ll be able to build custom VM images of TeamCity build agents for various environments. This will speed up your builds using pre-configured VCS repositories, build dependencies, Docker images, and so on.
Learn more and vote for this feature
⛓️ VCS integrations
GitHub Checks support
(being actively developed)
TeamCity is gearing up to integrate GitHub Checks functionality, allowing users to specify and report on the checks to be executed within TeamCity for a specific repository. GitHub will subsequently trigger these checks for new commits and pull requests, and users can manually re-run them as needed.
With this update, TeamCity will provide detailed check results, including granular information like failing tests. Additionally, we are exploring the possibility of implementing code annotation, supported by GitHub Checks.
Token management
(being actively developed)
TeamCity already uses expiring third-party tokens provided via OAuth or similar connections by VCS hosting services such as GitHub, GitLab, Bitbucket Cloud, Bitbucket Server/Data Center, and Azure DevOps.
Our upcoming plan is to enhance transparency, enabling users to effortlessly re-issue or reuse existing tokens. Users will also have the flexibility to permit or prohibit token usage in specific TeamCity projects. Furthermore, we aim to make searching for and issuing tokens for use in Kotlin DSL settings easier.
Untrusted PR builds
(likely to be released soon)
This new suite of features will be especially important for those users who run builds on their public repositories, such as ones used for open source projects. TeamCity will be able to:
-
Detect builds running on less trusted sources (e.g. coming from a fork of a public repo).
-
Provide users with a pre-approval functionality for such builds.
-
Detect build configurations that could potentially trigger such builds automatically.
PR-driven build triggering
(being actively developed)
Currently, the Pull Requests build feature can be configured to internally extend the branch specification for a VCS root to include any pull/merge request branches within it. Some filters can be applied, for example, to make it so a build can only “see” pull requests targeted at a certain branch. This is not always an optimal solution, as sometimes users want to see all branches, but only automatically trigger certain ones.
That’s why we are introducing an extension to branch filters that will allow users to filter branches by pull request attributes.
More expressive regexp-like branch filter syntax
(in design)
We’ve planned another improvement to branch filters – an alternative richer regexp-like syntax. This will allow users to maintain elaborate branch name conventions for their projects.
Simpler configuration of VCS hosting integrations
(in development)
Simplifying the user experience and making TeamCity features more discoverable are our main priorities. To do so for VCS hosting integrations, such as build status publishing and pull/merge request integration, we’re going to:
-
Suggest creating relevant build and project features when a project is created from a connection.
-
Consolidate as many of these integrations as practical on the TeamCity project level, with specific menu items appearing in the admin UI when such integrations are configured. For example, the GitHub menu item will appear if a project is created via a GitHub connection, and the respective admin UI page will allow you to control all GitHub-specific integrations within the project.
Custom Git LFS and submodule credentials
(likely to be released soon)
In some larger projects, users need to provide different credentials for a Git LFS storage or Git repository that stores submodules other than the ones used for the main repo. TeamCity will soon be able to support this functionality for TeamCity projects.
Agent-specific Git mirrors support
(likely to be released soon)
Sometimes with large Git repositories, it makes sense to keep a separate mirror closer to where TeamCity agents are hosted to improve performance. We’re planning to provide this functionality on an agent-by-agent basis.
Better support for SSH URLs for VCS roots created from connections
(being actively developed)
Currently, if a project, build configuration, or VCS root is created via a connection, TeamCity always uses an HTTPS-based fetch URL. Many users prefer to use SSH-based URLs, so TeamCity will support this. It will also allow users to upload a new SSH key or select one of the keys already accessible within the project.
💪 General TeamCity improvements
JetBrains Account login and the new license format
We want to allow you to manage your Server and Agent licenses transparently and flexibly via your JetBrains Account. We’re planning to simplify license management for TeamCity On-Premises customers by allowing them to manage their Server and Build Agent licenses through their JetBrains Account portal without having to generate and download with numerous offline license keys.
Making the path to Kotlin DSL in versioned settings repositories configurable
Currently, the Kotlin DSL doesn’t allow users to store settings for several projects in the same repository. Our goal is to provide more flexibility by allowing users to customize this configuration path according to their needs.
Learn more and vote for the feature
Option to run a build if the artifact dependency failed to download
Currently in TeamCity, snapshot dependencies offer the option to run a build even if the dependency has failed.
We’re going to introduce similar logic for artifact dependencies. This functionality will be optional, giving users the flexibility to choose whether a failed artifact download blocks the entire build process or not.
Learn more and vote for this feature.
Speeding up server startup times on large installations
This TeamCity improvement, aimed at enhancing performance, focuses on optimizing the server startup time for large installations.
Our goal is to reduce the time it takes for the TeamCity server to initialize and become operational in environments with extensive configurations or substantial data, ensuring a more efficient and responsive experience for users managing sizable installations.
Commit all configuration changes to a Git repository
The idea behind this feature is to commit and push every change (both project-related and global) to a specified Git repository. This repository can then be used to share configuration files between TeamCity nodes in multi-node setups.
This repository can also be used as an audit of all changes made to the TeamCity settings through the UI, Rest API, or versioned settings.
Standalone build log service
In a multi-node setup, all nodes work with build log files stored in a shared data directory. Most of the time, one node “owns” the log file corresponding to a certain build. This node writes to the file while other nodes can only read it.
If a TeamCity node decides that the node that “owns” the log file crashed, but it is actually working normally, another node might start writing to the same log file and corrupt it.
We’d like to implement a standalone build log service that can be accessed by HTTPS from every node. The new approach will help us to eliminate the possibility of log files being corrupted as a result of two nodes writing to the same file.
Execute a dependency based on specific conditions
We’re working on the capability to execute a dependency in TeamCity based on a specified condition. This would allow users to set conditions for executing dependencies, providing more flexibility and control over the build process.
Learn more and vote for this feature
🔐 Security improvements
Stronger passwords in TeamCity
We’re working on a feature that will enable administrators to customize password security policies, defining criteria such as length and the inclusion of special characters and numbers. If a user attempts to log in with a password that doesn’t meet the requirements, TeamCity will require them to create a new password that does.
🏃♀️ Build tool integrations
TeamCity Actions
We’re going to design and implement TeamCity Actions – reusable, shareable packages of build runner configurations that can be used to simplify and streamline CI/CD processes.
Dependency cache in build runners
TeamCity includes a Build Cache feature that allows caching specific directories between agents in a build chain within the artifact storage. However, users currently must manually manage the directories they want to cache.
We aim to simplify this process by automatically including the build system directories for which we offer integration within the cache. This improvement will streamline cache setup for users.
🕹️TeamCity for game development
TeamCity is one of the most popular CI/CD solutions for game development. TeamCity integrates with all major technologies and tools used in modern game development, including Perforce.
In 2024, we’re focusing on improving TeamCity’s Perforce integration and updating the Unity plugin that’s already available on JetBrains Marketplace. We’re also working on a new Unreal Engine plugin that will help game developers seamlessly integrate TeamCity with their video game development tools.
We’re going to add on-the-fly test reporting functionality for the Unreal Engine plugin.
🌸 TeamCity UI
We’re constantly polishing and improving the TeamCity UI so that you feel at home when working with your CI/CD system. Here’s what we’re focusing on in Q1–Q2 2024.
Sakura UI: Problems tab
TeamCity provides an overview of current problems and investigations on both project and build levels. Users can review build configuration errors, failed tests, and problems that are being investigated, as well as check their assignee and status.
We’re reworking the UI to give our users a better overview of all issues and their statuses in a selected project. They can now be found under the common tab – Build Problems.
Client notification center
We’re looking into better ways to notify our customers about TeamCity updates and other important product-related issues. That’s why we’re going to introduce a number of features that will help our customers to stay on top of what’s happening in and with TeamCity.
What’s new notifications
We’re going to introduce in-app notifications that will be displayed right within the TeamCity interface. The information about new releases and other important updates will be easily accessible here for all TeamCity users.
Notification center
There’s a lot going on in TeamCity that might require a user’s attention, from accessing the list of all assigned investigations to staying on top of failed builds. Until now, there was no unified way for TeamCity to notify users of any important changes related to their TeamCity instance.
With this in mind, we’re working on our new Notification Center, which will provide a quick and easy way for users to get updates regarding their account. Here, users will be able to review their assigned investigations and server health summary, among other things.
Users will also be able to configure which types of notifications they’d like to receive.
Health reports: New UI
When numerous server errors occur, TeamCity frequently presents them as extensive health reports that occupy the entire screen. Our goal is to enhance error reporting by making it more concise and compact.
Project administration and build configurations: New UI
We’re updating the project administration and build configuration UIs to be on par with the Sakura UI, the default for TeamCity. Our ultimate goal continues to be reaching feature parity between the Sakura UI and the classic TeamCity UI.
🏗️ TeamCity infrastructure
Design Teamcity-Kubernetes operator
Operators are software extensions within Kubernetes that use custom resources for managing applications and their components. These operators follow Kubernetes principles.
We’re going to design and develop a Kubernetes operator for TeamCity and first adopt it for TeamCity Cloud. The operator will seamlessly integrate into TeamCity, providing out-of-the-box installation for any Kubernetes cluster.
Terraform Provider for TeamCity
We’re introducing the Terraform Provider for TeamCity, which uses a language familiar to DevOps professionals to streamline global server setup, user management, permissions, and project initiation.
Thanks to the Terraform Provider, managing the infrastructure for TeamCity projects has become much easier. We’re releasing the Beta version in Q1 2024 and will continue developing our Terraform Provider this year.
February 8, 2024:
What’s New in Datalore Enterprise 2024.1
Datalore Enterprise 2024.1 brings an improved experience working with interactive tables, the Vim text editor inside the terminal, multiple instance-wide configurations available directly from the Admin panel, better HTML rendering in cell outputs, as well as other improvements and bug fixes.
Edit DataFrame cells in interactive tables
Forget about downloading CSV files to make a set of edits in a DataFrame. You can now simply edit the content of cells inside interactive tables and click Export to code to reproduce the result in the notebook.
Drop duplicated rows action in interactive tables
We’ve improved the process of data cleaning with a new option to drop duplicated rows right from the interactive table’s interface. Choose between dropping fully duplicated rows or only rows with duplicated sets of columns and click Export to code.
In-terminal editor
The open-source text editor Vim now comes pre-installed with Datalore’s terminal, allowing you to create and edit files directly from the Terminal interface.
Updates for Datalore admins
Create instance-wide database connections
Help your team get straight to work and streamline new user onboarding with instance-wide database connections. Configure company-wide connections from the Data tab in the Admin panel. Datalore users will instantly see the new connection in shared and home workspaces.
Customize background computation time
Admins can now set up a custom background computation time via Admin panel | Computations | Background computations. Users will then be able to choose the new option for a single notebook or make it the default in Account settings.
Learn more about background computation here.
Add new base environments from the Admin panel
Datalore admins can now configure custom team environments directly from the Admin panel interface and specify the agent types, programming languages, and package managers these environments are available for.
Assign computation plans to groups of users from the Admin panel
Managing users and their computation plans is now more convenient for admins. You can assign your internal plans to a whole group of users from the Admin panel. As always, you can control users’ individual plan assignments and override the group plan.
Mount local host storage to machines in Docker-based installations
The mounting of local host storage to a notebook machine was previously possible only for Kubernetes-based deployments. Now customers with Docker-based installations can also programmatically configure access (including read-only and read-write) to the data they store on the same machines their notebooks are running on. Find more details in our documentation.
Separate domain configuration for rendering HTML in cell outputs
It’s now possible to configure a separate domain where HTML fragments from notebooks’ cell outputs will be securely rendered. This enables libraries like panel to function properly and allows you to embed YouTube videos through iframes without giving third-party websites access to users’ cookies and data. Learn more about how to configure a separate domain in Datalore’s documentation.
Other improvements and bug fixes
-
Although data security and privacy have always been a top priority for us, we’re happy to announce that JetBrains Datalore has now officially obtained SOC 2 certification.
-
Datalore reports will now be launched with only one session per user. The report state and calculations will persist through both page refreshes and when opening the same report in another browser tab, allowing for a consistent user experience and saving costs on computational resources. If a report gets updated by the owner, the report viewers will be notified accordingly. Loading the new version of the report will start a new session for the report viewers.
-
Build tools such as GCC and CMake are now part of the default Datalore agent image.
-
cifs-utils is now part of the default Datalore agent image, allowing for straightforward CIFS storage mounting.
-
We’ve improved the performance of notebooks with over 100 cells so that they now load more smoothly.
-
It is now possible to reset the certificates for agent-server channel encryption directly from the Configuration tab in the Admin panel.
January 30, 2024:
TeamCity 2023.11.3 Is Here
The 2023.11.3 bug-fix update for TeamCity On-Premises is now out and available for downloading. This update includes a crucial security-related fix, and we urge you to install it as soon as possible. For the list of other issues fixed in this version, refer to our release notes.
As with other minor updates, TeamCity 2023.11.3 shares the same data format with all 2023.11.x releases, allowing you to easily upgrade or downgrade within these versions without the need to back up or restore.
We recommend upgrading to apply the latest improvements and security fixes to your TeamCity server.
Before you start, read our upgrade notes and use one of the following options to upgrade:
-
Upgrade from your recent version with our automatic update.
-
Download the new version from the JetBrains website.
-
Pull the TeamCity Docker image.
January 17, 2024:
Watch our YouTrack Helpdesk Online Demo
In this livestream, we dive deep into YouTrack Helpdesk’s capabilities for support teams and internal service desks.
We’ve included an overview of the flow for several potential stakeholders:
-
Your external customers – reporters who submit tickets and get replies
-
Support agents who can benefit from a number of useful instruments to streamline their work
-
Any other members of your team who may be in the support processes along with other projects, or who may be interested in the reports or overview of the support state of things.
In the second part, we’ve included a demo for administrators of helpdesk projects showing them how to set up and organize the flow of your support projects, create signatures and answer templates, manage service-level agreements (SLA), automate support workflows, and more.
Contents:
0:00 – Intro: YouTrack for various types of teams
1:03 – YouTrack Helpdesk capabilities, licensing, and pricing
Your reporters’ flow
3:01 – Online demo starts: How reporters submit tickets and get replies
6:30 – Browsing the public knowledge base (for reporters)
7:40 – Accessing YouTrack so your reporters can submit tickets and get updates
Tools for support agents
10:26 – Working with tickets
12:50 – Managing service-level agreements (SLA)
13:56 – Searching for and filtering tickets
15:27 – Ticket management tools: reply templates and agent signatures, revising comments, ticket visibility, internal and external comments, adding recipients to a ticket, linking and creating connected tickets
Helpdesk project administration
26:00 – Helpdesk project creation
27:33 – Managing roles in helpdesk projects
29:35 – Setting up the fields and creating custom fields
30:12 – Setting up ways to collect tickets – emails and online forms
33:28 – SLA policy configuration
35:59 – Workflows for support processes
37:19 – Overview of the created helpdesk project