EduTools Plugin v3.7 released!

This month brings a new EduTools plugin release! Please give a warm welcome to EduTools 3.7, and the 2020.1.1 versions of both IntelliJ IDEA Edu and PyCharm Edu with the latest EduTools plugin version bundled.

Here’s a quick overview of what’s been implemented:


Let’s start exploring!

A new UI for browsing course cards

It’s never been easier to navigate through a list of courses and select the one you need. Now you have all the information to make a decision quickly, including the rating, the vendor, and how popular it is, all displayed next to the course name in the list:

Continue reading

Posted in Education, Learning Courses | Leave a comment

Toolbox App 1.17 is Out: Quality Improvements Arrive with a New Build Completely Rewritten in Kotlin

TL;DR Focusing on the quality of the Toolbox App, we have completely rewritten it in Kotlin. We’ve introduced a new Settings page, updated system requirements, and fixed dozens of bugs.

Toolbox App 1.17 Released

In this update, we’ve focused on bug fixes and on the overall quality of the Toolbox App.

The story

The Toolbox App began as a Hackathon project, though it had a different name. The state of the technology was very different at the time, however. Java was still in version 8, and Kotlin had not been released yet. We decided to try something new, so we implemented the core of the application in C++, and for the UI we used React with our own Ring UI library. This latter part has stayed with us through all these years and has proved itself to be successful. The elegant and polished interface is not only pleasing for the eyes, but it is also easy to develop and allows us to effortlessly present rich content in the “What’s new” notes for our products.

On the other hand, the core written in C++ is different. C++ is a powerful language (sometimes too powerful for our use case), and it often requires a “gloves-on” approach. Every time we switched to it from other projects that used Kotlin, we weren’t as productive as we had been before. It was also impossible to share code between the IntelliJ Platform and the Toolbox App, which would have benefitted both parties. The tool landscape has also changed. With the arrival of modular JDK, it is now possible to bundle a very small runtime with the app or even compile it to native code with Kotlin/Native.

With all this in mind, we made a decision last year to rewrite the core of the Toolbox App in Kotlin, and we are now happy to present the result. In this first iteration, we deliberately made as few changes as possible and stayed close to the original codebase, except, of course, for some third-party dependencies that we needed to replace with their JVM counterparts. Luckily there is no lack of high-quality Java libraries out there. You can easily find one for every purpose.

We didn’t want to repeat the same mistakes though, so when we needed to rewrite something from scratch, we fixed some bugs in the relevant components, as well. Below is a brief overview of the changes we’ve made.

Download the Toolbox App

Bug fixes

Depending on your preferred operating system, we’ve reimplemented the system tray icon (on Windows), menu bar icon (on macOS), and appindicator (on Linux). It now correctly appears in most cases and is no longer blurred on HiDPI screens. Improved screen detection also fixes a number of issues with incorrect application scaling. Many performance issues have been resolved, as well.

On Linux, JetBrains Account credentials are now stored correctly and the app handles SSL certificates better.

You can find the full list of resolved issues here.

Proxy servers

Previously, the Toolbox App always used the system proxy if it was set. It wasn’t possible to change the proxy address or to turn it off. There is now a dedicated page in Settings for setting up a custom proxy server and enabling and disabling it when necessary.

Proxy Settings


Speaking of settings, we’re happy to introduce the revamped Settings page. We’ve regrouped all options and made the most important categories available at a glance.

Toolbox App 1.17 Settings

System requirements

As we’ve previously announced, we are dropping support for 32-bit Windows. We are also updating the minimum supported OS versions to Windows 8 or newer and macOS 10.13 or newer. This change brings our system requirements into alignment with those of all the JetBrains IDEs which will not run on older OS versions. For Linux, we generally support only the latest regular and LTS releases.

Even though there might be not so many visible changes in the application, this update builds a solid foundation for future improvements. We are already working on some of the suggestions you shared with us on New Year’s Eve.

Thank you for your collaboration and your helpful feedback! We are listening!

Download the Toolbox App

Stay home, stay healthy, and stay tuned!
The Toolbox App team

Posted in FYI, News, Uncategorized | Tagged , , , | 26 Comments

JetBrains Toolbox 2020.1 is Available: Update Your Tools

The time has come to update your tools and start using their new features. All the JetBrains IDEs are now polished and new, ready for you to create something great.

Take a look at this short summary of what you can find in the new versions of the JetBrains IDEs.
We would also like to remind you that the easiest way to update your tools is via the Toolbox App.

Download the Toolbox App

IntelliJ IDEA
IntelliJ IDEA 2020.1 adds support for Java 14 and new features for a number of frameworks, upgrades the debugger with dataflow analysis assistance, adds a new LightEdit mode, and downloads and configures the JDK for you. You will also discover new in-place Rename and Change Signature refactorings, in-editor rendering of Javadocs, lots of VCS improvements, and so much more.
WebStorm 2020.1 comes with a more polished look and feel, out-of-the-box support for Vuex and Vue Composition API, an option for running Prettier on save, and some improvements for JavaScript and TypeScript.

Continue reading

Posted in FYI, News, Uncategorized | Tagged , | 9 Comments

JetBrains Security Bulletin Q1 2020

In the first quarter of 2020, we resolved a number of security issues in our products. Here’s a summary report that contains a description of each issue and the version in which it was resolved.

Continue reading

Posted in FYI, News | Tagged | Leave a comment

EduTools v3.6: a New UI for Filtering Courses, PyCharm Edu 2020.1, and IntelliJ IDEA Edu 2020.1

Hooray, EduTools plugin v3.6 and the 2020.1 versions of PyCharm Edu and IntelliJ IDEA Edu are now released! We’ve made a lot of performance improvements, bug fixes and added some new things to provide you with a truly enjoyable experience of learning and teaching to program.


But, first things first:

A new, easier-to-use UI for filtering courses

This new UI helps you easily navigate between listed courses and choose the right course for you based on your preferred programming languages and the language of instruction:

Continue reading

Posted in Education, Learning Courses | Leave a comment

Keep Learning and Teaching with JetBrains!

Today’s fast-paced world pushes us to keep improving and to learn new things every day. And when we heed our inner drive to evolve and advance, we don’t just change ourselves – we change the world for the better, one step at a time.

At JetBrains, we are passionate about continuous improvement, and we hold learning in the highest regard. We care deeply about those who never stop learning or who help others improve themselves. That is why we’re creating Educational Products to help you learn and teach programming in modern new ways.


Continue reading

Posted in Education, Learning Courses | Tagged , | 1 Comment

The JetBrains Toolbox browser extension now works on self-hosted GitHub, GitLab, and Bitbucket instances

We’ve updated the JetBrains Toolbox browser extension for Chrome and Firefox. It can now clone and open files from private instances in JetBrains IDEs, whether you use corporate repositories at GitHub Enterprise or self-hosted GitLab or Bitbucket instances.

Install the extension

Please keep in mind that to start using this extension with private instances, you first need to enable it on your custom domain. Follow the steps below:

  1. Install the extension if you haven’t yet done so.
  2. Right-click the Toolbox extension icon on the browser toolbar to open its preferences.
  3. Tick “Enable on this domain” to enable the extension on the current webpage.

Toolbox extension at GitHub Enterprise

Now the Toolbox extension should work on your self-hosted instances, giving you access to the functionality that was previously available for open-source repository hosting services:

  • Clone projects from the main GitHub, GitLab, and Bitbucket repositories, and open them in available JetBrains IDEs.
  • Navigate from a highlighted line of code in a previously cloned GitHub project to that line in your IDE.

Read more about the main features of the Toolbox extension in this blogpost.

Stay home, stay healthy, stay productive!
The JetBrains Toolbox team

Posted in FYI, News, Uncategorized | Tagged , | 9 Comments

JetBrains at the ICPC North America Championship 2020

The first ICPC North America Championship (ICPC NAC 2020) took place February 19–23, 2020. The top teams from the ICPC North America Regional Contests advanced to the ICPC NAC in Atlanta, Georgia, hosted by the College of Computing at the Georgia Institute of Technology.

JetBrains was proud to be a Gold Sponsor of the event. We were also honored to receive an ICPC North America Outstanding Community Leadership Award for our three-year commitment to their North America Regional Contests, participation in the ICPC World Finals, and service as the official ICPC Global Programming Tools Sponsor. JetBrains was also recognized for our commitment to helping ICPC Global advance the art, science, and sport of programming through trustworthy competitions for universities all over the world for the benefit of society.


JetBrains was represented by members of the Educational Products and Kotlin teams, along with Andrey Ivanov, SVP of Investments, Research, and Education. We participated in different activities related to the event, and we also had a booth at the Career Fair, where we had an opportunity to speak with contestants and their coaches about best practices and tools in computer science and to discuss our open internship positions. Sebastian Aigner, JetBrains Developer Advocate in Education, gave a talk for the coaches about our Educational Products and JetBrains Academy, a hands-on platform for learning programming. Continue reading

Posted in Awards, Contests, Education, Events, Interviews | Leave a comment

What on Earth Was the JetBrains Quest?

We have a lot of developers at JetBrains, and many of us like games – challenging games. We came up with the idea of creating a treasure hunt in which the solution to each puzzle was the hint for the next one. We’d hide all the puzzles as easter eggs inside JetBrains sources. After a long period of brainstorming, JetBrains Quest was born.

JetBrains Quest was a series of puzzles spread throughout different JetBrains pages and products. The game consisted of 3 Quests, with 4-6 puzzles to solve per quest. The first quest was relatively easy to give people a chance to figure out what to expect with the difficulty increasing as you moved along. The Quest began on March 9 with a post on our social media networks (
Twitter, Facebook and Linkedin) and it ended on March 15 at 12:00 CET. At this point all of the puzzles were removed.

The response from the community was amazing!


Some of them struggled.Group_3_noblock-2-2-2

People were asking for more.Group_2_block-2

Based on the comments, it looks like the most difficult puzzle to solve was the Fibonacci exercise. This puzzle was hidden inside a Tip of the Day in a specific version of IntelliJ IDEA Community Edition.
final quest tip of the day

You have discovered our JetBrains Quest! If you don’t know what this is, you should start from the beginning.
This is it. The last puzzle. You are just one step away from glory!
Now you just need the Key to unlock the Quest page.
The Key is the first and last 4 digits of the 50 * 10^6 position of the Fibonacci sequence (F(50 Million)).
As you may know by now, not all that glitters is gold, and to solve this puzzle you should not go straight for the obvious answer. May you make a glorious choice.
Remember that you have until the 15th of March 12:00 CEST.

This was the last puzzle of the entire Quest. If you attempt to solve it using a linear approach, it will take hours or even days to get the answer. There were two main approaches to tackling this puzzle. The easy one was to use Wolfram|Alpha to get the first and last four digits.

The second way is more difficult, but it comes with a bonus: a bigger feeling of accomplishment! There are algorithms that make the computation for the Fibonacci sequence faster. We were expecting you to implement one of these options. Here’s an example:

First 4 digits: 4602
Last 4 digits: 3125

For those of you who didn’t manage to finish the Quest, you can see all the puzzles and their solutions here.

We would like to thank everyone who took part in our JetBrains Quest and joined in the fun. Leave a comment below and let us know which puzzle was your favorite.

Thanks for joining in! May you always have an adventure in your life!
– The JetBrains Quest Team

Posted in Contests, Uncategorized | Tagged | 3 Comments

Celebrate Python with us and win!

Happy Wednesday!

As you may know, we recently released a Python track at JetBrains Academy. We hope it becomes a useful learning resource for everyone who’s venturing into Python.

We’re now running a two-week Twitter campaign where we’re posting a series of cool Python facts and giving away 1000 hypercoins to each of 10 lucky commenters on our tweets!


Would you like to share in the fun? Add your own #PythonFacts in the comments to the facts shared by our Twitter account for a chance to win hypercoins, which you can use to get your project reviewed by expert dev mentors!

In any case, follow JetBrains_Edu on Twitter for even more interesting facts about programming and updates about our Educational Products!

Your Educational Products team

Posted in Education | Leave a comment