News

April 4th, 2022:

JetBrains Academy: New Projects and Topics in March

If you are learning Go, we have good news for you! In March, we created 2 brand-new Go projects: In-Memory Notepad and Duplicate File Handler (Beta). We also released the Magic Form (Beta) project for frontend development learners and Tasklist (Beta) for Kotlin learners. In addition, we published over 30 new educational topics.

Java tracks

🆕 Topics: 

 

Python tracks

🆕 Topics:

 

Data science

🆕 Topic: Intro to plotly

 

Frontend track

🆕 Project: Magic Form (Beta). Medium.

Most professional sites have an online form to fill out — whether for registering, ordering food, or making payments. But sometimes if you accidentally reload a page with a form, you can lose all the data. In this project, you’ll create a form that will retain the data when the page closes unexpectedly.

🆕 Topics: 

 

Kotlin tracks

🆕 Project: Tasklist (Beta). Hard.

It’s always good to have a reminder of important tasks. It may be simple paper notes or a sophisticated app. In this project, you will create a text-based program that shows tasks, deadlines, and priorities.

🆕 Topics: 

 

Go track

🆕 Project: In-Memory Notepad. Medium.

Every day we face a shower of information that pours upon us from all quarters. It’s easy to forget the most important things in that flow. In this project, you’ll create a simple in-memory database that supports CRUD (create, read, update, and delete) operations and helps you structure your data.

🆕 Project: Duplicate File Handler (Beta). Challenging.

Duplicate file handler is a useful tool that can free some space on your drive. In this project, you will write a handler that checks and compares files in a folder, displays the result, and removes duplicates.

🆕 Topics: 

 

Math

🆕 Topics: Linear functionsGradient descentModular arithmetic

 

Fundamentals

🆕 Topics: 

Note that projects marked as Beta are still in the early stages of testing. In order to see Beta projects on the platform, you need to have the Beta tester feature enabled in your profile settings.

March 17th, 2022:

JetBrains Academy: New Projects and Topics in February

In February, we created 5 brand-new projects, released 3 projects from Beta, and published more than 40 new educational topics. Read on to see what’s new.

Java tracks

🆕 Project: Anti-Fraud System (Spring Boot, Beta). Challenging.

This project demonstrates the principles of anti-fraud systems used in the financial sector. You will work on a system with a set of REST endpoints responsible for interacting with users, and an internal transaction validation logic based on a set of heuristic rules.

🆕 Topics: 

 

Python tracks

🆕 Project: A/B Test for Delivery App (Python, Beta). Hard.

Digital footprints left by users can be extremely useful for increasing conversions and improving the user experience. Companies use such data to test hypotheses about various product features. This is called A/B testing, where A and B are versions of the same feature. In this project, you will test a statistical hypothesis about the interface of a food delivery application with the A/B test framework.

🆕 Project: Read Quality Control (Python, Beta). Medium.

In this project, you will learn how to utilize programming for real-world biological tasks. If you love solving problems at the intersection of the sciences, this project is for you.

🆕 Topics:

Additionally, the Logistic Regression from Scratch and Classification of Handwritten Digits projects were released from Beta.

Data science

🆕 Topics: Correlation visualizationNumeric data visualizationIntro to seaborn

 

Frontend track

🆕 Topics: 

The Hyperskill Cafe project was released from Beta.

Kotlin tracks

🆕 Topics: 

 

Go track

🆕 Project: University Admission Procedure (Beta). Challenging.

In this project, you’ll implement an algorithm to determine which applicants are going to be enrolled. At each stage, the algorithm will gradually become more complex and comprehensive.

🆕 Project: Cipher Decoder (Beta). Hard.

One of the main difficulties in cryptography is sending encryption keys to other people over unsecured communication channels. In this project, we will take a look at the Diffie-Hellman key exchange protocol and apply it to keep our conversations secret.

🆕 Topics: Math packageOperations with stringsString builder

 

Math

🆕 Topics: Introduction to integralsIntegrals of constants and powersDivisibilityPartial ordersEuclid’s algorithmVariance of a random variable

 

Fundamentals

🆕 Topics: 

Note that projects marked as Beta are still in the early stages of testing. In order to see Beta projects on the platform, you need to have the Beta tester feature enabled in your profile settings.

February 15th, 2022:

What’s New in JetBrains Academy for Organizations

Last summer we introduced JetBrains Academy for Organizations. This platform can give your team hands-on learning experience in programming that they can then apply in their daily work or studies. Your team members can learn a programming language from scratch, improve their existing skills, or close certain skill gaps.

While keeping your team empowered with an up-to-date skillset is important, we also focused on improving the platform administrative functionality. Now you can manage your team and see how effectively your team members are learning from one place. In particular, you’ll be able to:

 

With a new dedicated Organization page, you can now manage your team members’ accounts effortlessly and understand how effectively your team is learning at glance. You can access this page via the Manage organization button on the Subscription page or via the Organization button on the top navigation bar. Let’s take a closer look at what you can do there.

Add new members to your team and remove existing ones

To add new members to your team, copy the invitation link in the upper-right corner and send it to them. If there are not enough seats in your subscription, you will need to buy additional seats using your JetBrains Account or you can remove existing users.

 

To remove existing team members, click the Deactivate button next to the users in question and confirm the action.

Connect your corporate domain with the single sign-on

We’ve already made it easy for teams that used corporate Google accounts to log in to JetBrains Academy for Organizations. But now we’ve gone further and expanded the single sign-on functionality to include your corporate domain. You can specify this by clicking Edit in your organization profile. In the pop up window, type in your corporate domain name and save the changes. From that point on, your team members will be able to automatically join the platform using their work email addresses. Alternatively, you can always add new team members by sending them an invitation link by following aforementioned instructions.

 

See your team’s progress on the overview dashboards

Overview dashboards help you keep track of each learner’s progress and review their metrics so you can understand how effectively your team is learning. You will now find 3 dashboards on the Organization page: Members and their subscription status, Members’ activity, and Total statistics. Let’s take a closer look at each one.

Members and their subscription status shows all past and present members of your organization. There, you can see each member’s username, email address, join date, and the status of their subscription.

Each team member can have one of the three statuses: Active, Pending, or Inactive, with the following meanings:

  • Active: The user has been verified and has full access to the platform.

  • Pending: The user hasn’t been verified and doesn’t have access to the platform. This may happen because the user hasn’t confirmed their email or there are no more seats available in your subscription. 

  • Inactive: The user has been removed from your organization or deleted their account.

 

Members’ activity shows the number of problems, topics, projects, and tracks each member has completed. You can also see when each member was most recently active on JetBrains Academy. 

Total statistics shows the overall number of problems, topics, projects, and tracks completed by your team members.

We know how important the onboarding process is to everyone — whether you’re setting up a new platform, administering the learning process, or actually studying. We hope that the new functionality will provide a smooth process for you and your team! Learn more about how you can start with JetBrains Academy for Organizations in our Help Center guide.

What’s new for learners?

We’re continuously improving our platform and adding new learning content and functionality for JetBrains Academy learners. Since last summer, we’ve introduced a new programming language (Go) and launched new subjects to study (math and machine learning). We’ve also released several new and more specialized tracks that can help your team develop a new skill, like shell scripting, keep up with language technologies, like Django or Flask frameworks, or elevate their knowledge in specific areas of development, like backend or desktop applications. See the entire list of tracks on the Tracks page.

 

To keep your team motivated throughout the learning process, we released certificates of completion. Now whenever one of your team members completes their track, they’ll receive a personalized certificate, which is the perfect way to showcase the skills they’ve gained. It quickly became one of the most beloved platform features for our learners, so we are sure your team will like it!

December 22nd, 2021:

Machine Learning on JetBrains Academy

Artificial Intelligence (AI) and machine learning (ML) conjure up images of robots and science fiction movies in many people’s minds, but the fact is they’ve already become an integral part of our society. Are you, too, ready to turn science fiction into reality and get your hands on coding real-world applications based on AI and ML?

With our Introductory Machine Learning in Python track, you can take your first steps in this field of computer science and develop your own machine learning models that find patterns in data and make decisions based on those patterns.

Machine learning in real life

A subfield of artificial intelligence, machine learning involves creating algorithms that can learn from past experiences and then applying that  knowledge to new, previously unseen situations. 

Machine learning is all around us these days. For example, when you open your mailbox, all the spam messages are automatically filtered to a separate folder. If you receive an email in an unknown language, you can easily translate it to a language you understand in just one click. Your favorite streaming service suggests movies that you’re likely to enjoy. Stores where you shop send you special offers that are relevant more often than not. None of this would be possible without machine learning.

Introductory Machine Learning in Python

The Introductory Machine Learning in Python track is here to give you a clear understanding of the main types of ML algorithms, introduce you to the general pipeline of building an ML model, and give you an idea of what skills and competences it takes to be an ML expert. You will develop a deep understanding of fundamental ML techniques, and you’ll get practical experience with such Python libraries as NumPy, pandas, and scikit-learn.

Projects you’ll build

This track gives you access to more than 160 educational topics and 15 new projects that you’ll create step by step in an interactive learning environment. Let’s take a look at a few of them:

📩 Spam Filter: Build a program that can tell if an email message is spam and filter it out. By completing this project, you’ll learn what Naive Bayes, SpaCy, and pandas are, make use of functions to carry out repetitive tasks and functional decomposition, and implement your own algorithms and measure how well they perform.

🏥 Data Analysis for Hospitals: Data is everywhere, including texts, images, news, and spreadsheets. The amount of data we consume and store is growing by the second. How will you stay afloat in this great sea of data? In this project, you’ll conduct a comprehensive study by uploading datasets, dealing with data omissions and incorrect data filling, finding the main statistical characteristics, and visualizing your data.

📶 Linear Regression from Scratch: Linear regression is one of the most popular methods for estimating linear relationships and one of the most popular ML algorithms. By the end of this project, you’ll have created your own linear regression algorithm, learned about linear algebra, practiced matrix operations, and more.

After you finish this track, you’ll receive a certificate of completion that you can add to your LinkedIn profile and resume. Don’t forget to add completed projects to your GitHub profile as well!

A career to pursue after track graduation

If you’re interested in starting your career as a Junior ML engineer, this track will be right up your alley! Add some knowledge of statistics, data visualization techniques, and SQL, and you can try your hand at working as a Data Analyst or Data Scientist. If any of this sounds interesting to you, or if you want to improve your knowledge of Python in general, get started with the Introductory Machine Learning in Python track!

If you are new to JetBrains Academy, not only can you start a free 7-day trial, but you can also extend it by up to 2 months as you work on your first project! To do that, complete the first stage of your project within the first 7 days and have your trial extended by 1 month. If you finish your first project within that first month, you will have one more month added to your trial.

We hope you’ll enjoy studying machine learning with us. If you have any questions or would like to share your feedback, feel free to leave a comment below or contact us at academy@jetbrains.com.

November 4th, 2021:

Introducing JetBrains Academy Certificates of Completion

Since 2019, when we first released the Early Access Program of JetBrains Academy, we’ve carefully listened to your feedback, added each feature request to our backlog, and we are implementing them one by one. Certificates of completion have been on our list of things to do for quite some time, and it took a lot of effort for our team to finally release it. But that’s what makes this news even more exciting! That’s right – you can now earn a certificate of completion with JetBrains Academy!

Getting a certificate of completion is the perfect way to showcase the skills you’ve gained through your learning, help you stand out in the job market, and advance your career. JetBrains Academy certificates are personalized and can be easily attached to your résumé or LinkedIn profile. You can access your certificate or download it at any time through your JetBrains Academy profile.

How can I earn a certificate of completion?

You have to complete your learning track. While completing a track might not be that easy, you’ll have an exciting journey into the world of programming with fun real-world projects, lots of coding challenges, and a community of learners that is always there for you.

How do I know when the track is completed?

In order to complete the track, you need to complete at least 95% of all the topics in your track and apply at least 95% of the core topics by working on projects. The latter requirement ensures that you can put your knowledge into practice by building real applications, which is essential for your future career. You also need to complete at least one graduate project. If your track has no projects, you can finish it by completing at least 95% of all the topics.

Depending on the track, the number of topics and projects and time required to complete them varies. The progress bar of your track will help you see the number of topics you’ve completed and how many remain to complete the track. To check your progress, click on the Track button in the top menu.

Does my current progress count?

Yes, the progress you’ve made before we introduced the certificates will stay intact. If at least one graduate project and all core topics are completed, your track will be marked as Completed in the Track menu. Go ahead and check your profile – your personalized certificate might already be waiting for you!

Can I get a certificate for completing a free or beta track?

You can only earn a certificate with an active subscription. Learners enrolled with the Free plan, who do not have an active subscription, will not be able to earn a certificate.

There is no certification program on beta tracks. If you worked on a track before it was released out of beta, your progress will be saved, and you’ll be able to receive a certificate once the track is completed.

Does a JetBrains Academy certificate carry weight in the job market?

By the end of the track, you will have developed the skills to prepare you for job interviews and your future career. Check out this interview with a JetBrains Academy student who succeeded in his technical interview and got the job he was applying for. In addition, the more complex projects are inspired by test assignments for junior and middle developer positions. However, we do not have any special agreements with IT companies and therefore can’t make any guarantees.

We hope that you find this news exciting! Let us know if you are up for the challenge to earn a certificate, or if you have already earned one by using the #JetBrainsAcademyCertificate hashtag! We’ll share the posts of the most dedicated learners with our community on Twitter and Facebook to keep you inspired and motivated.

September 1st, 2021:

JetBrains Academy: New Projects and Topics in August 2021

Now that the summer is officially over, we want to share with you our August updates along with the content highlights of this season! It was a very productive time for us. All in all, we created 11 new projects, produced more than 100 topics, and released 8 projects from beta. The summer headliner at JetBrains Academy became the long-awaited Go content! If you wondered what programming in Go is like, check out the Coffee Machine (Beta) and Obscene Vocabulary Checker (Beta) projects.

Our Python learners will be glad to find out that we also released our Django track! Now you can learn the most popular full-stack framework for Python while working on creative projects, like an online news web application or a program that manages the queue at a car service center!

If you learn Java, check out 5 new tracks tailored to your proficiency level and goals! These new tracks can help you gradually expand your knowledge and improve in the areas that interest you — algorithms, web applications, backend development, and more.

The last, but certainly not least important highlight is the release of our new Kotlin Basics track, which is free of charge for our individual learners! It provides all the Kotlin essentials to give you a feel for this programming language as you build fully functional applications.

We hope this news will give you as much energy and inspiration to learn programming as it gives our team to produce interesting and useful content! Now, without further ado, let me share what we worked on in August:

What’s new in Java

New topics on Spring Boot: Spring beans@Bean vs @ComponentSchedulingAuthorization

What’s new in Python

New project: Classification of Handwritten Digits (Beta)
Project released from Beta: Data Analysis for Hospitals
New topics: SQL Alchemy querying and filteringRegexps in programsGlob module

What’s new in Kotlin

New project: Connect Four (Beta)
Projects released from Beta: ZookeeperPawns-Only ChessSteganography and Cryptography
New topics: File hierarchiesRegexps in useCreating custom exceptionsIntroduction to generic programmingLazy initializationNested and inner classesFor loop and listsMulti-dimensional listMutable listWork with mutable lists

What’s new in Kotlin, Android

Project released from Beta: Stopwatch with Productivity Timer
New topics: ViewPager2Layout editorbuild.gradle files

What’s new in Frontend

Project released from Beta: Case Converter
New topics: Fonts and Vertical-align (CSS)

What’s new in Go

New topics: Loops and Arrays

What’s new in Data Science

New topics: Training a model with sklearnLinear regression in sklearnWorking with missing valuesSorting data in Pandas

What’s new in Math

New topics: Distances and functions in polar coordinate systemIntroduction to polar coordinatesNorm of a vectorDiscrete random variables

What’s new in Fundamentals

New topics: 

Keep in mind that the beta projects are in the early stages of testing. We appreciate your feedback on such projects – it helps us improve and publicly release them sooner. In order to see beta projects at the platform, you need to have the beta testing feature enabled in your profile settings.

Should you have any questions or would like to share feedback, feel free to leave a comment below, contact us at academy@jetbrains.com, or share your post on TwitterFacebook, or Reddit.

August 24th, 2021:

IntelliJ IDEA 2021.2.1 is Available

Our first bug-fix release for IntelliJ IDEA 2021.2 is here! It both addresses a variety of issues and adds basic support for Java 17.

Don’t hesitate to get the new version, either from inside the IDE, with the Toolbox App, or by using snaps for Ubuntu. It is also available for download from our website.

Here is a list of the most significant fixes included in IntelliJ IDEA 2021.2.1:

  • Fixed the behavior of the Ctrl+Shift+←/→ shortcuts: they now correctly extend the text selection before or after the caret. [IDEA-267294]

  • Fixed the issues causing the file type setting to be reset when the IDE restarted. [IDEA-274889]

  • Fixed Maven multi-module recognition in WSL 2. [IDEA-265900]

  • Fixed the Run/Debug Configuration issue: when you click the Run button, the IDE runs the configuration selected in the combo box. [IDEA-244454]

  • Fixed several shortcut issues in the IntelliJ IDEA terminal. [IDEA-271542], [IDEA-271777], [IDEA-274574]

  • Fixed the problem causing the IDE to freeze when opening a project from WSL 2. [IDEA-273398]

  • Fixed the problem causing the JPA Buddy plugin to be deleted upon upgrading to the latest version. [IDEA-270342]

  • Fixed Find Action to correctly search for queries typed in English even if you are using a localized version. [IDEA-250323]

  • Fixed the issue causing the title not to change in the Diff window when moving between files. [IDEA-272366]

  • Fixed the layout of the Migrating plugins dialog. [IDEA-241905]

  • Returned the Update Running Application button to the Debug window. [IDEA-274540]

  • Fixed a collection of code analysis issues. [IDEA-273752]

  • Fixed the problem causing the IDE to hang when importing Gradle projects. [IDEA-274022]

August 2nd, 2021:

JetBrains Academy: New Projects and Topics in July 2021

We are always working on new learning content so even the most active learners and experienced programmers can continue to hone their existing skills. Before you head off to enjoy the updates, we wanted to share a recent development with you. As of now, our free and Beta tracks are separated into two different categories. If you’d like to see which tracks are available without an active trial or a subscription, look for the tracks marked with the Free badge on the Tracks page. Beta tracks are marked with the Beta badge. 

For example, the Frontend Developer track is Beta and Free, so you can create websites and web applications using JavaScript, HTML, and CSS at no cost! However, as with the other tracks, projects, and topics marked as Beta, keep in mind that it is still under construction. We’d appreciate your feedback on all of the Beta tracks, as this will help us improve and publicly release them sooner.

Java

Project released from Beta: Cinema Room REST Service
New project: Learning Progress Tracker (Beta)
New topics:

Python

New topics:  Preconditions and postconditionsRegexp flags in PythonRegexp functions in PythonParallel iteration

Kotlin

Project released from Beta: Basic Calculator
New project: Zookeeper (Beta)
New topics: Asynchronous programming techniques & problemsImage colorsQuantifiersSets, ranges, and alternationsShorthandsBitwise and bit-shift operations

Kotlin: Android

New project: Cinema Room Manager (Alpha)
New topics: RoomSQLite

Frontend

New project: Hypergram (Alpha)
New topics: Pseudo-elementsOverview of the basic program (React)

Go

New project: Obscene Vocabulary Checker (Beta)
New topics: Input / Output and Variables and constants

Fundamentals

New topics: 

July 27, 2021:

IntelliJ IDEA 2021.2 is Out!

IntelliJ IDEA 2021.2, our summer release, is available!

Download it from the website or by using the Toolbox App. You can also upgrade from inside the IDE or via snaps if you are a Ubuntu user.

We’ve introduced many new features in various areas of the IDE and worked on improving the daily experience in IntelliJ IDEA. The changes were mostly based on the feedback in our issue tracker, which is our go-to tool for learning about your needs and pain points. So, we’d appreciate your thoughts on this release and help in solving any bugs that you may come across.

As usual, you can get more detailed information about each new feature in a series of our EAP blog posts and on the What’s New page.

This post lists all of the significant features and improvements in v2021.2 so that you can quickly scan through them.

Key updates

  • The new project-wide analysis allows you to track errors throughout small or medium-size projects before compiling them. This feature works in IntelliJ IDEA Ultimate only.

  • We’ve added several actions that the IDE will initiate when you save the project, including reformatting code and optimizing imports, among others. All of these actions are now conveniently grouped in Preferences/Settings | Tools | Actions on Save.

  • It is now easy to manage Maven and Gradle dependencies with the new powerful Package Search UI. You can also see if any version updates for dependencies are available and upgrade right from the editor.

Editor

  • The descriptions for inspections and quick-fixes are more comprehensive. Some of them feature usage examples.

  • The diagrams have become more informative, offering you a Structure view with a diagram map and a preview of the selected block and its neighbors.

  • Your project’s copyright notice includes both the project creation year and the current version year by default.

  • Markdown support has been improved with the ability to convert .md files to/from various formats, configure image size, and use drag and drop to insert images. We’ve also fixed the list formatting issues and added the new Floating Toolbar, which is only activated when you need it.

User Experience

  • You can open Eclipse projects stored locally on your machine right from the dedicated folder on the Welcome screen, as IntelliJ IDEA can now automatically detect such projects.

  • Use-case-specific options are now available in the new Advanced Settings node in Preferences/Settings.

  • Organizing tool windows just got easier – drag them by their name bar and drop them to the highlighted place within the main IDE window or in a separate window.

  • IntelliJ IDEA automatically cleans up any cache and log directories that were last updated more than 180 days ago.

  • If your project is missing a plugin for a specific framework used in it, the IDE will alert you and offer to enable it.

  • We’ve simplified the back-and-forth navigation in Preferences/Settings by adding arrows to the top right-hand corner of the window.

  • Your IDE will inform you about any product updates that appear in Toolbox App 1.20.8804 or later.

  • Accessibility updates for macOS users include voiced suggestions for code completion, the content of the selected combo box and combo box lists, and the results of your queries in Search Everywhere.

  • In this release, we’ve eliminated UI blocks when using context menus, popups, and toolbars, and moved certain operations that require indices off the UI thread.

  • When you preview HTML files in the browser, the IDE will automatically show any saved changes made in your HTML file or the linked CSS and JavaScript files.

Java

  • You can mark public, protected, and private Java members (methods, fields, classes) in different ways. To configure this, go to Preferences/Settings | Editor | Color Scheme and unfold the Visibility node.

  • We’ve introduced a new two-step JavaFX project wizard.

  • We’ve added a range of new inspections to address particular use cases in Data Flow Analysis, including tracking a floating-point range or collection size on update methods, and others. To learn more, read our blog post.

Kotlin

  • Kotlin code completion now works based on the machine learning mechanism by default.

  • You don’t have to wait for code analysis to finish before running tests, as you can now launch tests immediately after opening the file by clicking the Run test icon in the gutter.

  • The coroutines agent is now available via the Coroutines tab in the Debug tool window. It works for Java run configurations with a dependency on kotlinx.coroutines and Spring and Maven run configurations.

  • We’ve made the buttons associated with Run/Debug Configuration active during indexing. This means you can run and debug your application even while the IDE is indexing your project.

  • We’ve introduced WSL 2 support and the Run Targets feature for Kotlin.

  • A new inspection is available to simplify the syntax and combine several calls into one when IntelliJ IDEA calls methods in a chain inside a collection.

  • We’ve added a new intention action for buildString conversion.

JavaScript (IntelliJ IDEA Ultimate only)

  • IntelliJ IDEA can now rename useState values and functions simultaneously.

  • Previously, it was possible to add missing import statements as you completed ES6 symbols. Now your IDE can do the same for CommonJS modules – require imports will be inserted on code completion.

Scala

  • Scala 3 support has been significantly improved. Indexing is faster and more precise, and you can now create sbt and .idea-based Scala 3 projects. Along with Scala 3 SDKs, we’ve supported Scala 3 constructs in Scala 2 projects (-Xsource:3) and added many other improvements.

  • You can use compiler-based error highlighting to avoid false error reports. Note though that while the compiler-based approach is more precise, it is slower, requires more resources, and doesn’t support features such as type diffs, quick-fixes, and inspections.

Profiler (IntelliJ IDEA Ultimate only)

  • IntelliJ IDEA now fully supports the profiler on Windows and Apple M1, in addition to Linux and non-M1 macOS, which means you can now use it in most environments.

  • The IDE supports Async Profiler 2.0, which combines the power of the CPU and Allocation profilers. It works via the new Async Profiler configuration.

  • The Retained Objects tab now interprets data for the selected item in a sunburst diagram.

Build Tools

  • It is now possible to add new JLink artifacts when working with a custom JDK.

  • You can execute Ant tasks in WSL 2.

  • Gradle Run/Debug Configurations have been reworked. We’ve gathered the essential parameters on one screen, and you can add more options on demand.

  • We’ve increased the indexing speed for projects in WSL 2.

Version Control

  • You can now run tests on the applied changes before committing them.

  • Previously the progress and results of all the pre-commit checks appeared in additional modal windows. In this version, they are conveniently shown in the Commit area.

  • In IntelliJ IDEA 2021.2, you can enable Git commit signing with GPG to secure your commits.

  • The node that stores uncommitted changes in new projects is now called Changes instead of Default changelists. Additionally, Git operations no longer call for automatic changelist creation.

  • The Show Diff action opens the dedicated window in the editor by default.

  • It is now easy to find text in Local History revisions – just type your query in the search field.

Terminal

  • Two new options are available in our in-built terminal: cursor shape selection and the ability to make the Option (⌥) key act as a meta modifier in combination with other keys.

Debugger

  • The Preview tab now works in the debugger. If this feature is on, the IDE opens files successively in one tab when you stop at a breakpoint, step through the code, navigate between frames, or use the “prev/next frame” actions.

Frameworks and technologies (IntelliJ IDEA Ultimate only)

  • In the Endpoints tool window you can call a microservice diagram that shows microservice interactions and allows you to track which client calls a particular service and navigate to this call in your code. The diagram is available in Java and Kotlin projects if you use Spring, Micronaut, Quarkus, or Helidon frameworks.

  • You can easily migrate a project or module from Java EE to Jakarta EE with the new Migrate refactoring.

  • If you create a new Spring Initializer project, the IDE will download shared indexes automatically. This helps reduce indexing time and make the IDE start up faster.

  • We’ve introduced support for Entity Graphs, which you can define by using the @NamedEntityGraph annotation. Code completion, error detection, and navigation are available for the attributes of this annotation.

  • We’ve added support for cache annotations for Micronaut and Quarkus. You can navigate between cache name usages via the gutter icons, use Find usages, and use Rename refactoring for cache identifiers.

  • URL navigation in JavaScript and TypeScript has been significantly improved both for client-side (Angular or Axios) and server-side (Express) code.

  • The Protocol Buffers plugin is bundled with IntelliJ IDEA Ultimate, and the JetBrains team fully maintains it.

  • IntelliJ IDEA Ultimate now supports the gRPC framework. The first feature that we’ve introduced is the ability to see gRPC endpoints in the Endpoints tool window.

  • You can now create a new Ktor project from the Welcome screen; IntelliJ IDEA Ultimate now supports this framework out of the box.

Space Integration

  • You can now use icons for Space job statuses in the Log tab of the Git tool window. Clicking on the icons invokes a popup with the automation info for the jobs.

  • It is now possible to mention your teammates with @ followed by the colleagues’ names when you work with Space code reviews.

  • The IDE shows related branches in the selected code review in the Details tab.

Code With Me

  • When you use Following mode during your Code With Me session, you can see what code completion suggestions the person you are following uses.

  • The revamped undo logic enables both guests and the host to reverse their individual changes in the code. This improvement is particularly useful in pair and mob programming scenarios.

  • In v2021.2, participants can share an application window from their computer screen, not just your JetBrains IDE.

  • The ability to share specific open ports with participants via an integrated proxy is now available. So, if a host runs applications on a specific port, the guests can access it via a local host on their machine.

Database tools (IntelliJ IDEA Ultimate only)

  • It is possible to generate a DDL data source based on a real one. The DDL files will be created locally, and the new data source will be based on them.

  • Now you can define which operations make the Services tool window appear in Preferences/Settings | Tools | Database | General.

  • Code completion now works for various types of fields and operators in the MongoDB console.

QA tools

  • The new Test Data plugin brings many useful actions to help you generate random data for unit tests.

Docker

  • It is possible to connect to Docker via SSH.

  • The container log has options to show timestamps and previous sessions.

  • New action buttons for containers let you start, pause, unpause, and restart them quickly. You can apply these actions to several containers at once.

  • We’ve introduced a new way to delete images with existing dependencies. You can now specify which dependencies you want to get rid of and which should stay.

  • There are two new nodes in the Services tool window: Networks and Volumes.

We’ve implemented several new features for Docker Compose:

  • You can display Docker Compose applications in the Services tool window, even if they are not running, by clicking the cycle arrows icon in the editor window.

  • New icons help you detect which state the service is in. The tooltips will prompt you on what each icon means.

  • Every service node now features a log.

  • We’ve added more options to the Docker Compose Run/Debug Configurations, including Enable BuildKit, Enable compatibility mode, and Specify project name.

  • We’ve added support for version 3 of the Docker Compose file format.

Kubernetes (IntelliJ IDEA Ultimate only)

  • In IntelliJ IDEA 2021.2, we’ve introduced full support for the alias field that belongs to the dependencies section in Chart.yaml (api v2) or in requirements.yaml (api v1).

  • You can define your own namespaces if you don’t have access rights to all the cluster namespaces.

  • It is possible to select favorite namespaces, which automatically places them on top of the list.

Other

  • Starting with this version, you can enjoy the fully localized IntelliJ IDEA UI in ChineseKorean, and Japanese. Localization is available as a non-bundled language pack plugin, which can be easily installed in your IDE.

  • The Android plugin was upgraded to v4.2.0.

  • We’ve unbundled the following plugins: Resource Bundle Editor, Drools, JSP Debugger Support, CoffeeScript, Spring Web Flow, Spring OSGI, Arquillian, AspectJ, Guice, Helidon, Emma, and EJB.

Notable fixes

  • Fixed the error that appeared when you click Download sources for Maven projects. [IDEA-247792]

  • Supported .mvn/jvm.config to define JVM configurations for Maven builds. [IDEA-205178]

  • Fixed the Esc key behavior in some dialogs. [IDEA-270541]

  • Tool windows open via a mouse click on Linux. [IDEA-270699]

  • We’ve improved the coverage performance, which is now as fast as JaCoCo.

  • Fixed incorrect encoding in .properties files. [IDEA-266551]

  • The IDE automatically deletes empty scratch files. [IDEA-194931]

  • Fixed the problem causing the IDE to freeze in the Plugin migration dialog after deleting configs and restarting. [IDEA-270855]

  • Fixed the NullPointerException when creating a new Maven project from existing sources in the WSL 2 directory. [IDEA-265641]

  • Fixed the issue that led to confirmation dialogs being displayed incorrectly. [IDEA-271191]

  • When you extract a constant and tick the Replaces all the occurrences checkbox, the IDE remembers this state and will keep the selection the next time you apply this refactoring. [IDEA-162111]

  • We’ve fixed several issues affecting variable evaluation in Kotlin code. [KTIJ-7604], [KTIJ-3018], [KTIJ-2425], [KTIJ-302].

  • Kotlin objects are correctly displayed in the Variables view. [KTIJ-780]

  • We’ve fixed the issue about the connection over relay servers that were not working when the proxy with authentication was used. [CWM-2712]

These are the key changes in IntelliJ IDEA 2021.2. If you are interested in other updates, fixes, and improvements, the release notes have the full list.

We hope that you’ll find the new features helpful in your daily coding. Please tell us what you think about the newly introduced updates by commenting on this post, and report any bugs to our issue tracker.

Happy developing!

July 5th, 2021:

JetBrains Academy: New Projects and Topics in June 2021

It’s the middle of the summer already, and we hope you won’t forget to take a well-deserved break to fully enjoy it! One great way to get into the summer spirit is to pick up a new project or topic, as we are always striving to make our content not only useful, but interesting and fun.

This June we added 27 new topics and 4 projects to JetBrains Academy! Even better, one of these projects is our very first Go project – Coffee Machine (Beta)! It’s still in the early stage of testing. As with the other projects marked as Beta, we’d appreciate your feedback on it, as this will help us improve and publically release it sooner. Read on to learn more about all other content updates.

Java Developer

New projects: Calculator (Beta)
New topics:

Python Developer

New project: Fraud Detection (Beta)
New topics:  

Kotlin Developer

New topics:

Kotlin Developer: Android

New topics:

Frontend Developer

New project: Case Converter (Beta)

Fundamentals

New topics: 

Math

New topics:

 

 

 

June 15h, 2021:

JetBrains Academy: New Projects and Topics in May 2021

 

We are excited to recap all the new topics and projects that were released in May! In total, we’ve added 22 new topics and 6 new projects to JetBrains Academy. Thanks to your feedback, we also released the Amazing Numbers project from Beta and reworked the Number Base Converter project in the Java Developer track.

Java Developer

Projects released from Beta: Amazing Numbers
New projects: Recipes (Beta) and Cinema Room REST Service (Beta)
Updated project: Number Base Converter (Beta)
New topics:

  • Getting data from REST (Computer Science > Backend > Spring Boot)

  • Functional testing (Computer Science > Fundamentals > Essentials > Software construction)

  • BigDecimal (Computer Science > Java > Additional instruments > Essential standard classes)

Python Developer

New project: Spam Filter (Beta)
New topics: 

  • Summarizing categorical columns (Computer Science > Data Science > Instruments > Data analysis with pandas)

  • Summarizing numeric columns (Computer Science > Data Science > Instruments > Data analysis with pandas)

  • Visualization in pandas (Computer Science > Data Science > Instruments > Data analysis with pandas)

  • .loc & .iloc (Computer Science > Data Science > Instruments > Storing data with pandas)

  • Functional testing (Computer Science > Fundamentals > Essentials > Software construction)

  • CSV (Computer Science > Fundamentals > Essentials > Standards and formats)

  • Markdown (Computer Science > Fundamentals > Essentials > Standards and formats)

  • Markdown: extended elements (Computer Science > Fundamentals > Essentials > Standards and formats)

Kotlin Developer

New project: Pawns-Only Chess (Beta)
New topics: 

Kotlin Developer: Android

New project: Basic Calculator (Beta)

Frontend Developer

New project: To-Do List (Beta)
New topics: 

Fundamentals

New topics: 

  • ER-diagrams (Computer Science > Fundamentals > Databases and SQL)

  • Introduction to MongoDB (Computer Science > Fundamentals > Databases and SQL)

  • Help files (Computer Science > Fundamentals > Dev tools > Command line)

  • Package manager APT (Computer Science > Fundamentals > Dev tools > Command line)

  • Scheduling tasks with cron (Computer Science > Fundamentals > Dev tools > Command line)

  • HSV (Computer Science > Fundamentals > Essentials > Standards and formats)

Math

New topic: 

Keep in mind that the Beta projects are in the early stages of testing. We appreciate your feedback on such projects – it helps us improve and publically release them sooner.

 
 
 
 
 
 
 
 
 
 
 
 

May 18th, 2021:

JetBrains Academy: New Projects and Topics in April 2021

 

It’s been a month since our big content update. Today, we are ready to share what we’ve been working on in April. In terms of numbers, we created 6 new projects and 23 educational topics. Moreover, thanks to your feedback, we also released 4 projects from Beta. Read on to learn more!

Java Developer

New projects: Tic-Tac-Toe (Beta), SQLite Viewer (Beta)
New topics:

Python Developer

New projects: Duplicate File Handler (Beta), Arithmetic Exam Application (Beta), HyperSearch Engine (Beta)
Projects released from Beta: Knight’s Tour PuzzleConvoy Shipping CompanyDominoesBill Splitter
New topics: 

Kotlin Developer

New project: Simple Version Control System (Beta)

Kotlin Developer: Android

New topics: 

Fundamentals

New topics: 

Math

New topics: 

Keep in mind that the Beta projects are in the early stages of testing. We appreciate your feedback on such projects – it helps us improve and publically release them sooner.

 
 

May 25th, 2020:

New Release: PyCharm 2020.1

PyCharm 2020.1 brings a lot of things that make development easier. It is now possible to turn the commit dialog into a tool window that’s open next to your code. There’s also the all-new support for interactively rebasing your branch. In the debugger, what used to be Smart Step Into got even smarter and is now the default Step Into.

Interactive rebasing

If you care about keeping your commit history clean, you’re definitely familiar with interactive rebasing. We’ve now made this easier, and more graphical. Just pick a commit in the history, right-click, and choose ‘interactively rebase from here’, and we’ll help you make your git log look great!

New VCS commit tool window

If you’re the kind of developer who likes commits that are atomic and tell a story, you probably go back and forth between the commit window and your code to get everything ready. We’ve just made this easier: if you’d like to, you can choose to have the commit window appear as a tool window next to your code.

New and improved branches popup

Usually, when you see a list of things in PyCharm (or any of our other IDEs), you can start typing to search in this list. Not everyone is aware of this, however, so we’ve now added an explicit search field to the branches popup. We’ve also improved a couple of other things, like indications to show if a branch has incoming or outgoing commits, and made it easier to update remote branches.

Smarter stepping using the debugger

The PyCharm debugger is a great tool for seeing what your code really does without modifying it. If you wanted to see what was happening in the middle of a bigger statement, it was previously necessary sometimes to split the line to get an intermediate result. No more! PyCharm’s smart stepping makes it easy to get exactly to the call you need. And even better: it’s now the default option.

Install Python from PyCharm

A common question for our support team is: I’ve installed PyCharm, so now how do I run my code? We’ve now made it a little easier to get started on Windows. If PyCharm doesn’t find any version of Python installed, it will suggest downloading and installing Python from python.org.

Maintain requirements.txt using PyCharm

Have you added a library to get a couple of things done quicker? If you’re using it in your code, it should be in requirements.txt, and PyCharm now makes it easy to update this file.

Support noqa comments for suppressing inspections

Code linters and inspections are there to make your code look good and make it easier to read when you or someone else need to look into it later. Sometimes they get it wrong, though, and you want to suppress a false positive. PyCharm now respects `#noqa` comments and suppresses inspections when they’re specified.

"Add import" quick-fix for Django templates (PyCharm Professional Edition only)

When you’re writing Python code, you can just type the name of any importable symbol, and then use Alt+Enter to have PyCharm import it for you.

Improved Code Completion in Django Templates (PyCharm Professional Edition only)

Another improvement we’ve made to Django Template code completion is making sure that PyCharm respects the ‘builtins’ setting for the template system. You’ll now get proper completion for any tags you’ve configured.

Vuex support (PyCharm Professional Edition only)

If you’re using Vue.js for your frontend, you may also be using Vuex for state management. The Vue.js plugin for PyCharm Professional Edition now supports Vuex and will give you proper code completion for the Vuex state object, among other things.

JetBrains Mono

As a leading company in development tools, we want to do everything we can to make development better. And we’ve improved one of the fundamentals: the font for your code. JetBrains Mono is designed specifically for programming, and it’s now enabled by default in PyCharm.

LightEdit

The great thing about Python is that it can be used for many small things, like backup scripts. As your backup script isn’t part of a project, we wanted to make it easy for you to still use PyCharm to edit it. The new LightEdit mode makes this possible. If you open a file from the explorer or using the `charm` CLI tool, you can edit a single file without creating a project, with limited code completion available.

Splittable terminal

It’s now easier to run several commands at the same time and see their outputs simultaneously: just right-click on the terminal in PyCharm, and choose ‘split vertically’. Of course, you can also choose to split the terminal horizontally if you’d prefer that.

Easier configuration of the status bar

The status bar has always been configurable, but we’ve just made configuring it easier! Just right-click on the status bar and choose exactly what you want to see, and what you’d prefer to be hidden. This should make it a little easier to work on those projects that use the wrong number of spaces.

Improved data exporting from databases (PyCharm Professional Edition only)

Data is the new oil, so sometimes you need to export it. We now have an all-new export dialog that makes it easy to preview exactly what your exported data will look like. In other good news, exporting to Excel is now also possible!

SQL script run configuration (PyCharm Professional Edition only)

Do you have a set of SQL files that you’d like to apply to your database in a defined order? We’ve made it easier to do this: just select them all in the project, right-click, and choose ‘run’. You can reorder the files in the Run configuration window that now pops up.

Further improvements:

  • ​A small improvement is PyCharm’s new ability to download and install Git if it’s not already present on your computer.

  • PyCharm helps you install packages and create new virtualenvs. To make this work smoothly, PyCharm bundles a version of pip and setuptools. Before, we needed to update them manually to keep them current. We’ve now improved this so that they are always updated in newly created virtualenvs.

  • We’ve tweaked the behavior of PyCharm’s interpreter choice for projects where no interpreter has been chosen explicitly.

  • Quick documentation for JavaScript (and other web languages) has improved. If you want to know more about any symbol in JS code, just hover over the symbol with your mouse pointer or use Ctrl-Q, and you’ll see its documentation, its visibility, and the location where it’s defined (PyCharm Professional Edition only).

  • The Pyramid project switched its project creation to Cookiecutter a while ago, and now this is also supported in PyCharm Professional Edition. Just use the ‘New Project’ screen, and your new Pyramid project will be made using the official Cookiecutter template (PyCharm Professional Edition only).

Learn more →

July 26th, 2020:

YouTrack InCloud - New Pricing Improvements

 

YouTrack, the project management tool by JetBrains, that can be fully customized to your business process, is now introducing new pricing improvements for InCloud version:

  • YouTrack InCloud is now free for all teams of up to 10 users.

  • For teams of 10+ users, the starting monthly price per user has been reduced from $5 to $4.40. The discount increases as you add users. On top of that, with the annual subscription, you save 2 months’ worth of costs (16%) every year.

  • Disk space has increased from 1 GB to 3 GB per user.

 

April 27th, 2020:

New Release: Webstorm 2020.1

WebStorm 2020.1 comes with a more polished look and feel, support for Vuex and Vue Composition API, an option for running Prettier on save, and some improvements for JavaScript and TypeScript.

New default editor font

For the past year, JetBrains has been developing a font that would let you code more comfortably, without straining your eyes too much.
Please welcome JetBrains Mono, a new open-source typeface made specifically for coding! WebStorm 2020.1 ships with this new typeface selected by default.

 

Zero-distraction coding

JetBrains has added a new Zen viewing mode to help you focus completely on your code. Use it whenever you want to work in a full-screen editor with the source code centered and the UI elements hidden to minimize distraction.

Displaying documentation on hover

You don’t have to explicitly invoke the Documentation popup anymore. It’s now shown when you hover over a symbol, so you can find the related documentation faster. If there’s a problem in your code, the popup will also offer a quick-fix that can be applied to solve it.

 

Working with the Composition API

In WebStorm 2020.1, you’ll find support for the components defined using the Composition API from Vue 3. In the template section of the component, the IDE will properly resolve and autocomplete symbols returned from the setup() function of the component, including properties in the reactive state, computed properties, and refs.

 

Coding assistance for Vuex

If you’re working with the Vuex library, you’ll now get completion suggestions for symbols from the Vuex store when editing Vue components. Plus, WebStorm will let you jump to the definition of getters, mutations, and actions.

 

Using the IDE for quick editing

Ever wanted to use the IDE to edit a file quickly? With the new LightEdit mode, you can open an individual file in the text editor window without having to load the whole project.

 

Customizing the status bar

If you don’t have the status bar hidden and use it every so often, you can now decide what exactly you’d like to see on it. Right-click the status bar and remove the elements you don’t need.

Working with the Composition API

In WebStorm 2020.1, you’ll find support for the components defined using the Composition API from Vue 3. In the template section of the component, the IDE will properly resolve and autocomplete symbols returned from the setup() function of the component, including properties in the reactive state, computed properties, and refs.

 

Coding assistance for Vuex

If you’re working with the Vuex library, you’ll now get completion suggestions for symbols from the Vuex store when editing Vue components. Plus, WebStorm will let you jump to the definition of getters, mutations, and actions.

 

Full support for Angular 9

To help you work with Ivy and other Angular 9 features, JetBrains has added full support for them in WebStorm 2020.1. You can use features like code completion and auto imports in TypeScript and template files with no configuration.

 

Improved React support

Add import statements for components defined via React.memo by placing the caret on a component and pressing Alt+Enter. And if you use Material-UI components in your project, you'll now see completion suggestions when creating styles.

New smart intentions and inspections

Use new smart intentions and inspections (Alt+Enter) to save yourself some time when coding! For example, quickly convert existing code to optional chaining and/or nullish coalescing – the syntax introduced in the latest versions of JavaScript and TypeScript.

 

More helpful quick documentation

For JavaScript and TypeScript, the Documentation popup now shows more useful information, including details about the type and visibility of the symbol as well as where that symbol is defined.

 

Reworked UI of the Introduce Field refactoring

With the updated Introduce Field refactoring, you can see a preview of changes in the context of the code you’re working with. Plus, it now takes fewer clicks to apply the refactoring.

 

Support for TypeScript 3.8 features

WebStorm 2020.1 comes with TypeScript 3.8 bundled and introduces full support for the new TypeScript 3.8 features, such as type-only imports/exports, private fields, and top-level await.

 

Running Prettier on save

With the new Run on save for files option, WebStorm will apply Prettier formatting to all files specified in the IDE settings and edited in the project as soon as you save those files. File watchers or third-party plugins are no longer required for this.

 

Displaying terminal sessions side by side

To make it easier to work with the built-in terminal emulator, WebStorm now lets you split terminal sessions vertically and horizontally. Keep an eye on the output of several tools that are currently in use without switching between tabs.

 

Bundled spell checker

Starting with v2020.1, WebStorm will come bundled with Grazie, JetBrains’ intelligent spelling, grammar, and style checking tool. This should help you avoid grammar mistakes when adding comments, commit messages, and JavaScript language constructs.

 

More flexible run configuration sharing

Have teammates who need to work with your project? Share your run configuration with them. WebStorm 2020.1 gives you even more freedom with this as you can now store your run configurations in any project folder of your choice.

 

Using Yarn 2 in TypeScript projects

JetBrains has extended the initial Yarn 2 support, which was introduced in WebStorm 2019.3. Now, all symbols are properly resolved and can be autocompleted in TypeScript projects when dependencies are installed using Yarn 2 with the Plug’n’Play mode.

Reworked dialog for rebasing commits

Want to make your commit history more linear and comprehensible? This just got a lot easier thanks to the updated, more interactive Rebasing Commits dialog. It displays the actions that can be applied to each commit, and lets you review the commit details and the diff as well as quickly reset the applied changes.

 

Changes to the commit flow

In order to streamline the commit flow, JetBrains has developed a new Commit tool window for handling all commit-related tasks. It’s enabled for new installations by default. If you’re an existing user, you’ll see a prompt in the modal Commit dialog allowing you to quickly switch to the new UI.

 

Learn more →