JetBrains IDE Release Dates

All Contributors

Description

The intent of this repository is to capture the actual release dates for JetBrains IDEs. The concept stems from a wiki page at work which was created to help our team plan work around the potential release dates of JetBrains IntelliJ IDEA.

Why did our team care? Well, we develop and maintain an ecosystem around JetBrains (from internal-only plugin distribution, to license management, to a custom distributed IntelliJ IDE). Knowing when a release might come allows us to better plan our week / month / year to enable our developers to be as productive as possible!

Very simply, the idea here is to allow one to more accurately predict (we used to just guess months out - turns out, that’s very inaccurate) about when a particular IntelliJ IDEA release may occur based on historical data.

Website and previews

The Jekyll website renders the existing Markdown histories directly; the release-date fetcher and its data format are unchanged. It includes a product directory, horizontally scrollable release tables, and archived edition histories.

Recommended: preview locally first, then review the PR’s downloadable preview before publishing. Neither option requires enabling GitHub Pages, and merging this setup does not publish the site automatically.

Preview locally

With Ruby 3.3 and Bundler installed, run these commands from the repository root:

bundle install
bundle exec jekyll serve

Open http://127.0.0.1:4000/jb-i-r-d-test/. Jekyll rebuilds when you edit site files; restart it after changing _config.yml. This uses the same project subpath as production, so you can check navigation and styling. For a build without starting a server, run bundle exec jekyll build.

Preview a pull request

The Site preview / Build and preview check builds both the production configuration and a standalone preview on each PR, including fork PRs. It also runs on pushes to main and can be run manually from the Actions tab once the workflow is on the default branch. GitHub may require maintainer approval before running a first-time contributor’s workflow.

  1. Open the PR’s Checks tab and follow the Site preview workflow to its run summary.
  2. Download the site-preview artifact (GitHub sign-in required; retained for 14 days).
  3. Extract the ZIP and, from the extracted folder containing index.html, run:

    python3 -m http.server 8000 --bind 127.0.0.1
    
  4. Open http://127.0.0.1:8000/. No Ruby installation is needed for an artifact preview.

Do not double-click the HTML files: their links and assets require an HTTP server. The preview uses an empty base path for convenient local serving; the production build separately checks the configured /jb-i-r-d-test path. PR builds have read-only repository access, no deployment permissions, and never overwrite the live site.

GitHub Pages does not provide built-in isolated PR preview URLs. Artifacts are the simplest GitHub-only option that keeps unpublished changes off the live site. If clickable, remotely hosted previews become necessary, a separate service such as Cloudflare Pages or Netlify can provide isolated deploy previews, but requires an additional integration.

Publish when ready

Nothing has to be published to use the previews. After reviewing them:

  1. Merge the site and workflows to main.
  2. In Settings → Pages → Build and deployment, choose GitHub Actions as the source (not deployment from a branch).
  3. In Settings → Environments → github-pages, restrict deployment branches to main. Optionally require a reviewer for an additional approval before each publication, where supported.
  4. Run Actions → Deploy GitHub Pages → Run workflow, selecting main. This explicitly publishes the site to https://chriscarini.github.io/jb-i-r-d-test/.

By default, publication is manual; merging a PR or updating release data will not republish it. After launch, you can optionally set the repository Actions variable PAGES_AUTO_DEPLOY to true under Settings → Secrets and variables → Actions → Variables. This enables deployments on pushes to main and successful completions of JetBrains IDE Release Date Fetcher on main. The latter is necessary because commits pushed by GITHUB_TOKEN do not trigger another push workflow. Production always builds main, never a PR’s code or artifacts. Remove the variable or set it to false to return to manual publication; this does not unpublish an existing site.

JetBrains IDEs

Other JetBrains Products

Frequently Asked Questions (FAQ)

Question: What about IntelliJ IDEA Community Edition and PyCharm Community Edition?

Answer: These two IDEs have identical release cadences with the respective paid versions.

Obtaining Release Dates

The release dates in the markdown files of this repository are automatically obtained from a JetBrains API.

Prior to 2021, they were manually obtained and updated in this repo by:


Chris Carini

Baron Roberts

vicky17d

See our Obtaining Release Dates document for some suggestions on methodology for how we previously obtained release dates for previous IDE versions.

Developing Quick Start

The below commands will get the basic setup for developing on the Python module which does the fetching of IDE release data and generation of the Markdown files.

cd release_date_fetcher
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
python generate_markdown_files.py

Contributing

We love contributions! See our CONTRIBUTING file for more information.

Contributors

Chris Carini
Chris Carini

🐛 💻 📖 💡 🤔 🚧 💬 👀
Baron Roberts
Baron Roberts

💻 🤔 🚧 👀
vicky17d
vicky17d

💻 🚧 👀
opticyclic
opticyclic

🖋 💡 🤔
gehbiszumeis
gehbiszumeis

💻 🖋