Skip to content

Commit ce69e08

Browse files
authored
Bump to beta20 (#236)
1 parent 1e71b51 commit ce69e08

File tree

8 files changed

+55
-65
lines changed

8 files changed

+55
-65
lines changed

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,24 @@
11
Changelog
22
---
33

4+
## [v1.0.0-beta20](https://github.com/andrewlock/NetEscapades.EnumGenerators/compare/v1.0.0-beta19..v1.0.0-beta20) (2026-01-05)
5+
6+
### Breaking Changes
7+
8+
* Split NetEscapades.EnumGenerators package into 3 packages (#233, #234)
9+
* _NetEscapades.EnumGenerators_ is a meta package, and should not be added with `PrivateAssets="All"` or `ExcludeAssets="runtime"`
10+
* _NetEscapades.EnumGenerators.Generators_ contains the source generator, and _can_ be added with private assets
11+
* _NetEscapades.EnumGenerators.RuntimeDependencies_ contains optional runtime dependencies used during generation
12+
* Please see the readme for advice on choosing your packages: https://github.com/andrewlock/NetEscapades.EnumGenerators#package-referencing-options
13+
14+
### Features
15+
16+
* Add analyzer to detect `StringBuilder.Append(enum)` on enums with `[EnumExtensions]` or `EnumExtensions<T>` (#230)
17+
18+
### Fixes
19+
20+
* Fix generating invalid XML in System.Memory warnings (#228)
21+
422
## [v1.0.0-beta19](https://github.com/andrewlock/NetEscapades.EnumGenerators/compare/v1.0.0-beta18..v1.0.0-beta19) (2026-01-05)
523

624
### Fixes

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ This adds a `<PackageReference>` to your project:
6363
</PropertyGroup>
6464

6565
<!-- Add the package -->
66-
<PackageReference Include="NetEscapades.EnumGenerators" Version="1.0.0-beta19" />
66+
<PackageReference Include="NetEscapades.EnumGenerators" Version="1.0.0-beta20" />
6767
<!-- -->
6868

6969
</Project>
@@ -390,10 +390,10 @@ In some cases you may not want these dependencies to flow to other projects. Thi
390390
</PropertyGroup>
391391

392392
<!-- Add the generator package with PrivateAssets -->
393-
<PackageReference Include="NetEscapades.EnumGenerators.Generators" Version="1.0.0-beta19" PrivateAssets="All"/>
393+
<PackageReference Include="NetEscapades.EnumGenerators.Generators" Version="1.0.0-beta20" PrivateAssets="All"/>
394394

395395
<!-- Optionally add the runtime dependencies package -->
396-
<PackageReference Include="NetEscapades.EnumGenerators.RuntimeDependencies" Version="1.0.0-beta19" />
396+
<PackageReference Include="NetEscapades.EnumGenerators.RuntimeDependencies" Version="1.0.0-beta20" />
397397
</Project>
398398
```
399399

@@ -453,7 +453,7 @@ In general, for simplicity, we recommend referencing [NetEscapades.EnumGenerator
453453
<TargetFramework>net8.0</TargetFramework>
454454
</PropertyGroup>
455455

456-
<PackageReference Include="NetEscapades.EnumGenerators" Version="1.0.0-beta19" />
456+
<PackageReference Include="NetEscapades.EnumGenerators" Version="1.0.0-beta20" />
457457
</Project>
458458
```
459459

@@ -466,7 +466,7 @@ In contrast, if you are producing a reusable library and don't want any runtime
466466
<TargetFramework>net8.0</TargetFramework>
467467
</PropertyGroup>
468468

469-
<PackageReference Include="NetEscapades.EnumGenerators.Generators" Version="1.0.0-beta19" PrivateAssets="All" ExcludeAssets="runtime" />
469+
<PackageReference Include="NetEscapades.EnumGenerators.Generators" Version="1.0.0-beta20" PrivateAssets="All" ExcludeAssets="runtime" />
470470
</Project>
471471
```
472472

@@ -480,8 +480,8 @@ The final option is to reference [NetEscapades.EnumGenerators.Generators](https:
480480
<TargetFramework>net8.0</TargetFramework>
481481
</PropertyGroup>
482482

483-
<PackageReference Include="NetEscapades.EnumGenerators.Generators" Version="1.0.0-beta19" PrivateAssets="All" ExcludeAssets="runtime"/>
484-
<PackageReference Include="NetEscapades.EnumGenerators.RuntimeDependencies" Version="1.0.0-beta19" />
483+
<PackageReference Include="NetEscapades.EnumGenerators.Generators" Version="1.0.0-beta20" PrivateAssets="All" ExcludeAssets="runtime"/>
484+
<PackageReference Include="NetEscapades.EnumGenerators.RuntimeDependencies" Version="1.0.0-beta20" />
485485
</Project>
486486
```
487487

@@ -513,7 +513,7 @@ This adds a `<PackageReference>` to your project. You can additionally mark the
513513
</PropertyGroup>
514514

515515
<!-- Add the package -->
516-
<PackageReference Include="NetEscapades.EnumGenerators.Interceptors" Version="1.0.0-beta19"
516+
<PackageReference Include="NetEscapades.EnumGenerators.Interceptors" Version="1.0.0-beta20"
517517
PrivateAssets="all" ExcludeAssets="runtime" />
518518
<!-- -->
519519

@@ -567,7 +567,7 @@ Your project file should look something like this:
567567
</PropertyGroup>
568568

569569
<!-- Add the package -->
570-
<PackageReference Include="NetEscapades.EnumGenerators" Version="1.0.0-beta19" />
570+
<PackageReference Include="NetEscapades.EnumGenerators" Version="1.0.0-beta20" />
571571
</Project>
572572
```
573573

@@ -588,7 +588,7 @@ If you wish to preserve these attributes in the build output, you can define the
588588
</PropertyGroup>
589589

590590
<!-- Add the package -->
591-
<PackageReference Include="NetEscapades.EnumGenerators" Version="1.0.0-beta19" PrivateAssets="all" />
591+
<PackageReference Include="NetEscapades.EnumGenerators" Version="1.0.0-beta20" PrivateAssets="all" />
592592
<!--You must not exclude the runtime assets in this case -->
593593

594594
</Project>

releasenotes.props

Lines changed: 8 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,51 +2,23 @@
22
<PropertyGroup>
33
<PackageReleaseNotes>
44
<![CDATA[
5-
## 1.0.0-beta19
6-
7-
### Fixes
8-
9-
* Fix README image links
5+
## 1.0.0-beta20
106
117
### Breaking Changes
128
13-
* Add support for generating `ReadOnlySpan<char>` based methods when System.Memory is present (#182, #212)
9+
* Split NetEscapades.EnumGenerators package into 3 packages (#233, #234)
10+
* _NetEscapades.EnumGenerators_ is a meta package, and should not be added with `PrivateAssets="All"` or `ExcludeAssets="runtime"`
11+
* _NetEscapades.EnumGenerators.Generators_ contains the source generator, and _can_ be added with private assets
12+
* _NetEscapades.EnumGenerators.RuntimeDependencies_ contains optional runtime dependencies used during generation
13+
* Please see the readme for advice on choosing your packages: https://github.com/andrewlock/NetEscapades.EnumGenerators#package-referencing-options
1414
1515
### Features
1616
17-
* Add support for disabling number parsing using `EnumParseOptions` (#175)
18-
* Add support for automatic `ToLowerInvariant` and `ToUpperInvariant` in `ToStringFast()`, using `SerializationOptions` (#177)
19-
* Add Analyzers to encourage using the generated methods
20-
* Add analyzer to detect ToString() on enums with [EnumExtensions] or EnumExtensions<T> (#196)
21-
* Extend ToStringAnalyzer to detect enum usage in string interpolation (#198)
22-
* Add analyzer to detect HasFlag() and suggest HasFlagFast() replacement (#199)
23-
* Extract the extension class and namespace in analyzers (#200)
24-
* Add using directive support to HasFlagAnalyzer and ToStringAnalyzer code fixes (#202)
25-
* Add analyzer for Enum.IsDefined() suggesting generated IsDefined method (#203)
26-
* Add analyzer for Enum.Parse() suggesting generated Parse method (NEEG007) (#204)
27-
* Add analyzer for Enum.GetNames() with generated alternative (#209)
28-
* Add analyzer for Enum.GetValues() with code fix to use generated method (#207)
29-
* Add analyzer for Enum.GetValuesAsUnderlyingType() usage (#208)
30-
* Add analyzer for Enum.TryParse() usage (#206)
31-
* Refactor analyzers to reduce some duplication (#205)
32-
* Disable usage analyzers by default, enable via editorconfig (#214)
33-
* Update default severity to warning (#218)
34-
* Change how the usage analyzers are enabled to use an `EnumGenerator_EnableUsageAnalyzers` MSBuild property instead (#222)
35-
* Add AnalyzerTests project to confirm that the analyzers are actually triggering warnings in a real project (#223)
36-
* Mention globalconfig in the docs, and tweak the detection for consistency (#224)
17+
* Add analyzer to detect `StringBuilder.Append(enum)` on enums with `[EnumExtensions]` or `EnumExtensions<T>` (#230)
3718
3819
### Fixes
3920
40-
* Remove ToStringFastWithMetadata when it's not needed for perf reasons(#176)
41-
* Minor performance fixes in generated code (#178)
42-
* Use Collection expressions in generated code if possible (#179)
43-
44-
### Misc
45-
46-
* Build tweaks (#180)
47-
* Add support for .NET 10.0 in Benchmark project (#184) Thanks [@HakamFostok](https://github.com/HakamFostok)!
48-
* Add Usage Analyzers documentation to README (#216)
49-
* Update Readme (#219)
21+
* Fix generating invalid XML in System.Memory warnings (#228)
5022
5123
]]>
5224
</PackageReleaseNotes>

src/NetEscapades.EnumGenerators.Generators/Constants.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ namespace NetEscapades.EnumGenerators;
22

33
public static class Constants
44
{
5-
public const string Version = "1.0.0-beta19";
5+
public const string Version = "1.0.0-beta20";
66
public const string MetadataSourcePropertyName = "EnumGenerator_EnumMetadataSource";
77
public const string ForceExtensionMembers = "EnumGenerator_ForceExtensionMembers";
88
}

src/NetEscapades.EnumGenerators.Generators/README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ This adds a `<PackageReference>` to your project. You can additionally mark the
8585
</PropertyGroup>
8686

8787
<!-- Add the package -->
88-
<PackageReference Include="NetEscapades.EnumGenerators.Generators" Version="1.0.0-beta19"
88+
<PackageReference Include="NetEscapades.EnumGenerators.Generators" Version="1.0.0-beta20"
8989
PrivateAssets="all" ExcludeAssets="runtime" />
9090
<!-- -->
9191

@@ -407,10 +407,10 @@ In some cases you may not want these dependencies to flow to other projects. Thi
407407
</PropertyGroup>
408408

409409
<!-- Add the generator package with PrivateAssets -->
410-
<PackageReference Include="NetEscapades.EnumGenerators.Generators" Version="1.0.0-beta19" PrivateAssets="All"/>
410+
<PackageReference Include="NetEscapades.EnumGenerators.Generators" Version="1.0.0-beta20" PrivateAssets="All"/>
411411

412412
<!-- Optionally add the runtime dependencies package -->
413-
<PackageReference Include="NetEscapades.EnumGenerators.RuntimeDependencies" Version="1.0.0-beta19" />
413+
<PackageReference Include="NetEscapades.EnumGenerators.RuntimeDependencies" Version="1.0.0-beta20" />
414414
</Project>
415415
```
416416

@@ -470,7 +470,7 @@ In general, for simplicity, we recommend referencing [NetEscapades.EnumGenerator
470470
<TargetFramework>net8.0</TargetFramework>
471471
</PropertyGroup>
472472

473-
<PackageReference Include="NetEscapades.EnumGenerators" Version="1.0.0-beta19" />
473+
<PackageReference Include="NetEscapades.EnumGenerators" Version="1.0.0-beta20" />
474474
</Project>
475475
```
476476

@@ -483,7 +483,7 @@ In contrast, if you are producing a reusable library and don't want any runtime
483483
<TargetFramework>net8.0</TargetFramework>
484484
</PropertyGroup>
485485

486-
<PackageReference Include="NetEscapades.EnumGenerators.Generators" Version="1.0.0-beta19" PrivateAssets="All" ExcludeAssets="runtime" />
486+
<PackageReference Include="NetEscapades.EnumGenerators.Generators" Version="1.0.0-beta20" PrivateAssets="All" ExcludeAssets="runtime" />
487487
</Project>
488488
```
489489

@@ -497,8 +497,8 @@ The final option is to reference [NetEscapades.EnumGenerators.Generators](https:
497497
<TargetFramework>net8.0</TargetFramework>
498498
</PropertyGroup>
499499

500-
<PackageReference Include="NetEscapades.EnumGenerators.Generators" Version="1.0.0-beta19" PrivateAssets="All" ExcludeAssets="runtime"/>
501-
<PackageReference Include="NetEscapades.EnumGenerators.RuntimeDependencies" Version="1.0.0-beta19" />
500+
<PackageReference Include="NetEscapades.EnumGenerators.Generators" Version="1.0.0-beta20" PrivateAssets="All" ExcludeAssets="runtime"/>
501+
<PackageReference Include="NetEscapades.EnumGenerators.RuntimeDependencies" Version="1.0.0-beta20" />
502502
</Project>
503503
```
504504

@@ -590,6 +590,6 @@ The `[EnumExtensions]` attribute is decorated with the `[Conditional]` attribute
590590
</PropertyGroup>
591591

592592
<!-- Add the package -->
593-
<PackageReference Include="NetEscapades.EnumGenerators" Version="1.0.0-beta19" />
593+
<PackageReference Include="NetEscapades.EnumGenerators" Version="1.0.0-beta20" />
594594
</Project>
595595
```

src/NetEscapades.EnumGenerators.Interceptors/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ This adds a `<PackageReference>` to your project. You can additionally mark the
5555
</PropertyGroup>
5656

5757
<!-- Add the package -->
58-
<PackageReference Include="NetEscapades.EnumGenerators.Interceptors" Version="1.0.0-beta19" />
58+
<PackageReference Include="NetEscapades.EnumGenerators.Interceptors" Version="1.0.0-beta20" />
5959
<!-- -->
6060

6161
</Project>

src/NetEscapades.EnumGenerators/README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ This adds a `<PackageReference>` to your project:
8585
</PropertyGroup>
8686

8787
<!-- Add the package -->
88-
<PackageReference Include="NetEscapades.EnumGenerators" Version="1.0.0-beta19" />
88+
<PackageReference Include="NetEscapades.EnumGenerators" Version="1.0.0-beta20" />
8989
<!-- -->
9090

9191
</Project>
@@ -479,10 +479,10 @@ In some cases you may not want these dependencies to flow to other projects. Thi
479479
</PropertyGroup>
480480

481481
<!-- Add the generator package with PrivateAssets -->
482-
<PackageReference Include="NetEscapades.EnumGenerators.Generators" Version="1.0.0-beta19" PrivateAssets="All"/>
482+
<PackageReference Include="NetEscapades.EnumGenerators.Generators" Version="1.0.0-beta20" PrivateAssets="All"/>
483483

484484
<!-- Optionally add the runtime dependencies package -->
485-
<PackageReference Include="NetEscapades.EnumGenerators.RuntimeDependencies" Version="1.0.0-beta19" />
485+
<PackageReference Include="NetEscapades.EnumGenerators.RuntimeDependencies" Version="1.0.0-beta20" />
486486
</Project>
487487
```
488488

@@ -542,7 +542,7 @@ In general, for simplicity, we recommend referencing [NetEscapades.EnumGenerator
542542
<TargetFramework>net8.0</TargetFramework>
543543
</PropertyGroup>
544544

545-
<PackageReference Include="NetEscapades.EnumGenerators" Version="1.0.0-beta19" />
545+
<PackageReference Include="NetEscapades.EnumGenerators" Version="1.0.0-beta20" />
546546
</Project>
547547
```
548548

@@ -555,7 +555,7 @@ In contrast, if you are producing a reusable library and don't want any runtime
555555
<TargetFramework>net8.0</TargetFramework>
556556
</PropertyGroup>
557557

558-
<PackageReference Include="NetEscapades.EnumGenerators.Generators" Version="1.0.0-beta19" PrivateAssets="All" ExcludeAssets="runtime" />
558+
<PackageReference Include="NetEscapades.EnumGenerators.Generators" Version="1.0.0-beta20" PrivateAssets="All" ExcludeAssets="runtime" />
559559
</Project>
560560
```
561561

@@ -569,8 +569,8 @@ The final option is to reference [NetEscapades.EnumGenerators.Generators](https:
569569
<TargetFramework>net8.0</TargetFramework>
570570
</PropertyGroup>
571571

572-
<PackageReference Include="NetEscapades.EnumGenerators.Generators" Version="1.0.0-beta19" PrivateAssets="All" ExcludeAssets="runtime"/>
573-
<PackageReference Include="NetEscapades.EnumGenerators.RuntimeDependencies" Version="1.0.0-beta19" />
572+
<PackageReference Include="NetEscapades.EnumGenerators.Generators" Version="1.0.0-beta20" PrivateAssets="All" ExcludeAssets="runtime"/>
573+
<PackageReference Include="NetEscapades.EnumGenerators.RuntimeDependencies" Version="1.0.0-beta20" />
574574
</Project>
575575
```
576576

@@ -592,6 +592,6 @@ The `[EnumExtensions]` attribute is decorated with the `[Conditional]` attribute
592592
</PropertyGroup>
593593

594594
<!-- Add the package -->
595-
<PackageReference Include="NetEscapades.EnumGenerators" Version="1.0.0-beta19" />
595+
<PackageReference Include="NetEscapades.EnumGenerators" Version="1.0.0-beta20" />
596596
</Project>
597597
```

version.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project>
22
<PropertyGroup>
33
<VersionPrefix>1.0.0</VersionPrefix>
4-
<VersionSuffix>beta19</VersionSuffix>
4+
<VersionSuffix>beta20</VersionSuffix>
55
<PackageVersion Condition="'$(VersionSuffix)' == ''">$(VersionPrefix)</PackageVersion>
66
<PackageVersion Condition="'$(VersionSuffix)' != ''">$(VersionPrefix)-$(VersionSuffix)</PackageVersion>
77
</PropertyGroup>

0 commit comments

Comments
 (0)