Sat Aug 23 19:00:01 2025 schmonz (nbpkg commits)
PKGVM: format list

Thu Aug 21 00:15:03 2025 schmonz (pkgsrc commits)
Add and enable libvips.

Thu Aug 21 00:15:03 2025 schmonz (pkgsrc commits)
Add libvips: Demand-driven, horizontally threaded image processing lib

libvips is a 2D image processing library. Compared to similar libraries, libvips
runs quickly and uses little memory.  libvips is licensed under the LGPL 2.1+

It has around 300 operations covering arithmetic, histograms, convolutions,
morphological operations, frequency filtering, colour, resampling, statistics
and others. It supports a large range of numeric formats, from 8-bit int to
128-bit complex. It supports a good range of image formats, including JPEG,
TIFF, PNG, WebP, FITS, Matlab, OpenEXR, DeepZoom, and OpenSlide.  It can also
load images via ImageMagick or GraphicsMagick.

It has APIs for C and C++ and comes with a Python binding and a command-line
interface. Bindings are available for Ruby, JavaScript and others.

Thu Aug 21 00:15:03 2025 schmonz (pkgsrc commits)
clion-bin: update to 2025.2. Changes:

### 2025.2

#### Features

  * **CLion Nova's improved formatter** - This release has significantly
    reworked the C and C++ code formatter's functionality, the
    corresponding status bar widget, and the widget and settings UI. The
    main result of this improvement is that the relationship between the
    editor's indent size, the status bar widget's information, and the
    formatter settings is now consistent and clear. You can also
    configure alternative formatter options, such as ClangFormat,
    Indents Detection, or EditorConfig, directly from the widget,
    without having to do so via the settings.

  * **Faster remote development with CLion Nova** - Improved the
    performance and responsiveness of CLion Nova when working
    remotely. The typing assistant now runs on the thin client instead
    of the server. This means that, in certain situations, you won't
    have to wait for the backend's response, and that your internet
    connection no longer affects the IDE's responsiveness. Features
    like auto-inserting the paired <>, [], or () brackets or smart
    indentation when the backspace key is pressed are now as fast as
    when working locally.

  * **Live watches in the debugger** - The live watches feature allows
    you to monitor global variables in real time without stopping the
    program's execution. This is especially useful for developers of
    embedded systems who work with time-critical protocols, such as
    Bluetooth or Zigbee, or with physical processes that require
    uninterrupted operation, like electric motor control or real-time
    sensor sampling.

  * **ESP32 debug server** - In addition to the generic, SEGGER J-Link,
    and STM32 debug servers, you can now use one specifically designed
    for ESP-IDF projects. It contains only the most basic and essential
    settings, and everything else is preconfigured to simplify the
    configuration process.

  * **CLion Nova**

    * **Fixes for issues involving missed compilation errors** -
      Previously, CLion Nova would sometimes overlook possible
      compilation errors when analyzing your source code and not show
      the corresponding warnings in the editor. As a result, these
      errors appeared only in the terminal after the build was complete.
      Now, CLion Nova catches all the errors before you click Build,
      Run, or Debug.

    * **Improved support for GoogleTest** - This release has extended
      the capabilities of the GoogleTest integration in CLion Nova, so
      that now CLion Nova's GoogleTest features match those of CLion
      Classic. One of the essential features is the support for the
      TEST_P macro. It's useful for parameterized tests where you need
      to run the same test logic with different input values. Now, you
      can run a parameterized test by clicking the green Run button in
      the gutter next to a TEST_P function.

    * **Updated project status widget** - Improved the functionality and
      UI of the project status widget by making its warnings more
      prominent and more interactive.

    * **Low-level exception suppression in the debugger** - While
      debugging, you can now suppress low-level exceptions triggered by
      __debugbreak() or inline assembly with int3. This is especially
      useful when debugging complex game projects because it allows you
      to skip the game engine's low-level assertions that trigger manual
      breakpoints. This feature gives you more control over low-level
      exceptions and signals. You can choose when you want the debugger
      to stop and when it should continue debugging.

### 2025.1

#### Features

 **CLion Nova**

  * **Out-of-project files**

    * CLion Nova now correctly supports header and source files that are
      not included in a project and are not used during the build
      process. This means you get complete code analysis and code
      assistance functionality when working with these files, just like
      with regular project files.

  * **Objective-C source files**

    * Because this is still basic support, some features, such as the
      editor's smart keys and refactorings, may not work.
      Additionally, CLion Nova may not handle Objective-C header files
      correctly.

  * **Settings, actions, and smart keys**

    * CLion Nova has received several settings, actions, and smart keys
      that were previously only available in CLion Classic. These
      features make development with the CLion Nova even more
      convenient. Here are some examples:

      * C/C++ auto-import options such as Auto import local files with
        quotes and Auto import on completion.

      * Some editor actions, including the ability to move the caret to
        the start or end of a code block using a shortcut.

      * Some smart keys such as Unindent on Backspace and Surround
        selection on typing quote or brace.

  * **GoogleTest and Catch2 support in Bazel projects**

    * CLion Nova now supports using the GoogleTest and Catch2 testing
      frameworks in Bazel projects.

**Debugger**

  * **Qt renderers**

    * Qt renderers, also known as Qt pretty printers and Qt debugging
      helpers, allow you to view Qt variables, such as QString, QList,
      and QByteArray, in a human-readable form. This makes developing
      and debugging applications built using the Qt framework much more
      convenient.

  * **Support for custom LLDB debuggers**

    * In addition to the bundled LLDB, which is currently v19.1.3, you
      can now use a custom LLDB when working on macOS or Linux. This
      allows you to choose the version of LLDB best suited to the
      requirements of your project.

    * Option to view two-channel OpenCV matrices as images.

    * When debugging a computer vision or ML application that uses
      OpenCV, you can view OpenCV matrices as images. CLion 2025.1
      extends this functionality, allowing you to view two-channel
      matrices -- such as cv::Mat m(2, 3, CV_8UC2) -- as images.

  * **Custom location for .natvis files**

    * Natvis renderers, or Natvis visualizers, allow you to define
      visualization rules for different data types when working with the
      MSVC debugger. Previously, CLion could only load .natvis files
      from a project directory, which wasn't flexible enough,
      especially when using Git or other version control systems. Now,
      you can specify a custom location for your .natvis files.

**Embedded development**

  * **ST-LINK debug server - experimental**

    * When debugging STM32 projects, you can now use the ST-LINK debug
      server template, which was designed specifically for STM32 chips.
      It contains only the most basic and essential settings,
      simplifying the configuration process.

  * **STM32CubeMX New Project wizard**

    * JetBrains have updated the STM32CubeMX project creation process to
      improve usability and extend support to a wider range of STM32
      chips and projects. By using the native STM32CubeMX approach to
      generate CMake files, CLion ensures that project creation is fully
      aligned with the official STM32CubeMX workflow and toolchain.

  * **Serial Port Monitor plugin improvements**

    * You can now view and manage DTR, DSR, RTS, and CTS hardware
      control signals when working with the Serial Port Monitor plugin.
      This gives you more control over attached devices that use a
      serial port such as Arduino and ESP32.

**Project formats and build tools**

  * **West build options and sysbuild support**

    * When working with Zephyr projects, you can now use the west build
      command options, as well as sysbuild as your primary build system.
      Both of these features provide more flexibility when it comes to
      configuring Zephyr projects, including those involving hardware.

  * **CMake Presets v10**

    * The bundled CMake version has been updated to v3.31.4, and
      includes support for CMake Presets v10. Presets are stored as
      JSON files and are useful when you want to specify common
      configuration and build options for a CMake project to share them
      with other users.

**AI Assistant updates**

  * **Free tier, new cloud models, and more**

    * All AI Assistant features are now free in CLion and other
      JetBrains IDEs, which makes AI-powered development more accessible
      and efficient. Some of these features, such as unlimited code
      completion and local model support, are completely unlimited,
      while others have limited credit-based access. A new subscription
      system makes it easy to scale up as needed with the AI Pro and AI
      Ultimate tiers.

  * **Natural language inline prompts for C/C++**

    * AI Assistant has learned to understand natural language prompts
      for C/C++. After you write a prompt and press Tab, AI Assistant
      interprets it and translates it into code changes, taking into
      account the context of your project. If you want to improve some
      of the suggested changes, you can undo them, modify your prompt,
      or add a follow-up message.

### 2024.3

#### Features

 **Key Updates**

  * **CLion Nova**

    * JetBrains' new, faster language engine, CLion Nova, is now the
      default for new users. In this release, JetBrains have implemented
      some of the most requested features and fixed a number of major
      bugs. Eventually, JetBrains plan to make CLion Nova the default
      engine for all users, both existing and new.

  * **Memory usage improvements in CLion Nova**

    * Many improvements in CLion Nova have helped reduce the
      engine's memory usage, which is especially noticeable in large
      projects like Chromium. The IDE is now more responsive and
      faster to start up.

  * **OpenCV image viewer**

    * When you're debugging code that contains a two-dimensional
      OpenCV array, the debugger now allows you to view it as an image
      in a separate dialog and use various editing options. This new
      feature makes developing computer vision and machine learning
      applications easier and more convenient.

  * **Debug servers**

    * JetBrains have added a new Debug Servers configuration option to
      make it easier to configure debugging for embedded and remote
      development. With a debug server, you can choose which debug probe
      you want to run or debug your build target on. Previously, you had
      to set up a separate run/debug configuration for each debug probe
      and build target combination.

**CLion Nova**

  * **Memory usage improvements**

    * JetBrains have made many improvements to CLion Nova in an effort
      to reduce its memory footprint. This is especially noticeable in
      large projects. Comparing the memory usage of a Chromium project
      in CLion Nova 2024.2 against the same project in 2024.3, in the
      new version, the IDE frontend uses 51% less memory, while the IDE
      backend uses 15% less.

    * For JetBrains users, this means:

      * The IDE is now more responsive because it uses less memory and
        calls the garbage collector less often.

      * The IDE is able to work faster and is more responsive to
        project changes.

  * **Call hierarchy**

    * The function call hierarchy shows caller and callee hierarchies
      and helps you better understand how your functions interact.

  * **Predefined code styles from other projects and frameworks**

    * You can now select a predefined code style like LLVM, Google,
      Qt, or GNU.

  * **The gutter icon for recursive calls**

    * JetBrains have added an icon for recursive calls to the gutter.
      This makes it easier to see where you are using recursive
      functions in your code and to avoid potentially harmful situations
      like stack overflows. The icon is also displayed in the call
      hierarchy.

  * **Quick Definition support**

    * The Quick Definition popup shows you where and how class,
      function, method, and other project symbols are defined.

**Embedded development**

  * **Debug servers**

    * JetBrains have added a new Debug Servers configuration option to
      streamline the process of configuring debugging for embedded and
      remote development.

    * Please note that this is an experimental feature.

  * **Debugging support for West**

    * In this release, JetBrains have extended support for Zephyr West
      by adding the ability to natively debug West projects. This makes
      it easy to configure and run debugging sessions in the IDE.

    * When you import your Zephyr West project, a West run/debug
      configuration is automatically created in the Run/Debug
      Configurations switcher. You can also create a new run/debug
      configuration via Run | Edit Configurations... in the main menu.

  * **Editable peripheral register values**

    * When debugging board peripherals like GPIO pins or timers,
      you can now immediately see the effects of your changes by
      editing peripheral registers in the Peripherals pane of the
      Debug tool window.

  * **Support for MISRA C++:2023 with CLion Nova**

    * MISRA C++:2023 is the latest edition of MISRA C++, which provides
      guidelines for using C++17 in safety-critical systems. CLion's
      static analysis toolset now includes a significant number of MISRA
      C++:2023 checks.

**Debugger**

  * **OpenCV image viewer**

    * If you're debugging a computer vision or ML application that
      uses OpenCV, you can now view a two-dimensional OpenCV array as an
      image. The debugger displays such images in a separate dialog and
      offers various editing options and features like updating the
      image on stepping.

  * **Formatted view for strings with JSON, XML, or HTML data**

    * When debugging strings that store newline characters or JSON,
      XML, and HTML data, you can view them formatted according to
      their code style directly in the debugger. Press View next to a
      variable, and you'll be able to see the structured or raw data in
      a separate window.

  * **Ability to attach the debugger to an unstarted process**

    * You can now attach the debugger to unstarted local processes.
      These will then automatically trigger debugging when they are
      started. This feature is helpful when, for example, one part of
      your project is written in C++ and runs in CLion, while another is
      written in another language and runs in an external environment.

  * **Bundle updates**

    * JetBrains have updated the following bundled debuggers:

      * GDB has been updated to 15.2.

      * LLDB has been updated to 19.1.3.

**AI Assistant**

  * The updated JetBrains AI Assistant plugin, equipped with JetBrains
    internally trained large language model for C++, has made
    CLion's cloud code completion faster and smarter. It now offers
    a broader range of usage scenarios, with enhanced suffix matching
    ensuring that the predicted code fragment correctly completes the
    existing code.

  * One of the most prominent improvements is multiline code completion,
    which has been updated with syntax highlighting and incremental
    acceptance of code suggestions.

  * Multiline code completion works in conjunction with standard code
    completion and Full Line Code Completion (the latter uses the local
    LLM and doesn't require sending data to the cloud). This allows
    you to review and accept suggestions gradually.

**Other improvements**

  * **Onboarding tips for a new C++ project**

    * If you're just starting with CLion, you'll notice the improved
      onboarding tips. They show you how to use some of the IDE's key
      features and give you a clearer picture of its capabilities right
      from the start. This reduces the time it takes to become a
      proficient user of CLion.

  * **Project status widget**

    * JetBrains have made project status notifications less distracting
      by moving them from the top of the editor to a new widget in the
      status bar. Now, if you create a new .cpp file in your project,
      for example, the icon will appear. The notification that your file
      doesn't belong to any project won't appear until you hover
      over the icon. When you click on the icon, the widget will offer
      to add the file to the CMake project. If you don't need it, you
      can close the popup, leaving only the icon in the status bar.

  * **Updated UI for the new terminal**

    * A more compact design has been implemented in the new terminal's
      interface, reducing padding to maximize screen space. This also
      improves visibility when working with commands without
      compromising readability.

  * **Highlighting occurrences of selected text**

    * By default, CLion now highlights all instances of the text
      you've selected in any file, not just .c and .cpp. This
      makes it easier to keep track of where your selected text
      appears in the file.

### 2024.2

#### Features

 **Key Updates**

  * **CLion Nova** - In this release, several of the most requested
    features for the new language engine from ReSharper C++/Rider C++
    (also known as CLion Nova) have been implemented, such as remote
    development via JetBrains Gateway, Code With Me for collaborative
    development, AI functionality, and more. The new engine has also
    become the default for new CLion users.

  * **Full line code completion for C++** - This release introduces a
    new type of code completion that works completely locally, offering
    single-line suggestions based on the context of the current file.
    These suggestions are powered by language models that run on your
    machine without sending any of your code over the internet.

  * **Zephyr West support** - Comprehensive support for Zephyr West
    comes to CLion, allowing you to open a Zephyr project in the IDE and
    build, run, and flash it using Zephyr's West tool. The bundled
    plugin that provides the integration with West also brings language
    support for Kconfig, which is widely used not only in Zephyr
    projects but also in the Linux kernel and other projects.

  * **Debugger improvements** - This release brings several improvements
    to the debugger, such as faster node expansion in GDB, more pretty
    printers for complex data types, and a fix for the issue preventing
    debugging on Windows using WSL with GDB Multiarch.

**Full line code completion for C++**

  * Previously introduced for Java, Kotlin, Python, JavaScript,
    TypeScript, CSS, PHP, Go, and Ruby, full line code completion has
    become available for C++ with this release.

  * This feature suggests entire lines of code using a locally run deep
    learning model without sending any data outside your IDE. It's
    included with your active JetBrains IDE subscription at no
    additional cost.

  * NOTE: Full line code completion only works with CLion Nova, the new
    ReSharper C++/Rider C++ language engine.

**CLion Nova**

  * **Nova as the default for new users** - With this release, CLion
    Nova has become the default for new CLion users. The new language
    engine will be enabled automatically when you install the new
    version, unless CLion detects settings from a previous installation
    or you choose to import them.

  * **Remote development via Gateway** - Support for remote development
    via SSH using JetBrains Gateway is now available when you are using
    CLion Nova.

  * **Code With Me** - Code With Me can now be used for collaborative
    development with CLion Nova.

  * **Semantic highlighting** - Optional semantic highlighting uses
    different colors for different variables and parameters in your
    code, helping you recognize them easily at a glance.

  * **Name suggestions** - AI Assistant now suggests names when you use
    the Rename and Change Signature refactorings.

  * **Cloud-based code completion**

    * Inline code completion provided by cloud-based LLMs via AI
      Assistant is now supported regardless of whether CLion Nova
      is enabled.

    * Inline code completion autocompletes single lines, entire
      functions, and even whole code snippets based on the
      project's content.

  * **Custom clang-format binary** - CLion Nova allows you to use an
    external clang-format binary instead of the one built into the IDE.

  * **Field offsets and sizes** - Field offsets and sizes for classes
    and structures are now shown in the popup that appears when you
    hover over them.

  * **Other improvements:**

    * The quick documentation popup shown on hover now suggests
      quick-fixes.

    * Encoding no longer prevents the opening of non-UTF-8 files.

    * Custom TODO settings now persist after IDE restart.

**Project models and build tools**

  * **Zephyr West support** - This release introduces the West project
    model, which makes it much easier to set up, open, and build a
    project that uses Zephyr.

  * **West project building and flashing** - West projects allow you to
    build and flash your project into a microcontroller without having
    to perform lots of tedious actions like setting up West as an
    external tool in CLion and creating a custom build target for each
    of your Zephyr applications.

  * **Project conversion** - Zephyr projects opened previously as CMake
    ones can be reopened as West projects using the Convert to West
    Project action. Conversely, a dedicated action is available for
    converting West projects back into CMake ones.

  * **Python interpreter setup** - CLion automatically creates and
    enables a Python interpreter if there is a directory with a Python
    virtual environment next to the .west directory in the Zephyr
    workspace.

  * **Kconfig language support** - In addition to integration with West,
    CLion now provides language support for the Kconfig configuration
    language, which is widely used in Zephyr projects, the Linux kernel,
    and other projects.

  * **Other improvements:**

    * CMake projects with multiple files now load faster when using a
      remote toolchain.

    * By default, the C++20 standard is used for newly created projects.

    * Updated the bundled Ninja tool to version 1.12 to display build
      outputs faster without buffering.

    * CLion's spellchecker based on JetBrains Grazie now works with
      CLion Nova.

    * CLion's Features Trainer has also been adapted for CLion Nova and
      offers some additional lessons.

**Debugger**

  * **GDB pretty printers** - Resolved several issues with GDB pretty
    printers, ensuring that complex data types are shown in a more
    readable and convenient manner. The debugger now better represents
    various types, such as std::shared_ptr, std::array, std::valarray,
    std::list, and std::forward_list.

  * **Faster variable expansion** - This release comes bundled with GDB
    14.2, which contains a patch written by our team to speed up
    variable expansion.

**Editor**

  * **Inline rendering of documentation comments for C and C++** -
    Instead of presenting comments as walls of text mixed with tags,
    CLion offers inline rendering, which converts them into a more
    visually appealing format complete with links and code blocks. No
    more struggling with confusing tags, you can see everything more
    clearly. Inline rendering works in any C or C++ file to improve your
    reading experience.

  * **Support for math syntax in Markdown files** - CLion can now
    natively render mathematical expressions in Markdown files. You can
    use $ to insert inline math expressions and $$ for code blocks with
    math content when working with Markdown.

  * **Language-specific settings for sticky lines** - You can now set
    sticky lines more precisely and choose the languages they appear in.
    You can tailor the feature to your preferences either in
    Settings/Preferences or by calling the context menu with a right-
    click on a sticky line in the editor.

**Other enhancements**

  * **Enhanced user experience with local history** - The UI of the
    Local History dialog has been modernized. Additionally, when
    accessed for a directory, the dialog now features a diff view
    alongside the list of changes, making them easier to understand. To
    simplify reviewing changes in complex projects, the Local History
    action has been made available for multiple files or directories
    simultaneously. In the Project tool window, select multiple files or
    folders and choose Local History | Show History to view a popup with
    the change history for your selections.

  * **Bundled localization plugins** - To improve the IDE experience for
    native speakers of Chinese, Korean, and Japanese, support for these
    languages has been bundled.

  * **New UI as the default** - Starting with this release, the so-
    called "New UI" that was first introduced with the 2022.3 releases
    of JetBrains IDEs has finally become the default for all users. If
    you are particularly fond of CLion's old look, you can enjoy the
    classic UI by installing the corresponding plugin.

### 2024.1

#### Features

 **Key Updates**

  * **CMake update** - With this release, you now get enhanced writing
    assistance for CMake targets for even easier script editing. CLion
    now suggests live templates to create new targets, as well as code
    completion, navigation, and Find Usages for target names.

  * **Debugging enhancements** - Improved CLion's integration with
    debugger backends. With this latest release, it's now possible to
    debug multi-process targets in CLion. GDB users will now benefit
    from bundled support for the latest GDB 14.1 version. A new option
    has also been added to boost GDB indexing, as well as boosting
    debugging performance.

  * **Meson support** - Improved CLion's Meson support. This release
    comes with a Meson tool window with many useful commands, custom
    settings for Meson, and the option to create new Meson projects from
    the New Project wizard in CLion.

  * **Improvements for VCS** - VCS support in CLion and other JetBrains
    IDEs has been updated significantly with the enhanced diff viewer,
    improved branch search functionality, a streamlined code review
    workflow, and many other useful improvements throughout the whole
    subsystem.

**CMake**

  * **Live templates** - New live templates have been added that
    automatically create add_executable (type exe) and add_library (type
    lib) CMake commands for you.

  * **Target name completion** - CLion now completes target names in
    CMake commands. This makes it easier for you to link files to the
    targets and perform other target-related operations.

  * **Navigation to target definitions** - CLion now lets you navigate
    to the corresponding add_library or add_executable commands from the
    target usage in just one click.

  * **Find Usages for targets** - Rely on Find Usages (Alt+F7) to list
    all usages of the target in your project. The items in the tool
    window will be sorted into usages and target definitions.

  * **Minimum required version** - When CMake fails to load because you
    don't have the minimum required version of CMake enabled, CLion
    suggests a fix in the CMake tool window.

  * **CMake preset loading** - You can now configure which CMake preset
    types to import into CLion.

  * CLion now bundles CMake v3.28.

**Meson**

  * **Meson tool window** - Since v2023.3, CLion has included support
    for the Meson project model. It now comes with a Meson tool window.
    There, you can find the list of build targets and useful commands
    like clean, install, test, and more.

  * **New Meson projects** - The New Project wizard in CLion now comes
    with an option to help streamline the process.

  * **Meson settings** - If you need to specify the custom path to the
    Meson executable, you can now do so in CLion's Meson settings. You
    can also use the Setup options field to provide any additional
    Meson commands.

**Debugger**

  * **Debugging forked processes** - It is now possible to debug multi-
    process targets. This latest release lets you update the follow and
    detach policies from the context menu. This works on Linux (with
    LLDB and GDB) and for remote toolchains (WSL, remote, and Docker).

  * **Other debugger improvements**

    * CLion now bundles GDB 14.1. The presentation of the standard
      types that were initially broken with this version in CLion has
      now been fixed.

    * If you experience performance issues with GDB, try out a new
      setting. This works on Linux machines for executables launched
      from the IDE. When it is enabled, CLion prepares indexes for GDB
      before the debug session starts.

**Device tree**

  * Improved the code analysis in device tree files and synchronized
    CMake with the Zephyr settings by default.

  * **Property type checks** - To validate node properties with binding,
    there are new checks for invalid property types and required or
    undeclared properties.

  * **Duplicate elements** - A Duplicate element inspection now detects
    duplicate elements inside the device tree nodes. This could either
    be two or more properties with the same name or two or more nodes.

  * **Enum value checks** - When an enumeration type is used, CLion now
    validates the values for such properties and reports the not-
    permitted values.

  * **Code completion** - To help you write device tree files, code
    completion has been added for the root node.

**New terminal [Beta]**

  * The new terminal (Beta) is now available. You can switch between the
    old and new terminal in Settings/Preferences | Tools | Terminal |
    Enable New Terminal.

  * The feature set has been expanded, the visual appearance improved,
    and it has been aligned with the IDE's refreshed look and feel.

    * Each command is now placed in the terminal as a distinct block.
      They are separated visually so that you can easily detect the
      start and end of each one. Easily navigate between blocks using
      the arrow keys or switch the focus between the prompt and output
      with keyboard shortcuts.

    * Code completion with documentation for commands, paths,
      arguments, options, and more will help you launch your required
      tasks more quickly.

    * The command history is also available in the new Terminal
      tool window.

    * The color scheme used in the Terminal tool window has been updated
      to increase readability.

    * It supports only Bash, Zsh, and PowerShell, with other shells in
      development.

**Version Control**

  * This release brings updates to VCS support in CLion, including:

    * In-editor code reviews for GitLab and GitHub repos.

    * CI status checks in the Git tool window.

    * Prevention of large file commits to repositories.

    * New Stash tab in the Commit tool window.

    * Option to exclude folders and files from comparisons.

**IDE UI update**

  * **Sticky lines while scrolling** - Navigating through new codebases
    and large files can be tricky. To help you with that, the editor now
    has sticky lines while scrolling. This feature keeps key structural
    elements, like the beginnings of classes or functions, pinned to the
    top of the editor as you scroll. This way, scopes are always in
    view, and you can promptly navigate through the code by clicking on
    one such line.

  * **Scale down the entire IDE** - Previously, CLion introduced the
    ability to zoom in and out of the entire IDE, adjusting the size of
    all UI elements simultaneously. However, the initial scaling range
    was limited to between 100% and 200%. Now a new option has been
    incorporated allowing users to scale down the IDE to 90%, 80%, or
    70%, offering an extended range of customization options.

  * **Other enhancements**

    * The input stream redirection option, which was present only for
      the CMake Application run configuration, is now also available in
      C/C++ File run configurations.

    * The Assembly view has been updated to improve presentation and UX:

      * The Assembly view for ARM targets is now shown correctly.

      * Assembly view settings are now applied immediately, with no need
        to manually click the Refresh button.

      * When you edit a file for which the Assembly view is
        opened, a hint is now shown to the user suggesting they
        refresh the preview.

### 2023.3

#### Features

 **Key updates**

  * **AI Assistant is out of preview [General Availability]**

    * In this release, AI Assistant generates documentation more
      accurately and can explain runtime errors to you. The latest
      update also includes a context-aware AI chat and project-aware
      AI actions that use extended context to provide more
      comprehensive results.

    * You can use AI Assistant in CLion as an add-on with a JetBrains AI
      Service subscription.

  * **CLion Nova [Preview]**

    * In a bid to address long-standing performance and quality issues
      and unify the user experience across all the C++ tools, CLion Nova
      has been launched. It's a free preview version of CLion with the
      C++ language engine from ReSharper C++ and JetBrains Rider. It
      guarantees:

      * Faster highlighting speeds.

      * A more responsive UI.

      * Significantly fewer freezes and hangs in refactorings.

      * Faster Find Usages.

      * Faster test indexing.

  * **More C and C++ project models** - A range of project models are
    used for C and C++ projects. CLion works out of the box with CMake,
    compilation databases, Makefiles, and Autotools projects. This
    release brings support for Meson and addresses many issues in the
    Bazel for CLion plugin.

  * **Striving for better C++ code** - CLion comes with a built-in data
    flow analyzer, which runs constantly when you are writing your code
    and helps improve your code's quality. In this release, the accuracy
    and performance of overall analysis has been improved and a 'memory
    leak analysis' has been added.

  * **Deep dive into your code** - A new 'Run to Cursor' inlay option
    speeds up navigation through the code in the debugger, while the
    Assembly view for files is useful when you're trying to find a bug
    or optimize your code's runtime performance.

  * **Embedded development** - A device tree is a hierarchical data
    structure primarily used to describe hardware. It's widely used in
    Zephyr and provides the initial configuration for hardware. It's now
    much easier to read, navigate, and maintain such files with CLion.
    Files with .dts and .dtsi extensions are treated by the IDE as
    device tree files, and so coding assistance options are now
    available in the device tree.

**Project Models**

  * **Bazel for CLion plugin**

    * CLion now takes the strip_include_prefix argument into account and
      thus uses the correct paths when looking for included headers.

    * The code insight now works correctly for the symlinked header
      under Bazel's virtual includes.

    * Projects added in WORKSPACE.bazel using local_repository, or
      new_local_repository are now synchronized and indexed
      correctly in CLion.

  * **Meson support** - You can now open a Meson project in CLion and
    build, run, and debug it. It works on all platforms and for all
    local and remote toolchains, including WSL and Docker. To help you
    edit the meson.build file, CLion provides you with:

    * Code highlighting.

    * The Structure view shows executables and libraries if
      executable(...) and library(...) commands are present in the file.

  * **CMake enhancements** - The CMake preset conditions equals and
    notEquals are now supported, meaning CLion no longer shows presets
    that don't match these conditions.

**Assembly view**

  * **Assembly view for files** - You no longer need a debugging session
    to explore the underlying assembly code. The new Show Assembly
    action uses the compiler settings from the currently selected
    resolve configuration, compiles the code of the currently viewed
    C/C++ file to assembly, and opens an editor with a preview showing
    which source code produces which assembly.

  * **Intel syntax** - All Assembly views in CLion (with and without the
    debugging sessions) have been enhanced with the ability to switch to
    x86 assembly (Intel) syntax.

**Debugger**

  * **Run to cursor** - Added a new 'Run to Cursor' inlay option in the
    new UI that offers a quick way to navigate to a specific line of
    code while debugging. Once your program is suspended, you can hover
    over the line of code up to which you would like to execute the
    program and then click on the Run to Cursor popup to execute your
    code until it reaches the line where you clicked on the popup.

**Embedded development**

  * To help you fine-tune the hardware, CLion now supports device tree
    files. Files with .dts and .dtsi extensions are treated by the IDE
    as device tree files, and so coding assistance options for these are
    provided in the device tree.

    * **Reading the device tree files** - To help you read through the
      existing device tree files, CLion provides:

      * Syntax highlighting in the device tree files.

      * Code formatting in the device tree files.

      * Code documentation when hovering over device tree elements.

      * Structure view and code navigation through the device tree
        files.

    * **Writing device tree files** - To write device tree files more
      effectively, CLion supports:

      * Code completion for standard nodes, /<commands>/, and labels.

      * Validation for labels and node names as you type.

      * Validation for the order of the elements in the tree if
        it's defined.

      * Array size checks defined by the /bits/ option.

**Static analysis**

  * **Function summaries** - Added a new "function summaries" approach
    in this release which allows you to distinguish different function
    contexts for arbitrary nested call chains, resulting in more
    accurate data flow analysis.

  * **Field analysis** - Existing inspections in DFA now also consider
    fields, and there is a new inspection that warns you if not all of
    the fields were initialized.

  * **Memory leak analysis** - A new memory leak analysis has been
    implemented. You can now easily catch cases where memory is
    allocated but not released before it stops being accessible.

**QML**

  * CLion detects QML types in a project in order to parse them and
    provide coding assistance based on them. But library QML types or
    types from users' plugins are often located in other places. To
    solve this issue, the new Extra QML imports setting has been
    introduced which allows the IDE to search for QML imports in
    specified locations and parse types from user code.

**File templates**

  * When you create a new project via the New Project wizard in CLion, a
    main.cpp or main.c file is generated for you automatically. In some
    cases however, you might want to rely on a custom template for these
    files. Now in this release, you can edit such templates.

**IDE feature trainer**

  * The IDE Features Trainer is a set of interactive tutorials covering
    the essential IDE functionality.

    * **Onboard easily** - Training starts with the onboarding tour,
      which helps you get acquainted with CLion and the main user
      activities: navigating through the views and panels, opening files
      in the editor, launching your program, autocompleting symbols,
      applying quick-fixes, and searching for symbols.

    * **Dive into the core IDE features** - When you are done with the
      basics, you can move forward to the Code Editing, Refactorings,
      Code Completion, and Git sections. You can go through lessons from
      the list in any order, so just focus on the topics most
      interesting to you.

**User experience**

  * **Hiding the main toolbar** - Added a new option to hide the main
    toolbar in the default viewing mode.

  * **Color-coding for file tabs** - To enhance your navigation
    experience when working with a variety of file types in the editor
    at the same time, default color-coded highlighting for editor tabs
    has been introduced, mirroring their appearance in the Project
    tool window.

  * **Speed search available via shortcut** - The Speed search
    functionality, allowing you to quickly navigate within tool windows
    and dialogs, is now available via a shortcut. When a tree or list
    is in focus, you can easily invoke the search from the tool
    window's Options menu, by pressing Ctrl+F, or simply by starting to
    type your query.

  * **Default tool window layout** - If you want to quickly revert
    CLion's custom tool window layout to the default one, you can now
    use Window | Layouts | Default to revert your workspace's appearance
    to its default state.

**Other enhancements**

  * **Tests scope** - To save time during the test indexing phase, you
    can now manually instruct CLion to look for tests in specific
    directories. You can use the Tests scope to filter the Project view
    and quickly access the test files in your project.

  * **Improved support for Dev Containers** - Significantly extended
    support for Dev Containers. You can now easily add extra development
    tools, runtimes, and libraries using Dev Container Features,
    simplifying the setup of essential components. Automatic port
    forwarding has also been implemented, meaning that any ports the
    application starts listening to in a Dev Container are seamlessly
    forwarded.

  * **All-in-one diff viewer** - This release introduces a revamped way
    to review changes. Now, instead of going through each file one by
    one, you can see all of the modified files from a changeset in a
    single scrollable frame. This new diff viewer is compatible with
    GitLab, GitHub, and JetBrains Space reviews.

  * **Support for GitLab snippets** - Expanding on the GitLab
    integration introduced with the CLion 2023.2 release, support has
    been added for GitLab snippets. You can now create public or private
    snippets directly within the IDE.

#### 2023.2

#### Features

**Key updates**

  * **AI Assistant [Limited access]** - In C and C++, it explains the
    selected code, suggests how to better refactor that code fragment,
    or finds potential problems with it. It also generates commit
    messages and explains CMake errors.

  * **Debugger update** - Low-level debugging is now easier with this
    release, which brings the ability to inspect the registers of the
    current frame. You can also see register values inlined right in the
    disassembly view. A major update to the Attach to Process dialog
    enables attaching to remote and WSL processes.

  * **PlatformIO integration** - The IDE works directly with the
    platformio.ini file, tracking changes in it and updating the project
    information accordingly.

  * **vcpkg integration** - When working with vcpkg, there are two
    approaches - Classic mode and Manifest mode. CLion now supports
    both. You can clearly distinguish them in the CLion UI and switch
    easily to the Manifest mode using a dedicated button.

**AI Assistant [Limited access]**

  * **Chat with AI Assistant** - AI Assistant prefers programming topics
    and benefits from project-specific context. Iterate in the new
    dedicated tool window, and when you're happy with the result, use
    Insert Snippet at Caret to put the AI-generated code in the editor -
    or just copy it over manually.

  * **AI Actions... menu** - Select a specific code fragment in the
    editor and invoke an action from the AI Actions... context menu. AI
    Assistant can help you:

    * Find potential issues in a selected code fragment.

    * Suggest how to better refactor that fragment.

    * Explain the selected code.

    * Start a new AI chat about the selected code.

  * **Commit message generation** - Let AI Assistant help you describe
    the changes you made. Clicking the Generate Commit Message with AI
    Assistant button in the commit message dialog will send the diffs of
    your changes to the LLM, and it will generate a commit message
    describing your changes.

  * **Explain CMake errors** - When CMake execution fails on your
    project, click Explain with AI in the CMake tool window to get a
    better understanding of what's gone wrong and how to fix it.

**Debugger**

  * **Attach to Process dialog** - The new Attach to Process dialog
    allows users to debug processes launched outside of CLion, locally
    or remotely, and also benefit from the IDE's debugger integration.
    From this release you can:

    * Attach to local, remote, and WSL processes.

    * Select any debugger configured in the toolchains.

    * Attach to processes launched remotely with administrative
      privileges.

  * **Registers in debug** - Low-level debugging is easier when you
    have the ability to inspect the registers of the current frame.
    CLion now shows register values in the Variables tab of the
    debugger tool window.

  * **ARM assembly** - CLion now supports ARM assembly languages, which
    means you'll see code highlighting for ARM assemblers in the
    disassembly view.

  * **Assembly registers in debug** - When debugging disassembly
    code, CLion now shows register values inlined right in the
    disassembly view.

  * **Other debugger improvements:**

    * CLion now bundles LLDB v16 and GDB v13.1.

    * Memory View now supports on-the-fly memory editing and displays
      the value right after editing.

    * To improve debugging of external libraries for remote toolchains,
      CLion now correctly handles breakpoints set in them and downloads
      missing source files on demand.

**Embedded development**

  * **Native integration with PlatformIO** - In this release, the
    intermediate CMake level was removed from the integration with
    PlatformIO. The IDE now works directly with the platformio.ini file,
    tracking changes in it and updating the project information
    accordingly.

  * **PlatformIO actions and tool window** - Some pio commands can now
    be invoked directly from the IDE (Tools | PlatformIO), no need to
    switch to the terminal. This includes project reloading, running
    static code analysis on the project, invoking the device monitor,
    and more. The PlatformIO tool window gives quick access to the most
    used commands and project actions.

  * **Other improvements:**

    * To make sure CLion can debug with the Segger J-Link GDB Server
      correctly, it now handles the SIGTRAP signal in addition to the
      usual SIGINT and SIGSTOP.

**vcpkg**

  * **Manifest mode** - When working with vcpkg, there are two
    approaches - Classic mode and Manifest mode. You can now clearly
    distinguish them in the CLion UI and switch easily to the Manifest
    mode using a dedicated button.

  * **Console tab** - To make vcpkg's Classic mode more convenient, a
    Console tab has been added to the vcpkg tool window to show all
    commands and output.

**CMake**

  * **Creating CMake targets when adding new files to a project** - This
    release improves the new C/C++ file creation dialog in cases when
    there is no CMake target to add the new file to. The new 'Add new
    target...' action creates a new target and adds it to the selected
    CMakeLists.txt file. After adding a target, you can then add new
    files to it.

  * **CMake 3.25 and 3.26 support** - This release adds highlighting and
    completion for new parameters from CMake 3.25 and for the new block
    command used to execute a group of commands in a requested scope. In
    CLion, the new command is now highlighted, formatted, folded, and
    documented correctly. This release comes with CMake 3.26 bundled.

  * **CMake Parameter Info** - The Parameter Info popup shows signature
    variants as you type and is now available for CMake commands. It
    helps you figure out which parameter to enter next, especially with
    commands that have multiple variants.

**Docker in Microsoft Windows Subsystem for Linux (WSL)**

  * If your project contains a Docker file with a Linux-based
    environment and you want to develop your application in it from a
    Microsoft Windows machine, you can now set this up in CLion using
    WSL and Docker.

**Terminal in the output console**

  * Terminal emulation in the output console is now enabled or disabled
    separately for each configuration. It's disabled by default, and the
    setting that controls it has been moved from Advanced Settings to
    the Run Configuration section. On Windows, it now works for MSVC LLDB-
    based debugging with both regular and administrative privileges.

**User experience**

  * **Light theme with light header** - The user experience with the
    Light theme has been refined by introducing the alternate Light with
    Light Header option, featuring matching light colors for window
    headers, tooltips, and notification balloons.

  * **Pinned run configurations** - To make managing multiple run
    configurations easier, the option to pin preferred configurations in
    the Run widget has been implemented.

  * **Updated window controls on Apple macOS** - When working on
    macOS in full screen mode using the new UI, the window controls
    are now displayed right in the main toolbar - not in the floating
    bar as before.

  * **Removed title bar on Linux** - For the convenience of Linux users,
    the native header of the operating system has been removed in the
    new UI, resulting in a cleaner interface. By default, you will now
    see the custom IDE header, which offers a range of customization
    options to tailor your workspace.

  * **Colored project headers** - CLion introduces colored headers to
    simplify navigation between several open projects. You can now
    assign a unique color and icon to each of your projects, making it
    easier to distinguish between them in your workspace.

  * **Main toolbar customization** - The customization options for the
    new UI's main toolbar have been expanded. You can now use a dropdown
    menu to quickly choose actions that you want to add to the toolbar.

  * **Text search in Search Everywhere** - Search Everywhere is
    primarily used for searching through files, classes, methods,
    actions, and settings. With this update, it now includes text search
    capabilities similar to Find in Files.

**Other enhancements**

  * CLion and other IntelliJ-based IDEs have introduced initial
    integration with GitLab in this release, allowing you to work with
    the Merge Request functionality right from the IDE and streamline
    your development workflow.

  * On Windows, CLion now defaults to amd64 Microsoft Visual Studio
    toolchain architecture on non-ARM machines instead of x86.

#### 2023.1

#### Features

**Key updates**

  * **Debugger update:**

    * The ability to explore the underlying assembly code even when the
      source code is available (aka disassemble on demand).

    * A reworked Attach to Process... dialog to make finding processes
      and attaching to them even easier and faster.

    * Actions to suspend or resume individual threads, to help debug multi-
      threaded applications.

  * **Integration with vcpkg** - CLion now assists with installing and
    updating vcpkg and its packages and browsing installed and available
    packages in the dedicated tool window. CLion helps with the missing
    dependencies by suggesting quick-fixes when you:

    * Add #include for the header file from a package that is not yet
      installed.

    * Use a package in a CMake script that is not yet installed.

  * **Clangd-based indexer (Experimental)** - To speed up the Find
    Usages action and make it produce more accurate results in C++ code,
    a brand-new Clangd indexer has been introduced in CLion.

  * **New UI (Beta)** - The new UI has less visual clutter and shows the
    starting points for powerful features more concisely. In this
    release, the user experience of the new UI has been fine-tuned by
    redesigning the Run widget, adding an option to show hidden tabs and
    an option to split tool windows vertically, bringing a new Compact
    Mode for smaller screens and other changes.

**Debugger enhancements**

  * **Disassemble on demand** - CLion debugger allows you to step into
    and debug the disassembled code in a dedicated view. Now even when
    the source code is available. In the context menu in the frames
    view, there is now a new action that opens a regular disassembly
    view for the selected frame. The view opens side-by-side with the
    source code and highlights the execution line in both.

  * **Attaching to processes in debug** - CLion provides a way to attach
    the debugger to local processes started outside the IDE. The updated
    Attach to Process... action's dialog now makes finding processes and
    attaching to them even easier and faster. Display all available
    processes as a list or a tree in a new table view, check out the
    name of the user who launched the process, the debuggers available
    for this process, and the command used to launch the process, and
    select a debugger for toolchains that support multiple debuggers.

  * **Suspend or resume individual threads** - When debugging a multi-
    threaded application, you can now step through the selected thread
    with all other threads suspended.

    * All 4 actions are available with LLDB.

    * For GDB, only Freeze Other Threads and Unfreeze All Threads work.
      These actions also are not supported on Microsoft Windows for GDB.

**Memory View**

  * **Highlighting the changes** - CLion now highlights all changed
    bytes in the memory view during debugging. Also, when scrolling
    through the memory view, CLion now automatically loads the data.

  * **Configurable view** - The number of columns in the Memory View
    (i.e., the number of bytes per line) is now configurable.

**C++ language support**

  * **Adding a new C++20 module** - Added an action to help you create a
    new C++ Module Interface Unit in your project.

  * **More flexible refactorings** - The Change Signature and Extract
    Function refactorings now support making a function const,
    constexpr, or noexcept. The Extract Constant refactoring now
    suggests declaring a new constant with the constexpr and auto
    specifiers.

**Easier Clang-Tidy configuration**

  * This release comes with an updated Clang-Tidy checks options dialog:

    * All options are now displayed with predefined default values.

    * If you change an option, it is highlighted in blue and moved to
      the top of the table.

    * Speed search is available: Simply put the table in focus and start
      typing the name of the check you're looking for.

**Support for QML**

  * **QML syntax support** - If you are using Qt Modeling Language (QML)
    in your code, you will now benefit from the QML syntax support in
    CLion. This includes:

    * A better editing experience with code highlighting and code
      completion.

    * Instant search for usages.

    * Structure View for easier navigation in QML files.

    * The Quick Documentation popup for information about the symbols
      under the caret.

  * **QML formatter and other settings** - QML syntax support in CLion
    now works for both Qt5 and Qt6. CLion uses qmlformat to format QML
    code by default. Qt and QML paths, qmlformat as a formatting tool,
    and QML language server can be configured in Settings/Preferences |
    Languages & Frameworks | QML.

**Filtering abilities in Profiling and Coverage**

  * **Filtering Call Tree results in the profiler** - The Call Tree tab
    in the profiling results now allows you to collapse any frames
    you're not interested in. For example, you can hide library classes
    or classes from specific frameworks to help yourself focus on the
    application code.

  * **Filtering code coverage results** - You can now filter files in
    the Coverage view to focus on recently updated files when testing.
    By default, you'll see a list of files with uncommitted changes.

**Terminal in the output console**

  * **CLion now emulates the terminal in the output console** - This
    behavior is enabled by default in Settings/Preferences | Advanced
    Settings | Run/Debug | Emulate terminal in the output console and
    helps you work with text-based user interfaces (TUI), for example,
    curses/ncurses applications.

**CMake enhancements**

  * **CMake color settings** - New color settings have been added for
    CMake - one for script keywords and one for CMake argument keywords.

  * **CMake changes notification** - The CMake reload notification is
    now floating. It takes less editor space while still being
    noticeable.

**New UI (Beta)**

  * **Compact mode** - To improve the user experience on smaller
    screens, Compact Mode has been introduced. This provides a more
    consolidated look and feel of the IDE thanks to scaled-down spacing
    and elements.

  * **Hidden toolbar in Zen and Distraction Free modes** - Refined the
    IDE's look and feel when the new UI is enabled. The top toolbar is
    no longer visible in Zen and Distraction Free modes.

  * **New Dark theme** - This release features a new Dark theme
    activated by default when the user enables the new UI. The "Old"
    Dark theme has been renamed to Darcula Contrast.

  * **Run widget** - The Run widget in the main window header has
    been redesigned so that its appearance is unobtrusive and easier
    on the eyes.

  * **Show hidden tabs in the new UI** - Users of the new UI can now see
    the full list of open editor tabs. It's accessible via the Show
    Hidden Tabs selector located at the right-end of the tabs row.

  * **Splitting tool windows** - The new UI now offers an option to
    vertically split the tool window area and conveniently arrange these
    windows, just like in the old UI.

**User Experience**

  * **Full IDE zoom** - You can now zoom into and out of CLion entirely,
    increasing or decreasing the size of all UI elements simultaneously.
    You can also assign custom shortcuts for calling these actions.

  * **Multiple tool window layouts** - With this release, you can now
    save and manage several tool window layouts and switch between them
    when needed. With the new Window | Layouts menu, you can save the
    current layout as a new one, update the already saved layout, or
    activate a previously saved layout.

  * **Remember size for tool windows** - A new layout option allows you
    to unify the width of the side tool windows or retain the ability to
    freely adjust their sizes as you customize your layout.

  * **Actions on save** - You can now predefine the behavior of Actions
    on Save for new projects.

**Editor**

  * **Location of pasted content** - There is now a setting that allows
    you to control the placement of the pasted content. In
    Settings/Preferences | Advanced Settings, find the Editor section
    and select the desired behavior for the Paste action from the drop-
    down list.

  * **Showing whitespaces** - This release features a new Selection
    checkbox in Settings/Preferences | Editor | General | Appearance |
    Show Whitespaces that allows you to configure this setting so that
    the IDE shows whitespaces as small dots only when you select code.

**VCS**

  * **VCS status in Structure View** - To make tracking changes to files
    more convenient, color hints have been added to the Structure tool
    window. The names of modified objects will now become blue, and the
    names of the newly added objects will appear in the tool window
    highlighted in green.

  * **Enhancements for branches** - This release provides auto-
    completion in the Create New Branch popup. Once you start typing a
    name for your new branch, the IDE will suggest relevant prefixes
    based on the names of existing local branches. In the Branches
    popup, branches are now grouped and stored in expandable lists for
    easier navigation.

  * **Improved code review workflow for GitHub** - Fine-tuned the
    process of reviewing code inside the IDE by reworking the Pull
    Request tool window. It now features a dedicated tab for each pull
    request you open. The tab instantly displays the list of changed
    files but now provides less information than before, allowing you to
    better focus on the current task. There is also a dedicated button
    to easily execute the action that's considered the most important
    given the pull request's current state.

**Markdown**

  * **Reformat table** - A new intention action allows you to correct
    the formatting of tables in Markdown files. You can access the quick-
    fix via the Context actions shortcut (Alt+Enter) or by pressing
    the yellow bulb icon and selecting Reformat table from the list
    that appears.

  * **Fill Paragraph** - The Fill Paragraph editor action is now
    supported for Markdown files, allowing you to break long texts into
    several lines of even length.

**Rust plugin update**

  * As a part of continuous improving macro support, the IntelliJ Rust
    plugin now shows inlay type hints in function-like and attribute
    macro calls. Besides inlay hints, the plugin started highlighting
    errors inside attribute macro calls.

  * The new version of the plugin provides a way to exclude some
    specific items from auto-import. The most annoying cases, like
    methods from Borrow and BorrowMut traits from stdlib, are already
    excluded by this mechanism by default.

  * Starting from this release, the plugin shows content behind any
    struct reference and pointer during debugging, as well as the
    content of raw slice pointers.

#### 2022.3

#### Features

  * **CMake**

    * **CMake Debugger** - Added the ability to debug CMake scripts as
      regular code. Set breakpoints, step through code, and watch CMake
      variables and targets.

    * **Code assistance in CMakeLists.txt** - The CMake file editor in
      CLion has been enhanced with new abilities to help you edit
      CMakeLists.txt files more easily:

      * CMake font and color settings.

      * The ability to expand and collapse various code regions in
        CMake.

      * Code completion for find_package for packages bundled with
        CMake.

      * CMake command documentation in code completion.

      * CMake structure view.

      * Strikethrough highlighting of deprecated commands in CMake.

    * **Add to CMake Project** - Added a new 'Add to CMake Project' quick-
      fix shown on the notification bar which will help you add a file
      to the existing CMake target. The action is also available in the
      project view context menu when called on the file.

    * **CMake targets with root privileges** - If you add a CMake target
      as an extra task before starting the selected run/debug
      configuration, the target can now be run with administrative
      privileges.

  * **C++20 modules**

    * **Added module support:**

      * **Syntax highlighting** - CLion now collects and parses
        information about modules from all .ixx, .cppm, and .mxx files
        in the project. Then it provides syntax highlighting for the new
        module keywords like import, export, and module.

      * **Completion** - CLion now provides code completion for symbols
        from modules.

      * **Navigation** - With CLion, you can now navigate to
        declaration/definition for symbols from modules in one click.

      * **Find Usages and refactorings** - Both Find Usages and
        refactorings work as usual inside modules. An early version of
        the Rename, Change Signature, and Extract refactorings that
        cross module boundaries work only for files opened in CLion.

  * **Single file**

    * Added a new option to compile and run a single C or C++ file.

    * **A new C/C++ File configuration** - A new run/debug configuration
      type (C/C++ File) allows you to quickly configure the toolchain,
      source files, and compilation options. When created, it allows you
      to compile and run the selected files.

    * **Run icon** - When you open a C/C++ file or a folder via the Open
      action in the Welcome wizard, the run icon appears in the left
      gutter and allows you to run or debug the current file.

  * **Linker scripts**

    * Added Linker Script (LD) language support, which includes:

      * Code highlighting in LD files, which you can configure in
        Settings | Editor | Color Scheme | LinkerScript.

      * Code completion.

      * Structure view for top-level commands.

      * Code folding for sections, memory, and phdrs.

      * Code comment…

Thu Aug 21 00:15:03 2025 schmonz (pkgsrc commits)
doc: Added graphics/libvips version 8.17.1

Thu Aug 21 00:15:03 2025 schmonz (pkgsrc commits)
doc: Updated devel/clion-bin to 2025.2

Wed Aug 20 13:45:01 2025 schmonz (pkgsrc-wip commits)
libvips: fix PLIST on NetBSD.

Wed Aug 20 13:45:01 2025 schmonz (pkgsrc-wip commits)
libvips: indent more consistently.

Wed Aug 20 13:45:01 2025 schmonz (pkgsrc-wip commits)
libvips: moved to pkgsrc.

Tue Aug 19 10:00:02 2025 schmonz (ikiwiki commits)
format previous

Tue Aug 19 10:00:02 2025 schmonz (ikiwiki commits)
optional wrappers: point of support

Tue Aug 19 01:30:15 2025 schmonz (pkgsrc commits)
intellij-ce-bin: add aarch64 support.

Tue Aug 19 01:30:15 2025 schmonz (pkgsrc commits)
intellij-ue-bin: sync with intellij-ce-bin.

Tue Aug 19 00:00:03 2025 schmonz (pkgsrc-wip commits)
libvips: update to 8.17.1.

Mon Aug 18 23:15:02 2025 schmonz (pkgsrc commits)
doc: Updated devel/ruby-jirametrics to 2.14

Mon Aug 18 23:15:02 2025 schmonz (pkgsrc commits)
ruby-jirametrics: update to 2.14. Changes:

- If a file prefix is reused across projects in the same configuration
  then files will get overridden and generally bad things will happen.
  When it happens, it's almost certainly a mistake and probably due to
  too much copy/pasting. We now detect when that's happened and dump
  out an error.
- Fixed bug where an item could sometimes say 'stalled by
  inactivity: days' (note the missing day count), when in fact it
  wasn't stalled at all.
- On the Daily View...
    - Child issues are now collapsible
    - We had previously excluded child issues that are done, but now we
      show them, albeit with less detail.
- Fixed exception when an ADF document is returned with no
  content section.

Mon Aug 18 21:45:01 2025 schmonz (pkgsrc-wip commits)
libvips: fix PLIST on macOS.

Mon Aug 18 01:00:03 2025 schmonz (pkgsrc commits)
astyle: update to 3.6.12. Changes:

- Improved complex lambda body indentation

Mon Aug 18 01:00:03 2025 schmonz (pkgsrc commits)
doc: Updated devel/astyle to 3.6.12

Mon Aug 18 01:00:03 2025 schmonz (pkgsrc commits)
doc: Updated sysutils/etckeeper to 1.18.23

Mon Aug 18 01:00:03 2025 schmonz (pkgsrc commits)
doc: Updated textproc/moor to 2.0.4

Mon Aug 18 01:00:03 2025 schmonz (pkgsrc commits)
doc: Updated textproc/p5-Text-HTML-Turndown to 0.07

Mon Aug 18 01:00:03 2025 schmonz (pkgsrc commits)
doc: Updated www/lighttpd to 1.4.81

Mon Aug 18 01:00:03 2025 schmonz (pkgsrc commits)
etckeeper: update to 1.18.23. Changes:

* Fix determining command line for commit log when using some package
  managers like pacman and zypper.
* Fix bug in xbps support when generating commit message.
  Thanks, Alexander Karelas
* Include cron.daily back in etckeeper.
* Makefile: Install cron.daily on debian based systems.
* cron.daily: Avoid doing anything when etckeeper.timer is enabled.

Mon Aug 18 01:00:03 2025 schmonz (pkgsrc commits)
lighttpd: update to 1.4.81. Changes:

* [core] security: fix to reject disallowed trailers

Mon Aug 18 01:00:03 2025 schmonz (pkgsrc commits)
moor: update to 2.0.4. Changes:

- Make scrolling help text work even on short input
- Handle bold+underline man page style (man grotty)

Mon Aug 18 01:00:03 2025 schmonz (pkgsrc commits)
p5-Text-HTML-Turndown: update to 0.07. Changes:

* Add helper shorthand function html2markdown()

Sat Aug 16 01:15:01 2025 schmonz (pkgsrc commits)
intellij-ue-bin: add aarch64 support.

Fri Aug 15 16:15:02 2025 schmonz (pkgsrc commits)
doc: Updated devel/intellij-ue-bin to 2025.2

Fri Aug 15 16:15:02 2025 schmonz (pkgsrc commits)
intellij-ue-bin: update to 2025.2. Changes:

- Everything in today's intellij-ce-bin update, plus:

### Updates in 2023.2

#### Features

 **Key updates**

  * **AI Assistant [Limited access]** - With the current starting set
    of AI-powered features, AI Assistant offers integrated AI chat and
    can do things like automatically write documentation comments for
    you, suggest names, generate commit messages, and more.

  * **In-editor performance hints** - The new in-editor hints offer a
    quick way to analyze code performance line by line, helping you
    identify and resolve issues faster. Color-coded annotations in the
    editor's gutter highlight critical methods allowing you to focus
    right on the performance bottlenecks. This means you no longer have
    to perform a thorough, time-consuming analysis with the Flame Graph
    and Call Tree views.

  * **GitLab integration** - You can now work with the Merge Request
    functionality right from the IDE: review the list of requests, check
    the changes, leave comments, and navigate to relevant views.

**User experience**

  * **Text search in Search Everywhere** - Search Everywhere (Double
    Shift) is primarily used for searching through files, classes,
    methods, actions, and settings. With this update, it now includes
    text search capabilities similar to Find in Files. Now, text search
    results are displayed when there are few or no other search results
    available for a given query.

  * **Colored project headers in the new UI** - You can now assign a
    unique color and icon to each of your projects, making them easier
    to distinguish in your workspace. Headers now come with predefined
    colors by default, but you can customize them.

  * **Reworked hamburger menu in the main toolbar on Microsoft Windows
    and Linux** - The behavior of the hamburger menu that is located in
    the main toolbar in the new UI on Windows and Linux has been
    refined. Once you click on the menu icon, the elements now appear
    horizontally over the toolbar. Also, there's now an option to turn
    this menu into a separate toolbar, accessible via View | Appearance
    | Main menu as a Separate Toolbar.

  * **File sorting by modification time in the Project view** - Added
    the ability to arrange your files in the Project view based on their
    modification times. This new functionality automatically reorders
    the files whenever the changes in your project are saved.

  * **Light theme with light header in the new UI** - The user
    experience with the Light theme has been refined by introducing the
    alternate Light with Light Header option, featuring matching light
    colors for window headers, tooltips, and notification balloons.

  * **Updated window controls on Apple macOS** - When working on
    macOS in full screen mode using the new UI, the window controls
    are now displayed right in the main toolbar - not in the floating
    bar as before.

  * **Removed title bar on Linux in the new UI** - For the convenience
    of Linux users, the native header of the operating system has been
    removed in the new UI, resulting in a cleaner interface. By default,
    you will now see the custom IDE header, which offers a range of
    customization options to tailor your workspace.

  * **Syntax highlighting in inspection descriptions** - Syntax
    highlighting makes it easier to understand what triggers an
    inspection and decide whether you want it to be active or inactive.

  * **Single-click navigation between project directories** - In the
    Project view, there's a new Open Directories with Single Click
    option that makes expanding and collapsing the project folders
    quicker and more responsive. The option is available from the drop-
    down menu once you click on the kebab (three vertical dots) menu.

  * **Improved main toolbar customization** - The customization
    options for the new UI's main toolbar have been expanded. You can
    now use a dropdown menu to quickly choose actions that you want to
    add to the toolbar.

  * **Suggested plugins in Settings/Preferences** - To make it easier
    to configure the IDE for your specific projects and extend its
    functionality with plugins, the UI for the Settings/Preferences |
    Plugins section has been updated. It now includes a set of suggested
    plugins that is determined automatically based on your project
    specifics and appears at the top of the list.

  * **Updated UI for the Run/Debug widget in the Services tool window**
    - The UI for the running and debugging actions in the Services tool
    window has been reworked to make the look and feel of the toolbar
    consistent with that of the main Run/Debug widget.

  * **Pinned run configurations in the Run widget** - To make managing
    multiple run configurations easier, the option to pin preferred
    configurations in the Run widget has been implemented.

**Java**

  * **New inspections and other code analysis improvements** - Java
    inspections have been improved and expanded to help you maintain high-
    quality code and detect potential issues more effectively.

    * The new Incorrect 'MessageFormat' pattern inspection will warn
      you when pattern references do not match the arguments, and it
      will also detect incorrect usages of quotes and braces in
      MessageFormat patterns.

    * The IDE now reports calls with explicit ChronoField or ChronoUnit
      arguments and suggests replacing them with calls of more specific
      methods, thus simplifying the code.

  * **Сode highlighting and navigation for format strings** - Once you
    place the caret on a format specifier, the IDE will now highlight
    the corresponding argument and other specifiers that point to it.
    Also, you can now use Go To Declaration (Ctrl+B) to jump to the
    associated code location for a specific format string placeholder.

  * **Improved support for the @snippet tag in Javadoc comments** - It
    allows Markup comments within the @snippet tag and renders them
    properly in the documentation. Code regions are now supported,
    meaning you can specify a portion of code that you want to refer to
    in a Javadoc comment. In addition, the IDE now supports the
    inclusion of external snippets within the @snippet tag, allowing you
    to reference code snippets stored in separate files or sources and
    include them in Javadoc documentation.

  * **Expanded refactoring options for multiple selected members** -
    You can now invoke Extract Delegate, Extract Interface, Extract
    Superclass, Pull Members Up, and Push Members Down on multiple
    members simultaneously by selecting them right in the Project or
    Structure tool window. In addition, IntelliJ IDEA now supports multi-
    caret selection for an extended range of refactorings, including
    Encapsulate Fields, Move Static Members, Extract Delegate, Extract
    Interface, and Extract Superclass.

  * **Improved navigation for stack trace analysis** - To facilitate
    stack trace analysis and make resolving bugs quicker, IntelliJ IDEA
    can now accurately guess the location of a method in the report even
    when line numbers are not available or have diverged.

  * **Enhanced taint analysis for dynamic SQL queries** - IntelliJ IDEA
    can now better analyze concatenations and interpolations of SQL in
    Java and Kotlin, detecting potentially unsafe queries and thereby
    protecting the code from possible SQL injection vulnerabilities.

**Scala**

  * **Better Scala 3 support** - This release brings enhanced Scala 3
    support, with a focus on providing a streamlined development
    experience. Notable improvements include:

    * Fixes for Scala 3 enum highlighting, navigation to enum
      definitions, and the correct resolution of enum cases in
      various contexts.

    * The TASTy decompiler has been significantly enhanced, ensuring
      accurate decompilation of popular Scala libraries, such as Akka,
      Cats, Play, ZIO, and others.

    * The integration of scala-expression-compiler into the debugger
      provides a better debugging experience for Scala developers.

    * Enhanced completion hints for Scala 3's Universal Apply Methods,
      in-editor support for IArray.

    * Improved support for the "fewer braces" syntax.

  * **Better sbt support** - Environment variables set for sbt are
    persisted and handled correctly after the project is reopened. The
    settings page has been redesigned for easier use, and a new
    Environment variables field has been added so that you can now pass
    custom environment variables to the sbt-shell process.

  * **ScalaDoc rendering** - Annotations, keywords, and literals in
    displayed declarations are now highlighted based on the selected
    theme. The list of extended traits and classes has been split into
    multiple lines if it exceeds the available space. Additionally,
    Scala 3 keywords are now supported in the documentation.

  * **Fixed type inference errors** - This release comes with many
    fixes to invalid type inference in some complex or simply rare
    cases, such as when types have complicated bounds, when a sealed
    trait hierarchy might be unclear, or in complex pattern matching.

  * **Zinc as the default compiler** - In light of Zinc's recent
    performance improvements, it is now the default incremental compiler
    in this release. This ensures comprehensive support for incremental
    compilation of new Scala 3 features, including inline methods.

  * **Improved management of sources and target directories** - Sub-
    folders of the target folder are no longer included automatically as
    sources unless they are marked as managed. This speeds up searching
    in projects that generate source code. Also, the IDE now provides
    better support for sbt-projectmatrix.

**Profiler**

  * **Profiling features available from the Run tool window** - You can
    now conveniently access the IntelliJ Profiler's functionality right
    from the Run tool window. The new buttons allow you to invoke the
    Attach IntelliJ Profiler and Capture Memory Snapshot actions in a
    click, without having to open the Profiler tool window or start the
    application from scratch.

  * **Default wall-clock profiling mode** - The profiling experience in
    IntelliJ IDEA has been enhanced by making wall-clock profiling mode
    the default option. This profiling method considers the total time
    spent in a method, including waiting time. With milliseconds as the
    measurement unit, it takes center stage as the more powerful and
    intuitive option.

**Run / Debug**

  * **Reactor Mono and Flux values evaluation** - When debugging your
    reactive application, you can now easily evaluate values of watches
    and local variables for Mono and Flux types. The IDE now detects
    them during debugging sessions and provides a corresponding get or
    collectList link in the Variables view, which you can click to
    instantly compute reactive stream items. By default, the debugger
    fetches the first 100 items of Flux. You can configure this number
    in the settings.

  * **Сontinuous testing for Gradle, Maven, and JPS projects** - The
    capabilities of the auto-testing functionality have been expanded,
    making it fully compatible with the Maven, Gradle, and JPS build
    systems. It is now easier to activate continuous testing mode.

  * **Inline breakpoints for return statements** - IntelliJ IDEA now
    offers improved support for setting breakpoints directly at the
    return statement, similar to how it was already being done with
    lambda expressions. This improvement offers developers improved
    debugging precision and deeper code analysis, providing valuable
    insights into code behavior and return values.

**Version control systems**

  * **Option to commit specific lines of code** - This release
    introduces a new feature to selectively commit specific parts of
    code chunks. To perform a partial commit, select the lines within a
    chunk and call Include these lines into commit from the context
    menu. The chunk will be divided into individual lines, with the
    selected ones highlighted. You can add or exclude lines from the
    selection using checkboxes or the context menu.

**Performance**

  * **New tool for easily generating shared indexes** - It is designed
    to streamline teamwork and eliminate time wasted on locally indexing
    large projects. The new tool simplifies the process of generating
    shared indexes for your team, requiring just a few clicks instead of
    multiple scripts and services.

**Frameworks and technologies**

  * **Ability to run and debug Tomcat on Microsoft Windows Subsystem for
    Linux (WSL)** - To work with Tomcat-based applications on WSL,
    you'll need to have the JAVA_HOME environment variable declared in
    either the /etc/environment or the ~/.bashrc file.

  * **gRPC requests using TLS in the HTTP Client** - TLS provides
    encryption and authentication, ensuring the confidentiality and
    integrity of your data transmission. Both https:// and grpcs://
    schemas are supported in the request syntax.

  * **Improvements for Swagger Codegen** - The Edit Swagger Codegen
    Configuration dialog has been reworked to make it easier for you to
    tailor run configurations to your requirements. Additionally, you
    can now access Swagger Codegen run configurations right from the
    gutter without having to specify any additional settings.

  * **Support for Swagger and OpenAPI schemas in the HTTP Client** -
    The HTTP Client is now capable of understanding Swagger and OpenAPI
    specifications and providing corresponding code completion options
    for JSON request bodies.

  * **Redoc UI previews for OpenAPI and Swagger files** - IntelliJ IDEA
    now supports Redoc UI previews for OpenAPI and Swagger specification
    files, including YAML and JSON files, allowing you to switch between
    the Redoc and Swagger UIs within the IDE. With the Redocly
    integration, you can access the Try it console from within IntelliJ
    IDEA and use it to set parameters and send requests to your API.

  * **JSON body completion in JavaScript** - The IDE now provides
    completion for JSON object keys in JavaScript code, such as in code
    that uses fetch() calls or references the Axios library. Spring MVC
    server endpoints are currently supported.

  * **Support for JavaScript imports in the HTTP Client** - With this
    release, it is now possible to share common JavaScript code for HTTP
    Client request handlers via imported modules.

  * **PDF and HTML previews for responses in the HTTP Client** -
    IntelliJ IDEA is now able to display previews of PDF and HTML files
    right in the request results in the HTTP Client.

  * **Support for GraphQL and WebSocket in the HTTP Client CLI** - You
    can now use the HTTP Client CLI in IntelliJ IDEA to interact with
    GraphQL APIs and establish WebSocket connections with services, for
    example for tests or automation scripts.

  * **Auto-completion for Spring Boot configuration keys in VM options**
    - While setting up a new Spring Boot run configuration, the VM
    options field provides auto-completion options for keys appearing
    after the -D flag.

  * **Spring configuration beans no longer require the annotation
    processor** - The user experience has been streamlined when working
    with custom configuration beans in Spring within IntelliJ IDEA. The
    IDE now provides code completion and validation in properties and
    YAML configuration files, without you needing to set up the Spring
    Boot Configuration Annotation Processor.

  * **Support for Spring AOP in Kotlin** - Extended IntelliJ IDEA's
    support for utilizing AspectJ in Spring applications. The IDE now
    provides analysis and completion for Kotlin code, just as it already
    did for Java code.

  * **New inspection for detecting mismatching value types in YAML
    files** - A new inspection to eliminate the so-called "Norway
    problem" and prevent the unintended misinterpretation of Boolean
    values in YAML files has been introduced. When a list primarily
    consists of strings but contains a Boolean-like literal, IntelliJ
    IDEA will highlight this literal, indicating a potential
    inconsistency, and suggest adding quotes to it. If the list is
    mostly composed of Boolean-like literals (such as true, false, off,
    on, yes, or no), any literal that deviates from this pattern is
    highlighted as a possible error, although no specific quick-fixes
    are suggested in this scenario.

  * **Support for editing AsyncAPI files** - Working with the AsyncAPI
    specification format in IntelliJ IDEA is now much easier. The IDE
    supports schema validation functionality and provides code
    completion for references, the Endpoints view, and the Editor
    Preview pane.

**Docker**

  * **Preview of files inside Docker image layers** - It is now easy to
    access and preview the contents of a Docker image layer in the
    Services tool window. Select the image from the list, select Show
    layers, and click Analyze image for more information.

  * **Set Docker container to run as a Before Launch task for run
    configurations** - It is now possible to set a Docker run
    configuration to run before another configuration by designating it
    as a Before Launch task. The IDE will wait for the container that is
    currently running to become healthy, and then it will launch the
    next run configuration.

**Kubernetes**

  * **Support for multiple kubeconfig files within a single project** -
    A new feature that allows you to set up multiple kubeconfig files
    within a single project has been introduced. This simplifies the
    experience of handling multiple clusters or working with
    environments on different clusters in the same project.

  * **Ability to view deployment logs** - You can now view logs for
    deployments in Kubernetes clusters in the Services tool window. Right-
    click on Deployment in the tree and then select Follow Log or
    Download Log from the context menu.

**Web development**

  * **Improved error formatting in JavaScript and TypeScript** - In
    this release, your errors and warnings will now be formatted in a
    more readable way, making it easier to spot problems in your code.
    This works for all TypeScript errors, some of the most common
    JavaScript errors, and even localized errors.

  * **CSS nesting support** - IntelliJ IDEA now supports CSS nesting.
    Syntax support has been implemented and an inspection that alerts
    you if the nested selector starts with an identifier or functional
    notation has been added.

  * **Vue Language Server support** - Support for Vue Language Server
    (VLS), a.k.a. Volar, provides more accurate error detection and
    better type information in the quick navigation and documentation
    popups. By default, VLS will be used for TypeScript v5.0 and higher,
    and the wrapper over the TypeScript service will be used for earlier
    TypeScript versions.

  * **New live templates for React hooks** - Added a new set of live
    templates for React hooks.

**Сode quality workflow**

  * **Bundled Qodana code quality platform** - IntelliJ IDEA now
    simplifies configuring static analysis tools by fully integrating
    JetBrains Qodana. This integration brings you two important
    benefits. First, easy configuration allows you to trigger analysis
    with a few clicks, view project-wide problems, and set up quality
    gates in your preferred CI/CD system. Second, you can now see the
    server-side analysis results without leaving your IDE, right out
    of the box.

**Database tools**

  * **Support for Redis Cluster** - When connecting to a cluster,
    jdbc:redis:cluster: must be entered before the desired URL. Choose
    the appropriate connection type to achieve this. If SSH tunneling is
    required for the connection to the cluster, then the hosts and ports
    for all nodes in the cluster should be indicated in the URL.

  * **New UI for the schema migration dialog** - The schema migration
    functionality has been reworked. The main difference is that the
    same object is now placed on the same line in both parts of the
    dialog, making it easier to understand which objects are going to be
    added, removed, or changed in the target schema.

  * **Time zone setting for the data editor** - The Data Editor and
    Viewer settings page has a new Time zone field for setting the time
    zone in which the datetime value should be displayed.

  * **Support for external databases and datashares in Redshift** -
    Shared databases and their contents are now introspected. The
    datashares that these databases are created on are also
    introspected.

**Build tools**

  * **Support for Maven 4.0.0-alpha** - IntelliJ IDEA is now fully
    compatible with Maven 4.0.0-alpha, the latest version of Maven.

**Other**

  * Introduced an LSP API for plugin developers who want to use a
    specific LSP server for coding assistance in the IDE. If you've made
    your own programming language or framework, you can get it supported
    in the IDE by creating an LSP server and a plugin.

  * The Big Data Tools plugin has been decomposed, allowing you to use
    its parts separately. This means six new plugins are available for
    IntelliJ IDEA: Kafka, Spark, Flink, Remote File Systems, Big Data
    File Viewer, and Zeppelin. If you need all six, installing the
    umbrella Big Data Tools plugin is still possible and a convenient
    way to get them all in one click.

  * IntelliJ IDEA's bundled Android plugin now provides the features of
    Android Studio Giraffe Beta 2, including support for Android Gradle
    Plugin (AGP) 8.0.0. Please note that this support doesn't include
    the features that require signing in to a Firebase account.

  * The default value of the maximum heap size (-Xmx) has been
    changed to 2 GB.
### Updates in 2023.1

#### Features

**Key updates**

  * **New UI enhancements (Beta)** - Compact Mode has been introduced
    which provides a more consolidated look and feel of the IDE thanks
    to scaled-down spacing and elements. The new UI now offers an option
    to vertically split the tool window area and conveniently arrange
    the windows, just like in the old UI. The Run widget in the main
    window header has been redesigned so that its appearance is
    unobtrusive and easier on the eyes.

  * **Earlier availability of IDE features on project opening** -
    Improved the IDE startup experience by performing the 'Scanning
    files to index' process in smart mode. Doing so makes the IDE's full
    functionality available much earlier in the startup process. When
    opening a project, this release uses existing caches from your
    previous session with the project and simultaneously looks for files
    to index. If no changes are found in the scan, the IDE will be
    ready, eliminating the delays that were previously caused by
    indexing on startup.

  * **Faster import of Maven projects** - Improved the IDE's
    performance in importing Maven projects by optimizing dependency
    resolution as well as reworking the processes behind importing and
    configuring facets.

  * **Background commit checks** - Reworked the behavior of commit
    checks for Git and Mercurial to speed up the overall commit process.
    Checks are now performed in the background after you commit but
    before you push.

  * **Navigation to Spring Security matchers and request mappings** -
    To simplify seeing applied security rules, IntelliJ IDEA now
    provides easy navigation to security matchers from Spring
    controllers. The navigation works both from security matchers to
    controllers and vice versa.

**User experience**

  * **Full IDE zoom** - It is now possible to zoom into and out of
    the IDE entirely, increasing or decreasing the size of all UI
    elements at once.

  * **Option to save multiple tool window layouts** - In this release,
    you can now save and manage several tool window layouts and switch
    between them when needed.

  * **New Remember size for each tool window setting** - In this
    release, a new layout option has been introduced that allows you to
    unify the width of the side tool windows or retain the ability to
    freely adjust their sizes as you customize your layout.

  * **Onboarding tips in a sample project** - Introduced an option to
    open a new project containing sample code with onboarding tips. In
    the New Project wizard, check Generate code with onboarding tips to
    get a basic sandbox project with tips demonstrating some of the
    IDE's essential features. By following this small guide, users can
    try out the Search Everywhere functionality, apply a quick-fix, and
    run and debug the code, making it easier to familiarize themselves
    with the IDE.

  * **Setting to configure Actions on Save for new projects** - This
    release adds an option to predefine the behavior of Actions on Save
    for new projects.

  * **ML-powered search for classes in Search Everywhere enabled by
    default** - To provide you with more relevant and accurate search
    results, machine-learning ranking has continued to be integrated
    into the Search Everywhere (Double Shift) functionality. The sorting
    algorithm in the Classes tab is now also powered by machine learning
    by default, along with the results in the Actions and Files tabs.

  * **New suggestion to reconfigure Microsoft Defender settings for
    better performance** - In this release, there is a new notification
    that is triggered when Microsoft Defender with Real-Time Protection
    is running. Given that these antivirus checks can significantly
    decrease the IDE's speed, IntelliJ IDEA now suggests adding certain
    folders to Defender's list of exclusions. The notification provides
    options to either reconfigure these settings automatically or first
    check Defender's configuration instructions and do it manually.

**Editor**

  * **Option to specify the placement of pasted content** - In this
    release, the user experience when pasting a line that was copied or
    cut without selection has been fine-tuned. There is now a setting
    that allows you to control the placement of the pasted content.

  * **Option to show whitespaces only in selected code** - This release
    features a new Selection checkbox in Settings/Preferences | Editor |
    General | Appearance | Show Whitespaces that allows you to configure
    this setting so that the IDE shows whitespaces as small dots only
    when you select code.

  * **Custom regexp-based search and replace inspections** - With this
    release, you can use regular expressions to create your own search
    and replace inspections. These inspections can be especially useful
    for highlighting style-based or formatting-based problems.

  * **New intention action for reformatting tables in Markdown files**
    - A new intention action allows you to correct the formatting of
    tables in Markdown files.

  * **Fill Paragraph for Markdown files** - The Fill Paragraph editor
    action is now supported for Markdown files, allowing you to break
    long texts into several lines of even length.

  * **New Smart Keys settings page for Markdown** - Added a dedicated
    page for configuring and editing your Markdown preferences in
    Settings/Preferences | Editor | General | Smart Keys. This page
    should make managing your preferences easier, as it provides
    separate checkboxes for various editor features, replacing the
    single checkbox previously stored in Settings/Preferences |
    Languages & Frameworks.

  * **No spell checks for hashes and special values** - Updated the
    Typo inspection so that it no longer checks the spelling of hashes
    and special values and doesn't report them as misspelled. This
    update covers the following values:

    * Md5, Sha1, and Sha256 hex values.

    * Sha384 and Sha512 base64-encoded integrity values with the
      shaNNN- prefix.

    * JWT tokens.

**Java**

  * **New Java inspections** - The Malformed format string inspection
    now reports illegal time conversions that don't comply with common
    Java syntax. The Redundant String operation inspection is now
    capable of detecting redundant StringBuilder.toString() calls and
    providing a quick-fix to replace them with contentEquals() so that
    you don't create an intermediate String object. It also reports
    unnecessary arguments in String constructor calls and suggests a quick-
    fix that removes them.

  * **Java 20 support** - This release supports the latest updates
    added in Java 20, including the changes to the language features
    Pattern Matching for switch and Record Patterns.

  * **Improved Extract Method refactoring** - Upgraded the Extract
    Method refactoring by introducing the option to apply it even when
    the selected code fragment features several variables that need to
    be returned. In these cases, the IDE first suggests wrapping these
    variables into a new record or bean class and then performing the
    method extraction.

  * **Auto-completion in the VM Options field** - Integrated auto-
    completion functionality into the VM Options field of the Run/Debug
    configuration popup. Now, when you start typing the name of a flag,
    the IDE suggests a list of available command line options.

**Scala**

  * **Improved support for braceless Scala syntax** - IntelliJ
    IDEA can now desugar braceless Scala code properly, and it
    handles refactorings where the "fewer braces" feature is used.
    It also supports braceless syntax in worksheets and correctly
    interprets indentation when you move extensions methods up and
    down in your code.

  * **Better support for sbt projects** - In Gradle, when you have an
    empty module and want to create the root directory for the source
    code, you can use the New Directory dialog, which contains some
    helpful suggestions. With this release, this dialog is now available
    for sbt projects, as well.

  * **Upgraded Scala inspections** - The Unused declaration
    inspection has received a number of fixes and improvements.
    IntelliJ IDEA can now detect symbol usage in your project's XML
    files. The inspection also distinguishes between references to
    terms and references to types, not tagging the one as in use if it
    is actually the other that is. The Can be private inspection has
    been updated, as well. For example, you will no longer see
    highlighting for top-level definitions in worksheets and local
    classes. For recursive calls, you will now see a gutter icon to
    the left of the line with the call.

  * **Code editing improvements for Scala 3** - Improved the
    performance of Scala 3 highlighting when many implicit parameters
    are imported and are needed to parse the code, for example, when the
    Cats library is being used. This release also features many syntax
    support improvements, such as the proper automatic generation of
    overriding methods with using clauses.

  * **Streamlined import management** - If you use compiler-based
    highlighting, until now all imports have been marked as used. Scala
    3.3, however, introduced a new compiler option, -Wunused:imports.
    The IDE can now identify unused imports if your project uses this
    option. The auto-import action for Enums has also been fixed.

  * **Improvements for Scala 3 and Scala 2 decompilers** - This release
    brings numerous fixes and improvements to the Scala 3 and Scala 2
    decompilers. The output of decompiling Scala 2 and Scala 3 bytecode
    has been unified and is now easier to read.

**Profiler**

  * **Improved UI for the Flame Graph tab** - Updated the Flame Graph
    tab by introducing color-coded highlighting for calls. Methods
    belonging to the currently opened project are now highlighted in
    yellow. This way, you can easily distinguish the code that you can
    modify to resolve a given performance problem. The overall color
    scheme of the Flame Graph tab has also been reworked to make it more
    eye-friendly.

**Version control systems**

  * **VCS status color hints in the Structure tool window** - To make
    tracking changes to files more convenient, color hints have been
    added to the Structure tool window. The names of modified objects
    will now become blue, and the names of the newly added objects will
    appear in the tool window highlighted in green.

  * **Improved code review workflow for GitHub** - To simplify the
    process of reviewing code inside the IDE, the Pull Request tool
    window has been reworked. It now features a dedicated tab for each
    pull request you open. The tab instantly displays the list of
    changed files, but it now provides less information than before,
    allowing you to better focus on the current task. There is now also
    a dedicated button to easily execute the action that's considered
    the most relevant given the pull request's current state.

  * **Improved Branches popup** - Improved the usability of the
    Branches popup. For instance, navigating between branches is now
    easier, as they are grouped and stored in expandable lists.

  * **Auto-completion in the Create New Branch popup** - This release
    provides auto-completion in the Create New Branch popup. Once you
    start typing a name for your new branch, the IDE will suggest
    relevant prefixes based on the names of existing local branches.

**Build tools**

  * **Option to specify the Gradle version on project creation** - When
    configuring a new Gradle project, it is now possible to select the
    required wrapper version right in the New Project wizard. Expand the
    Advanced Settings section, uncheck Auto-select, and specify the
    preferred option. You can have the IDE remember your choice by
    enabling Use these settings for future projects below the Gradle
    version combobox.

  * **Java SDK detected from the Gradle toolchain** - When
    importing a project, IntelliJ IDEA can now detect the Gradle
    toolchain configuration and set up the matching Java SDK in the
    module's settings.

**Run / Debug**

  * **Option to assign a custom shortcut to run the current file with
    coverage** - In this release, it is possible to create a shortcut
    to launch the Run with coverage action for the file you currently
    have open, even if the run configuration hasn't been created yet.

  * **Option to filter classes in the Coverage view** - In this
    release, you can filter classes in the Coverage view to focus on
    recently updated classes and methods that require special attention
    when testing. By default, you'll see a list of classes with
    uncommitted changes. The second filtering option allows you to hide
    classes that are fully covered.

**Frameworks and technologies**

  * **Spring Security 6 support** - This release provides updated
    support for navigation to URL mappings and security roles for APIs
    introduced in Spring Security 6.

  * **Delegation of building and running to Gradle in the Spring run
    configuration** - In the Spring run configuration, Gradle is now
    the default option for running and building projects. The IDE now
    uses the main setting to build and run the project using Gradle as
    defined in Settings/Preferences | Build, Execution, Deployment |
    Build Tools | Gradle.

  * **Option to share Spring and JPA facet settings via VCS** - With
    this release you can change and share Spring and JPA settings via
    custom facets in File | Project Structure | Modules.

  * **Ability to run MongoDB queries in the Database console from Spring
    and Micronaut Data repositories** - This release makes it possible
    to run MongoDB queries in the Database console from Spring and
    Micronaut Data repositories.

  * **Project Reactor: Improved inspections for reactive code** - This
    release provides a wider array of inspections for reactive code. For
    example, the IDE now reports usages of transformation operators with
    the Mono<Void> type described in the Reactor 3 Reference Guide.

  * **Apache Dubbo support** - Implemented a new dedicated plugin that
    integrates Apache Dubbo, providing the framework's functionality as
    part of IntelliJ IDEA's support for Spring. You can download this
    plugin from JetBrains Marketplace or install it right in the IDE via
    Settings/Preferences | Plugins.

  * **Recognition of Swagger annotations for OpenAPI generation** - If
    you define additional metadata for APIs using Swagger 2.X
    annotations in Spring controllers, IntelliJ IDEA now includes these
    annotations when generating OpenAPI files from the URL inlay popup
    dialog or from the Endpoints tool window.

  * **Option to edit parts of OpenAPI specifications split over several
    files** - It is now possible to edit parts of bigger OpenAPI
    specifications in separate files while easily navigating between
    them. In addition, the IDE provides code completion and
    highlighting for these files in the same way it does for the main
    specification file.

  * **Option to run GRPC requests from the Endpoints tool window** -
    With this release, it is now possible to run GRPC requests from
    proto files that contain imports from .jar archives.code completion
    for request bodies has also been improved, like for the OneOf and
    Map<K,V> types. The HTTP Client tab for Protobuf endpoints has also
    been added in the Endpoints tool window.

  * **Improved editing support for application.yaml configuration files
    in Ktor** - The IDE now provides all of the editing features
    necessary to work with application.yaml configuration files in Ktor,
    including code completion, highlighting, and validation.

**Docker**

  * **Merged logs from all Docker Compose containers** - The Dashboard
    tab of the Docker Compose node now pulls together logs from every
    Docker Compose container and displays them all in one place, updated
    in real time.

  * **Support for Microsoft Azure Container Registry** - You can now
    easily connect to Azure Container Registry. Go to
    Settings/Preferences | Build, Execution, Deployment | Docker |
    Docker Registry and set it up by selecting the Docker V2 option in
    the Registry input field.

  * **New setting to apply the :z mount option to bind volumes on
    SELinux** - You now have the ability to add :z configuration flags
    to Docker bind mounts, allowing you to connect volumes to Docker
    containers on SELinux workstations.

  * **Docker container health statuses in the Services tool window** -
    This release informs you about the results of Docker health checks.
    You can now see health statuses of the running Docker containers
    next to their names in the Services tool window. Also, to make it
    easier to parse the statuses at a glance, containers that are
    starting and operating normally feature a small green dot on the
    icon, while the unhealthy containers are marked with red.

  * **Docker debug deprecated** - The Docker debug functionality has
    been deprecated. To debug your applications using Docker containers,
    please use Run targets instead.

**Kubernetes**

  * **File templates in the New Kubernetes Resource popup** - To make
    creating new Kubernetes files easier, a new action has been added to
    the File | New menu. Once you select the New Kubernetes Resource
    option, you'll see a popup that features a list of the most popular
    resource types, such as Pod, Deployment, ConfigMap, and others.

  * **Action to create new Kubernetes Secrets** - This release
    introduces a new dialog for creating Kubernetes Secrets. To define a
    new Secret, you can input Key and Value data manually or specify a
    file whose content will be used.

  * **Color-coded change markers for Kubernetes resources loaded from
    cluster** - When you use the View YAML action for resources from a
    cluster and make any changes in the opened file, IntelliJ IDEA now
    highlights all of your edits with color-coded marks in the gutter.
    This way, you can be sure that the changes are made to the required
    parts of the resource before you apply them back to the cluster.
    Additionally, using the Compare with Cluster icon opens a full diff
    view that will fetch the resource's current version from the cluster
    and compare it with the local version.

  * **Improved user experience with kubeconfig files** - This release
    refines the user experience for working with kubeconfig files. You
    can now easily access a kubeconfig file in the Services view and
    open it in the editor. If you change a kubeconfig file outside of
    the IDE, IntelliJ IDEA will detect this and automatically refresh
    the configuration in the Services tool window. Code highlighting and
    completion for kubeconfig files are also provided.

  * **Ability to assign custom shortcuts for actions in the Services
    view** - You can now assign shortcuts for most Kubernetes actions
    in the Services view, like Forward Ports, Delete Resource, and
    Describe Resource, among others.

**Remote development and collaboration**

  * **Additional insight into items only available to Сode With Me
    session hosts** - When guests connect to a session, their client
    now looks more like a regular JetBrains IDE. They can see all of the
    items the host sees, including grayed-out ones that only the host
    can access. Guests can clearly see what is unavailable and ask hosts
    to implement those actions on their behalf.

  * **One-click permission requests and approvals in Code With Me** -
    Guests can now request additional permissions by simply clicking on
    a key icon next to an unavailable item. Now hosts don't have to
    determine necessary access from the start and can easily approve
    extra permissions from any guest on the fly.

  * **Improved overview of recent remote development projects** -
    Recent projects are now stored on the host instead of the client.
    This gives you accurate, up-to-date information even if you connect
    from a different client. More useful options have also been added,
    such as selecting which version of the IDE to use on the host.

**Web development**

  * **Astro support** - Added support for Astro in IntelliJ IDEA.
    You can get it through the new Astro plugin, which can be
    installed from Settings/Preferences | Plugins. The plugin
    provides basic functionality including syntax highlighting, code
    completion with automatic imports, refactorings, navigation,
    correct formatting, and more.

  * **Support for TypeScript in Vue templates** - Added TypeScript
    support in Vue templates. It's enabled when you set the lang
    attribute in a script tag to ts. Previously, JavaScript was used
    regardless of the lang attribute in the script tag. IntelliJ IDEA
    will now provide support for inline casting, improved type
    narrowing, and correct information about inferred types in quick
    documentation in templates of Vue Single-File Components.

  * **Automatic conversion of strings to template literals** - IntelliJ
    IDEA will now transform your single- or double-quoted strings into
    template literals automatically whenever you type ${. This works for
    raw strings as well as for JSX properties.

  * **Tailwind CSS configuration** - Added support for configuration
    options, such as custom class name completion under the
    classAttributes option, or experimental ones like
    tailwindCSS.experimental.configFile.

**Other**

  * The Android plugin bundled with IntelliJ IDEA now provides all the
    features of Android Studio Electric Eel, including support for the
    Android Gradle Plugin (AGP) 7.4.0.
### Updates in 2021.3

#### Features

  * **Key updates**

    * **Remote development (Beta)** - IntelliJ IDEA Ultimate now
      supports a Beta version of the Remote Development workflow. It
      allows you to connect to a remote machine running IntelliJ
      IDEA’s backend from anywhere in the world. All the processing
      happens on that powerful remote machine, and you can work on your
      project as seamlessly as if it were on your local one. This
      functionality can be initiated from IntelliJ IDEA’s Welcome
      screen or from a new application called JetBrains Gateway, which
      is available in the Toolbox app. What’s more, you can create,
      prebuild, share, reproduce, hibernate, and manage dev environments
      with Space - a unified platform for the entire software
      development pipeline.

    * **Troubleshooting IDE issues** - IntelliJ IDEA 2021.3 brings a
      new, faster way to diagnose and fix issues that are causing your
      IDE to not work properly. If your IDE isn’t working properly,
      invoke the new Repair IDE... action from the File menu. It will
      guide you through a sequence of steps to troubleshoot some of the
      most common problems.

    * **Constant conditions inspection for Kotlin** - Added the new
      Constant conditions inspection, which helps IntelliJ IDEA report
      non-trivial conditions and values that are statically known to
      be always true, false, null, or zero. It works the same way as
      the similar inspection for Java, and it supports most of the
      same checks.

    * **Debugger updates for Kotlin:**

      * **Smart Step Into** - When you want to debug an expression with
        chained method calls and lambdas, the Step Into action gives you
        the functionality of Smart Step Into by default. It highlights
        the methods and lambdas you can step into.

      * **Inline stack frames** - The debugger can now detect Kotlin
        inline functions and display inline function calls in the stack
        trace panel. You can navigate to these calls, and you can also
        inspect and evaluate the variables of each frame.

  * **Editor**

    * **Change font size in all the tabs** - Added the ability to
      change the font size in all open tabs simultaneously with
      ⌘+mouse wheel on Apple macOS or Ctrl+mouse wheel on Microsoft
      Windows and Linux.

    * **Improved intention preview:**

      * IntelliJ IDEA has a helpful option that allows you to preview
        the results of intention actions and quick-fixes before applying
        them to your code.

      * In IntelliJ IDEA 2021.3, it works for more intention actions and
        quick-fixes in Kotlin, and the “Preview isn't available”
        message has been replaced with more informative HTML
        descriptions of the intention actions that aren’t supported.
        What’s more, for an action that modifies several files, the
        preview displays part of a possible outcome. This partial
        outcome should be enough to give you a general idea of what the
        action will change.

    * **Improved Markdown support** - Tables can now be created with
      ease. Simply invoke the context menu and select Insert | Table.
      You can select the preferred size using the mouse hover action or
      the keyboard. The cell width in the table will be adjusted as you
      type. You can edit the table content using the floating toolbars.
      To create a new row you can use Shift+Enter, and Tab to navigate
      to the next cell.

  * **User Experience**

    * **New Bookmarks tool window** - Added the new Bookmarks tool
      window that is destined to replace a similar instance –
      Favorites.

      * From now on, you can simply use the F3 shortcut on macOS or F11
        on Windows and Linux to mark your files, folders, and classes as
        important.

      * When you add a bookmark, by default IntelliJ IDEA puts it in the
        node named after your project in the Bookmarks tool window.

      * Every time you add a new bookmark, it will appear at the top of
        the list inside this node.

      * You can sort your bookmarks by type using the Sort Groups and
        Bookmarks option in the tool window’s settings.

      * You can also create new nodes and drag and drop items in them.

    * **Ability to split the Run tool window** - Added the ability to
      split the Run tool window with tabs. This allows you to run
      several configurations simultaneously and see all of the results.
      To split the window, drag the tab you want to see to the
      highlighted area inside the Run tool window and drop it there. To
      unsplit the window again, right-click the top pane and select
      Unsplit from the context menu.

    * **ML-based search for actions in Search Everywhere** - When
      searching for actions, Search Everywhere in IntelliJ IDEA is now
      powered by machine learning by default. An ML-based formula has
      been trained that takes into account:

      * The specific user’s action usage history.

      * Action usage frequencies across the whole user base.

      * The lengths of the search query, the action’s name, and so on.

    * **Improved Find Usages** - When you search for usages of a method
      implementation via ⌥F7 on macOS or Alt+F7 on Windows and Linux,
      the IDE no longer asks whether you want to find usages of the base
      method in a pop-up. Instead, IntelliJ IDEA will use top-level
      hierarchy methods as targets for your search by default. If you
      want to change this behavior, deselect the Search for base method
      usages checkbox in the Find Usages tool window settings, which you
      can access by clicking the gear icon.

    * **Reworked Show Usages** - The Show Usages dialog has received
      several useful new features:

      * Introduced the source code preview per found usage, which you
        can see by clicking the square icon in the top toolbar pane.

      * Another update lets you change the scope of your search with the
        new drop-down list located next to the Preview icon.

      * The window’s title bar now shows the type of code element you
        are searching for and the number of usages found.

      * Another minor yet very convenient update allows you to set the
        dialog width, which the IDE will retain the next time you
        invoke it.

    * **Reworked Empty Project and new Multi-Module Project nodes:**

      * You can now select the Empty Project node to create a basic
        project for working with separate files of different types and
        adding Java and Kotlin classes.

      * The IDE will automatically configure the project so that you can
        compile it if any Java or Kotlin classes are present.

      * The new Multi-Module Project node lets you create a project with
        a complex structure from scratch. Once the project is created,
        the Project Structure dialog will open, and you’ll be able to
        add various modules.

    * **Accessibility updates** - IntelliJ IDEA 2021.3 addresses some
      accessibility issues to make working with the screen reader more
      comfortable:

      * The tool window widget pop-up has been disabled and the quick
        documentation pop-up that used to appear on mouse hover.

      * Fixed an issue with calling the Go to Declaration dialog.

      * The accessibility support on macOS has also been improved.

      * Resolved several issues with the voiceover focus and made it
        possible for screen readers to detect the list items in the New
        Project wizard when you create projects.

      * To minimize distractions while you're coding, the number of help
        tooltips that play sounds has been decreased.

  * **Java**

    * **Inspection for tracking unsafe strings** - IntelliJ IDEA now
      warns you about hazards such as SQL injection and XSS flaws,
      sensitive data leaks, and insecure deserialization. It also
      prevents you from passing insecure data to secure methods. These
      additional warnings are provided by the new Non-safe string is
      passed to a safe method inspection. For this inspection to work,
      you need to annotate strings as @Untainted (“safe”) or
      @Tainted (“unsafe”). These annotations will become valid when
      you add the org.checkerframework.​checker.​tainting.​qual
      dependency.

    * **Other new Java inspections** - Added two inspections that can
      help you to simplify your code. The first one suggests that you
      replace collect(toList()) with .toList(). You can use it with Java
      versions 16 and up. Another inspection prompts you to replace
      collection.addAll(List.of("x")) with collection.add(x), and
      map.putAll(Map.of("a", "b")) with map.put("a", "b").

    * **Improved refactorings:**

      * When you introduce a local variable in Java, the settings that
        are applicable to it no longer appear in a pop-up, which used to
        cover the code you were writing. Instead, you can access these
        options by clicking the gear icon next to a variable or by using
        the ⌥⇧O shortcut on macOS or Alt+Shift+O on Windows.

      * Improved the Introduce parameter refactoring. When you invoke
        this refactoring, with ⌥⌘P on macOS or Ctrl+Alt+P on Windows
        and Linux, the IDE asks where you want to replace occurrences.
        After you make this selection, a gear icon will appear, and
        clicking on it will allow you to configure more settings for the
        refactoring.

    * **Customizable classpath in Run/Debug Configurations** -
      Sometimes you may need to define custom classpaths in the
      Run/Debug Configurations dialog on a per-config basis. Starting
      from this version, it is possible to do so by selecting Modify
      options | Modify classpath.

  * **Kotlin**

    * **Extract constant refactoring** - Introduced a new refactoring
      that lets you extract constants in Kotlin. To use it, put the
      caret on a string and press ⌥⌘C on macOS or Ctrl+Alt+C on
      Windows and Linux.

    * **Improved Possibly blocking call in non-blocking context
      inspection** - The Possibly blocking call in non-blocking context
      inspection warns you if you use a coroutine in the wrong context.
      In this release, the inspection works not only as a warning but
      also as a context-dependent quick-fix. This inspection now covers
      more cases, and you can customize it, so it works better in your
      particular environment.

    * **Inline hints for ranges** - Sometimes it can be difficult to
      understand the various ways to declare the ranges that Kotlin
      supports. To make it a little easier, inline hints have been added
      that explain with plain mathematical signs what the words or
      symbols in the ranges mean. If you don’t need this feature, you
      can easily disable it by right-clicking on a hint and selecting
      Disable ‘Ranges’ hints type.

    * **Better New Project wizard** - Reworked the layout of the New
      Project wizard by adding tooltips for all of the fields, so you
      can easily understand what info they require. The templates
      section has received an update as well – Some of the unpopular
      templates have been removed and a new one has been added that
      lets you create a Compose Web Application. The project set up
      step has become much simpler. You now only need to fill in the
      basic fields.

  * **Scala**

    * **Scala 3 support improvements:**

      * Added highlighting, navigation, and autocomplete for end
        markers.

      * There's now autocomplete for given, using, and export keywords,
        soft keywords, and the quiet syntax.

      * The TASTy reader can now parse package objects, as well as
        variance and bounds in higher-kinded types.

      * The highlighting of lexer and parser errors is now
        significantly faster.

      * There are more inspections that are compatible with Scala 3.

      * Improved the resolve of given imports and supported final top-
        level members and abstract lazy vals.

    * **An option to open Scala 3 / Scala 2 cross-compiled projects as
      Scala 2** - Many projects that should be compiled for both Scala
      2 and Scala 3 are modeled as Scala 3 projects cross-compiled for
      Scala 2, even though technically they are Scala 2 projects.
      Opening such projects as Scala 2 allows the IDE to use the correct
      Scala version, and is more reliable.

    * **Data flow analysis for Scala** - The Scala plugin now supports
      data flow analysis, which can help you detect programming errors
      more easily.

    * **Autocomplete for Scala compiler options** - There are many
      different options in the Scala compiler, those options vary
      depending on the Scala version in use. You can now autocomplete
      the applicable options and even see Quick Documentation for
      each of them.

    * **Inlay hints for ranges** - Added inlay hints for ranges.

  * **JavaScript**

    * **New inspection for updating dependencies** - This release
      allows you to update your npm packages to the latest version right
      from the editor. Open your package.json file, place the caret on
      the package version you want to update, and then press ⌥⏎ on
      macOS or Alt+Enter on Windows and Linux and select Update
      ‘package name’ to the latest version. A quick-fix will also be
      shown when you hover over the package version.

    * **Improved code completion in HTML** - Improved the way code
      completion works in HTML. Whenever you type a tag name or an
      abbreviation in the editor, or invoke code completion, IntelliJ
      IDEA will show you relevant suggestions right away. Previously, it
      would only show them if you typed < first. Additionally, code
      completion for character entity references should now work better.

  * **SSH**

    * **Proxy support for SSH connections** - This new feature allows
      you to specify an HTTP or SOCKS proxy server for your SSH
      configuration in Preferences/Settings | Tools | SSH
      Configurations. Under the new HTTP/SOCKS section, you can select
      the proxy type, enter a hostname and a port, and apply
      authentication with a username and password, if necessary. It is
      also possible to sync your SSH proxy settings with the global IDE
      ones. To do so, select the Use global IDE proxy settings checkbox.

  * **Profiler**

    * **Compare .jfr snapshots** - It is now easy to check whether the
      changes you’ve made worked for your program or caused a
      regression. To do so, just open two snapshots that you want to
      compare in the Profiler tool window. In the most recent snapshot,
      click the diff icon and select the snapshot you’ll use as the
      baseline. The IDE will display the result in the form of a flame
      graph, call tree, or method list.

    * **Support for Async Profiler 2.0 on Windows** - Starting from
      v2021.3, the Windows version supports Async Profiler 2.0 out of
      the box as well. This support provides a smoother profiling
      experience and also improves the way native functions are
      displayed in snapshots.

  * **Build tools**

    * **Redesigned Maven configurations** - This release takes some
      steps toward improving the Run/Debug configurations, and this
      time, Maven configurations have received a significant redesign.
      The key parameters are all grouped on one screen, while additional
      options are available via Modify options.

    * **Support for .mvn/maven.config** - If you want to configure the
      Maven settings for each project in the .mvn/maven.config file, go
      to Preferences/Settings | Build, Execution, Deployment | Maven and
      select Use settings from .mvn/maven.config at the bottom of the
      screen. Please keep in mind that the settings from this file
      override the standard Maven UI settings.

  * **Version control**

    * **Checkout and Rebase onto Current for remote branches** - With
      the Checkout and Rebase onto Current action, you can check out the
      selected branch and rebase it on top of a branch that is currently
      checked out. Previously, this action was available for local
      branches only. Now you can use it for remote branches as well.

    * **Reorganized VCS settings** - Improved the way the settings in
      Preferences/Settings | Version Control are structured, and made
      some of the critical configurations there more discoverable. The
      Version Control node now serves as the starting point for
      navigation, with links to all the available settings. If you go to
      the Git node from there, you’ll notice that all the settings
      have been divided into sections that account for the most
      important processes: Commit, Push, and Update. The parameters
      inside these sections are now organized more logically. A separate
      node for Directory mappings has been added, and the background
      operations are now switched on by default. The Background node no
      longer exists.

    * **New Changes tool window** - Starting from this release, your
      IDE shows the difference between commits in a separate Changes
      tool window located to the left of the editor.

    * **New Push All up to Here action** - Added a new action that
      allows you to push only the commits you are confident about and
      leave the rest for later. It allows you to push commits up to
      the one you have selected in the Log tab of the Git tool window.
      To use it, pick the commit you want to stop at, right-click on
      it to call the context menu, and select the new Push All up to
      Here action.

    * **Align Changes Highlighting** - Added the new Align Changes
      Highlighting option to the Diff screen settings that can be found
      under the gear icon. This feature makes the Diff easier to read,
      especially when there are complex modifications, because it
      aligns the unchanged lines so that they are displayed next to
      each other. This helps you see the code that has been added or
      removed more clearly.

  * **Terminal**

    * **ConPTY support on Windows** - Added support for the new ConPTY
      API on Windows. It addresses several issues users were having with
      the old implementation, which was based on winpty, and adds
      support for 24-bit colors in the terminal.

    * **Typeahead support** - The newly added typeahead support in the
      IntelliJ IDEA terminal predicts text modifications and instantly
      displays them in light grey. This feature allows you to type in
      the terminal equally fast on both a local or remote machine.

  * **Debugger**

    * **Evaluate expressions from the debugger** - Improved the
      discoverability of the Evaluate feature. Previously, when users
      needed to evaluate something, many of them resorted to using
      watches. They just created a watch and then removed it, instead of
      using the Evaluate dialog. The Evaluate field is now accessible
      right in the Debug tool window, making the most convenient way to
      evaluate expressions more obvious.

  * **Frameworks & Technologies**

    * **gRPC requests in the HTTP client** - IntelliJ IDEA’s HTTP
      client provides basic support for gRPC requests. When you type the
      GRPC keyword to start your request, the HTTP client offers code
      completion. Your IDE prompts you about all known gRPC services,
      unary and server-streaming methods of a particular server, and,
      most importantly, fields of the request body. Another new feature
      allows you to generate a gRPC request in the HTTP client. To do
      so, just click on the gutter icons in your .proto files.

    * **Binary responses in the HTTP client** - The HTTP client can now
      detect images in responses and display previews of them in the
      response console.

    * **Support for text streams and JSON streams in the HTTP Client**
      - When testing streaming applications in IntelliJ IDEA, you no
      longer need to wait for a stream to end because the HTTP client
      will display the output on the fly. This is now possible because
      support has been added for the following content types: text/event-
      stream, application/stream+JSON, and application/x-ndjson. You
      will also be notified when a stream ends.

    * **Output redirection to custom file or directory in the HTTP
      client** - In the HTTP client, it is now possible to redirect
      output to a custom file or directory. You can use two operators
      for forced and soft redirects:

      * The >> operator always creates a new file, adding an -n suffix
        to the file name if the requested file name already exists.

      * The >>! operator rewrites the file if it already exists.

    * **Support for HTTP request identifiers** - You can now add
      request …

Fri Aug 15 14:00:01 2025 schmonz (pkgsrc commits)
doc: Updated devel/intellij-ce-bin to 2025.2

Fri Aug 15 14:00:01 2025 schmonz (pkgsrc commits)
intellij-ce-bin: update to 2025.2. Changes:

### Updates in 2025.2

#### Features

  * **Improved AI experience with more control and better context
    management** - Better performance and new capabilities for Junie
    and AI Assistant:

    * AI Assistant finally delivers AI-powered code completion for SQL,
      YAML, JSON, and Markdown.

    * AI-powered code completion now suggests code blocks for Java in
      offline mode and lets you choose your preferred local code
      completion model. Enjoy smart suggestions anywhere, be it on a
      plane, off the grid, or in a closed enterprise environment.

    * Junie is now up to 30% faster and works in remote environments.

    * The new Project Rules file lets you define project-specific
      instructions, for example regarding coding style or framework
      constraints, to guide AI responses.

    * Select AUTO in the model dropdown menu to delegate the choice to
      IntelliJ IDEA in order to achieve the best generation quality and
      optimized cost.

    * New ways to provide more precise context to the AI:

    * Attach specific tables or views to the AI chat to get much more
      accurate AI assistance that reflects the actual state of your
      data structures. This is especially useful in complex, enterprise-
      scale projects.

    * Attach images in the AI chat to share errors and diagrams without
      retyping. This feature is currently supported with Anthropic and
      OpenAI models and will be enabled for others soon.

    * Add folders to the chat context to improve multi-file context for
      AI conversations.

    * Support for the MCP in Junie and IntelliJ IDEA 2025.2:

      * Junie now supports the Model Context Protocol (MCP), enabling
        deeper context awareness and smarter task execution by
        connecting external tools.

      * IntelliJ IDEA can now act as an MCP server for third-party
        AI agents. The IDE detects a client on your machine and
        delivers over 30 built-in tools to enhance AI workflows in a
        single click.

  * **Java 25 support for early adopters** - Be among the first to
    adopt the newest tech with IntelliJ IDEA's support for both final
    and preview features of Java 25 - the next long-term support
    (LTS) release.

  * **Spring Debugger** - Spring Debugger fundamentally improves how
    developers understand and troubleshoot Spring applications. It
    integrates real-time runtime insights directly into the IDE. See
    which beans are loaded or mocked, inspect resolved configuration
    values with source tracking, and monitor active database connections
    and transaction states. You can evaluate bean definitions live and
    trace property values, even when sourced from environment variables
    or profile-specific configs.

  * **Spring Modulith** - With the 2025.2 version, IntelliJ IDEA
    Ultimate offers robust support for it, built in collaboration with
    the Spring Modulith team. New checks, fixes, and suggestions help
    manage module dependencies and enforce clean domain boundaries. A
    warning icon in the code completion popup flags beans from other
    modules, while a new Logical view lets you explore your Modulith
    structure at a glance. This makes it easier to follow DDD
    principles and build modular, event-driven Spring Boot apps right
    inside your IDE.

  * **Maven 4 support for early adopters** - Maven 4 has been in
    development for some time, but it is getting close to the general
    availability release. IntelliJ IDEA already allows you to work with
    Maven 4 projects, so once the stable version arrives, you can switch
    to it seamlessly. Meanwhile, you can try Maven 4 in your project
    using one of the latest release candidates, with all the key
    features you expect: reliable project sync, accurate outputs, full
    navigation, syntax support for the new modelVersion, and more.

  * **Virtual thread debugging** - Virtual threads, introduced in JDK
    21 and improved in JDK 24, are a major step forward for Java
    concurrency. Yet supporting them was an engineering challenge for
    the tooling developers. IntelliJ IDEA 2025.2 brings important
    updates for the debugger and thread dump viewer to close that gap.
    You can now collect and inspect virtual threads in thread dumps,
    even when the app is paused or at a breakpoint. The IDE shows what
    object each virtual thread is locked on, helping you diagnose
    bottlenecks. To avoid flooding the view, threads with identical
    stack traces are automatically grouped, making large dumps easier to
    navigate. You can also load thread dumps from tools like jstack and
    jcmd, giving you more ways to analyze performance issues in highly
    concurrent apps.

  * **Scala support** - IntelliJ IDEA 2025.2 introduces full support
    for Scala 3 opaque types and new generic tuple operations. Opaque
    types now integrate properly with givens, extension methods, and
    alias bounds, with improved inference in complex scenarios. Tuple
    operations like zip, concat, and others are now recognized and
    supported in completion and type resolution. The new sbt module
    layout is now out of Beta and is enabled by default, reflecting sbt
    main/test scope-specific settings more accurately in the IDE. In
    addition, project sync now automatically generates sbt-managed
    source files, reducing red code caused by missing sources and
    improving the experience with popular sbt plugins.

  * **Improved database workflows** - IntelliJ IDEA 2025.2 has
    introduced a major improvement for working with data. Previously,
    editing data in the results grid was limited to simple SELECT
    queries. Now, even SELECT statements with JOIN clauses can be edited
    directly, making it much easier to update related data without
    writing manual UPDATE statements.

  * **Web development updates** - Recent updates enhance web
    development workflows with better code assistance, smarter
    documentation, and smoother tool integration. Experimental support
    for the new TypeScript-Go language server is now available, offering
    faster and more accurate assistance for TypeScript projects.

  * Quick documentation includes Web Platform Baseline data, making it
    easy to check browser support for web APIs without leaving the
    editor. Bun is also detected automatically and fully configured -
    from running scripts to installing packages - allowing projects to
    start with minimal setup.

  * **JSpecify support** - JSpecify offers a unified, library-based
    standard for nullability annotations, aiming to bring consistency
    across libraries, tools, and the language itself. To support the
    adoption of JSpecify, IntelliJ IDEA now treats its annotations as
    first-class citizens, on par with JetBrains annotations. Thanks to
    static analysis capabilities, IntelliJ IDEA can detect nullability
    issues even in complex scenarios involving generics and collections.
    In addition, Kotlin also respects these annotations when analyzing
    Java code, improving cross-language null safety.

  * **Native Bazel support** - IntelliJ IDEA 2025.2 introduces native
    support through the official JetBrains Bazel plugin, now generally
    available. Bazel becomes a first-class citizen in IntelliJ IDEA,
    with deep integration for Java, Kotlin, Scala, Python, and Go. You
    get accurate target-to-module mapping, high performance, and a clear
    UX, on all operating systems.

### Updates in 2025.1

#### Features

 **IntelliJ IDEA Goes AI**

  * JetBrains AI has received a major upgrade, bringing both AI
    Assistant and Junie under a single subscription. With this release,
    all JetBrains AI features are accessible for free in the IDEs, with
    unlimited use for some, such as unlimited code completion and local
    model support, and limited credit-based access to others. JetBrains
    are also introducing a new subscription system that makes it easy to
    scale up as needed with the AI Pro and AI Ultimate tiers.

  * This release introduces major enhancements to boost productivity
    and reduce repetitive work. Updates include smarter code
    completion, support for new cloud models like OpenAI GPT-4.1
    (сoming soon), Claude 3.7 Sonnet, and Gemini 2.0 Flash, advanced
    RAG-based context awareness, and a new edit mode for multi-file
    edits directly from the chat.

**Key Highlights**

  * **Java 24 support**

    * Version 2025.1 provides full support for all features in the
      latest Java 24 release, ensuring a seamless experience with the
      newest language updates. Stream gatherers, now a stable feature,
      are integrated into the stream debugging workflow. All other
      features, whether experimental, in preview, or finalized, are
      supported as well, so you can leverage them in your projects.

  * **Kotlin K2 mode by default**

    * In this release, K2 mode is enabled by default. This is a major
      milestone built on all the progress made toward improving code
      analysis, memory efficiency, and overall performance for Kotlin
      development. With full support for all Kotlin 2.1 (and newer)
      language features, K2 mode is a significant step forward that will
      allow us to continue improving the IDE's language support.

  * **Control over watch evaluations**

    * You can now pause and resume the evaluation of watches to control
      possible side effects of watch computations. Simply right-click a
      watch during evaluation and select Pause Watch. While paused, it
      won't evaluate and report errors. To resume the evaluation
      process, click Resume Watch in the context menu.

  * **Kotlin notebooks for everyone**

    * Kotlin Notebook, a new interactive environment for JVM developers,
      is now a built-in feature of IntelliJ IDEA! Kotlin notebooks are
      perfect for a wide range of tasks – from real-time prototyping,
      presenting, log parsing, and documentation writing to in-depth
      data analysis and visualization.

**User Experience**

  * **New terminal architecture - Beta**

    * The 2025.1 release introduces a reworked terminal architecture,
      which is available in Beta. The terminal now runs on a stable, standards-
      compliant core and uses the IDE's editor to render the UI. This
      change lets us introduce new features while preserving
      compatibility and performance across various platforms, whether
      local or remote.

  * **Merged main menu in the main toolbar on Windows and Linux**

    * For Windows and Linux users, the IDE now offers a new option to
      merge the main menu with the main toolbar, creating a more
      streamlined interface.

  * **Search functionality in Markdown previews**

    * In IntelliJ IDEA 2025.1, you can search within Markdown previews.
      Since README.md previews are often the first thing you see when
      opening or cloning a project, this update makes it easier to find
      key information instantly.

  * **Native OS file dialogs on Windows**

    * IntelliJ IDEA now defaults to using native Windows file dialogs
      instead of the IDE's custom implementation. This gives you a more
      familiar experience when opening or saving files. If you prefer
      the previous behavior, you can restore it in Advanced Settings |
      User Interface.

  * **New file creation in the Project tool window**

    * Creating a new file is now more convenient. You can access the
      popup listing available file templates directly from the Project
      window toolbar via the + icon, and the search field lets you
      quickly filter and find the file type you need.

  * **Automatic plugin updates**

    * You can set IntelliJ IDEA to automatically update plugins in the
      background. It will download available updates and apply them on
      the next IDE restart without additional notifications.

**Kotlin**

  * **Enhanced dependency resolution in main.kts**

    * IntelliJ IDEA 2025.1 improves the stability and predictability of
      dependency resolution in Kotlin build scripts. Previously,
      resolution ran in parallel with code highlighting, causing delays
      and delivering unclear feedback. Now, you can track its progress
      using the Load script dependencies button. Scripts without any
      dependencies open immediately and are ready for highlighting
      without unnecessary processing.

  * **Quick-fix for non-imported KDoc names**

    * IntelliJ IDEA 2025.1 introduces a long-awaited quick-fix to
      simplify writing KDoc. The IDE can now automatically insert
      qualified names in KDoc links.

  * **Hints about code alterations caused by Kotlin compiler plugins**

    * With this update, IntelliJ IDEA now provides clearer insights
      into modifications introduced by compiler plugins, making their
      behavior more transparent. Kotlin features several powerful
      compiler plugins, such as kotlinx.serialization and all-open,
      that are used across various domains and can alter how Kotlin
      code behaves.

**Scala**

  * **Scala 3 support**

    * This release includes improved support for the new syntax for
      context bounds and givens (SIP-64). JetBrains have also improved
      the support for named tuples (SIP-58) and introduced support for
      for-comprehension syntax (SIP-62). JetBrains have fully adopted
      Scala 3's changes to implicit resolution logic. There are multiple
      other smaller bug fixes and improvements, and Scala 3 code is now
      correctly highlighted in code snippets in Markdown files.

  * **Improved debugging experience**

    * The debugger no longer encounters issues stopping at
      breakpoints inside lambdas in traits and inside lazy vals in
      try…catch blocks.

  * **Refined code highlighting for Scala**

    * In the 2024.3 release, JetBrains introduced support for
      transparent inline methods in Scala 3. Now, as JetBrains continue
      to work on support for Scala macros, JetBrains offer support for
      Scala 2 macro types. JetBrains have also improved type hints for
      variable patterns, generators, and literal parameters, as well as
      type info for underscore parameters and kind-projector syntax.

  * **Enhancements for sbt projects**

    * JetBrains have made several improvements to the new separate
      production and test modules. A new Generate sbt managed sources
      action helps you avoid situations when good code is marked red
      because it relies on sources generated during project import.
      Additionally, the New Project wizard now suggests downloading the
      JDK for new sbt projects.

  * **Other improvements**

    * Code completion can now provide partial results during indexing.
      Additionally, when you use Code With Me for Scala projects, you
      will see that the auto-import quick-fix is offered only after code
      is edited on the host.

**Frameworks and Technologies**

  * **Automatic creation of nonexistent Spring Data repositories**

    * IntelliJ IDEA now automatically creates Spring Data repositories
      for you. Simply start typing the entity name, and if the
      repository doesn't exist, the IDE will suggest creating one.
      Choose the repository type and seamlessly continue your work by
      adding derived query methods and processing the extracted data.

  * **Enhanced user experience for generated HTTP requests**

    * The HTTP Client now opens HTTP requests generated from code in the
      right-hand editor split, which means you no longer need to review
      them in a separate tab.

  * **Support for Liquibase in the Logical code structure view**

    * With the Logical code structure view in IntelliJ IDEA 2025.1, you
      can now enjoy a more meaningful structure representation and
      streamlined navigation tailored specifically for Liquibase change
      sets. Easily explore and manage your change sets with an intuitive
      overview that highlights their logical hierarchy, helping you stay
      organized and productive when working on database schema changes.

  * **Option to export Kafka records directly to JSON, CSV, and TSV
    Ultimate**

    * IntelliJ IDEA now allows you to export Kafka records directly to
      JSON, CSV, and TSV files, making it easier to analyze and share
      streaming data. The IDE can save complete record details,
      including topic, timestamp, key, value, partition, and offset, in
      widely used formats. With this update, you can diagnose issues
      faster, verify data integrity, enable advanced analysis, and
      streamline collaboration, as exporting Kafka records helps ensure
      data is accessible and actionable. By reducing time to resolution
      and improving data transparency, this enhancement provides a more
      efficient and effective Kafka experience.

  * **OpenTofu gutter actions**

    * IntelliJ IDEA 2025.1 introduces interactive gutter actions
      for.tofu files, which are used to define cloud resources in
      OpenTofu, an open-source infrastructure-as-code (IaC) framework.
      With this new gutter integration, you can execute key OpenTofu
      commands directly from the editor – no need to switch to the
      terminal. A clickable icon in the editor's gutter opens a menu of
      common actions like Init, Validate, Plan, Apply, and Destroy,
      putting your infrastructure commands at your fingertips.

  * **Containerfile support**

    * IntelliJ IDEA now recognizes Containerfiles natively, offering
      syntax highlighting, linting, and snippet suggestions and ensuring
      a smooth developer experience for anyone juggling Docker, Podman,
      and Buildah in the same environment. This update eliminates the
      friction that previously forced you to either change the name
      "Containerfile" to "Dockerfile" and lose access to Podman-specific
      features or just plow through with basic text editing.

  * **Support for lowercase instructions in Dockerfiles**

    * IntelliJ IDEA 2025.1 allows you to write directives in lowercase
      in addition to the conventional uppercase. Previously, the IDE
      recognized commands like FROM, RUN, and COPY as Dockerfile
      instructions. Now, you're also free to use the lowercase from,
      run, and copy to accommodate specific commands, plugins, corporate
      standards, or personal preferences.

  * **New inspection for reliable ENTRYPOINT initialization with exec**

    * JetBrains have introduced a new Dockerfile inspection that
      ensures your ENTRYPOINT is correctly initiated with exec. Using
      exec allows signals sent via docker stop to reach the main
      process directly, preventing lingering and keeping processes from
      being improperly terminated. If you omit exec, your application
      may run as a child process and fail to receive signals like
      SIGTERM, making shutdown unreliable. This inspection highlights
      incorrect ENTRYPOINT usage and guides you toward best practices,
      helping you maintain cleaner Dockerfiles and more robust
      container life cycles.

  * **Git-ready Ubuntu image for easier Dev Container setup**

    * When you clone a repository without a Dev Container configuration,
      the IDE's New Project wizard now offers the option to use an
      optimized Ubuntu-based container that has Git pre-installed. This
      update eliminates common issues like Git being missing, reducing
      setup time so you can focus on coding.

  * **Support for userEnvProbe for Dev Containers**

    * The IDE now supports the userEnvProbe option in devcontainer.json,
      making it easier to replicate your local shell environment inside
      Dev Containers. This feature automatically imports settings like
      aliases, environment variables, and authentication tokens during
      container startup, ensuring a seamless development experience
      without performance overhead on every subprocess. Preserving
      familiar configurations helps teams onboard quickly and work
      efficiently in containerized environments.

  * **Faster WSL workflows and easier cross-platform development**

    * JetBrains are enhancing JetBrains IDEs to work better in
      heterogeneous environments – places where your local operating
      system is different from the one where your project actually
      lives. A common example of such an environment, and the first
      JetBrains have added support for, is WSL (the Windows Subsystem
      for Linux). If your project is located in WSL, IntelliJ IDEA
      2025.1 automatically uses the JDK available inside it. This makes
      file indexing when using WSL from Windows up to 30% faster, with
      no noticeable lag or freezing. Symlinks are also fully supported,
      and JetBrains continues to improve support for Maven, Gradle,
      Git, and other tools to ensure they work seamlessly in these
      mixed setups.

**Build Tools**

  * **Support for Gradle Daemon toolchains**

    * Starting with Gradle 8.13, you can now use the native toolchain to
      define the exact JVM for the Gradle Daemon, just like you do for
      the project itself. IntelliJ IDEA syncs with Gradle's
      configuration and even lets Gradle download the required JVM
      automatically if needed.

  * **Automatic download of library sources for Gradle projects**

    * IntelliJ IDEA 2025.1 makes it easier to access the source code of
      libraries when working with dependencies in Gradle projects. The
      IDE now automatically downloads the sources upon navigation to a
      relevant file. Previously, it relied on decompiled sources by
      default and only gave you the option to download the originals
      manually. With this update, you'll get well-formatted source code
      and accompanying documentation right away.

  * **Improved support for multi-release JARs**

    * IntelliJ IDEA 2025.1 improves the multi-release JAR support,
      making Maven project setup smoother and more reliable. Previously,
      additional source roots with different language levels inside a
      single JAR weren't recognized correctly during project sync. Now,
      the IDE properly handles them, streamlining this advanced workflow
      for the multi-release JAR generation introduced in Java 9.

  * **Improved support for Bazel projects**

    * Bazel is now ready for Java and Kotlin, offering essential
      features such as debugging, running and testing targets with
      coverage, and HotSwap. The Python support offered via the plugin
      is also enabled, including debugging for Python targets. Other
      improvements include phased sync, which lets you import and get to
      code faster, the ability to run all tests within a directory or
      target tree, context menu actions for copying target IDs, and a
      simple wizard for creating new projects.

**Version Control Systems**

  * **Commit details in the diff view**

    * You can now see commit details directly in the diff view. The diff
      dialog displays the commit message, author, date and time, and
      full commit hash, giving you a clearer view of a file's history
      and helping you understand modifications faster.

  * **Option to run tools for pre-commit checks**

    * You can now launch any tool to perform a pre-commit check
      alongside inspections and formatting. Custom checks can be
      configured as run configurations in the Run Configuration dialog.
      This helps you catch potential issues early and ensures your code
      meets project standards before it's committed.

  * **Automatic fetch when adding or modifying a Git remote**

    * IntelliJ IDEA now automatically fetches changes when you add or
      update a Git remote, ensuring you always have the latest branch
      list and commit history without needing to fetch them manually.
      Newly fetched branches will immediately appear in the Git branch
      tree. You'll be able to start working with them right away, and
      your repository will always be up to date.

  * **Option to disable the running of Git commit hooks**

    * A new option allows you to instruct the IDE not to run Git
      commit hooks. Previously, Git hooks would execute automatically
      during commit operations, which might not have been desirable
      in all situations. With this update, you can now configure the
      IDE to skip these hooks, giving you more control over your
      commit process.

  * **Commit experience updates**

    * JetBrains are refining the non-modal commit workflow, the default
      built-in option, in response to the extensive feedback received
      during the Early Access Program. The modal commit interface is
      becoming a plugin, which can be activated in Settings | Advanced
      Settings | Version Control. Git. In version 2025.1, the plugin
      will be bundled with the IDE, so you'll be able to continue using
      the interface without having to install it manually.

**Debugger**

  * **Easier toolbar customization in the Debug tool window**

    * You can now customize the debugger's toolbar to better fit your
      workflow so you can take full advantage of its powerful features.
      Right-click next to the kebab menu in the top pane and select Add
      to Debugger Toolbar to see a list of available actions.

  * **Text popups in inline hints**

    * During debugging, when inspecting a value that contains markup
      text, you can now view it with proper formatting instead of as a
      plain, lengthy string. For example, if the value is an XML input
      for a parser, it will be displayed in a structured, readable
      format. This functionality, previously available only in watches,
      has now been extended to inline debugging so you can benefit from
      a consistent experience across both views.

**Code Quality and Security**

  * **Security analysis by Qodana – new configuration and tooling**

    * Configuring taint rules for security analyzers can be a difficult
      and time-consuming task, often requiring a lot of manual effort.
      To simplify this process, JetBrains has introduced a predefined
      configuration that automatically covers common sources and sinks,
      built on various benchmarks and external providers. The security
      analyzer now includes predefined taint rules for the most common
      categories of OWASP Top 10:2021 vulnerabilities (A01, A03, A07,
      A08, A10). This significantly improves issue detection out of the
      box, minimizing effort on your end while providing broad security
      coverage. Taint rules can be configured using .kts files, allowing
      you to define library and user code as sources or sinks. This
      flexibility ensures that the security analysis adapts to your project-
      specific needs.

**Web Development**

  * **Angular improvements**

    * IntelliJ IDEA 2025.1 adds support for Angular 17.2 signal queries,
      smarter reactive form completion, and code completion support for
      host binding attributes based on directive selectors, with quick-
      fixes for creating fields within binding expressions.

  * **Better monorepo support**

    * Working in a monorepo just got smoother. The IDE now respects
      Prettier configs per subproject, offers smarter auto-imports and
      path alias resolution via improved exports handling, and delivers
      faster code completion and navigation in large Nx workspaces.
      Enjoy a more consistent and efficient coding experience across all
      your projects.

**Database Tools**

  * **Introspection by levels for MySQL and MariaDB**

    * JetBrains are continuing work to enhance introspection
      performance. Starting from version 2025.1, there will be different
      introspection levels for MySQL and MariaDB, and the amount of
      metadata that gets loaded will automatically be adjusted depending
      on the size of your database. In other words, it won't load all
      the metadata if your database is large. This will significantly
      reduce introspection time and allow you to start working with
      newly connected data sources right away.

  * **Attached schemas in the 'Explain with AI' chat**

    * Explanations are more effective when they use all the relevant
      context. Now, when you ask AI Assistant to explain a query, the
      corresponding schema is automatically attached to the chat.

  * **Support for tildes in path fields**

    * JetBrains have implemented support for the use of tildes (~) in
      the path fields for SSL certificates and BigQuery key files. Now,
      you can use the character to specify directories in the Data
      Sources and Drivers dialog. To do that for your SSL connection,
      open the dialog by pressing Ctrl+I, and select the data source you
      want to change the settings for. Then, open the SSH/SSL tab and
      navigate to the SSL section.

  * **Support for loading full cell values in place**

    * There is now a setting that limits the amount of data that's
      loaded in each cell. Designed to improve performance when working
      with large tables, this option allows you to decide whether you
      want cells to be partially or fully loaded.

  * **Geo-type data display**

    * For PostgreSQL, MySQL, and MariaDB spatial databases, IntelliJ
      IDEA can now correctly display geo types raw in the grid.

  * **The ability to download drivers from Maven or other custom
    repositories**

    * Version 2025.1 allows you to add custom repositories for
      downloading drivers. To do so, add the repositories you need to
      the mirrors attribute of the HOME_PATH/.m2/settings.xml file.

**Other**

  * **Deprecation of support for glibc versions below 2.28 on Linux**

    * The IDE no longer supports Linux distributions running glibc
      versions below 2.28. If your system uses an unsupported version,
      IntelliJ IDEA will display a warning on startup.

### Updates in 2024.3

#### Features

 **Key Highlights**

  * **Logical code structure in the Structure tool window**

    * The Structure tool window now includes a Logical code structure
      alongside the familiar Physical structure. This allows you to view
      not only classes, methods, and fields but also the links and
      interactions between components in your project. For example, when
      you open a controller in a Spring Boot application, you can see
      its endpoints and the autowired application components. This
      enhanced view helps you understand the project structure and
      allows you to navigate through the project by following both code
      usages and meaningful connections.

  * **Improved Kubernetes application debugging experience**

    * JetBrains have made debugging Kubernetes applications even easier.
      You can activate tunnel debugging simply by clicking on the
      ellipsis next to the Debug button and selecting Add Tunnel for
      Remote Debug. This makes your workstation a virtual part of the
      Kubernetes cluster, allowing you to swap in a pod and debug
      microservices locally with your preferred tools. Other
      microservices will interact with your workstation as though it's
      the pod you're debugging, with full network access to the rest of
      the cluster. Even non-Kubernetes-aware debuggers work flawlessly.
      Additionally, the new Forward Ports section in the Kubernetes UI
      under the Services tool window simplifies port forwarding.

  * **Kubernetes cluster logs**

    * IntelliJ IDEA now offers cluster-wide Kubernetes log access with
      streaming and pattern matching – essential tools for developers,
      as well as DevOps and SRE teams. This feature provides a
      centralized view of all events across pods, nodes, and services,
      helping you quickly identify issues without manually checking each
      log. Real-time streaming enables immediate diagnostics, while
      pattern matching automates the detection of key events and errors,
      such as out-of-memory issues or unusual network activity. Learn
      more about this feature and how to use it in this blog post.

  * **Stable K2 mode**

    * In IntelliJ IDEA 2024.3, K2 mode has officially moved out of Beta
      and is now Stable and ready for general use. K2 mode significantly
      improves code analysis stability, memory consumption efficiency,
      and the IDE’s overall performance. K2 mode now offers improved
      feature-parity with Java, and support for all Kotlin 2.1 features.

**AI Assistant**

  * **Inline AI prompts**

    * IntelliJ IDEA 2024.3 introduces inline AI prompts, offering a
      seamless way to interact with AI Assistant directly in the editor.
      You can type requests in natural language, which AI Assistant
      instantly interprets and converts into code changes, marked with
      purple in the gutter for easy tracking. Inline AI prompts are context-
      aware, automatically including related files and symbols for more
      accurate code generation. This feature supports Java, Kotlin,
      Scala, Groovy, JavaScript, TypeScript, Python, JSON, and YAML file
      formats, and is available to all AI Assistant subscribers.

  * **Improved context management**

    * In this update, JetBrains have made managing the context AI
      Assistant takes into account with its suggestions more transparent
      and intuitive. A revamped UI lets you view and manage every
      element included as context, providing full visibility and
      control. The open file and any selected code within it are now
      automatically added to the context, and you can easily add or
      remove files as needed, customizing the context to fit your
      workflow. Additionally, you can attach project-wide instructions
      to guide AI Assistant’s responses throughout your codebase.

  * **Option to choose a chat model provider**

    * You can now select your preferred AI chat model, choosing from
      Google Gemini, OpenAI, or local models on your machine. This
      expanded selection allows you to customize the AI chat’s
      responses to fit your specific workflow, offering a more adaptable
      and personalized experience.

**Java and Kotlin**

  * **Improvements in constant conditions**

    * In version 2024.3, IntelliJ IDEA’s data flow engine handles
      aliasing cases more accurately, leading to fewer false positives
      in inspections and a more reliable coding experience. This
      enhancement applies to both Kotlin and Java, allowing for
      improved analysis in scenarios where references may point to the
      same instance.

  * **Java code formatter improvements**

    * IntelliJ IDEA’s code formatter now allows you to retain blank
      lines between annotations and field declarations, a style that is
      commonly used in JPA entities to enhance readability. Previously,
      the formatter removed these lines by default.

  * **Support for Kotlin 2.1 experimental features**

    * With K2 mode enabled, IntelliJ IDEA supports a pair of
      experimental language features of Kotlin 2.1. First, you can now
      use non-local break and continue statements inside lambdas being
      passed as arguments to inline functions. The other newly supported
      feature is multi-dollar interpolation, which makes it easier to
      work with strings that include literal $ symbols and eliminates
      the need for workarounds like ${'$'}. This is particularly
      practical when declaring JSON schemas in your code, for example.

**Scala**

  * **Scala 3 support**

    * IntelliJ IDEA now gives you the option to use compiler-based type
      inference for transparent inline method calls in Scala 3. This
      enhancement improves support for libraries that rely on macros,
      unlocking all type-based features (such as code completion,
      navigation, type hints, etc.) for macro-based code. The feature is
      currently experimental.

    * IntelliJ IDEA 2024.3 offers full support for named tuples, a new
      experimental feature in Scala 3.5 that will become a standard
      feature in Scala 3.6. As the title suggests, named tuples allow
      you to name the components of a tuple so that they can be accessed
      with readable names.

    * Additionally, IntelliJ IDEA is better at recognizing opaque types.
      It was already able to recognize the opaque keyword, but in
      practice, IntelliJ IDEA has handled opaque types just like
      standard (i.e. transparent) type aliases. Opaque types are now
      handled as abstract types, hiding their underlying definitions.

  * **Scala CLI**

    * When you open a folder that contains a project.scala file with
      your project’s configuration, IntelliJ IDEA will now recognize
      that it’s a Scala CLI project. You can also create a new BSP-
      based Scala CLI project in the New Project wizard and add new
      Scala files to it, just as you can for sbt-based projects.

  * **New project model for sbt projects**

    * IntelliJ IDEA’s project model now represents sbt projects more
      accurately, separating production and test sources into distinct
      modules. The new model improves dependency handling and provides
      the ability to configure separate compiler options for different
      scopes. This feature is currently in Beta.

  * **Improved compiler-based highlighting**

    * JetBrains have reduced the number of cases when multiple
      compilations were necessary. For example, in instances where
      refactorings that affect multiple files result in many compilation
      requests. In the new release, IntelliJ IDEA analyzes and batches
      these requests and then issues a single request with a wider
      compilation scope. This reduces CPU resource utilization and
      optimizes the compiler’s highlighting experience.

    * JetBrains have also fixed some edge cases where duplicated parser
      errors are shown, both from the IntelliJ IDEA Scala parser and
      from the compiler.

**User experience**

  * **Spelling and grammar checks during indexing**

    * Building on the progress made in the 2024.2 release, JetBrains are
      increasing the number of essential features that are available
      while the project model is being built and indexed. In version
      2024.3, spelling and grammar checks are accessible even while
      indexing is in progress. This allows you to catch errors, such as
      those in Markdown documents and documentation tags, without
      waiting for indexing to finish.

  * **Run widget: Option to launch multiple configurations
    simultaneously**

    * The updated Run widget lets you launch multiple configurations
      simultaneously by holding Ctrl and clicking the Debug icon in the
      popup. Additionally, the widget displays controls for all running
      configurations, providing a clear overview of their statuses and
      simplifying management.

  * **Increased default tab limit**

    * JetBrains have increased the default tab limit in the editor to
      30. This means you can now keep more tabs open before the IDE
      starts closing the ones used least recently.

  * **Optimized placement for the Rename action**

    * JetBrains have optimized the placement of the Rename action in the
      context menu when called on elements in the editor and the Project
      tool window. The action is now at the top level, making it easier
      for users who frequently rely on the mouse to quickly rename
      files, variables, and other elements.

  * **Highlighting for all occurrences of selected text**

    * By default, IntelliJ IDEA will now automatically highlight all
      instances of the text you select within a file. This makes it
      easier to track where the selected text appears throughout
      your code.

  * **New icon for messages and i18n files**

    * JetBrains have made it easier to distinguish messages and i18n
      files thanks to new dedicated icons. This update helps you quickly
      locate and manage localization files in your projects, making them
      easier to differentiate from configuration files.

  * **Updated New popup for Java source roots**

    * The New popup for adding files to Java source roots now displays
      only the most relevant options, reducing clutter and streamlining
      your workflow.

  * **Floating toolbar for JSON, XML, and YAML files**

    * JetBrains have enabled the floating toolbar for JSON, XML, and
      YAML files, which makes accessing context-based and AI-driven
      actions easier. Simply select any piece of code, and the toolbar
      will appear with available actions.

**Terminal**

  * **New terminal improvements**

    * The new terminal now offers enhanced command processing, and the
      alignment of its UI has been refined, delivering a smoother, more
      intuitive experience. The terminal is now more responsive and
      processes prompts faster. Session switching is now seamless, with
      consistent state retention across tabs to ensure your workflow is
      not interrupted. Autocompletion accesses command names, flags, and
      paths more quickly, reducing manual input. JetBrains have also
      introduced additional customization options, including for prompt
      styles, session names, and environment variables, giving you
      greater control over your terminal environment.

**Version control systems**

  * **Title and description generation for pull and merge requests**

    * AI Assistant now helps generate accurate titles and descriptions
      for your pull and merge requests directly from the IDE,
      streamlining your workflow and ensuring your descriptions are
      clear and concise.

  * **Updates to Find in Files**

    * The Find in Files feature has been enhanced with a new search
      scope, Project Files Excluding Git-Ignored. This option excludes
      any files ignored in .gitignore files from your search results,
      helping you focus only on the relevant code when searching through
      your project.

  * **Option to disable background pre-commit checks**

    * You can now manage background checks during the commit process
      with a new Run advanced checks after a commit is done option under
      Settings | Version Control | Commit. This setting lets you decide
      if tests and inspections should run after making a commit. If you
      want these checks to be completed before the commit happens,
      simply disable it.

  * **Branch name on the Welcome screen**

    * The Welcome screen now shows the branch name, helping you stay
      organized when handling multiple project versions and allowing you
      to easily switch between working directories.

**Debugger**

  * **Enhanced UX for the HotSwap feature**

    * JetBrains have made using the HotSwap feature easier and more
      intuitive. This feature allows you to reload modified classes
      during a debugging session without restarting the application.
      Now, when you edit code with an active debugger session, IntelliJ
      IDEA automatically detects the changes and prompts you to reload
      them via a convenient button in the editor. This streamlines the
      development process by enabling real-time code updates. Keep in
      mind that HotSwap has some limitations, particularly with
      structural changes. You can learn more about them here.

  * **Intention action for creating exception breakpoints**

    * You can now set exception breakpoints from the editor. While at
      the throw or catch site, open the context menu and then select
      Enable exception breakpoint. This new feature makes setting
      exception breakpoints more convenient, as you don’t need to open
      the Breakpoints dialog or browse the stack trace in the console.

  * **Line execution time hints**

    * IntelliJ IDEA 2024.3 eliminates the need to clutter your code with
      logs and timers when you want to measure the execution time for a
      bunch of lines. After invoking the Run to Cursor action, you will
      see the execution times for each line right in the editor’s
      gutter. For deeper analysis, use the same hints in the gutter to
      drill down to the called methods, whose respective lines will also
      be accompanied by execution time data.

  * **Merged stack trace for async code**

    * IntelliJ IDEA 2024.3 addresses the challenges of troubleshooting
      asynchronous code, where tasks are scheduled in one thread and
      executed in another, with each maintaining its own stack trace.
      The IDE now prints a merged stack trace in the console instead
      of only the worker’s stack trace, making it easier to trace
      the flow of execution. This enhancement is enabled by default
      for tests.

**Profiler**

  * **Heap memory usage graph**

    * The profiler has been enhanced with a heap memory usage graph,
      which is displayed in the Timeline tab above the thread lanes.
      This new visualization helps you link memory allocations with
      thread activity, providing valuable insights that can reveal
      potential memory leaks and performance bottlenecks.

**Build tools**

  * **Faster compilation for multi-module projects**

    * JetBrains have made parallel compilation the default in IntelliJ
      IDEA 2024.3. In previous versions, project modules were compiled
      one at a time, which wasn’t the fastest approach for large
      projects. Now, you will see faster compilation times for all Maven-
      based projects compiled by the IDE, with optimized CPU and memory
      consumption.

  * **Seamless handling of untrusted SSL certificates**

    * IntelliJ IDEA now automatically detects SSL-related issues during
      Maven syncs and builds. If an untrusted certificate is the cause,
      the IDE will offer to resolve it by trusting the certificate –
      no manual steps required. This update eliminates the guesswork of
      combing through logs to find cryptic SSL errors and removes the
      need for tedious manual certificate management in the JDK’s
      trusted store.

  * **Support for Maven’s split local repositories**

    * JetBrains have added full support for Maven’s split local
      repositories – a feature introduced in Maven 3.9. It allows you
      to separate local repositories according to your needs. You can
      group them by remote repository, store locally installed artifacts
      in a dedicated folder, or even categorize artifacts by branch
      using specialized prefixes. Previously, enabling split
      repositories in Maven could cause sync failures in IntelliJ IDEA,
      leading to build or dependency issues. Now, full support ensures
      smooth syncing and efficient repository management.

**Frameworks and technologies**

  * **Derived method generation for Spring Data repositories**

    * IntelliJ IDEA can now automatically generate derived query methods
      in Spring Data repositories. If you need a derived query method,
      you no longer have to update the repository source code manually.
      Just start typing the method name where it’s needed, and
      IntelliJ IDEA will suggest possible method names, provide the
      proper method signature and return type, and update the repository
      code for you.

  * **HTTP Client updates**

    * IntelliJ IDEA 2024.3 introduces the ability to access environment
      variables directly within the HTTP Client using the $env.ENV_VAR
      syntax. This allows for more flexibility when managing and using
      variables within your requests and scripts. In addition, it is now
      possible to import and run requests – either all at once or
      specific ones by name – from one .http file to another.

  * **Ktor 3.0 release**

    * Ktor 3.0, a toolkit for building server applications on the JVM
      with Kotlin, is out with new features and improved performance.
      This new version adopts Kotlin 2.0 and improves the performance of
      IO-related operations by switching to the kotlinx-io library.

  * **Streamlined debugging experience for GraalVM native images**

    * JetBrains have greatly simplified the experience of debugging
      GraalVM native images with Docker containers, which means you can
      now build and debug native Java applications on any platform.
      Simply specify one container for building your application and
      another for running it in the run configuration. Once the
      application is running, you can debug the app not only in the Java
      code but also at the assembler level. To make setup easier,
      JetBrains provide Docker images preconfigured with all the
      necessary software and libraries.

  * **OpenTofu and Terraform enhancements**

    * Support for OpenTofu is now available. This update includes
      autocompletion for encryption methods, key providers, and
      inspections for unknown references.

    * Terraform run configuration actions are accessible through Search
      Everywhere, and the IDE automatically detects unused variables and
      locals to keep your code clean. The controls for Init, Validate,
      Plan, Apply, and Destroy have been refined, and the Run
      Configuration form has been streamlined. Also, improved usage
      indicators and warnings for unused resources enhance navigation
      and help you identify inactive code.

  * **Enhanced Dev Containers support**

    * Dev Containers builds now work more smoothly on remote Docker
      engines, preventing errors when local directories aren’t
      accessible remotely. Stability in WSL has also been enhanced, with
      improved image builds and reliable connections.

    * The devcontainer.json file processes features more consistently,
      and the new updateRemoteUID option avoids access conflicts by
      setting the correct user identity. IDE settings in Dev Containers
      can be customized through devcontainer.json files or via the Add
      currently modified settings from IDE button, with autocompletion
      for all available options.

  * **Docker Compose improvements**

    * IntelliJ IDEA 2024.3 provides extended support for Docker Compose.
      It now prioritizes .env files in env_file autocompletion, making
      environment setup faster. New build options – cache_to,
      no_cache, tags, and platforms – offer greater control over
      caching and platform targeting. Enhanced handling of
      depends_on.required and depends_on.restart allows for more
      effective management of the startup and shutdown order of
      dependent containers.

    * New keys like deploy.placement.preferences, deploy.resources.pids,
      and deploy.resources.reservations.devices allow for flexible
      service placement and resource limits. Multi-context builds and
      privileged builds are now supported via build.additional_contexts
      and build.privileged.

    * Additional options include cgroup configurations, custom
      extra_hosts mappings, and healthcheck.start_interval. Enhanced
      port settings and secrets.environment now streamline secret
      management via environment variables.

  * **Better support for projects in WSL**

    * JetBrains continue to improve the reliability of projects that are
      hosted in the Windows Subsystem for Linux (WSL) and opened by
      developers from Windows in the IDE. In particular, JetBrains have
      introduced support for symlinks and improved performance by
      switching to Hyper-V sockets for interaction with WSL. JetBrains
      are continuing to work on significant platform changes to improve
      performance with remote environments, including WSL.

**Kubernetes**

  * **Support for network policies**

    * The IDE now offers support for network policies, which are used to
      manage network traffic between pods in a cluster. They allow you
      to define which pods can send or receive traffic from other pods,
      services, or external sources. The primary purposes of network
      policies are to control and restrict network traffic, manage pod
      isolation, ensure security, and regulate external access.

**Web development**

  * **Cleaner search results for directories**

    * IntelliJ IDEA now excludes node_modules results by default when
      using Find in Files in project directories, reducing clutter from
      irrelevant files.

  * **Improved framework component navigation and renaming**

    * JetBrains have enhanced in-editor hints for Vue, Svelte, and Astro
      components. The Show component usages action now finds usages in
      both imports and markup templates. JetBrains have also added a
      Show Component Usages filter to exclude component usages when
      searching for regular file references. The Rename refactoring has
      also been updated with an option to include usages when renaming a
      component file.

  * **Improvements for Angular**

    * For projects with Angular 19, IntelliJ IDEA now defaults to
      standalone mode for components, directives, and pipes. Quick-fixes
      have been added to help convert between standalone and non-
      standalone components. Unused standalone imports can be
      automatically removed during code reformatting or via a new
      inspection. Support for the @let syntax has also been improved.

**Database tools**

  * **Text-to-SQL: In-editor diff for AI-generated results**

    * JetBrains have improved the experience of working with AI
      Assistant in the editor. Now, when you ask AI Assistant to do
      something with a chunk of code, the editor area contains a diff
      with both the original and the generated code. AI Assistant’s
      suggestions are highlighted with a different color and marked
      with the Revert icon in the gutter. You can also edit the
      resulting query yourself in the diff. Your changes are
      highlighted the same way. For example, you can ask AI Assistant
      to retrieve more data with a query and then add an ORDER BY
      clause to the generated result.

  * **SQL error handling by AI Assistant**

    * A couple of useful new actions for handling SQL query execution
      errors with AI Assistant are accessible in the error message area.
      Explain with AI opens the AI chat with a prompt automatically sent
      and AI Assistant’s response with an explanation of the error.
      The Fix with AI action generates a fix for the query execution
      error in the editor.

  * **Inspection for an excessive number of JOIN clauses**

    * In certain cases, running a query that contains an excessive
      number of JOIN clauses is not recommended due to performance
      degradation. The editor can now identify and highlight such
      queries.

  * **Floating pagination toolbar**

    * To make grid paging more noticeable in JetBrains data editor,
      thyey have moved the control for it from the toolbar to the bottom
      center of the data editor.

  * **Fragment introspection and smart refresh for MySQL and MariaDB**

    * IntelliJ IDEA now supports fragment introspection. Previously, the
      introspector could perform only a full introspection of schemas in
      the MySQL or MariaDB databases but not refresh the metadata of a
      single object. Every time a DDL statement was executed in the
      console and that execution could modify an object in the database
      schema, the IDE would start a full introspection of the entire
      schema. This was time-consuming and often disrupted the workflow.

    * Now, IntelliJ IDEA can analyze a DDL statement, determine which
      objects could have been affected by it, and refresh only those
      objects. If you select a single item in Database Explorer and call
      the Refresh action, only one object will be refreshed, instead of
      the entire schema as it was before.

**Other**

  * **Discontinuation of global menu support on Linux**

    * Linux users should note that, as of version 2024.3, global menu
      support has been discontinued in IntelliJ IDEA.

### Updates in 2024.2

#### Features

 **Key Highlights**

  * **Improved Spring Data JPA support** - Added the capability to run
    Spring Data JPA methods in the IDE. This new feature allows you to
    see which query a method will generate without running the
    application and analyzing log files. You can now use a gutter icon
    to execute any repository method directly in the JPA console.

  * **Improved cron expression support** - Working with cron
    expressions in your code is now easier than ever. When implementing
    scheduled services with Spring, Quarkus, or Micronaut, you can
    easily understand cron expressions thanks to the descriptions that
    appear right next to them. Additionally, the autocompletion feature
    provides pre-filled examples that you can instantly add and adjust
    instead of writing cron expressions from scratch.

  * **GraalJS as the execution engine for the HTTP Client** - The
    JavaScript execution engine used in the HTTP Client has been
    upgraded to GraalJS. This allows you to use all GraalJS features,
    including full support for the ECMAScript 2023 specification, when
    testing endpoints with IntelliJ IDEA's HTTP Client and using
    JavaScript in .http files to handle the results.

  * **Faster time to code** - In this release, the startup experience
    has been enhanced, enabling you to dive into coding significantly
    faster. Reduced wait times are possible thanks to upgrades that make
    the IDE functional with an incomplete project model and enable
    access to key features during indexing, including code highlighting,
    code completion, intention actions, test launching, active gutter
    markers, Lombok support, and more.

  * **Improved stability and performance for Kotlin in K2 mode [Beta]**
    - This release improves K2 mode, a new Kotlin support mechanism
    that enhances the IDE's stability and performance in addition to
    laying the groundwork for future Kotlin language features. In this
    release, K2 mode now supports gradle.kts scripts, Kotlin
    Multiplatform (KMP) projects, all major refactorings, code
    highlighting, debugging, and more. Benchmarks show that K2 mode
    nearly doubles code highlighting performance on the IntelliJ IDEA
    Ultimate source base.

**User Experience**

  * **Improved full line code completion** - In this release, the
    process of accepting full line code completion suggestions has been
    made more intuitive and precise. Inline code completion suggestions
    now include code highlighting, and new shortcuts allow you to accept
    individual words or entire lines from longer suggestions. How
    accepted changes are integrated into your code has also been
    refined, eliminating formatting and related issues.

  * **The new UI made default for all users** - With this release, the
    new UI is now the default for all users, leaving the classic one
    available as a plugin. The new UI is clean and modern, providing
    bigger, easier-to-use controls, a consistent color palette, light
    and legible icons, increased contrast, and better accents.

  * **Preview option in Search Everywhere** - The Search Everywhere
    dialog now includes an option to preview the codebase elements
    you're searching for. Enabling this feature through the Preview icon
    on the dialog's toolbar will cause a preview pane to appear under
    the search results, offering additional context and making it easier
    to navigate through your project.

  * **Proxy setting auto-detection enabled by default for new users** -
    IntelliJ IDEA now automatically detects system proxy settings
    configured on your machine and uses them by default, facilitating
    seamless interaction with external resources and services.

  * **Updated window controls on Linux** - On Linux, IntelliJ IDEA
    previously placed window controls on the right-hand side of the
    IDE. Now it automatically adjusts their placement to match the
    window control settings specified in your Linux desktop
    configuration. This change allows you to maintain a layout that
    suits your personal preferences. Additionally, the window control
    buttons have been redesigned to provide a look and feel that more
    closely matches your OS.

  * **Improved Customize Main Toolbar dialog** - The layout and
    behavior of the UI elements in the Customize Main Toolbar dialog has
    been redesigned, making it more intuitive and organized. It's now
    easier to search for, add, and delete actions in the main toolbar.

**AI Assistant**

  * JetBrains AI Assistant 2024.2 introduces significant enhancements to
    cloud code completion, offering more accurate and faster
    suggestions. The UX has been reworked to better integrate AI code
    completion features into IDE workflows, with improvements like
    syntax highlighting in suggested code and incremental acceptance of
    code suggestions.

  * New features include AI integration in the Terminal tool window
    and AI-assisted VCS conflict resolution. Additionally, users
    can now customize prompts for documentation generation and unit
    test creation.

**Java and Kotlin**

  * **Enhanced log management** - This release introduces enhanced log
    management for Java and Kotlin. New features include highlighting
    for string literals and argument resolution, which allows you to
    navigate seamlessly from placeholders to corresponding arguments.
    Updated inspections now better handle a mismatched number of logger
    parameters, suggest converting System.out.println statements to
    logger calls, and offer a quick-fix to add guards for logger calls.

  * **New Expression is compared to itself inspection for Java** - A
    new inspection reports cases where an expression is being compared
    to itself instead of another. While such comparisons can
    occasionally be intentional, they are usually the result of an
    oversight. This inspection helps you identify and address these
    potentially unintended comparisons, improving code accuracy and
    reliability.

  * **Change Signature refactoring inlay hint for Java** - To make the
    Change Signature refactoring more accessible and intuitive, a new
    inlay hint has been added that appears near the modified code
    element. When you click on it and confirm the change, the IDE
    automatically updates all relevant method references throughout the
    codebase. This ensures consistency and reduces the risk of errors,
    streamlining your refactoring process.

**Scala**

  * **Better code highlighting for Scala** - This release includes
    several improvements to error and syntax highlighting. It now
    highlights class fields defined in parameter clauses as fields
    instead of parameters. Named arguments are now highlighted in a
    distinct color, making them easier to identify in your code. The
    regex syntax inside Regex("...") is highlighted just as the regex
    syntax in "...".r is. Some issues have been fixed causing valid code
    to be highlighted in red after refactoring or because the type of
    the symbol couldn't be resolved. In many cases, semantic
    highlighting is now applied as you type. In addition, the IDE is now
    more responsive when you fix errors, removing the red code right
    after the fix.

  * **Better Scala 3 support** - The new release includes many
    improvements to Scala 3 support. For-comprehensions are now always
    handled correctly when used together with the fewer braces syntax.
    Support for export clauses and extension methods has been improved.
    Additionally, the IDE now correctly handles constructor annotations,
    and import suggestions include enum cases.

  * **Better code completion** - The IDE can now automatically fill out
    all named arguments of methods and autocomplete literal values of
    union types in Scala 3. Enum cases are now suggested whenever an
    enum type is expected. This feature works with Scala 3 enums and
    union types, Scala 2 ADTs and enumerations, and Java enums,
    simplifying your coding experience by providing more relevant
    suggestions.

  * **Other improvements** - The contents of StringBuilder are now
    displayed as a string in the debugger. IntelliJ IDEA also offers
    onboarding tips for Scala. Library download progress is now visible
    while you import sbt projects. Additionally, the Scala support now
    includes the functionality of Grazie, which provides advanced
    spelling and grammar checks in Scala comments.

  * **Improved compiler-based highlighting** - Enhanced the performance
    of compiler-based error highlighting. Outdated error highlighting
    information is no longer applied when the file has been modified.
    Additionally, IntelliJ IDEA now supports Scala compiler diagnostics,
    making them available as regular quick-fixes for easy application.

**Code Editor**

  * **Support for math syntax in Markdown files** - IntelliJ IDEA can
    now natively render mathematical expressions in Markdown files. When
    working with Markdown, you can use $ to insert inline math
    expres…

Thu Aug 14 17:00:02 2025 schmonz (pkgsrc-wip commits)
Add airconnect. macOS builds, NetBSD needs porting.

Wed Aug 13 13:45:03 2025 schmonz (pkgsrc commits)
Add and enable moor.

Wed Aug 13 13:45:03 2025 schmonz (pkgsrc commits)
Add moor: Pager designed to just do the right thing without any configuration

Moor is a pager. It reads and displays UTF-8 encoded text from files or
pipelines. Moor should be trivial to get into if you have previously
been using Less.

`moor` is designed to just do the right thing without any configuration:

- Syntax highlight source code by default using Chroma
- Search is incremental / find-as-you-type just like in Chrome or Emacs
- Filtering is incremental: Press & to filter the input interactively
- Search becomes case sensitive if you add any UPPER CASE characters
- Regexp search if your search string is a valid regexp
- Snappy UI even on slow / large input by reading input in the
  background and using multi-threaded search
- Supports displaying ANSI color coded texts (like the output from git
  diff | riff for example)
- Supports UTF-8 input and output
- Transparent decompression when viewing compressed text files (.gz,
  .bz2, .xz, .zst, .zstd) or streams
- The position in the file is always shown
- Supports word wrapping (on actual word boundaries) if requested using
  --wrap or by pressing w
- Follows output as long as you are on the last line, just like tail -f
- Renders terminal hyperlinks properly
- Mouse Scrolling works out of the box (but look here for tradeoffs)

Wed Aug 13 13:45:03 2025 schmonz (pkgsrc commits)
doc: Added textproc/moor version 2.0.3

Wed Aug 13 12:15:02 2025 schmonz (pkgsrc commits)
doc: Updated www/lighttpd to 1.4.80

Wed Aug 13 12:15:02 2025 schmonz (pkgsrc commits)
lighttpd: update to 1.4.80. Changes:

* [doc] move comments in systemd lighttpd.service
* [doc] refresh INSTALL
* [core] adjust malloc_top_pad after srv->srvconf.max_conns
* [build] remove references to libev; no longer used
* [multiple] stricter string init without trail '\0'
* workaround unsupported PR_CAP_AMBIENT_CLEAR_ALL on Cloud Run
* [TLS] 0-init plugin_ssl_ctx (fixes #3281)
* [autotools] LIGHTTPD_STATIC in config.h if static build
* [doc] systemd lighttpd.service SystemCallFilter
* [core] reject stray \r in chunked headers
* [tests] reject stray \r or \n in chunked headers
* [core] http_chunk_decode_append_error()
* [core] h1_chunked_400_bad_request()
* [mod_webdav] log trace for EACCES on PUT
* [build] check for C23 memset_explicit()
* [mod_ssi] set tmp file length if ssi exec fails
* [mod_openssl] avoid BoringSSL/AWS-LC compiler warn
* [mod_openssl] AWS-LC limitations/compatibility (#3282)
* [mod_openssl] use BoringSSL APIs w/ SSL_CREDENTIAL
* [mod_boringssl] cp mod_openssl.c mod_boringssl.c
* [build] build support for mod_boringssl
* [mod_boringssl] rename plugin init func
* [mod_boringssl] remove openssl/libressl code
* [mod_openssl] remove code specific to boringssl
* [mod_boringssl] ignore ssl.read-ahead
* [mod_boringssl] TLS_with_buffers_method() optim
* [mod_boringssl] init/enable CRYPTO_BUFFER_POOL
* [mod_boringssl] use SSL_get0_peer_certificates()
* [mod_boringssl] using AWS-LC does not build
* [mod_boringssl] code reuse
* [mod_boringssl] more CRYPTO_BUFFER code, less X509
* [mod_boringssl] elide excess time() calls
* [mod_boringssl] alt callbacks for client cert vfy
* [mod_boringssl] remove verify_callback (replaced)
* [mod_boringssl] load CRLs into STACK_OF(X509_CRL)
* [mod_openssl] revert commits; re-support AWS-LC
* [mod_boringssl] skip BIO copy if pkey already DER
* [mod_boringssl] shared code for parsing PEM files
* [mod_boringssl] typo
* [mod_boringssl] wipe tmp_buf used to decode pkey
* [mod_boringssl] more generic pkey read from PEM
* [mod_wolfssl] more generic pkey read from PEM
* [mod_nss] more generic pkey read from PEM
* [core] http_chunk_decode_append_* code reuse
* [h2] h2_send_headers_hoff() to reduce stack use
* [core] stricter validate of trailers from backends
* [core] check Transfer-Encoding: chunked from backends
* [core] remove deprecated Expect-CT from enum
* [core] http_header_str_contains_token() comment
* [core] http_request_field_check_value() code reuse
* [core] http_request_field_check_name() code reuse
* [core] stricter validation of backend response
* [mod_magnet] stricter validation of request/response
* [h2] fill in hoff[] for ":status: XXX\r\n\r\n"
* [core] simplify hoff[] access when hoff[1] == 0
* [core] check HTTP/1.x field block fully consumed
* [core] unfold fields in http_header_parse_hoff()
* [h2] stricter validation of HTTP/2 trailers
* [core] validate BACKEND_PROXY headers end w/ CRLF
* [core] strict validate request headers end w/ CRLF
* [core] fix stat_cache inotify for files in rootdir
* [core] merge request trailers into request headers
* [mod_staticfile] reject pathinfo on static files
* [mod_setenv] warn if setenv.* incl invalid chars
* [tests] trailers
* [mod_proxy] sketch out streaming and trailers
* [mod_setenv] quiet coverity noise
* [core] disable mmap for < QNX 8.0.0
* [core] connections_pool_clear() unless in jobqueue
* [mod_openssl] build against ancient openssl libs
* [TLS] SSL error handling improvements
* [mod_openssl] update lib version EOL warning
* [mod_openssl] workaround OpenSSL 3 SSL_sendfile bug
* [mod_wolfssl] check for WOLFSSL_SHUTDOWN_NOT_DONE
* [TLS] skip SSL_shutdown after non-recoverable error
* [mod_wolfssl] handle additional wolfssl socket err
* [mod_mbedtls] mbedtls 4.x removes MBEDTLS_DHM_C
* [mod_mbedtls] mbedtls 4.x PSA crypto handles RNG
* [mod_mbedtls] mbedtls 4.x removes RSA key exch
* [mod_mbedtls] mbedtls 4.x curve_info,list private
* [mod_mbedtls] mbedtls 4.x makes oid private
* [doc] command line -f - to read config from stdin (fixes #3286)
* [h2] attempt to detect HTTP/2 MadeYouReset DoS

Mon Aug 11 18:45:03 2025 schmonz (pkgsrc commits)
p5-sdf: preserve some of older htmldoc's formatting.

Ride PKGREVISION bump from earlier today.

Mon Aug 11 15:00:03 2025 schmonz (pkgsrc commits)
doc: Updated textproc/p5-sdf to 2.001nb7

Mon Aug 11 15:00:03 2025 schmonz (pkgsrc commits)
htmldoc: compile one (auto-selected) arch on macOS.

Mon Aug 11 15:00:03 2025 schmonz (pkgsrc commits)
p5-sdf: needs htmldoc. Bump PKGREVISION.

Wed Aug 6 20:45:04 2025 schmonz (pkgsrc commits)
## What's Changed

* Use POSIX syntax for Bash detection
* Fix typo in README: our -> your
* Update to remove shellcheck warnings
* Check Bash version 3.1+
* Addtional fixes for `shellcheck`
* Try to better handle external modification to `$PROMPT_COMMAND`
* Support the array PROMPT_COMMAND (bash >= 5.1)
* Fix the test for the Bash version for shellcheck
* Don't load if old version already present
* Fix false-negative test case for __bp_install
* Exclude the `bind -x` commands from interactive commands
* Fix indentation and remove trailing semicolons
* Improve prior_trap processing
* Remove dependency on sed(1) for history processing

Wed Aug 6 20:45:04 2025 schmonz (pkgsrc commits)
doc: Updated audio/shairport-sync to 4.3.7

Wed Aug 6 20:45:04 2025 schmonz (pkgsrc commits)
doc: Updated shells/bash-preexec to 0.6.0

Wed Aug 6 20:45:04 2025 schmonz (pkgsrc commits)
mk/defaults/mk.conf: shairport-sync user and group.

Wed Aug 6 20:45:04 2025 schmonz (pkgsrc commits)
shairport-sync: record user and group in BUILD_DEFS.

Wed Aug 6 20:45:04 2025 schmonz (pkgsrc commits)
shairport-sync: update to 4.3.7. Changes:

There have been many many bug fixes and enhancements to the core
operation of Shairport Sync.

Not included in this pkgsrc update:
* AirPlay 2 operation (needs https://github.com/mikebrady/nqptp to
  be packaged first)


Version 4.3

**Enhancements**
* A new volume control profile called `dasl-tapered` has been added in
  which halving the volume control setting halves the output level.
* On graceful shutdown, an `active_end` signal should now be generated
  if the system was in the active state.

**Bug Fixes**
* Fixed a cross-compliation error caused by not looking for the correct
  version of the `ar` tool. The fix was to substitute the correct
  version during the `autoreconf` phase.
* Updated the mDNS strings for the Classic AirPlay feature of AP2, so
  that it does not appear to provide MFi authentication.
* Always uses a revision number of 1 when looking for status updates on
  the DACP remote control port.
* Fixed a `statistics` bug (the minimum buffer size was incorrectly
  logged) and also tidy up the statistics logging interval logic for
  resetting min and max counters.
* Added an important missing format string argument to a call in the
  Jack Audio backend.

**Maintenance**
* Stopped using a deprecated FFmpeg data structure reference.
* Stopped using deprecated OpenSSL calls.


Version 4.2

**Enhancements**
* Allow compilation with `libplist` version `2.3.0`.
* Update MQTT documentation to correspond to updates in Home Assistant.

**Bug Fixes**
* Sometimes the AirPlay Device ID generated by Shairport Sync was all
  zeros, and so was invalid, causing connectivity problems. The cause of
  the problem was that `get_device_id` was not interpreting
  `getaddrinfo` information correctly.
* Fix a bug: when a Realtime Audio stream (e.g. playing from Spotify on
  iOS or using Shairport Sync as the Sound Output on a Mac) was played,
  it was fine, but when it was stopped and a second stream was started,
  the new stream could not be heard. The problem was that the PTP clock
  was not being correctly revalidated for second and subsequent Realtime
  Audio streams. The fix was to ensure that the PTP clock is revalidated
  on second and subsequent plays on the same connection.
* Use TCP keepalive a little more generally -- treat it the same as a
  client closing the link rather than just an error.
* Remove three potential race conditions between Shairport Sync opening
  a TCP connection and the client checking that the connections are
  open. The problem was that the connections were being opened in
  threads that were created just before the client was given the
  connection information. If the threads were delayed (e.g. on a slow or
  busy processor), the client could use the connection information to
  check the connections, but find that they were not (yet) open. This
  could cause the client to terminate the session immediately with a
  `TEARDOWN`. The fix was to open the connections before creating those
  threads and before sending the connection information back to the
  client. In this way, the connections are guaranteed to be open before
  the client has the information it needs to try to open them, even if
  the threads ared delayed in starting. This bug would manifest itself
  by allowing play to proceed but not play anything.


Version 4.1.1

**Enhancement**
* Use the TCP `keepalive` facility to close a play session if the client
  connection drops for a minute.

**Metadata Enhancements**
* Add `FramePosition` (`phbt`), `FirstFramePosition` (`phb0`),
  `OutputRate` (`ofps`), `OutputFormat` (`ofmt`), `StreamType` (`styp`),
  `ServiceName` (`svna`), `ClientName` (`snam`) properties to the D-Bus
  interface and to the metadata stream (codes in brackets).
* `FramePosition`/`FirstFramePosition` metadata is generated only if the
  `progress_interval` in the `metadata` section of the configuration
  file is non-zero. The progress interval can also be set by a new
  `SetFramePositionUpdateInterval` method in the D-Bus interface.
* `FramePosition`/`FirstFramePosition` metadata is of the form `<RTP
  Frame number>/<Local Time>` where the local time, in nanoseconds (a
  64-bit number), is the precise time that frame should be played. The
  metadata is generated when the frame is placed in the output buffer,
  and is thus generated `audio_backend_buffer_desired_length_in_seconds`
  (usually 0.2 seconds) before the time in question.
* Add `xesam:albumArtist` and `xesam:composer` metadata (if available)
  to the metadata bundle presented in the D-Bus interface.
* Add a new metadata item: `sps:songdatakind`, derived from the `asdk`
  metadata token, to the metadata bundle presented in the D-Bus
  interface. If `0` it seems to indicate an item of a specific duration
  such as an audio track; if `1` it seems to mean the stream is of
  unknown duration, for example an internet radio stream.

**Bug Fixes**
* Fix a bug that prevented multiple classic AirPlay instances being
  recognised. The bug was that the 12-digit classic AirPlay service name
  prefixes for each instance were all identically derived from a MAC
  hardware address. The fix was to modify the generation of prefixes to
  depend on the service name as well as the hardware address.
* Fix a bug that prevented play to the the PulseAudio backend from
  resuming after a pause. The bug was due to changes in the way pauses
  were handled and the fix was to reopen the stream if it is closed
  whenever a play or latency request was made.
* Fix a long-standing bug which didn't close the socket used for the
  RTSP connection, potentially exhausting the sockets available.
* Fix a bug in `audio_alsa.c` when there is no hardware device name.
* Fix a compilation bug on certain platforms by trying to use
  `AC_CHECK_LIB` to find `libavcodec` if the `PKG_CHECK_MODULES`
  check fails.

**Documentation**
* Include and reference the HTML version of the man page.


Version 4.1

Version 4.1 brings support for AirPlay 2 operation. It works with iOS,
iPadOS, macOS, HomePod mini and Apple TV sources, but not with Windows.
AirPlay 2 operation requires a companion program called NQPTP and
requires a somewhat more powerful system.

Limited support is available for HomeKit -- Shairport Sync speakers can
be added to the Home app, though not all features are working.

Note that you can still build Shairport Sync to support "classic"
AirPlay (aka "AirPlay 1") as before.

Here is a brief list of the high-level new features and changes (more to be added):
* AirPlay 2 operation.
* Improved `libao` backend for better compatibility with HomeBrew installations.
* Improved MQTT and D-Bus facilities.

Sat Aug 2 02:00:01 2025 schmonz (pkgsrc commits)
doc: Updated www/snac to 2.81

Sat Aug 2 02:00:01 2025 schmonz (pkgsrc commits)
snac: update to 2.81. Changes:

If the `propagate_local_purge` configuration variable is set to `true`
in `server.json`, purged local posts generate a `Delete` activity that
is sent everywhere, instead of only deleted from the filesystem.

Included a small tweak to avoid being confused by implementations that
return valid webfinger queries for non-account URLs (like i.e. the
Wordpress ActivityPub plugin in some configurations). This helps in
searching by URL.

Added Ukrainian translation (contributed by wincentbalin).

New command-line option `muted`, to list all MUTEd actors.

Mastodon API: Fixed metadata and follower approval flag when editing
the account.

Fri Aug 1 15:00:02 2025 schmonz (pkgsrc commits)
doc: Updated net/ucspi-ssl to 0.999.13.04

Fri Aug 1 15:00:02 2025 schmonz (pkgsrc commits)
doc: Updated net/ucspi-tcp6 to 1.13.04

Fri Aug 1 15:00:02 2025 schmonz (pkgsrc commits)
ucspi-ssl: update to 0.13.04. Changes:

- MAXCONIP now set to the initial 40 limit. Reading MAXCONIP from cdb
  works as designed.
- Upon start and calling sslserver with '1' will display initial LIMIT
  and MAXCONIP.

Fri Aug 1 15:00:02 2025 schmonz (pkgsrc commits)
ucspi-tcp6: update to 1.13.04. Changes:

- MAXCONIP now set to the initial 40 limit. Reading MAXCONIP from cdb
  works as designed.
- Upon start and calling tcpserver with '-1' will now show initial
  connection LIMIT and MAXCONIP.

Wed Jul 30 15:00:03 2025 schmonz (nbvm commits)
Solaris 11 lost virtio interface after pkg update.

Tue Jul 29 12:30:02 2025 schmonz (pkgsrc commits)
doc: Updated devel/jdebp-redo to 1.5nb1

Tue Jul 29 12:30:02 2025 schmonz (pkgsrc commits)
jdebp-redo: bump PKGREVISION. Changes:

* redo now hashes the targets of symbolic links rather than just looking
  at their last modification timestamps.

pkgsrc changes:

* Set DIST_SUBDIR, as distfile changed from what I'd thought was
  already 1.5.

Build-tested on NetBSD, macOS, and Ubuntu.

Mon Jul 28 21:15:02 2025 schmonz (pkgsrc commits)
astyle: update to 3.6.11. Changes:

- Fix comment recognition after macro definition
- Fix indent of switch statements within structs
- Improved lambda body indentation
- Ignore lines with git conflict markers
- Replaced platform file functions by C++ filesystem library

Mon Jul 28 21:15:02 2025 schmonz (pkgsrc commits)
doc: Updated devel/astyle to 3.6.11

Mon Jul 28 21:15:02 2025 schmonz (pkgsrc commits)
doc: Updated devel/ruby-jirametrics to 2.13

Mon Jul 28 21:15:02 2025 schmonz (pkgsrc commits)
doc: Updated devel/texttest to 4.4.4

Mon Jul 28 21:15:02 2025 schmonz (pkgsrc commits)
doc: Updated shells/sheldon to 0.8.5

Mon Jul 28 21:15:02 2025 schmonz (pkgsrc commits)
doc: Updated www/p5-Playwright to 1.532

Mon Jul 28 21:15:02 2025 schmonz (pkgsrc commits)
p5-Playwright: update to 1.532. Changes:

- Fix cookie functionality broken in prior release.

Mon Jul 28 21:15:02 2025 schmonz (pkgsrc commits)
ruby-jirametrics: update to 2.13. Changes:

- When on Jira Cloud (not Data Centre or Server), we now use the v3 API
  to retrieve issue details because the v2 API is being removed. Data
  Centre and Server, on the other hand, only support the v2 API so we
  cannot use the v3 API with them. Until now, all Jira installations
  supported the same API’s and this is no longer true. If you notice
  different behaviour in Cloud then let us know.
- When on Jira Cloud, we now have better support for the rich text
  formatting that is available. Cloud and Data Centre return that rich
  text data in very different formats and we’ve been focused on making
  cloud look good right now.
- When javascript is disabled, most of the charts won’t work and a
  large message will be displayed at the top of the page explaining
  that. Despite being large, several people reported not seeing this
  message and not understanding why the report wasn’t showing anything
  useful. Now that message is even more obnoxious and in your face.
  Javascript needs to be enabled for any of this to work.
- Atlassian has begun rolling out the naming change from `Issue` to
  `Work item` and this has broken some of our parsing logic. If you were
  seeing an error like `Issue(ISSUE_ID) Can't parse link text: This work
  item clones OTHER_ISSUE_ID` then that’s now fixed.

Mon Jul 28 21:15:02 2025 schmonz (pkgsrc commits)
sheldon: update to 0.8.5. Changes:

- Fix SSH agent authentication not used when cloning submodules

Mon Jul 28 21:15:02 2025 schmonz (pkgsrc commits)
texttest: update to 4.4.4. Changes:

New development:
- Modernised installation mechanism via pip (from setup.py to
  pyproject.toml).
- Support running via "python -m texttestlib" now
- Support for Python 3.13 added.

Bugfixes:
- Fixed error #140 with knownbugs UI in Python 3.12 (thanks
  Michael Behrisch)
- Fixed error #138 with extracting performance data where file encoding
  doesn't match system encoding (found by Jesper Morelli)
- Officially require Python 3.9 now (3.8 stopped working in 4.4.0
  anyway)

Fri Jul 25 13:30:01 2025 schmonz (pkgsrc commits)
options.description: describe 'libressl' option.

Thu Jul 24 14:30:02 2025 schmonz (pkgsrc commits)
sqlite3-diff: update checksums to current version.

Thu Jul 24 14:30:02 2025 schmonz (pkgsrc commits)
sqlite3: note that sqlite3-diff needs `makesum` on update.

Wed Jul 23 18:00:01 2025 schmonz (nbvm commits)
Tribblix is now m37.

Wed Jul 23 15:30:02 2025 schmonz (pkgsrc commits)
doc: Updated lang/kotlin to 2.2.0

Wed Jul 23 15:30:02 2025 schmonz (pkgsrc commits)
kotlin: update to 2.2. Changes:

* Language: new language features in preview, including context
  parameters. Several previously experimental features are now Stable,
  such as guard conditions, non-local break and continue, and
  multi-dollar interpolation.
* Kotlin compiler: unified management of compiler warnings.
* Kotlin/JVM: changes to default method generation for interface
  functions.
* Kotlin/Native: LLVM 19 and new features for tracking and adjusting
  memory consumption.
* Kotlin/Wasm: separated Wasm target and the ability to configure
  Binaryen per project.
* Kotlin/JS: fix for the copy() method generated for @JsPlainObject
  interfaces.
* Gradle: binary compatibility validation in the Kotlin Gradle plugin.
* Standard library: stable Base64 and HexFormat APIs.
* Documentation: our documentation survey is open, and notable
  improvements have been made to the Kotlin documentation.

Fri Jul 18 14:15:01 2025 schmonz (pkgsrc commits)
cln: update to 1.3.7. Changes:

* Fixed compilation on ARM platforms.
* Add support for LoongArch.

Fri Jul 18 14:15:01 2025 schmonz (pkgsrc commits)
doc: Updated math/cln to 1.3.7

Fri Jul 18 14:15:01 2025 schmonz (pkgsrc commits)
enchant2: adjust PLIST.Darwin to match installed .so.

Wed Jul 16 17:45:03 2025 schmonz (pkgsrc commits)
Add and enable execshell.

Wed Jul 16 17:45:03 2025 schmonz (pkgsrc commits)
Add execshell: Proof of concept execline REPL

This is a proof-of-concept interactive REPL for Laurent Bercot's
execline language. execshell provides an interactive interface with
readline/Emacs-alike line editing to the command lexer used by the
execlineb script launcher. For example:

$ ./execshell
> foreground { echo foo } echo bar
foo
bar
> pipeline { echo baz } sed -e "s/a/u/" -e "s/$/z/"
buzz
(Note that the prompt string here is > .)

Wed Jul 16 17:45:03 2025 schmonz (pkgsrc commits)
doc: Added shells/execshell version 0.0.20201101

Wed Jul 16 17:45:03 2025 schmonz (pkgsrc commits)
skalibs: not all consumers will have a config.mak.

Tue Jul 15 12:00:02 2025 schmonz (nbpkg commits)
Fix bmake detection logic.

Mon Jul 14 15:30:02 2025 schmonz (pkgsrc commits)
ikiwiki: remove commented-out p5-DB_File (part of perl since 2020).

Mon Jul 14 15:30:02 2025 schmonz (pkgsrc commits)
rtf2latex2e: repair case-o in Makefile to fix NetBSD build.

Mon Jul 14 14:45:02 2025 schmonz (pkgsrc commits)
doc: Updated devel/ruby-jirametrics to 2.12.1

Mon Jul 14 14:45:02 2025 schmonz (pkgsrc commits)
ruby-jirametrics: update to 2.12.1. Changes:

- New chart: Daily View that is an optimized view for use during the
  daily standup/sprint/meeting.
- Estimation changes
    - The sprint_burndown and estimate_accuracy_chart both pull the
      estimate from the issue history. In the past we've looked for the
      field "Story Points" which works just fine in an English instance
      of Jira but fails for many (all?) non-English instances.
    - Also changed them to support time based estimates, if the board is
      configured to use them.
- Aging Work Table now shows the issue priority.
- Bug: Fixed exception when downloading for the first time and
  status_category_mappings are already set.
- New criteria that can be used with `start_at` or `stop_at`:
  `first_time_visible_on_board`
- Whenever we display statuses now, we display them in the format
  `"Review":10011` rather than just `Review`. We do this to remove any
  ambiguity around which specific `Review` status we're talking about as
  there may be several.

Fri Jul 11 19:15:01 2025 schmonz (pkgsrc commits)
doc: Updated net/s6-networking to 2.7.1.0nb2

Fri Jul 11 19:15:01 2025 schmonz (pkgsrc commits)
s6-networking: change default options. Bump PKGREVISION.

Instead of BearSSL, link with OpenSSL by default. The 'bearssl' option
is still present and 'libressl' is now available too.

Remove the transitional 'tls' option mapping.

While here, remove s6-pkgsrc-cadir. pkgsrc doesn't have a clear
library-independent notion of its "SSL cert directory", so we can't
helpfully tell clients (or servers that want to validate client certs)
where to find it.

Fri Jul 11 17:45:03 2025 schmonz (nbpkg commits)
s6-networking: openssl is default now.

Wed Jul 9 07:45:01 2025 schmonz (pkgsrc commits)
Fix distfile fetching broken in previous.

Wed Jul 9 07:45:01 2025 schmonz (pkgsrc commits)
apaste: build from git to get macOS shlibs. Bump PKGREVISION.

Wed Jul 9 07:45:01 2025 schmonz (pkgsrc commits)
doc: Updated lang/execline to 2.9.7.0nb1

Wed Jul 9 07:45:01 2025 schmonz (pkgsrc commits)
doc: Updated mail/smtpd-starttls-proxy to 0.0.2.0nb1

Wed Jul 9 07:45:01 2025 schmonz (pkgsrc commits)
doc: Updated misc/s6-portable-utils to 2.3.1.0nb1

Wed Jul 9 07:45:01 2025 schmonz (pkgsrc commits)
doc: Updated net/s6-dns to 2.4.1.0nb1

Wed Jul 9 07:45:01 2025 schmonz (pkgsrc commits)
doc: Updated net/s6-networking to 2.7.1.0nb1

Wed Jul 9 07:45:01 2025 schmonz (pkgsrc commits)
doc: Updated net/shibari to 0.0.2.0nb1

Wed Jul 9 07:45:01 2025 schmonz (pkgsrc commits)
doc: Updated sysutils/fdtools to 2024.12.07nb1

Wed Jul 9 07:45:01 2025 schmonz (pkgsrc commits)
doc: Updated sysutils/s6 to 2.13.2.0nb1

Wed Jul 9 07:45:01 2025 schmonz (pkgsrc commits)
doc: Updated www/apaste to 0.0.3.0nb1

Wed Jul 9 07:45:01 2025 schmonz (pkgsrc commits)
doc: Updated www/tipidee to 0.0.6.0nb2

Wed Jul 9 07:45:01 2025 schmonz (pkgsrc commits)
fdtools: recursive PKGREVISION bump for skalibs update.

Wed Jul 9 07:45:01 2025 schmonz (pkgsrc commits)
s6-dns: build from git to get macOS shlibs. Bump PKGREVISION.

Wed Jul 9 07:45:01 2025 schmonz (pkgsrc commits)
s6-networking: build from git to get macOS shlibs. Bump PKGREVISION.

Other changes from the next release-to-be:

- Add proxy-server

Wed Jul 9 07:45:01 2025 schmonz (pkgsrc commits)
s6-portable-utils: build from git to get macOS shlibs. Bump PKGREVISION.

Wed Jul 9 07:45:01 2025 schmonz (pkgsrc commits)
s6: build from git to get macOS shlibs. Bump PKGREVISION.

Wed Jul 9 07:45:01 2025 schmonz (pkgsrc commits)
shibari: build from git to get macOS shlibs. Bump PKGREVISION.

Wed Jul 9 07:45:01 2025 schmonz (pkgsrc commits)
smtpd-starttls-proxy: build from git to get macOS shlibs. Bump PKGREVISION.

Wed Jul 9 07:45:01 2025 schmonz (pkgsrc commits)
tipidee: build from git to get macOS shlibs. Bump PKGREVISION.

Other changes from the next release-to-be:

- Add rproxy
- Add noredirect

Tue Jul 8 18:00:04 2025 schmonz (nbpkg commits)
extramkconf: try s6-networking with OpenSSL.

Mon Jul 7 14:30:04 2025 schmonz (pkgsrc commits)
doc: Updated misc/exercism to 3.5.6

Mon Jul 7 14:30:04 2025 schmonz (pkgsrc commits)
exercism: update to 3.5.6. Changes:

- Support for Futhark in exercism test
- Show a "try again after" message when a response sets a
  Retry-After header
- Check HTTP response content type before trying to decode it as JSON

Mon Jul 7 10:30:03 2025 schmonz (pkgsrc commits)
doc: Updated devel/p5-Syntax-Keyword-Try to 0.30

Mon Jul 7 10:30:03 2025 schmonz (pkgsrc commits)
p5-Syntax-Keyword-Try: update to 0.30. Changes:

* Updates for XS::Parse::Keyword v0.35: new container macro names
* Updated to latest hax/ support files: avoids SAVEt_LONG, now
  removed in perl 5.41.3

Mon Jul 7 10:30:03 2025 schmonz (pkgsrc commits)
w3m: fix parallel builds, hopefully.

Fri Jul 4 15:00:02 2025 schmonz (pkgsrc commits)
doc: Updated textproc/ov to 0.42.1

Fri Jul 4 15:00:02 2025 schmonz (pkgsrc commits)
ov: update to 0.42.1. Changes:

- Allows you to edit by passing the file to an external editor.
- The status line can now be hidden and there is more customization available.
- The help and log documentation are now separate from General and can be customized separately.
- Fix missing slice bounds check
- Fix duplicate log output
- Update modules 20250610
- Add documentation for General configuration items in README.md
- Fix inconsistent output after WriteQuit from help followed by Quit
- Fix typo in README.md
- Fix issue where quit was not output in filter document
- Fix Getpgrp syntax for Solaris/Illumos build
- Fix slice range check error
- fix: rename unWatchMode to unwatchMode

Fri Jul 4 13:30:03 2025 schmonz (pkgsrc commits)
doc: Updated net/fehqlibs to 27

Fri Jul 4 13:30:03 2025 schmonz (pkgsrc commits)
doc: Updated print/rtf2latex2e to 2.2.3

Fri Jul 4 13:30:03 2025 schmonz (pkgsrc commits)
fehqlibs: update to 27. Changes:

- Added 'void' as arg in wait.h.
- Included man pages lock.3 and readclose.3 and an additional macro for
  slurp (openreadclose).
- Included missing error_temp() as errtmp.c and provided error.a
  providing errstr.o and errtmp.o.
- Added functions constmap_get and constmap_index for 'ezmlm' usage and
  updated man pages.
- Added a 'DONEIT' (RC=0) and 'VERSION' tag in logmsg (RC=1)
  complementing the 'USAGE' tag.
- Defined ENOTDIR as error variable for 'error_notdir'; was external before.
- Fixed wrong man-page name for 'str_start' (erroneously called: str_starts).
- Fixed wrong prototype description for 'scan_long' in man scan(3).

Fri Jul 4 13:30:03 2025 schmonz (pkgsrc commits)
rtf2latex2e: update to 2.2.3. Changes:

- adds the option to delimit LaTeX equations by \(...\) instead of $...$
  and \[...\] instead of $$...$$
- adds conversion of Word's EQ fields and fixes the missing -lm flag in
  the gcc compiler call in Makefile

And surely more since 1.0fc2, but no changelog beyond that.

Take MAINTAINER (ok reed@).

Fri Jul 4 13:30:03 2025 schmonz (pkgsrc commits)
sqlite3-diff: regen distinfo after sqlite3 update.

Wed Jul 2 23:00:01 2025 schmonz (pkgsrc commits)
djbfft: fix SmartOS build.

Wed Jul 2 23:00:01 2025 schmonz (pkgsrc commits)
djbsort: fix SmartOS build.

Tue Jul 1 13:00:02 2025 schmonz (pkgsrc commits)
doc: Updated devel/swagger-codegen to 3.0.70

Tue Jul 1 13:00:02 2025 schmonz (pkgsrc commits)
doc: Updated mail/rspamd to 3.12.1

Tue Jul 1 13:00:02 2025 schmonz (pkgsrc commits)
doc: Updated shells/sheldon to 0.8.3

Tue Jul 1 13:00:02 2025 schmonz (pkgsrc commits)
doc: Updated www/p5-Playwright to 1.531

Tue Jul 1 13:00:02 2025 schmonz (pkgsrc commits)
p5-Playwright: update to 1.531. Changes:

- Fix Locator.all(), and likely other things returning arrays of
  playwright objects

Tue Jul 1 13:00:02 2025 schmonz (pkgsrc commits)
rspamd: update to 3.12.1. Changes:

* [Feature] Add /bayes/classifiers HTTP endpoint
* [Feature] Further improvements in scheduling next checks
* [Fix] Another fix for maps concurrent load
* [Fix] Do not add log tag header in milter logic
* [Fix] Do not explicitly add Connection header if it's there
* [Fix] Fix proxy headers duplication
* [Fix] Fix several issues with the lua_logger
* [Fix] Make logger more graceful when dealing with format arguments
* [Fix] Try to avoid incomplete writes
* [Rework] Eliminate maps locking

Tue Jul 1 13:00:02 2025 schmonz (pkgsrc commits)
sheldon: update to 0.8.3. Changes:

- Fix unhandled error in access function calls.

Tue Jul 1 13:00:02 2025 schmonz (pkgsrc commits)
swagger-codegen: update to 3.0.70. Changes:

- chore: migrate Sonatype OSSRH to Central Portal
- Vulnerability in jetty: lib upgrade
- Generator v3 base image bump

Mon Jun 30 23:00:01 2025 schmonz (pkgsrc commits)
doc: Updated www/snac to 2.79

Mon Jun 30 23:00:01 2025 schmonz (pkgsrc commits)
qsmtp: switch to cmake/build.mk.

Mon Jun 30 23:00:01 2025 schmonz (pkgsrc commits)
snac: update to 2.79. Changes:

Added a server-wide Webmention hook; this way, if somebody out there
(that supports Webmention) links to a user or post in this instance, a
notification is sent (this is the complementary of what was implemented
in version 2.76).

Fixed regression while sending email via pipe on OpenBSD.

Fixed Markdown parsing when the URL has parenthesis.

Always show the 'pending follow confirmations' section if there are any
(even if the toggle is off).

If a metadata value is an account handler, it's also tried to be
validated (rel="me" links).

Another search by URL tweak (this time for Pixelfed links).

Mastodon API: fixed a bug that made some boosts disappear after being
shown in apps like Tusky, added followed hashtags maintenance, other
minor changes.

Renamed command-line actions `create_list` to `list_create` and
`delete_list` to `list_remove`.

The default favicon URL can be changed from the server configuration.

New command-line option `export_posts`, to export all posts by a user in
a JSON format compatible with the one generated by Mastodon.

The command-line options to send notes also allow an optional `-r`
argument, to set the URL of a Fediverse post this note is a reply to.

Mon Jun 30 18:45:02 2025 schmonz (pkgsrc commits)
qmail: fix macOS build by not shadowing system resolver's getshort().

Mon Jun 30 17:30:01 2025 schmonz (pkgsrc commits)
glib2: generate test6.gresource with UTF-8 as well. Fixes NetBSD build.

Sat Jun 28 02:15:04 2025 schmonz (pkgsrc commits)
dash: fix Illumos build. Still packages on macOS and NetBSD.

Sat Jun 28 02:15:04 2025 schmonz (pkgsrc commits)
jdebp-redo: fix SmartOS build. Still packages on NetBSD, macOS.

Sat Jun 28 02:15:04 2025 schmonz (pkgsrc commits)
leahneukirchen-redo: fix SmartOS build. Still builds NetBSD, macOS.

Fri Jun 27 15:45:04 2025 schmonz (pkgsrc commits)
daemontools: fix SmartOS build. Still good on NetBSD, macOS.

Fri Jun 27 15:45:04 2025 schmonz (pkgsrc commits)
doc: Updated net/ucspi-tools to 1.7nb2

Fri Jun 27 15:45:04 2025 schmonz (pkgsrc commits)
libdkim: fix SmartOS build. Still fine on NetBSD, macOS.

Fri Jun 27 15:45:04 2025 schmonz (pkgsrc commits)
libowfat: fix SmartOS build. Still OK on macOS and NetBSD.

Fri Jun 27 15:45:04 2025 schmonz (pkgsrc commits)
qlogtools: fix SmartOS build. Still fine on NetBSD, macOS.

While here, set LICENSE.

Fri Jun 27 15:45:04 2025 schmonz (pkgsrc commits)
qpasswd: fix SmartOS build. Still fine on NetBSD, macOS.

Fri Jun 27 15:45:04 2025 schmonz (pkgsrc commits)
ucspi-tcp: fix SmartOS build. Still fine on NetBSD, macOS.

Fri Jun 27 15:45:04 2025 schmonz (pkgsrc commits)
ucspi-tools: update a few commits to fix SmartOS. Bump PKGREVISION.

(Still packages on NetBSD and macOS.)

Changes:

- Change MAX_PATH to pathconf("/", _PC_PATH_MAX)
  for systems without MAX_PATH in their libc.
- remove useless environment code
- implementation of dprintf(3) for libc's that missing it
- move dprintf into an own file for httpc and httppc
- Makefile: Compile tcps and tcpc
- test.sh: Rewrite to be more clear on what it found
- test: Remove env.txt between tests
- test: Add test to make sure certs for tests are set up
- Fix number of expected tests.
- remove unused variable
- print program path on execvp error

Fri Jun 27 15:45:04 2025 schmonz (pkgsrc commits)
ucspi-udp: fix SmartOS build. Still good on NetBSD, macOS.

Wed Jun 25 15:00:05 2025 schmonz (pkgsrc commits)
astyle: needs C++17 and <filesystem>. Hopefully fixes NetBSD 9 build.

Wed Jun 25 15:00:05 2025 schmonz (pkgsrc commits)
lnetd: support PKGMANDIR.