|
| 1 | +## Highlights |
| 2 | + |
| 3 | +* New supported technologies |
| 4 | + * Add arm64 disassembler |
| 5 | + [#1422](https://github.com/dotnet/BenchmarkDotNet/issues/1422) |
| 6 | + [#2127](https://github.com/dotnet/BenchmarkDotNet/pull/2127) |
| 7 | + [#2107](https://github.com/dotnet/BenchmarkDotNet/pull/2107) |
| 8 | + [#2123](https://github.com/dotnet/BenchmarkDotNet/pull/2123) |
| 9 | + [#2070](https://github.com/dotnet/BenchmarkDotNet/issues/2070) |
| 10 | + [#2118](https://github.com/dotnet/BenchmarkDotNet/pull/2118) |
| 11 | + [#2119](https://github.com/dotnet/BenchmarkDotNet/pull/2119) |
| 12 | + [#2234](https://github.com/dotnet/BenchmarkDotNet/pull/2234) |
| 13 | + [#2222](https://github.com/dotnet/BenchmarkDotNet/pull/2222) |
| 14 | + [#2212](https://github.com/dotnet/BenchmarkDotNet/pull/2212) |
| 15 | + [9ee1/Capstone.NET#37](https://github.com/9ee1/Capstone.NET/pull/37) |
| 16 | + * Initial .NET 8 support |
| 17 | + [#2192](https://github.com/dotnet/BenchmarkDotNet/pull/2192) |
| 18 | + * .NET 6/7 MonoVM support |
| 19 | + [#2064](https://github.com/dotnet/BenchmarkDotNet/issues/2064) |
| 20 | + [#2142](https://github.com/dotnet/BenchmarkDotNet/pull/2142) |
| 21 | + [#2227](https://github.com/dotnet/BenchmarkDotNet/pull/2227) |
| 22 | + [#2230](https://github.com/dotnet/BenchmarkDotNet/pull/2230) |
| 23 | + * Armv6 and Ppc64le architectures support |
| 24 | + [#2216](https://github.com/dotnet/BenchmarkDotNet/issues/2216) |
| 25 | + [#2219](https://github.com/dotnet/BenchmarkDotNet/pull/2219) |
| 26 | +* Improved support |
| 27 | + * Improved WASM support |
| 28 | + [#2201](https://github.com/dotnet/BenchmarkDotNet/pull/2201) |
| 29 | + [#2099](https://github.com/dotnet/BenchmarkDotNet/issues/2099) |
| 30 | + [#2154](https://github.com/dotnet/BenchmarkDotNet/pull/2154) |
| 31 | + [#2112](https://github.com/dotnet/BenchmarkDotNet/pull/2112) |
| 32 | + * Improved NativeAOT support |
| 33 | + [#2095](https://github.com/dotnet/BenchmarkDotNet/pull/2095) |
| 34 | + [#2221](https://github.com/dotnet/BenchmarkDotNet/pull/2221) |
| 35 | + * Improved Android support |
| 36 | + [#2231](https://github.com/dotnet/BenchmarkDotNet/pull/2231) |
| 37 | + * 32-bit benchmarks can now handle addresses larger than 2GB with the help of `LargeAddressAware` |
| 38 | + [#1469](https://github.com/dotnet/BenchmarkDotNet/issues/1469) |
| 39 | + [#2145](https://github.com/dotnet/BenchmarkDotNet/pull/2145) |
| 40 | + * Support 64bit affinity masks |
| 41 | + [#2211](https://github.com/dotnet/BenchmarkDotNet/issues/2211) |
| 42 | + [#2228](https://github.com/dotnet/BenchmarkDotNet/pull/2228) |
| 43 | +* New features |
| 44 | + * Add `ExceptionDiagnoser` |
| 45 | + [#1736](https://github.com/dotnet/BenchmarkDotNet/issues/1736) |
| 46 | + [#2169](https://github.com/dotnet/BenchmarkDotNet/pull/2169) |
| 47 | + [#2182](https://github.com/dotnet/BenchmarkDotNet/pull/2182) |
| 48 | + * Add `PerfCollectProfiler` |
| 49 | + [#2117](https://github.com/dotnet/BenchmarkDotNet/pull/2117) |
| 50 | + * Incremental benchmark execution with the help of `--resume` |
| 51 | + [#1799](https://github.com/dotnet/BenchmarkDotNet/issues/1799) |
| 52 | + [#2164](https://github.com/dotnet/BenchmarkDotNet/pull/2164) |
| 53 | + * Taskbar progress |
| 54 | + [#2102](https://github.com/dotnet/BenchmarkDotNet/issues/2102) |
| 55 | + [#2158](https://github.com/dotnet/BenchmarkDotNet/pull/2158) |
| 56 | + [#2140](https://github.com/dotnet/BenchmarkDotNet/pull/2140) |
| 57 | + * Support `--noForcedGCs` to avoid forced GC between benchmark runs |
| 58 | + [#2101](https://github.com/dotnet/BenchmarkDotNet/pull/2101) |
| 59 | + * Added apples to apples comparison mode |
| 60 | + [#2116](https://github.com/dotnet/BenchmarkDotNet/pull/2116) |
| 61 | + [#2193](https://github.com/dotnet/BenchmarkDotNet/pull/2193) |
| 62 | + * Communication between the host process and the benchmark process is now using pipes instead of output parsing |
| 63 | + [#2092](https://github.com/dotnet/BenchmarkDotNet/pull/2092) |
| 64 | + [#1933](https://github.com/dotnet/BenchmarkDotNet/issues/1933) |
| 65 | + [#2189](https://github.com/dotnet/BenchmarkDotNet/issues/2189) |
| 66 | + [#2207](https://github.com/dotnet/BenchmarkDotNet/pull/2207) |
| 67 | + [#2200](https://github.com/dotnet/BenchmarkDotNet/pull/2200) |
| 68 | +* Dozens of bugfixes |
| 69 | + |
| 70 | +## Special Thanks |
| 71 | + |
| 72 | +We would like to highlight some important contributors who helped us with this release: |
| 73 | + |
| 74 | +1. [OpenHack'22 (devexperts.com)](https://code.devexperts.com/event/openhack22) hackathon sponsored by the DevExperts company. |
| 75 | + As part of this hackathon we have received following PRs: |
| 76 | + * [#2132](https://github.com/dotnet/BenchmarkDotNet/pull/2132) fix: include argument and param names in --filter (by [@blouflashdb](https://github.com/blouflashdb)) |
| 77 | + * [#2140](https://github.com/dotnet/BenchmarkDotNet/pull/2140) Update console title with benchmark information (by [@franciscomoloureiro](https://github.com/franciscomoloureiro)) |
| 78 | + * [#2142](https://github.com/dotnet/BenchmarkDotNet/pull/2142) Issue 2064: Mono70 moniker (by [@Serg046](https://github.com/Serg046)) |
| 79 | + * [#2148](https://github.com/dotnet/BenchmarkDotNet/pull/2148) adding validation errors when the benchmarks are unsupported (by [@emanuel-v-r](https://github.com/emanuel-v-r)) |
| 80 | + * [#2160](https://github.com/dotnet/BenchmarkDotNet/pull/2160) Corrected logic to restore foreground color in ConsoleLogger.cs (by [@farQtech](https://github.com/farQtech)) |
| 81 | + * [#2164](https://github.com/dotnet/BenchmarkDotNet/pull/2164) 1799 adding resume arg (by [@melias](https://github.com/melias)) |
| 82 | + * [#2169](https://github.com/dotnet/BenchmarkDotNet/pull/2169) Issue #1736: Add ExceptionDiagnoser (by [@Serg046](https://github.com/Serg046)) |
| 83 | + * [#2161](https://github.com/dotnet/BenchmarkDotNet/pull/2161) add quiet logger (by [@franciscomoloureiro](https://github.com/franciscomoloureiro)) **(not merged yet)** |
| 84 | + * [#2171](https://github.com/dotnet/BenchmarkDotNet/pull/2171) Issue #1024: Calculate baseline by the fastest benchmark (by [@Serg046](https://github.com/Serg046)) **(not merged yet)** |
| 85 | + |
| 86 | +2. Jan Vorlicek helped to implement arm64 disassembler during an internal Microsoft Hackathon: |
| 87 | + * [#2107](https://github.com/dotnet/BenchmarkDotNet/pull/2107) Implement TryGetReferencedAddress for relative branches (by [@janvorli](https://github.com/janvorli)) |
| 88 | + * [#2123](https://github.com/dotnet/BenchmarkDotNet/pull/2123) Added other arm64 constant form extraction plus other changes (by [@janvorli](https://github.com/janvorli)) |
| 89 | + |
| 90 | +3. Ahmed Garhy (maintainer of Capstone.NET) helped to improve Capstone.NET, which was need to implement arm64 disassembler: |
| 91 | + * [9ee1/Capstone.NET#37](https://github.com/9ee1/Capstone.NET/pull/37) Sign Assembly with a Strong Name (by [@9ee1](https://github.com/9ee1)) |
0 commit comments