-
#100
41e920fThanks @kieronlanning! - UseAddEmbeddedAttributeDefinitionto injectMicrosoft.CodeAnalysis.EmbeddedAttributevia Roslyn's official API, and apply[global::Microsoft.CodeAnalysis.Embedded]to all generated marker attribute types.This ensures generated marker types are invisible to IDE tooling and consumer code, eliminating spurious symbol conflicts. Requires Roslyn 4.14.0+ (ships with Visual Studio 2022 17.14+ and .NET 10 SDK).
All notable changes to this project will be documented in this file. See commit-and-tag-version for commit guidelines.
4.2.0 (2026-05-24)
- consumers must build with VS 2022 17.14+ or .NET 10 SDK (10.0.200+). Runtime targets (.NET 4.8, .NET 8+) are unaffected.
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
- adding Benchmark.DotNet Artifacts to teh git ignore (a330703)
- use AddEmbeddedAttributeDefinition and apply [Embedded] to generated marker types (0be0054)
- trigger CD for merged code changes (4c76c82)
4.1.0 (2026-04-16)
- embed message template and literal EventId in generated telemetry log attributes (c1937cb)
- correct Log+EventId arg ordering and use SymbolDisplay for string escaping (1ccfdf5)
4.0.0 (2026-04-07)
4.0.0-prerelease.8 (2026-03-25)
- emit C# 7.3-compatible code when language version < 8 (153dd49)
- omit IMeterFactory for net48 targets; thread supportsIMeterFactory through logging pipeline (64c2944)
4.0.0-prerelease.7 (2026-03-24)
- add ILogger-to-Purview-Telemetry code refactoring provider with tests (24ac577)
- implement multi-target telemetry methods and apply Roslyn incremental generator best practices (f98b0f1)
- improve ILogger-to-Telemetry refactoring provider (1fcbbb9)
- add missing CurrentVersion pattern to update-version script (7ef7c19)
- correct inverted NoForecastsRecieved/ForecastsRecieved condition in WeatherAPIClient (02a6612)
- resolve all 22 WIP test failures for multi-target telemetry (8cf6e93)
4.0.0-prerelease.6 (2026-03-16)
4.0.0-prerelease.5 (2026-03-16)
- add per-method logging v1/v2 selection via DisableMSLoggingTelemetryGeneration (f718ea5)
- logging: replace DisableMSLoggingTelemetryGeneration with LoggerGenerationMode enum (a1db589)
- metrics: use correct zero-tag overload in generated instrument calls (37e1f80)
- update-version script references .ts extension not .js (c2dd5af)
- use git reset --hard instead of pull --ff-only in pullWiki (240e423)
4.0.0-prerelease.4 (2026-03-08)
- add TSG1010 diagnostic for missing interface source attribute (6822ef4)
4.0.0-prerelease.3 (2026-02-23)
- add TSG3022 diagnostic for non-nullable Activity return types and fix CS8603 (2cdef0b)
4.0.0-prerelease.2 (2026-02-14)
- added Telemetry Names generated clases with meter and activity names (8681033)
- ensured the meter and metric generated names are standard (c949c29)
4.0.0-prerelease.1 (2026-02-08)
4.0.0-prerelease.0 (2026-02-08)
- added OTel style generated names across MELT (61df63f)
- Performance optimizations - string caching and single-pass attribute counting (9be6eb8)
4.0.0-alpha.4 (2026-01-27)
4.0.0-alpha.2 (2026-01-27)
- updated the sample app to include a web app (4e0035c)
- logging: correct isScoped detection to only IDisposable return types (5338501)
3.2.4 (2025-07-27)
3.2.4-prerelease.1 (2025-07-27)
3.2.4-prerelease.0 (2025-07-27)
- accidently left auto-verifg on (3163d49)
- fixed the Vertify parameters update (b474466)
- fixing nullable ActivityContext parameter usage, #74 (1df12f9)
3.2.3 (2025-07-08)
3.2.2 (2025-07-08)
3.2.1 (2025-07-08)
3.2.0 (2025-04-24)
- added another option for event inference (e3c4678)
3.1.0 (2025-04-20)
- adding changelog/ release generation (19765aa)
- fixing ci action - missing solution (ea08f70)
3.0.0 (2025-02-19)
- added lots of fixes and scoped logger (v2) now output formatted message (40b7104)
- added support for enumerating arrays or ienumerables (b7e627d)
- added test (and tests) for creating diagnotics when generic interface or methods used (61f438e)
- messagetemplate: [partial] regex parsing integrated (e235a0d)
- messagetemplate: [partial] working on log gen v2 (60a7f1b)
- messagetemplate: [partial] working on log gen v2 (f42c371)
- updated all emitters to use global:: (44b56f6)
- added missing {CodeGen} to template attributes (b14d630)
- off-by-one error when exception parameter provided (8e0c02f)
2.0.1 (2025-02-02)
- updated sample app to use Minimal API (58bc4e5)
2.0.0 (2025-02-01)
- added abilitty to set Activity Status Code when defining an Event (8c3c11b)
- added ability to disable MS Logging related classes. Dropped support for .NET 7 (3e943e4)
1.0.12 (2024-06-09)
1.0.11 (2024-06-03)
1.0.10 (2024-06-03)
1.0.9 (2024-05-30)
- added diagnostic for duplicate method names (6989c83)
- added explicit attributes for log levels (e4b6b28)
1.0.8 (2024-05-27)
1.0.6 (2024-05-20)
- added new diagnostic (info) for when no Activity method is defined, but an Event and/ or Context is (2cca495)
1.0.5 (2024-05-06)
- fixed diagnostic id duplication (4e02398)
1.0.4 (2024-05-01)
- fixed invalid prefix modes for instruments (b1867ec)
1.0.3 (2024-04-30)
- added AutoCounterAttribute which is the same as CounterAttribute(AutoIncrement = true) (ff5a80a)
- fixed issue causing generic (List etc) parameters from correctly generating (098532b)
1.0.2 (2024-04-25)
- used the assembly name as the default activity source name (74e0b45)
1.0.1 (2024-04-25)
1.0.0 (2024-04-15)
- added basic support for otel exception format (228562f)
- supporting hash-defines for mutli-framework targetting (7b17254)
- telemetry (multi-target generation) working (6b93faf)
- fixed event exception generation null check and added agressive inlining to all generated methods (5071dd2)
- made the activity/ event/ exception situation more liberal (6075786)
0.0.1 (2024-03-18)
- added activities and events, moving on to metrics (fd1cdf2)
- adding activities (653b7f0)
- basis for working metrics (203a966)
- logging: basic tests working (6707d6d)
- observable metrics can return bool to indicate if they're already initialized or not (d56d8de)
- tests pass for MELT emitters -> more tests required (871c643)
- fixed di generation (9ae6711)