NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #963 most downloaded on NuGet
Lightweight mini-profiler, designed for ASP.NET Core (not System.Web) websites
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 1 weeks to 2.4 years
Most releases are documented
notes for 7 of 11 stable releases
2 versions withdrawn
withdrawn after publishing
127 years old
23 releases · first in 1900
Support for strict CSP (dynamic inline styles removed) ( #634 - thanks @rwasef1830 )
net8.0 with no Newtonsoft.Json dependency (#641 & #679)MiniProfiler.EFC7MiniProfiler.Providers.RavenDBMiniProfiler.Providers.SqlServerCeFull Changelog: v4.3.8...v4.5.4
One column per quarter.
New :
Support for strict CSP (dynamic inline styles removed) ( #634 - thanks rwasef1830 )
Moved .NET Core to net8.0 with no Newtonsoft.Json dependency ( #641 & #679 )
Add support for additional client-side headers in custom implementations ( #669 - thanks Breederveld )
Fixes/Changes :
Upgraded MongoDB driver, allowing automatic index creation and profiler expiration ( #613 - thanks IanKemp )
Fixed #652 : Respect PopupDecimalPlaces in all cases ( #655 )
Removed :
Support for rarely used providers ( #679 )
MiniProfiler.EFC7
MiniProfiler.Providers.RavenDB
MiniProfiler.Providers.SqlServerCe
Added an option to control SpacesAfterCommas to InlineSqlFormatter and SqlServerFormatter ( #549 - thanks @Turnerj )
SpacesAfterCommas to InlineSqlFormatter and SqlServerFormatter (#549 - thanks @Turnerj)MiniProfiler.Minimal headless package with is a standalone bare-bones build with no depENdencies and no UI, useful for mass scale applications that are viewing the results elsewhere (#636)MiniProfilerOptions.TimingInstrumentationProvider allowing to hook when Timings are created, e.g. to drive Activity if desired (#650 - thanks @m0sa)/results-index ordering (should be newest to oldest) (#550 - thanks @spaduret)nonce attribute propagation to generated <link> style element for full CSP support (#565)PopupDecimalPlaces option to control this (present everywhere settings are) (#580)Full Changelog: v4.2.22...v4.3.8
New :
Added an option to control SpacesAfterCommas to InlineSqlFormatter and SqlServerFormatter ( #549 - thanks Turnerj )
Performance improvement: caching assembly names to reduce allocations during stack trace snippet generation ( #605 - thanks benbryant0 )
Added MiniProfiler.Minimal headless package with is a standalone bare-bones build with no depdencies and no UI, useful for mass scale applications that are viewing the results elsewhere ( #636 )
Add Nullable Reference Type annotations to the entire codebase ( #640 )
Add MiniProfilerOptions.TimingInstrumentationProvider allowing to hook when Timing s are created, e.g. to drive Activity if desired ( #650 - thanks m0sa )
Fixes/Changes :
Fixed /results-index ordering (should be newest to oldest) ( #550 - thanks spaduret )
Fixed nonce attribute propagation to generated <link> style element for full CSP support ( #565 )
Changed popup to show 2 decimal places for timings by default, with a new PopupDecimalPlaces option to control this (present everywhere settings are) ( #580 )
Fix for time duration precision on Linux ( #602 - thanks benbryant0 )
Fixed #578 : Making SQLite data types compatible for more use cases ( #582 - thanks MarkZither )
Minor fixes to build versioning
Added RavenDB Storage provider ( #483 - thanks @lillo42 !)
<script nonce="..." /> to rendering for CSP support (#465])SqlServerFormatter.IncludeParameterValues for excluding actual values in output if desired (#463).EnableDebugMode) that outputs stack dumps for every timing (expensive/heavy, and not intended for normal operation - #482).OnInternalError API to options (Action<Exception>), for logging when an exception during a MiniProfiler occurs (#486).
MiniProfilerOptions.ResultsAuthorizeAsync and MiniProfiler.ResultsAuthorizeListAsync (#472)IMemoryCache depending on config (#440)MySqlConnector to 0.60.1 for misc fixes (#432 - thanks @bgrainger!)StackExchange.Redis.StrongName to StackExchange.Redis 2.1.30 (#473)Full Changelog: v4.1.0...v4.2.1
Propagate Dispose from ProfiledDbDataReader by @kekekeks in #327
Full Changelog: v4.0.138...v4.1.0
ASP.NET Core 3.0 support ( MiniProfiler.AspNetCore and MiniProfiler.AspNetCore.Mvc packages, now with a netcoreapp3.0 build)
Error support via CustomTiming.Errored = true , this will turn the UI red to raise error awareness ( #418 & #420 )
Adds a MiniProfiler.EFC7 (Entity Framework Classic 7) provider ( #397 )
Fix for .Close() tracking
Drops netstandard1.x support ( #422 )
Nothing published for this version
Nothing published for this version
Nothing published for this version
Add IDbProfiler shimming example to tests
Add IDbProfiler shimming example to tests
See #316
Nothing published for this version
Nothing published for this version
Release notes have moved to https://miniprofiler.com/dotnet/Releases as of v4.0.0
Release notes have moved to https://miniprofiler.com/dotnet/Releases as of v4.0.0
ASP.NET Core 2.0+ support ( MiniProfiler.AspNetCore and MiniProfiler.AspNetCore.Mvc packages)
Getting started docs
<mini-profiler> tag helper
<profile name="My Step"> tag helper
ASP.NET (non-Core) support ( MiniProfiler and MiniProfiler.Mvc5 packages)
Getting Started docs
Entity Framework Core (EFCore) support: MiniProfiler.EntityFrameworkCore
Full async support (correct timings)
Multi-threaded access support (goes with async )
netstandard1.5 and netstandard2.0 support
All libraries are strongly named
Client timings added to main UI for visual breakdown of requests
Storage providers (optional - for persistent storage of MiniProfilers) added and updated:
MySQL: MiniProfiler.Providers.MySql
Redis: MiniProfiler.Providers.Redis
SQL Server: MiniProfiler.Providers.SqlServer
SQL Server CE: MiniProfiler.Providers.SqlServerCe
Sqlite: MiniProfiler.Providers.Sqlite
Major version breaking changes
UI templating has been removed. The share and includes templates are now much more optimized code. Given the very few people customizing these, they certainly weren’t worth the performance tradeoffs. The includes are now much smaller.
CSS class prefixes are now mp- instead of profiler- for fewer conflicts in styling.
A Name field has been added to all SQL storage providers.
Dropped .NET 4.5 support, due to lack of the framework bits needed to really make async profiling work correctly.
MiniProfiler.Step() and MiniProfiler.StepIf() methods now return Timing (the same previous underlying type) instead of IDisposable .
IProfilerProvider replaced with IAsyncProfilerProvider (which adds StopAsync(bool discardResults) ).
IStorage replaced with IAsyncStorage (which adds ListAsync , SaveAsync , LoadAsync , SetUnviewedAsync , SetViewedAsync , and GetUnviewedIdsAsync ).
ProfiledDbCommand , ProfiledDbConnection , and SimpleProfiledCommand no longer implement ICloneable .
MiniProfiler.Settings.(AssembliesToExclude|TypesToExclude|MethodsToExclude) changed from IEnumerable<string> to HashSet<string> (for performance).
MiniProfiler.ToJson(MiniProfiler profiler) is now profiler.ToJson() (instance method)
[Obsolete] methods removed:
IProfilerProvider.Start(ProfileLevel level, string sessionName = null)
MiniProfiler.Settings.ExcludeStackTraceSnippetFromSqlTimings
MiniProfiler.Settings.UseExistingjQuery
MiniProfilerExtensions.Inline<T>(this MiniProfiler profiler, Func<T> selector, string name, ProfileLevel level)
MiniProfilerExtensions.Step(this MiniProfiler profiler, string name, ProfileLevel level)
More information about v4.0 decisions can be found in Issue #144 .
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →