Skip to content

Versions and Upgrading

m4bwav edited this page Sep 30, 2026 · 2 revisions

Releases

Dates are the changelog's. Full notes: CHANGELOG.md.

Version Date Targets What changed
2.3.0 2026-09-28 netstandard2.0, net10.0 Place list rebuilt from the Census file: 246 names back (Georgetown, Allentown, Middletown, ...), 150 truncated entries gone, 16,969 names. Almost every seeded place name differs from 2.2.0; person and star names are unchanged. Golden tests, a release workflow with attestation and Trusted Publishing, SECURITY.md.
2.3.0-beta.1 2026-09-28 Prerelease rehearsal of 2.3.0 with the same code.
2.2.0 2026-09-27 StarNameGenerator, IStarNameGenerator and the Random star extensions. The package grew by about 45 KB.
2.1.0 2026-09-25 Seed constructors, read-only list properties, XML documentation, nullable annotations, trimming and AOT on net10.0. Fixes: identical names from generators created in the same tick on .NET Framework (issue #7), duplicate place rows, U+FFFD in 49 Puerto Rico names, thread-safe list loading, disposed resource streams, argument checks in the place extensions. CensusListStripper and FileCompressor marked obsolete.
2.0.1 2026-09-24 README with example names (issue #5), shipped inside the package. Published through Trusted Publishing.
2.0.0 2026-09-24 netstandard2.0, net10.0 Rebuilt with the current SDK; net40 and netstandard1.6 dropped. SourceLink, deterministic build. No API changes.
1.2.2 2016-10-17 net40, netstandard1.6 Last 1.x release, and the one behind 3.8 million of the package's downloads.
1.0.5.1 to 1.2.1 2014 to 2016 net45 or none Early releases. 1.1.0 contains no assembly at all (source files and build caches were packed instead), and 1.1.1, 1.2.0 and 1.2.1 put the DLL in lib/ without a target framework folder. Use 1.2.2 if you must stay on 1.x.

Versions 1.0.0 to 1.0.5 are unlisted on nuget.org.

Upgrading from 1.2.2

Most code compiles unchanged. Check these points.

Target frameworks

1.2.2 shipped net40 and netstandard1.6. 2.x ships netstandard2.0 and net10.0, so a project needs .NET Framework 4.6.2 or later, .NET Core 2.0 or later, or .NET 5 or later. A project on .NET Framework 4.0 or 4.5 cannot take 2.x.

The API

No public type, member or parameter was renamed or removed. 2.x adds the int seed constructors, the static list properties, star names and their extension methods.

Seeded person names are the same, seeded place names are not

The person lists are the ones 1.2.2 shipped, so new PersonNameGenerator(new Random(42)) gives the names it always gave. The place list changed in 2.1.0 (duplicates removed) and again in 2.3.0 (rebuilt). A test or fixture that pinned a place name from 1.2.2 needs a new expected value. Reproducible names has the details.

Default generators no longer repeat on .NET Framework

1.2.2 gave every new PersonNameGenerator() its own new Random(), which .NET Framework seeds from the clock, so generators created in the same tick produced the same names (issue #7). 2.1.0 fixed it. A workaround such as a Sleep between constructions, or one generator shared by everything, still works and can go.

Obsolete types

CensusListStripper and FileCompressor compile with warning CS0618 and disappear in 3.0. If the build treats warnings as errors, stop using them or suppress CS0618 at the call. They were the 2014 build tools and have no use in an application.

Package contents

2.x ships XML documentation for IntelliSense, a symbol package, SourceLink and the README inside the package. 2.1.0 and later are trimmable and AOT compatible on net10.0.

Upgrading within 2.x

  • 2.0.x to 2.1.0: place names for a given seed change (duplicates removed). Nothing else to do.
  • 2.1.0 to 2.2.0: additive. A type implementing IPersonNameGenerator or IPlaceNameGenerator is unaffected, because star names got their own interface.
  • 2.2.0 to 2.3.0: place names for a given seed change again (list rebuilt). Anything that pinned a place name from 2.2.0 needs a new value. Georgetown and 245 other names are back; George, Feli and 148 other fragments are gone.

What 3.0 will do

The next major version removes CensusListStripper and FileCompressor. It has no date.

Old versions on nuget.org

Versions 1.0.5.1 to 1.2.2 stay listed so that old projects keep restoring. Nothing before 2.0.0 receives fixes.

Clone this wiki locally