JetBrains dotMemory Changelog

What's new in JetBrains dotMemory 2024.1 Build 2024.1.0.65536

Apr 10, 2024
  • dotMemory 2024.1:
  • Support for desktop MAUI and .NET macOS applications
  • Support for Frozen Objects Heap (FOH)
  • New views (Similar Retention and Sunburst diagram) in dotMemory for Linux and macOS
  • Option to specify application bundles (.app) instead of executable files on macOS
  • Ability to profile macOS run configurations in JetBrains Rider. Supported frameworks: net7.0-macos, net8.0-macos.

New in JetBrains dotMemory 2023.2.0 Build: 2023.2.0.65536 (Sep 27, 2023)

  • Snapshot analysis in JetBrains Rider:
  • Before 2023.2, you could only use dotMemory in Rider for memory allocation analysis. In 2023.2, you can collect memory snapshots and analyze them in Rider, just like in the standalone version of dotMemory.
  • Snapshot analysis is available on Windows, Linux, and macOS.
  • On Windows, you can also import and analyze process dumps.
  • Some features and views are not available, e.g., automatic snapshot inspections and creation stack trace views.

New in JetBrains dotMemory 2023.2.1 Build: 2023.2.1.65536 (Aug 25, 2023)

  • ReSharper no longer reports false-positive inspections when performing code analysis on Razor/Blazor web applications.
  • Implementing code analysis on ASP.NET web applications no longer makes ReSharper unresponsive.

New in JetBrains dotMemory 2023.2.0 Build: 2023.2.0.65536 (Aug 3, 2023)

  • Snapshot analysis in JetBrains Rider:
  • Before 2023.2, you could only use dotMemory in Rider for memory allocation analysis. In 2023.2, you can collect memory snapshots and analyze them in Rider, just like in the standalone version of dotMemory.
  • Snapshot analysis is available on Windows, Linux, and macOS.
  • On Windows, you can also import and analyze process dumps.
  • Some features and views are not available, e.g., automatic snapshot inspections and creation stack trace views.

New in JetBrains dotMemory 2023.1 Build 2023.1.0.65536 (Apr 5, 2023)

  • During this release cycle, the team focused their efforts on performance improvements and bug fixes for dotMemory. Here are the 2 most notable updates for version 2023.1:
  • dotMemory moved away from using the HTTP protocol to retrieve symbols and data access components (DACs) required for analysis of memory dumps. Instead, the HTTPS protocol is now used to ensure better information security.
  • We’ve introduced support for importing .NET 6.0+ memory dumps taken on Linux machines (DMRY-9834).

New in JetBrains dotMemory 2022.2.2 Build 2022-08-22 (Aug 22, 2022)

  • dotMemory in JetBrains Rider:
  • dotMemory is now available right in JetBrains Rider:
  • Two new profiling modes are available in the Run widget and Run | Switch profiler configurations in the main menu – Memory (sampled allocations) and Memory (full allocations). You can learn more about the difference between these in the dotMemory Help.
  • You can attach the profiler to a running process from the Run menu.
  • Watch the Timeline Graph unfold in real-time by selecting an interval and opening the Memory Allocation view. It is equivalent to the same view in dotMemory Standalone and allows you to dig deeper into the analysis of a specific time frame.
  • The dotMemory plugin doesn’t allow collecting snapshots and only works on Windows in the 2022.2 release.

New in JetBrains dotMemory 2022.1 (Apr 19, 2022)

  • The dotMemory command-line tool now supports Alpine versions 3.13–3.15.
  • You can now attach the profiler to an already running application by simply dragging the special icon onto the application window.
  • When getting a snapshot with the help of the profiling API, you can now specify a snapshot name.
  • The Similar Retention view now processes data much faster.
  • The dotMemory command-line tool now shows its progress when saving a snapshot.

New in JetBrains dotMemory 2021.3 (Dec 24, 2021)

  • Support for Apple silicon processors:
  • The dotMemory command-line tool now works on computers with Apple silicon processors. You can now use dotMemory CLT to profile .NET 6 applications (native mode) and .NET 5 applications (Rosetta 2 mode).
  • Performance improvements:
  • We completely reworked the algorithm behind the dominators tree (the object retention graph). Even if an object set contains hundreds of millions of objects, it only takes dotMemory a couple of minutes to open a specific view.
  • Sampled memory allocation data:
  • dotMemory can now get sampled data about memory allocation based on ETW events. Compared to the traditional (statistical) way of collecting allocation data, sampling is less accurate but provides a number of advantages:
  • The sampled allocation data is collected without performance penalties.
  • You don’t need to enable this data collection explicitly; it is always active.
  • Sampled allocation data can also be collected when you attach the profiler to an application that is already running.
  • Subsystems view:
  • You can now use the Subsystems view to analyze memory allocation data. A subsystem groups all methods belonging to the same type, namespace, or assembly. The resulting view displays objects created by the subsystems and a merged call tree for each subsystem

New in JetBrains dotMemory 2021.2.2 (Oct 13, 2021)

  • Improved filters:
  • The search bar at the top of dotMemory views is now more flexible and easier to use:
  • The filters have additional options for narrowing the search scope: #struct (search only in value types), #c (only in types), #m (only in methods), #ns (only in namespaces).
  • ou can get help for all filters possible in a given context.
  • Improved object export:
  • Improved object export 2021.2
  • It’s now possible to:
  • Specify the traversal depth when exporting object data.
  • Select one or more types and export their data to a single file.
  • Export object data from the Instances, Outgoing References, and Unreachable Objects views.
  • Console profiler update:
  • It’s now possible to use service messages to enable and disable the collection of memory allocation data.

New in JetBrains dotMemory 2021.1.2 (Apr 23, 2021)

  • New Home Screen 2021.1:
  • We’ve completely reworked the dotMemory Home screen – it is much easier to configure and start new profiling sessions, work with snapshots, and perform other basic operations.
  • Support for Linux dumps 2021.1:
  • Now, you can analyze dumps of .NET Core applications collected on the Linux systems using gcore.
  • Improved memory allocation analysis 2021.1:
  • Now, dotMemory lets you analyze memory allocation on an arbitrary time interval. Just select the interval on the timeline and the Memory Allocation view will show you the objects allocated on this interval, as well as the stack trace that allocated them.

New in JetBrains dotMemory 2021.1.1 (Apr 12, 2021)

  • dotMemory 2021.1.1 officially supports Visual Studio 2019, 2017, 2015, 2013, 2012 and 2010.

New in JetBrains dotMemory 2021.1 (Apr 8, 2021)

  • New Home Screen:
  • We’ve completely reworked the dotMemory Home screen – it is much easier to configure and start new profiling sessions, work with snapshots, and perform other basic operations.
  • Improved memory allocation analysis:
  • Now, dotMemory lets you analyze memory allocation on an arbitrary time interval. Just select the interval on the timeline and the Memory Allocation view will show you the objects allocated on this interval, as well as the stack trace that allocated them.

New in JetBrains dotMemory 2020.3.3 (Feb 23, 2021)

  • dotMemory stops locking up the UI when collecting a snapshot (DMRY-8473).

New in JetBrains dotMemory 2020.3 (Dec 14, 2020)

  • dotMemory now lets you profile .NET 5 applications.
  • We’ve added inspections on the Timeline graph: High Garbage Collection pressure, Pinned objects in Gen0, and Fast Large Objects Heap growth rate.
  • The Heap Fragmentation view now shows the Pinned Objects Heap – a separate heap segment introduced in .NET 5. dotMemory also shows memory allocated to the Pinned Object Heap in real time during profiling.

New in JetBrains dotMemory 2020.2 (Aug 13, 2020)

  • Support for ARM64 architecture 2020.2
  • The dotMemory command-line profiler for Linux (any distribution with GLIBC_2.23 or later) lets you profile applications on ARM64 systems.
  • View pinned objects:
  • You can now open pinned objects as a separate object set.
  • View unreachable objects:
  • You can now open objects that are not reachable from GC roots as a separate object set.

New in JetBrains dotMemory 2020.1.4 (Jul 9, 2020)

  • In this release, we were focused on bugfixes and stability improvements.

New in JetBrains dotMemory 2019.2 (Aug 20, 2019)

  • Console profiler improvements:
  • dotMemory 2019.2 stops supporting remote profiling. To offer you an adequate replacement, we significantly improved the dotMemory console profiler:
  • The console profiler gets commands to profile all types of applications including .NET Core applications, IIS Express-hosted applications, Windows services, and others.
  • The --trigger-on-activation argument allows taking a memory snapshot right after this becomes possible. This feature can be helpful in case you want to take a baseline snapshot and use it for comparison.
  • Improved support for .NET Core 3.0 applications:
  • dotMemory is able to attach to .NET Core 3.0 Preview 7 processes.
  • ASP.NET Core 3.0 Preview 7 is supported.
  • Various improvements and changes:
  • You can set environment variables for any application type.
  • ASP.NET Core support in Visual Studio is improved: different hosting models are correctly supported, browser settings and Enable SSL are taken into account when starting a profiling session, and more.
  • Profiling API gets the ability to detach from the profiled process.
  • Silverlight and WebDev applications are no longer supported.

New in JetBrains dotMemory 2019.1 (Apr 30, 2019)

  • Improved navigation to IDEs:
  • Now, the 'navigate to type declaration' action is able to navigate you not only to Visual Studio but to JetBrains Rider as well.
  • New profiling API 2019.1
  • As you might know, dotMemory includes the profiling API that is used to control profiling sessions right from the code of your application. In 2019.1, we have rewritten this API from scratch to make it more user-friendly:
  • We got rid of the state machine.
  • We reduced a number of methods you have to use. Thus, to get a memory snapshot, simply call MemoryProfiler.GetSnapshot().
  • The API is available as a NuGet package.

New in JetBrains dotMemory 2018.3 (Dec 19, 2018)

  • Improved getting snapshots by condition:
  • The profiling controller gets a new condition for taking a snapshot: Get a snapshot if total memory usage exceeds X MB.
  • Improved timeline:
  • Click on the graph to get exact memory data at a specific time point.
  • Improved IIS Express profiling settings:
  • Now, the default way to profile a web app hosted on IIS Express is to provide dotMemory a applicationhost.config file.
  • Visual Studio 2019 Preview 1 support:
  • dotMemory 2018.3, along with other products of the ReSharper Ultimate family, can now be installed into Visual Studio 2019 Preview 1.

New in JetBrains dotMemory 2018.2 (Aug 22, 2018)

  • The timeline graph gets improvements:
  • The timeline is now available for all types of applications including .NET Core, ASP.NET Core, IIS-hosted web apps, and others.
  • The timeline gets a new Allocated in LOH since GC chart. The chart shows instant memory allocation to the Large Object Heap and can be very helpful in detecting excessive allocations of large objects.

New in JetBrains dotMemory 2018.1 (Apr 17, 2018)

  • comes with many minor user interface improvements. The most significant change is the reworked Analysis Subject panel. Now, it's much easier to navigate your analysis path.

New in JetBrains dotMemory 2017.3.1 (Dec 28, 2017)

  • Debugging third-party code: you can now step through and set breakpoints in assemblies that Rider decompiles on-the-fly
  • Smart Step Into: when you debug method chains or nested method calls, choose a particular call to step into, while stepping over all other calls in a line
  • Return values in locals: function return values are displayed in the Variables view, which is useful when the result of a method call is not stored in a local variable
  • More debugger improvements: debugger actions are available in the Alt+Enter menu, you can now drag-and-drop the execution pointer to an earlier or later location in code, and callers of async functions are now displayed in the Frames view
  • New project wizard: Rider introduces a different grouping of project templates, allows creating repositories along with new solutions, and streamlines installing additional project templates
  • Unit testing improvements, including new actions, local shortcuts, and more reliable filtering in the unit testing view
  • C# Interactive tool window to execute C# statements without having to wait for compilation
  • Unity support improvements, such as new context actions and code inspections, improved usability of code completion, and syntax highlighting in compute shaders
  • Config transformations to modify settings in Webconfig and Appconfig when packaging applications
  • Reworked formatter: Rider learns to align code in columns, apply other new code styles, as well as disable or enable formatting for selected blocks of code
  • More changes from ReSharper 20173, including a C# 7 ready Extract Method refactoring, more C# typing assists, and improved support for VBNET
  • More frontend features: notably, Rider bundles more IntelliJ platform plugins for frontend development (such as TSLint, CoffeeScript, Karma and Stylus)
  • Changes from IntelliJ IDEA 20173, including a new editor-based REST client, version control and database tooling updates, and a reworked Docker configuration system
  • Performance improvements on loading and reloading projects, in debugger and code completion
  • More changes related to NuGet and MSBuild support, keymaps, settings, and Find Usages

New in JetBrains dotMemory 2017.2.1 (Sep 29, 2017)

  • Importing memory dumps:
  • You can now import raw Windows memory dumps (typically, you get them using Task Manager or Process Explorer) and analyze them using the power of dotMemory.
  • This feature is currently in Beta status: although it's 100% functional, we were simply unable to test it on all possible combinations of Windows and .NET Framework versions. It's still possible that on some of these combinations, dotMemory won't show you all expected data in the resulting snapshot.
  • Better UI:
  • The dotMemory user interface was slightly redesigned to make navigation through analysis subjects and views easier. An additional benefit of this effort is the increased views area.
  • Reworked Dominators view:
  • The Dominators view was reworked to make it easier to reveal key objects in your application. The tree of dominators is now combined with the dominators sunburst chart.

New in JetBrains dotMemory 4.1 Build 4.1.0.344 (Oct 1, 2014)

  • Disable/Enable collection allocations on the fly to profile a certain app functionality without slowing down all of its other areas.
  • Get more data on GC roots. dotMemory shows you the name of the field through which a static object is referenced.
  • Detect more common issues in a single click: New automatic inspection called String duplicates along with two WPF-related inspections (from v4.0.10).
  • Copy, save and share profiling results, nicely formatted for further analysis or sharing.
  • Explore new restyled UI icons in this update, designed for a clearer and more beautiful profiling experience.
  • Easily order and manage multiple memory investigations by giving custom names to your analysis tabs.