Releases: danielmeza/netprints
Release list
v0.2.0
0.2.0
Breaking (source): IClassEmitter and IMemberEmitter in NetPrints.Core are now [Experimental("NPXE0003")]; they
shipped unmarked in 0.1.1. Code that implements or references them, or builds a TranslationEnvironment with emitter
lists, gets error NPXE0003 until the project opts in (<NoWarn>$(NoWarn);NPXE0003</NoWarn>). See
API stability.
Breaking: The netprints command line (package NetPrints.Cli, shipped in 0.1.x) is rebuilt around commands. The 0.1 flags are removed, not deprecated; using one prints a message to stderr and exits 2. Replace netprints -p X (or --project-path X) with netprints build X, and netprints -p X -r (or --run) with netprints run X. Exit codes that 0.1 scripts may test also changed: --help and --version exit 0 (were 2), a project path that does not exist exits 2 (was 1), and Ctrl+C exits 130. See the exit codes and the removed flags.
New: netprints generate (alias regen), with --check to fail CI on stale generated files, and netprints migrate to report graph schema versions. run forwards everything after -- unchanged and streams the program's output. generate warns (and --check fails) when the tool's version differs from the project's NetPrints.Sdk package.
New: netprints catalog writes a type catalog (*.npcat.json, or a C# class with --format csharp) from assemblies, NuGet packages or a project's references, with --check for CI. It reads netprints.catalog.json; both files have JSON schemas (npcat.v1.schema.json, netprints.catalog.v1.schema.json). See the catalogs guide.
New (experimental): the catalog profile API: IExtensionBuilder.AddCatalogProfile and ExtensionRegistry.CatalogProfiles let an extension contribute a profile that decides what a catalog lists; using it needs the NPXE0004 opt-in. NetPrints.Extensibility now depends on NetPrints.Catalog.
New: netprints format rewrites a graph to canonical form (sorted by connection source, deterministic output for version control). netprints show prints a graph and its --overrides= as text (entry point or type signature). netprints merge integrates two changes to a graph: class fields and members three-way, variables by id, nodes by id, connections by addition or removal against the base. netprints git-install registers a diff and merge driver with git for .netpc.json and .netpc.g.cs files. See the CLI guide.
New: extension coexistence. One host can load multiple extensions in declared order. Dependencies (via <dependsOn> in the manifest) are resolved at load time, and unrecognized dependencies fail with NPX007. Shared-assembly rules ensure each extension gets a consistent view: a reference is shadowed by a dependency if both provide it. Name conflicts (duplicate node library ids, extension ids, member definitions) are reported as NPX006 issues and do not fail the load. JSON resolver probes of incompatible extensions are caught and logged; only that extension is rejected, not the whole registry. See extensions coexistence and the diagnostics reference.
New: the editor discovers embedded catalogs in referenced assemblies at load time, letting you browse types without modifying the project. See discovery of catalogs in referenced assemblies.
New (experimental): the NetPrints.Annotations package enables catalog profiles that hide members; use [NetPrintsIgnore] on public members, or an annotation source in your catalog to list them. See the Annotations section of the catalogs guide.
Changed: graphs now save connections in sorted order (by from and to). When a 0.1 graph is saved in this version for the first time, it reorders, and netprints format --check will fail until it is formatted once with netprints format.
Changed: an explicit null value in a graph member that the document type declares non-nullable is now a format error. This catches accidental nulls and enforces the schema's nullability contract.
Changed: the editor's method, parameter and return documentation (DocumentationUtil) is now whitespace-collapsed plain text; <see cref>, <paramref> and <see langword> render as their target name (they rendered as nothing before), and an empty element gives no text instead of an empty string. It now also finds documentation for methods in multi-segment namespaces and for generic, nested and ref members, which had none.
Downloads
| Platform | File |
|---|---|
| Linux x64 | NetPrints-<version>-linux-x64.tar.gz |
| Windows x64 | NetPrints-<version>-win-x64.zip |
| macOS Apple silicon | NetPrints-<version>-osx-arm64.tar.gz |
The editor archives are self-contained: they run without a .NET runtime. Opening, building and running
NetPrints projects needs the .NET 10 SDK, which also
provides the runtime your compiled programs need.
Packages: dotnet tool install -g NetPrints.Cli (command netprints) and
<PackageReference Include="NetPrints.Sdk" Version="…" PrivateAssets="all" />.
These builds are not code-signed. Windows SmartScreen shows "Windows protected your PC": choose
More info → Run anyway. On macOS, open it once, then System Settings → Privacy & Security →
Open Anyway (or run xattr -dr com.apple.quarantine NetPrints-<version>-osx-arm64).
Verify a download: sha256sum -c --ignore-missing SHA256SUMS.txt and gh attestation verify <file> -R danielmeza/netprints.
What's Changed
Other changes
- Split the avalonia-xaml skill into core, behaviors and styling skills by @danielmeza in #10
- P2: catalog tooling and Spectre CLI by @danielmeza in #9
Full Changelog: v0.1.1...v0.2.0
v0.1.1
Downloads
| Platform | File |
|---|---|
| Linux x64 | NetPrints-<version>-linux-x64.tar.gz |
| Windows x64 | NetPrints-<version>-win-x64.zip |
| macOS Apple silicon | NetPrints-<version>-osx-arm64.tar.gz |
The editor archives are self-contained: they run without a .NET runtime. Opening, building and running
NetPrints projects needs the .NET 10 SDK, which also
provides the runtime your compiled programs need.
Packages: dotnet tool install -g NetPrints.Cli (command netprints) and
<PackageReference Include="NetPrints.Sdk" Version="…" PrivateAssets="all" />.
These builds are not code-signed. Windows SmartScreen shows "Windows protected your PC": choose
More info → Run anyway. On macOS, open it once, then System Settings → Privacy & Security →
Open Anyway (or run xattr -dr com.apple.quarantine NetPrints-<version>-osx-arm64).
Verify a download: sha256sum -c --ignore-missing SHA256SUMS.txt and gh attestation verify <file> -R danielmeza/netprints.
What's Changed
Other changes
- Adopt sourcemeta jsonschema CLI for schema validation (ADR-0011) by @danielmeza in #8
Full Changelog: v0.1.0...v0.1.1
v0.1.0
Downloads
| Platform | File |
|---|---|
| Linux x64 | NetPrints-<version>-linux-x64.tar.gz |
| Windows x64 | NetPrints-<version>-win-x64.zip |
| macOS Apple silicon | NetPrints-<version>-osx-arm64.tar.gz |
The editor archives are self-contained: they run without a .NET runtime. Opening, building and running
NetPrints projects needs the .NET 10 SDK, which also
provides the runtime your compiled programs need.
Packages: dotnet tool install -g NetPrints.Cli (command netprints) and
<PackageReference Include="NetPrints.Sdk" Version="…" PrivateAssets="all" />.
These builds are not code-signed. Windows SmartScreen shows "Windows protected your PC": choose
More info → Run anyway. On macOS, open it once, then System Settings → Privacy & Security →
Open Anyway (or run xattr -dr com.apple.quarantine NetPrints-<version>-osx-arm64).
Verify a download: sha256sum -c --ignore-missing SHA256SUMS.txt and gh attestation verify <file> -R danielmeza/netprints.
What's Changed
Other changes
- P0: Modernize build and migrate editor to Avalonia by @danielmeza in #1
- P0.1: Grid rendering by @danielmeza in #2
- Format the grid shader for readability by @danielmeza in #3
- Reorganize repository layout and repo health by @danielmeza in #5
- P1: core refactor, graph format and extension points by @danielmeza in #6
New Contributors
- @danielmeza made their first contribution in #1
Full Changelog: https://github.com/danielmeza/netprints/commits/v0.1.0