diff --git a/.agents/skills/audit-catalogue-projects/SKILL.md b/.agents/skills/audit-catalogue-projects/SKILL.md index bb3c20d..41858e3 100644 --- a/.agents/skills/audit-catalogue-projects/SKILL.md +++ b/.agents/skills/audit-catalogue-projects/SKILL.md @@ -81,7 +81,10 @@ Related: `project-manifest-reference` (fields and vocabularies), `docs-aggregati cache). - Exactly one `primary` when a project has multiple packages. - `targetFrameworks` match the package's actual TFMs (`netstandard2.0` for generators/analyzers is - normal). + normal). `just check-projects` reports a mismatch as an advisory observation: project-level + frameworks against the union of the runtime packages' published TFMs, package-level frameworks + against that package's own. `netstandard*` is treated as an analyzer/generator target, not a + consumer framework. - `install` is set only when the package is not a plain NuGet reference: `msbuild-sdk` for `Purview.BuildSdk`, `dotnet-tool` for `Purview.Build`. diff --git a/.agents/skills/project-manifest-reference/SKILL.md b/.agents/skills/project-manifest-reference/SKILL.md index 21762d2..7bcac90 100644 --- a/.agents/skills/project-manifest-reference/SKILL.md +++ b/.agents/skills/project-manifest-reference/SKILL.md @@ -49,8 +49,9 @@ Adding a value to any of these lists is a schema change and requires an ADR. `ex | `order` | no | Default `1000`; projects are sorted ascending; keep values unique | | `docs` | no | See below | | `install` | no | Default `nuget` | -| `targetFrameworks` | no | e.g. `net8.0`, `net9.0`, `net10.0`, `netstandard2.0` | +| `targetFrameworks` | no | e.g. `net8.0`, `net9.0`, `net10.0`, `netstandard2.0`; `just check-projects` reports (advisory) when it does not match the union of the runtime packages' published NuGet TFMs | | `packages` | no | `{ id, description?, primary?, targetFrameworks? }[]`; defaults to `[]` | +| `assets` | no | `{ path, output, description? }[]`; repository files mirrored into `public/` at build time (`path` is repo-relative, `output` is site-relative); defaults to `[]` | | `related` | no | Known project ids; rendered in the project page aside | | `useCases` | no | Default `[]`; at least one required for non-archived projects | | `acknowledgments` | no | `{ name, url, description? }[]`; upstream work the project credits | @@ -81,7 +82,9 @@ Adding a value to any of these lists is a schema change and requires an ADR. `ex 3. `related`, `supersedes`, and `supersededBy` must all reference existing project ids. 4. A NuGet package id may be declared by **exactly one** project. 5. `experimental: true` is rejected when `status` is `archived` (schema refinement). -6. The returned list is sorted by `order` ascending. +6. An asset `output` path may be declared by **exactly one** project, must be relative, and must + not contain a `..` segment. +7. The returned list is sorted by `order` ascending. ## Defaults applied by the loader diff --git a/.agents/skills/site-validation-loop/SKILL.md b/.agents/skills/site-validation-loop/SKILL.md index 50763bf..83b4a1d 100644 --- a/.agents/skills/site-validation-loop/SKILL.md +++ b/.agents/skills/site-validation-loop/SKILL.md @@ -30,7 +30,7 @@ tags: | Catalogue | `just check-projects` | Catalogue invariants (see below) | | Build | `just build` (runs live data sync first) | Astro/Starlight build, sidebar/llms plugin wiring | | Links | `just check-links` | Broken internal links **and missing anchors** across `dist/**/*.html` | -| Generated output | `just check-generated` | Docs cache/mirror agreement, release cache shape, `llms*.txt`, sitemap, robots, no secrets/local paths | +| Generated output | `just check-generated` | Docs cache/mirror agreement, release cache shape, mirrored project assets exist and are valid JSON, `llms*.txt`, sitemap, robots, no secrets/local paths | | Dist tests | `just test:dist` | Per-project LLM bundles, rendered project/use-case surfaces, footer version, SEO outputs | ## The catalogue guard (`just check-projects`) @@ -49,8 +49,26 @@ deterministic). It fails the build on: `discussions: true` without repository discussions; - `externalProjects` pointing at a `purview-dev` repository. +Beyond those blockers, the guard prints **advisory observations** (they never fail the build) when a +project disagrees with the versions and frameworks its packages have published: + +- a `preview` project whose packages already publish a stable NuGet version (unless `experimental`); +- a NuGet package that is deprecated or unlisted; +- packages that trail the project's headline version; +- `targetFrameworks` that do not match the packages' NuGet nuspec metadata. Project-level frameworks + are compared with the union of the **runtime** packages' frameworks; package-level frameworks are + compared with that package's own. `netstandard*` is treated as an analyzer/generator build target + (never a consumer framework), and `install: msbuild-sdk`/`dotnet-tool` projects and the `msbuild` + sentinel are skipped. + Run it alone while iterating: `just check-projects`. +Apply the machine-applicable observations (missing/mismatched `targetFrameworks`, `preview` → +`stable` when a stable package exists) with `just fix-projects`; it is a dry run by default and only +edits the records with `--write`. It rewrites the affected `targetFrameworks` lists to exactly the +expected set (so it also removes frameworks a package no longer targets), but never touches blockers +or judgement calls such as replacing a deprecated package. + ## Data-sync modes `DATA_MODE` (`src/.env.example`) controls how docs/release data is obtained: @@ -60,6 +78,11 @@ Run it alone while iterating: `just check-projects`. - `cache` — only use the existing cache (fails if missing). - `fixture` — only use `src/fixtures/**` (fully offline, deterministic). +The same mode governs mirrored **project assets** (`assets:` in a record): `just data-sync` fetches +each declared repository file with the docs aggregator's `fetchRawFile`, writes it to `public/`, and +caches it under `.cache/assets/`. A declared asset that cannot be resolved fails the sync, so a +missing schema never silently ships a broken URL. + `DATA_FALLBACK_TO_FIXTURES=false` makes `auto` fail loudly instead of silently using fixtures. Set `GITHUB_TOKEN` (or `gh auth token`) to avoid unauthenticated rate limits. diff --git a/.config/lefthook.yml b/.config/lefthook.yml index 81ee313..5dc3dcc 100644 --- a/.config/lefthook.yml +++ b/.config/lefthook.yml @@ -12,7 +12,10 @@ pre-commit: oxfmt: root: src glob: '*.{ts,tsx,css,md,mdx,json,yml,yaml,toml}' - run: bunx oxfmt {staged_files} + # `--no-error-on-unmatched-pattern` keeps the hook green when the staged + # files are all covered by oxfmt's `ignorePatterns` (e.g. a commit that + # only touches `fixtures/**`). Genuine formatting issues still fail. + run: bunx oxfmt --no-error-on-unmatched-pattern {staged_files} oxlint: root: src glob: '*.{ts,tsx,js,jsx,astro}' diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index fdf390c..5c7690e 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -19,6 +19,9 @@ package is `src/`. - Edit the catalogue under `src/src/data/` only (one file per project, plus `external-projects.yml`), and keep every invariant listed in `AGENTS.md` (unique ids/orders/packages, `name` slugifying to `id` for documented projects, at least one use case per non-archived project, `code` paired with `language`, resolvable `docsPage`). +- Keep declared `status` and `targetFrameworks` honest: `just check-projects` prints advisory + observations when they disagree with the packages' published NuGet versions and frameworks. Apply + the machine-applicable ones with `just fix-projects` (dry run; pass `--write` to edit). - Keep documentation where it lives (the product repository). This site aggregates it at build time. - Use Conventional Commits and keep changes small and reviewable. diff --git a/.gitignore b/.gitignore index 9c8b646..69c72f8 100644 --- a/.gitignore +++ b/.gitignore @@ -294,6 +294,9 @@ src/public/icon-192.png src/public/icon-512.png src/public/og/ +# Mirrored project assets (regenerated by `just data-sync`) +src/public/schemas/ + ### Go ### # If you prefer the allow list template instead of the deny list, see community template: # https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore @@ -674,10 +677,16 @@ sketch # The generic template ignores `[Rr]elease*/` and `dist` as build output, but # the site uses those names for source: the releases catalogue page, release # transforms, committed release fixtures, and the built-output test suite. +# Likewise `[Bb]uild/` would ignore the committed asset fixture for the +# `purview-dev/build` repository under `fixtures/assets/build/`. !src/fixtures/github/releases/ !src/fixtures/github/releases/** !src/fixtures/releases/ !src/fixtures/releases/** +!src/fixtures/assets/ +!src/fixtures/assets/** +!src/fixtures/assets/build/ +!src/fixtures/assets/build/** !src/src/lib/releases/ !src/src/lib/releases/** !src/src/pages/releases/ diff --git a/AGENTS.md b/AGENTS.md index 8d0f5c9..b5f3997 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -27,8 +27,8 @@ from the repository root and delegated to the package. on `astro check` + oxlint. - **Task runner:** Just (`justfile`; switches to pwsh on Windows). - **All external data is fetched at build time**, never by the visitor's browser: GitHub/NuGet - release data and the documentation mirror, cached under `src/.cache/` with committed fixtures as - the offline fallback. + release data, the documentation mirror, and any `assets:` a project mirrors into `public/`, cached + under `src/.cache/` with committed fixtures as the offline fallback. ### Generated outputs — never edit by hand @@ -36,6 +36,7 @@ from the repository root and delegated to the package. | --- | --- | --- | | `src/src/content/docs/**` | Aggregated documentation mirror (gitignored) | `just data-sync` | | `src/.cache/docs`, `src/.cache/releases` | Typed docs/release caches (gitignored) | `just data-sync` / `just fetch-releases` | +| `src/public/schemas/**` | Mirrored project assets declared in `assets:` (gitignored) | `just data-sync` | | `src/dist/**` | Production build output (gitignored) | `just build` | ### Authoritative validation @@ -47,7 +48,9 @@ just validate runs format-check → lint → typecheck → unit tests → asset checks → catalogue checks → build → link crawl → generated-output checks → built-output tests. It is the same pipeline CI uses (`purview-build.json` → `bun run ci:build`), so a green `just validate` is the definition of "safe to -merge". `just check-projects` is part of that chain and fails the build on catalogue drift. +merge". `just check-projects` is part of that chain and fails the build on catalogue drift. It also +prints advisory observations (which never fail the build) when a project's declared `status` or +`targetFrameworks` disagree with the versions and frameworks its packages have actually published. ## Ecosystem model — what "a project" means here @@ -81,6 +84,13 @@ merge". `just check-projects` is part of that chain and fails the build on catal - `related`, `supersedes`, `supersededBy` must reference known ids. - `status` must match reality: an archived repository is `archived`; prerelease-only tooling is `preview`; a project with a stable release is `stable`. + - Declared versions and frameworks must agree with what the packages publish: a stable NuGet + version on a `preview` project, a deprecated or unlisted package, packages that trail the family + version, and a `targetFrameworks` set (project- or package-level) that does not match the + packages' NuGet metadata are reported as advisory observations by `just check-projects`. They + never fail the build, but they are catalogue drift and should be fixed or explicitly accepted. + Run `just fix-projects` to apply the guard's machine-applicable fixes (a dry run by default; + pass `--write` to edit the records). - `experimental: true` marks a project whose API and packaging may change without notice (ADR 0004). It is orthogonal to `status` — which stays the release channel — it is invalid on an `archived` project, and it never hides a project: it adds a warning badge and a notice to the @@ -120,6 +130,7 @@ Do not assume this file contains everything; consult `.agents/` while planning. | Manifest schema / loader | `src/src/lib/manifest/{schema,load}.ts` | | Docs aggregation | `src/src/lib/docs/aggregate.ts` (+ `frontmatter`, `links`, `sidebar`, `staleness`) | | Release data | `src/src/lib/releases/*`, `src/scripts/fetch-releases.ts` | +| Mirrored project assets | `src/scripts/sync-assets.ts` (`assets:` in the manifest) | | Pages | `src/src/pages/{index,about,use-cases,docs,projects,releases}/` | | Validation | `justfile`, `src/scripts/{check-links,check-generated,check-assets,check-projects}.ts` | | Architecture decisions | `docs/decisions/*.md` | diff --git a/justfile b/justfile index 95af0e0..dc1e5ef 100644 --- a/justfile +++ b/justfile @@ -87,6 +87,10 @@ check-generated: check-projects: bun run check:projects +# Apply the guard's auto-fixes to the project records (dry run; pass --write to apply). +fix-projects *ARGS: + bun run fix:projects {{ARGS}} + # Validate the generated discovery artifacts (sitemaps, robots, llms, discover.json). discovery-validate: bun run discovery:validate diff --git a/package.json b/package.json index f38595f..13d7e5e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "purview-dev", - "version": "0.5.0", + "version": "0.5.1", "private": true, "description": "Purview-Dev public website and unified documentation portal (workspace root).", "license": "MIT", @@ -23,6 +23,7 @@ "discovery:manifest": "bun run --cwd src discovery:manifest", "discovery:validate": "bun run --cwd src discovery:validate", "fetch:releases": "bun run --cwd src fetch:releases", + "fix:projects": "bun run --cwd src fix:projects", "format": "bun run --cwd src format", "format:check": "bun run --cwd src format:check", "lint": "bun run --cwd src lint", diff --git a/src/astro.config.ts b/src/astro.config.ts index fdc6bfe..baf3502 100644 --- a/src/astro.config.ts +++ b/src/astro.config.ts @@ -196,7 +196,7 @@ export default defineConfig({ }, { label: 'NuGet packages', - url: `${SITE.nugetUrl}/search?q=purview`, + url: `${SITE.nugetUrl}/packages?q=purview+kieronlanning`, description: 'Published packages on nuget.org.', }, { diff --git a/src/fixtures/assets/build/purview-build.schema.json b/src/fixtures/assets/build/purview-build.schema.json new file mode 100644 index 0000000..144e73d --- /dev/null +++ b/src/fixtures/assets/build/purview-build.schema.json @@ -0,0 +1,492 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/purview-dev/build/main/purview-build.schema.json", + "title": "Purview.Build configuration", + "description": "Configuration for the Purview.Build shared pipeline (purview-build.json). Every section is optional; unset keys fall back to the tool\u0027s defaults.", + "type": "object", + "properties": { + "Build": { + "type": "object", + "properties": { + "LogLevel": { + "type": "string", + "enum": [ + "Trace", + "Debug", + "Information", + "Warning", + "Error", + "Critical", + "None" + ], + "default": "Information" + }, + "ProjectType": { + "type": "string", + "enum": [ + "DotNet", + "Web" + ], + "description": "The kind of repository the pipeline operates on. DotNet runs the dotnet-based modules (restore/build/test/pack/lint); Web runs the corresponding Bun-based commands from the repository\u0027s root package.json scripts.", + "default": "DotNet" + }, + "Solution": { + "type": "string", + "default": "src/Product.slnx" + }, + "Configuration": { + "type": "string", + "default": "Release" + }, + "ArtifactsFolder": { + "type": "string", + "default": "artifacts" + }, + "CleanArtifacts": { + "type": "boolean", + "description": "When true, CleanArtifactsModule deletes and recreates ArtifactsFolder before the pipeline produces any output, so validation, publishing, and release uploads only ever see the artifacts from the current run. Ignored when RunPack is false (nothing will be packed, so existing artifacts, such as a folder being inspected ahead of a publish, are left untouched).", + "default": true + }, + "RunTests": { + "type": "boolean", + "default": true + }, + "TestRoot": { + "type": "string", + "description": "Root directory (relative to the repository root) under which test projects are discovered.", + "default": "src/tests" + }, + "TestPatterns": { + "type": "string", + "description": "Comma-separated project search patterns, recursively applied under TestRoot.", + "default": "*Tests.csproj" + }, + "TestProjects": { + "type": "string", + "description": "Comma-separated list of test project file names (or glob patterns) to run. Empty or \u0022*\u0022 runs every discovered test project.", + "default": "*" + }, + "TestFramework": { + "type": "string", + "enum": [ + "TUnit", + "xUnit" + ], + "default": "TUnit" + }, + "TestFilter": { + "type": "string", + "description": "Test filter. For TUnit this is a Microsoft.Testing.Platform tree-node filter (e.g. \u0022/*/*/*/*[Category=Unit]\u0022); for xUnit it is a VSTest filter (e.g. \u0022Category=Unit\u0022). Empty disables the filter.", + "default": "/*/*/*/*/" + }, + "RunLint": { + "type": "boolean", + "default": true + }, + "RunPack": { + "type": "boolean", + "default": true + }, + "ValidatePack": { + "type": "boolean", + "default": true + }, + "WebInstallCommand": { + "type": "string", + "description": "Install command used by RestoreModule for Web projects.", + "default": "bun install" + }, + "WebBuildCommand": { + "type": "string", + "description": "Build command used by BuildModule for Web projects. When left at the default, the module first runs a data:sync script if one is declared. Override to take full control of the build (for example a chain of validation scripts).", + "default": "bun run build" + }, + "WebLintCommand": { + "type": "string", + "description": "Lint command used by LintModule for Web projects.", + "default": "bun run lint" + }, + "WebFormatCheckCommand": { + "type": "string", + "description": "Format-check command used by LintModule for Web projects.", + "default": "bun run format:check" + }, + "WebTestCommand": { + "type": "string", + "description": "Test command used by RunTestsModule for Web projects.", + "default": "bun run test" + }, + "WebBuildOutput": { + "type": "string", + "description": "Directory (relative to the repository root) whose contents PackModule zips into Build:ArtifactsFolder for Web projects.", + "default": "src/dist" + } + }, + "additionalProperties": false, + "patternProperties": { + "^\\$": true + } + }, + "PackValidation": { + "type": "object", + "properties": { + "RequireSymbolPackage": { + "type": "boolean", + "description": "Every .nupkg must have a matching .snupkg (same id/version) and vice versa.", + "default": true + }, + "RequireSymbolFiles": { + "type": "boolean", + "description": "Every .snupkg must contain at least one .pdb file.", + "default": true + }, + "RequireSourceLink": { + "type": "boolean", + "description": "Every .dll/.exe in the .nupkg must have a matching portable PDB (in the .snupkg) that contains a Source Link record.", + "default": false + }, + "RequireDeterministic": { + "type": "boolean", + "description": "Every .dll/.exe in the .nupkg must be built deterministically (the PE must carry the Reproducible debug directory entry emitted by deterministic compiler builds).", + "default": false + }, + "RequiredCompilerFlags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Compiler-flag key=value entries that must appear in each assembly\u0027s PDB compiler-flags record (case-insensitive), e.g. \u0022optimization=release\u0022.", + "default": [] + }, + "RequiredContent": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Package id (glob, case-insensitive; \u0022*\u0022 matches every package) to entry path globs that MUST be present in the .nupkg. Paths use forward slashes, e.g. \u0022tools/**/Foo.dll\u0022 or \u0022lib/netstandard2.0/Foo.dll\u0022.", + "default": {} + }, + "ForbiddenContent": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Package id (glob, case-insensitive; \u0022*\u0022 matches every package) to entry path globs that MUST NOT be present in the .nupkg. Paths use forward slashes, e.g. \u0022**/*.pdb\u0022.", + "default": {} + }, + "RequireExplicitContent": { + "type": "boolean", + "description": "When true, RequiredContent becomes the exhaustive, exact definition of every package\u0027s contents: Every produced .nupkg\u0027s id must match a RequiredContent key; a package with no matching rule is an error. Every entry in the .nupkg (excluding standard NuGet/OPC metadata such as the .nuspec, \u0022[Content_Types].xml\u0022, \u0022_rels/\u0022, \u0022package/services/metadata/\u0022, and \u0022.signature.p7s\u0022) must match one of that package\u0027s (TFM-expanded) RequiredContent globs; any undeclared entry is an error.", + "default": true + } + }, + "additionalProperties": false, + "patternProperties": { + "^\\$": true + } + }, + "NuGet": { + "type": "object", + "properties": { + "APIKey": { + "type": "string", + "description": "Secret: the NuGet API key used to push packages. Prefer the NUGET_APIKEY environment variable over committing it here." + }, + "EnvAPIKey": { + "type": "string", + "description": "Secret: binds NuGet__NUGET_APIKEY. Prefer the plain NUGET_APIKEY environment variable." + }, + "FeedUrl": { + "type": "string", + "default": "https://api.nuget.org/v3/index.json" + }, + "TrustedPublishing": { + "type": "boolean", + "description": "When true, packages are pushed without an API key using NuGet Trusted Publishing (OIDC federation, e.g. via the NuGet/login GitHub Action). No API key is required.", + "default": false + } + }, + "additionalProperties": false, + "patternProperties": { + "^\\$": true + } + }, + "PublishLocalNuGet": { + "type": "object", + "properties": { + "LocalFeedPath": { + "type": "string", + "default": "" + }, + "EnvLocalFeedPath": { + "type": "string", + "description": "Env-var bound alias for LocalFeedPath via PublishLocalNuGet__LOCAL_NUGET_FEED_PATH." + }, + "OverwriteExistingPackages": { + "type": "boolean", + "default": true + }, + "ShutdownDotnetBuilderServer": { + "type": "boolean", + "default": true + }, + "ClearPackageCache": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false, + "patternProperties": { + "^\\$": true + } + }, + "GitHub": { + "type": "object", + "properties": { + "AccessToken": { + "type": "string", + "description": "Secret: the GitHub token used to create releases. Prefer the GITHUB_TOKEN environment variable over committing it here." + }, + "EnvAccessToken": { + "type": "string", + "description": "Secret: binds GitHub__GITHUB_TOKEN. Prefer the plain GITHUB_TOKEN environment variable." + }, + "ProductHeader": { + "type": "string", + "default": "Purview.Build.Pipeline" + } + }, + "additionalProperties": false, + "patternProperties": { + "^\\$": true + } + }, + "Version": { + "type": "object", + "properties": { + "Source": { + "type": "string", + "enum": [ + "PackageJson" + ], + "default": "PackageJson" + }, + "Strictness": { + "type": "string", + "enum": [ + "NuGet", + "SemVer2" + ], + "default": "NuGet" + } + }, + "additionalProperties": false, + "patternProperties": { + "^\\$": true + } + }, + "Release": { + "type": "object", + "properties": { + "Mode": { + "type": "string", + "enum": [ + "None", + "NuGet", + "GitHubRelease", + "LocalNuGet" + ], + "description": "Preset that derives Publish and GitHubRelease. Retained as the primary switch; an explicitly set Publish/GitHubRelease wins over whatever the preset implies.", + "default": "None" + }, + "Publish": { + "type": [ + "boolean", + "null" + ], + "description": "Whether packages are pushed. Null means \u0022derive from Mode\u0022." + }, + "GitHubRelease": { + "type": [ + "boolean", + "null" + ], + "description": "Whether the tag and GitHub release are created. Null means \u0022derive from the channel, then from Mode\u0022." + }, + "Channel": { + "type": "string", + "description": "Named channel, selecting the feed and the label policy.", + "default": "stable" + }, + "Channels": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "FeedUrl": { + "type": "string", + "description": "Feed this channel publishes to. Falls back to NuGet:FeedUrl." + }, + "GitHubRelease": { + "type": [ + "boolean", + "null" + ], + "description": "Whether a GitHub release is created for this channel. Falls back to the resolved Release:GitHubRelease." + }, + "MarkPrerelease": { + "type": [ + "boolean", + "null" + ], + "description": "Whether a prerelease version is marked as a GitHub prerelease. Falls back to Release:MarkPrerelease." + }, + "LabelPattern": { + "type": "string", + "description": "Pattern the prerelease label must match (REL007), for example prerelease or preview. A trailing * is a prefix match. Null disables the check even when REL007 is enabled." + } + }, + "additionalProperties": false, + "patternProperties": { + "^\\$": true + }, + "description": "A named release channel: where packages go, whether a GitHub release is cut, and which prerelease labels are allowed." + }, + "default": {} + }, + "DryRun": { + "type": "boolean", + "description": "Runs the full pipeline but skips publishing and the GitHub release, logging what each would have done.", + "default": false + }, + "UploadArtifacts": { + "type": "boolean", + "description": "When true, the GitHub release module uploads every file in Build:ArtifactsFolder (for example .nupkg/.snupkg or .vsix) as release assets.", + "default": false + }, + "MarkPrerelease": { + "type": "boolean", + "description": "When true (the default), a GitHub release whose version is a prerelease (for example 2.0.0-prerelease.25) is created as a prerelease, so it is not presented as the latest stable release. Set to false to publish prerelease versions as stable releases.", + "default": true + }, + "Eligibility": { + "type": "object", + "properties": { + "Policy": { + "type": "string", + "description": "Name of the selected policy. Defaults to the policy that reproduces the pipeline\u0027s pre-eligibility behaviour, so a repository with no Release:Eligibility section is unaffected.", + "default": "ReleaseOnMain" + }, + "Policies": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "Inherits": { + "type": "string", + "description": "Name of the policy this one is expressed as a diff from. A missing parent is an error naming the unresolved policy." + }, + "Rules": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "StableRefs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Refs a stable (non-prerelease) version may be released from (REL003). Entries may use a trailing *, for example refs/heads/release/*.", + "default": [] + }, + "ServicingRefs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Refs a version with a non-zero PATCH component may be released from (REL004).", + "default": [] + }, + "TrunkRefs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Refs that represent the trunk, where a release is not cut. Recorded so a policy can describe the branch model it belongs to; no rule reads it directly today.", + "default": [] + }, + "FourPartRefs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Refs a four-part version may be released from (REL006).", + "default": [] + }, + "AllowFourPart": { + "type": "boolean", + "description": "Whether four-part versions are permitted at all (REL006).", + "default": false + } + }, + "additionalProperties": false, + "patternProperties": { + "^\\$": true + }, + "description": "One named release-eligibility policy: which REL0nn rules apply, and the refs they judge against." + }, + "description": "Policies by name. Merged over the built-in policies, so a repository can select TrunkReservesMinor without redeclaring it, and can override a built-in by name.", + "default": {} + } + }, + "additionalProperties": false, + "patternProperties": { + "^\\$": true + }, + "default": { + "Policy": "ReleaseOnMain", + "Policies": {} + } + }, + "Context": { + "type": "object", + "properties": { + "Ref": { + "type": "string", + "description": "Overrides the evaluated ref. Defaults to GITHUB_REF, then the current git branch." + }, + "ExistingTags": { + "type": "string", + "description": "Path to a newline- or JSON-delimited tag list, used instead of querying git." + }, + "PublishedVersions": { + "type": "string", + "description": "Path to a newline- or JSON-delimited version list treated as already on the feed, used instead of querying it." + } + }, + "additionalProperties": false, + "patternProperties": { + "^\\$": true + }, + "description": "Simulated release context, so eligibility can be evaluated on a developer machine without being on the branch or having the tags and feed state the rules judge against." + } + }, + "additionalProperties": false, + "patternProperties": { + "^\\$": true + } + } + }, + "additionalProperties": false, + "patternProperties": { + "^\\$": true + } +} \ No newline at end of file diff --git a/src/fixtures/github/releases/aspire-resourcekit.json b/src/fixtures/github/releases/aspire-resourcekit.json index 749b17a..f384ca6 100644 --- a/src/fixtures/github/releases/aspire-resourcekit.json +++ b/src/fixtures/github/releases/aspire-resourcekit.json @@ -1,4 +1,563 @@ [ + { + "url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/405496483", + "assets_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/405496483/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/aspire-resourcekit/releases/405496483/assets{?name,label}", + "html_url": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0.1", + "id": 405496483, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTZLmtM4YK2Kj", + "tag_name": "v1.0.0.1", + "target_commitish": "main", + "name": "v1.0.0.1", + "draft": false, + "immutable": false, + "prerelease": false, + "created_at": "2026-10-07T07:28:11Z", + "updated_at": "2026-10-07T07:30:40Z", + "published_at": "2026-10-07T07:30:40Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0.1", + "zipball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/zipball/v1.0.0.1", + "body": "\n\n## What's Changed\n### Other Changes\n* chore: add MIT license file by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/47\n* Chore/adopt build sdk 1.0.3 by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/48\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0...v1.0.0.1", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/399133187", + "assets_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/399133187/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/aspire-resourcekit/releases/399133187/assets{?name,label}", + "html_url": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0", + "id": 399133187, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTZLmtM4XykoD", + "tag_name": "v1.0.0", + "target_commitish": "main", + "name": "v1.0.0", + "draft": false, + "immutable": false, + "prerelease": false, + "created_at": "2026-09-29T12:34:30Z", + "updated_at": "2026-09-29T12:37:49Z", + "published_at": "2026-09-29T12:37:49Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0", + "zipball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/zipball/v1.0.0", + "body": "\n\n## What's Changed\n### Other Changes\n* docs(release): release v1 by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/46\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.41...v1.0.0", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/398604774", + "assets_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/398604774/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/aspire-resourcekit/releases/398604774/assets{?name,label}", + "html_url": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.41", + "id": 398604774, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTZLmtM4Xwjnm", + "tag_name": "v1.0.0-prerelease.41", + "target_commitish": "main", + "name": "v1.0.0-prerelease.41", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-28T20:33:37Z", + "updated_at": "2026-09-28T20:36:11Z", + "published_at": "2026-09-28T20:36:11Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0-prerelease.41", + "zipball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/zipball/v1.0.0-prerelease.41", + "body": "## What's Changed\n* chore: source gen update by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/45\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.40...v1.0.0-prerelease.41", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/397714051", + "assets_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/397714051/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/aspire-resourcekit/releases/397714051/assets{?name,label}", + "html_url": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.40", + "id": 397714051, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTZLmtM4XtKKD", + "tag_name": "v1.0.0-prerelease.40", + "target_commitish": "main", + "name": "v1.0.0-prerelease.40", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-27T16:01:03Z", + "updated_at": "2026-09-27T16:03:52Z", + "published_at": "2026-09-27T16:03:52Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0-prerelease.40", + "zipball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/zipball/v1.0.0-prerelease.40", + "body": "## What's Changed\n* chore: package bumps by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/44\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.39...v1.0.0-prerelease.40", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/396676521", + "assets_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/396676521/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/aspire-resourcekit/releases/396676521/assets{?name,label}", + "html_url": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.39", + "id": 396676521, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTZLmtM4XpM2p", + "tag_name": "v1.0.0-prerelease.39", + "target_commitish": "main", + "name": "v1.0.0-prerelease.39", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-25T14:24:40Z", + "updated_at": "2026-09-27T14:17:57Z", + "published_at": "2026-09-25T14:26:46Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0-prerelease.39", + "zipball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/zipball/v1.0.0-prerelease.39", + "body": "## What's Changed\n* fix: regression on file copy by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/43\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.38...v1.0.0-prerelease.39", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/396310818", + "assets_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/396310818/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/aspire-resourcekit/releases/396310818/assets{?name,label}", + "html_url": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.38", + "id": 396310818, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTZLmtM4Xnzki", + "tag_name": "v1.0.0-prerelease.38", + "target_commitish": "main", + "name": "v1.0.0-prerelease.38", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-25T04:50:55Z", + "updated_at": "2026-09-27T14:17:58Z", + "published_at": "2026-09-25T04:54:28Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0-prerelease.38", + "zipball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/zipball/v1.0.0-prerelease.38", + "body": "## What's Changed\n* fix: sg leaking types by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/41\n* chore: bumped version by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/42\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.37...v1.0.0-prerelease.38", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/395869606", + "assets_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/395869606/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/aspire-resourcekit/releases/395869606/assets{?name,label}", + "html_url": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.37", + "id": 395869606, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTZLmtM4XmH2m", + "tag_name": "v1.0.0-prerelease.37", + "target_commitish": "main", + "name": "v1.0.0-prerelease.37", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-24T16:23:03Z", + "updated_at": "2026-09-27T14:17:59Z", + "published_at": "2026-09-24T16:26:37Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0-prerelease.37", + "zipball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/zipball/v1.0.0-prerelease.37", + "body": "## What's Changed\n* fix: xml comment by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/40\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.36...v1.0.0-prerelease.37", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/394851847", + "assets_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/394851847/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/aspire-resourcekit/releases/394851847/assets{?name,label}", + "html_url": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.36", + "id": 394851847, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTZLmtM4XiPYH", + "tag_name": "v1.0.0-prerelease.36", + "target_commitish": "main", + "name": "v1.0.0-prerelease.36", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-23T16:27:04Z", + "updated_at": "2026-09-27T14:18:00Z", + "published_at": "2026-09-23T16:29:44Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0-prerelease.36", + "zipball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/zipball/v1.0.0-prerelease.36", + "body": "## What's Changed\n* chore: source gen update by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/39\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.35...v1.0.0-prerelease.36", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/394552221", + "assets_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/394552221/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/aspire-resourcekit/releases/394552221/assets{?name,label}", + "html_url": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.35", + "id": 394552221, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTZLmtM4XhGOd", + "tag_name": "v1.0.0-prerelease.35", + "target_commitish": "main", + "name": "v1.0.0-prerelease.35", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-23T10:35:00Z", + "updated_at": "2026-09-27T14:18:01Z", + "published_at": "2026-09-23T10:37:39Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0-prerelease.35", + "zipball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/zipball/v1.0.0-prerelease.35", + "body": "## What's Changed\n* build: package updates by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/38\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.34...v1.0.0-prerelease.35", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/394389669", + "assets_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/394389669/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/aspire-resourcekit/releases/394389669/assets{?name,label}", + "html_url": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.34", + "id": 394389669, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTZLmtM4Xgeil", + "tag_name": "v1.0.0-prerelease.34", + "target_commitish": "main", + "name": "v1.0.0-prerelease.34", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-23T07:19:56Z", + "updated_at": "2026-09-27T14:18:02Z", + "published_at": "2026-09-23T07:22:57Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0-prerelease.34", + "zipball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/zipball/v1.0.0-prerelease.34", + "body": "## What's Changed\n* Source gen update by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/37\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.33...v1.0.0-prerelease.34", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/393856637", + "assets_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/393856637/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/aspire-resourcekit/releases/393856637/assets{?name,label}", + "html_url": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.33", + "id": 393856637, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTZLmtM4XecZ9", + "tag_name": "v1.0.0-prerelease.33", + "target_commitish": "main", + "name": "v1.0.0-prerelease.33", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-22T15:14:21Z", + "updated_at": "2026-09-27T14:18:03Z", + "published_at": "2026-09-22T15:16:31Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0-prerelease.33", + "zipball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/zipball/v1.0.0-prerelease.33", + "body": "## What's Changed\n* chore: bumped package version by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/36\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.32...v1.0.0-prerelease.33", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/393067490", + "assets_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/393067490/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/aspire-resourcekit/releases/393067490/assets{?name,label}", + "html_url": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.32", + "id": 393067490, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTZLmtM4Xbbvi", + "tag_name": "v1.0.0-prerelease.32", + "target_commitish": "main", + "name": "v1.0.0-prerelease.32", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-21T15:15:19Z", + "updated_at": "2026-09-27T14:18:04Z", + "published_at": "2026-09-21T15:17:40Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0-prerelease.32", + "zipball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/zipball/v1.0.0-prerelease.32", + "body": "## What's Changed\n* feat: adding correct overload for class-based resource kit providers by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/35\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.31...v1.0.0-prerelease.32", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/392948713", + "assets_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/392948713/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/aspire-resourcekit/releases/392948713/assets{?name,label}", + "html_url": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.31", + "id": 392948713, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTZLmtM4Xa-vp", + "tag_name": "v1.0.0-prerelease.31", + "target_commitish": "main", + "name": "v1.0.0-prerelease.31", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-21T12:37:58Z", + "updated_at": "2026-09-27T14:18:05Z", + "published_at": "2026-09-21T12:39:59Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0-prerelease.31", + "zipball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/zipball/v1.0.0-prerelease.31", + "body": "## What's Changed\n* Options objects by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/34\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.30...v1.0.0-prerelease.31", + "mentions_count": 1 + }, { "url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/391313725", "assets_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases/391313725/assets", @@ -32,9 +591,9 @@ "name": "v1.0.0-prerelease.30", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-18T08:16:48Z", - "updated_at": "2026-09-18T08:19:04Z", + "updated_at": "2026-09-27T14:18:06Z", "published_at": "2026-09-18T08:19:04Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0-prerelease.30", @@ -75,9 +634,9 @@ "name": "v1.0.0-prerelease.29", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-17T17:47:11Z", - "updated_at": "2026-09-17T17:49:21Z", + "updated_at": "2026-09-27T14:18:07Z", "published_at": "2026-09-17T17:49:21Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0-prerelease.29", @@ -118,9 +677,9 @@ "name": "v1.0.0-prerelease.28", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-16T00:06:45Z", - "updated_at": "2026-09-16T00:08:56Z", + "updated_at": "2026-09-27T14:18:07Z", "published_at": "2026-09-16T00:08:56Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0-prerelease.28", @@ -161,9 +720,9 @@ "name": "v1.0.0-prerelease.27", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-15T15:57:02Z", - "updated_at": "2026-09-15T15:59:20Z", + "updated_at": "2026-09-27T14:18:08Z", "published_at": "2026-09-15T15:59:20Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0-prerelease.27", @@ -204,9 +763,9 @@ "name": "v1.0.0-prerelease.26", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-14T13:51:12Z", - "updated_at": "2026-09-14T13:53:25Z", + "updated_at": "2026-09-27T14:18:09Z", "published_at": "2026-09-14T13:53:25Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0-prerelease.26", @@ -247,9 +806,9 @@ "name": "v1.0.0-prerelease.25", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-12T14:06:30Z", - "updated_at": "2026-09-12T14:08:38Z", + "updated_at": "2026-09-27T14:18:10Z", "published_at": "2026-09-12T14:08:38Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0-prerelease.25", @@ -290,9 +849,9 @@ "name": "v1.0.0-prerelease.24", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-08T15:42:31Z", - "updated_at": "2026-09-08T15:44:33Z", + "updated_at": "2026-09-27T14:18:11Z", "published_at": "2026-09-08T15:44:33Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0-prerelease.24", @@ -333,9 +892,9 @@ "name": "v1.0.0-prerelease.23", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-03T23:18:21Z", - "updated_at": "2026-09-03T23:20:05Z", + "updated_at": "2026-09-27T14:18:12Z", "published_at": "2026-09-03T23:20:05Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0-prerelease.23", @@ -376,9 +935,9 @@ "name": "v1.0.0-prerelease.22", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-03T15:17:34Z", - "updated_at": "2026-09-03T15:19:21Z", + "updated_at": "2026-09-27T14:18:13Z", "published_at": "2026-09-03T15:19:21Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0-prerelease.22", @@ -419,9 +978,9 @@ "name": "v1.0.0-prerelease.21", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-02T08:05:55Z", - "updated_at": "2026-09-02T08:07:32Z", + "updated_at": "2026-09-27T14:18:20Z", "published_at": "2026-09-02T08:07:32Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/tarball/v1.0.0-prerelease.21", diff --git a/src/fixtures/github/releases/aspirec4.json b/src/fixtures/github/releases/aspirec4.json index 5fa4c04..ac15af3 100644 --- a/src/fixtures/github/releases/aspirec4.json +++ b/src/fixtures/github/releases/aspirec4.json @@ -1,4 +1,391 @@ [ + { + "url": "https://api.github.com/repos/purview-dev/aspirec4/releases/405496113", + "assets_url": "https://api.github.com/repos/purview-dev/aspirec4/releases/405496113/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/aspirec4/releases/405496113/assets{?name,label}", + "html_url": "https://github.com/purview-dev/aspirec4/releases/tag/v13.5.3.11", + "id": 405496113, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOSXT2Zs4YK2Ex", + "tag_name": "v13.5.3.11", + "target_commitish": "main", + "name": "v13.5.3.11", + "draft": false, + "immutable": true, + "prerelease": false, + "created_at": "2026-10-07T07:28:37Z", + "updated_at": "2026-10-07T07:30:09Z", + "published_at": "2026-10-07T07:30:09Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/aspirec4/tarball/v13.5.3.11", + "zipball_url": "https://api.github.com/repos/purview-dev/aspirec4/zipball/v13.5.3.11", + "body": "## What's Changed\n* chore: add MIT license file by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/50\n* Chore/adopt build sdk 1.0.3 by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/51\n\n\n**Full Changelog**: https://github.com/purview-dev/aspirec4/compare/v13.5.3.10...v13.5.3.11", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/aspirec4/releases/399197309", + "assets_url": "https://api.github.com/repos/purview-dev/aspirec4/releases/399197309/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/aspirec4/releases/399197309/assets{?name,label}", + "html_url": "https://github.com/purview-dev/aspirec4/releases/tag/v13.5.3.9", + "id": 399197309, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOSXT2Zs4Xy0R9", + "tag_name": "v13.5.3.9", + "target_commitish": "main", + "name": "v13.5.3.9", + "draft": false, + "immutable": true, + "prerelease": false, + "created_at": "2026-09-29T13:50:02Z", + "updated_at": "2026-09-29T13:52:01Z", + "published_at": "2026-09-29T13:52:01Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/aspirec4/tarball/v13.5.3.9", + "zipball_url": "https://api.github.com/repos/purview-dev/aspirec4/zipball/v13.5.3.9", + "body": "## What's Changed\n* fix: correct package build props so AspireC4Strict reaches consumers by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/47\n\n\n**Full Changelog**: https://github.com/purview-dev/aspirec4/compare/v13.5.3.8...v13.5.3.9", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/aspirec4/releases/399213808", + "assets_url": "https://api.github.com/repos/purview-dev/aspirec4/releases/399213808/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/aspirec4/releases/399213808/assets{?name,label}", + "html_url": "https://github.com/purview-dev/aspirec4/releases/tag/v13.5.3.10", + "id": 399213808, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOSXT2Zs4Xy4Tw", + "tag_name": "v13.5.3.10", + "target_commitish": "main", + "name": "v13.5.3.10", + "draft": false, + "immutable": true, + "prerelease": false, + "created_at": "2026-09-29T14:06:39Z", + "updated_at": "2026-09-29T14:10:02Z", + "published_at": "2026-09-29T14:10:02Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/aspirec4/tarball/v13.5.3.10", + "zipball_url": "https://api.github.com/repos/purview-dev/aspirec4/zipball/v13.5.3.10", + "body": "## What's Changed\n* Package update by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/48\n* chore: version update by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/49\n\n\n**Full Changelog**: https://github.com/purview-dev/aspirec4/compare/v13.5.3.9...v13.5.3.10", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/aspirec4/releases/398606161", + "assets_url": "https://api.github.com/repos/purview-dev/aspirec4/releases/398606161/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/aspirec4/releases/398606161/assets{?name,label}", + "html_url": "https://github.com/purview-dev/aspirec4/releases/tag/v13.5.3.8", + "id": 398606161, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOSXT2Zs4Xwj9R", + "tag_name": "v13.5.3.8", + "target_commitish": "main", + "name": "v13.5.3.8", + "draft": false, + "immutable": true, + "prerelease": false, + "created_at": "2026-09-28T20:33:40Z", + "updated_at": "2026-09-28T20:38:05Z", + "published_at": "2026-09-28T20:38:05Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/aspirec4/tarball/v13.5.3.8", + "zipball_url": "https://api.github.com/repos/purview-dev/aspirec4/zipball/v13.5.3.8", + "body": "## What's Changed\n* chore: source gen update by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/46\n\n\n**Full Changelog**: https://github.com/purview-dev/aspirec4/compare/v13.5.3.7...v13.5.3.8", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/aspirec4/releases/397713673", + "assets_url": "https://api.github.com/repos/purview-dev/aspirec4/releases/397713673/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/aspirec4/releases/397713673/assets{?name,label}", + "html_url": "https://github.com/purview-dev/aspirec4/releases/tag/v13.5.3.7", + "id": 397713673, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOSXT2Zs4XtKEJ", + "tag_name": "v13.5.3.7", + "target_commitish": "main", + "name": "v13.5.3.7", + "draft": false, + "immutable": true, + "prerelease": false, + "created_at": "2026-09-27T16:00:59Z", + "updated_at": "2026-09-27T16:02:40Z", + "published_at": "2026-09-27T16:02:40Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/aspirec4/tarball/v13.5.3.7", + "zipball_url": "https://api.github.com/repos/purview-dev/aspirec4/zipball/v13.5.3.7", + "body": "## What's Changed\n* chore: package bumps by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/45\n\n\n**Full Changelog**: https://github.com/purview-dev/aspirec4/compare/v13.5.3.6...v13.5.3.7", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/aspirec4/releases/396675373", + "assets_url": "https://api.github.com/repos/purview-dev/aspirec4/releases/396675373/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/aspirec4/releases/396675373/assets{?name,label}", + "html_url": "https://github.com/purview-dev/aspirec4/releases/tag/v13.5.3.6", + "id": 396675373, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOSXT2Zs4XpMkt", + "tag_name": "v13.5.3.6", + "target_commitish": "main", + "name": "v13.5.3.6", + "draft": false, + "immutable": true, + "prerelease": false, + "created_at": "2026-09-25T14:23:19Z", + "updated_at": "2026-09-25T14:25:14Z", + "published_at": "2026-09-25T14:25:14Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/aspirec4/tarball/v13.5.3.6", + "zipball_url": "https://api.github.com/repos/purview-dev/aspirec4/zipball/v13.5.3.6", + "body": "## What's Changed\n* fix: sg leaking types by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/43\n* fix: regression on file copy by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/44\n\n\n**Full Changelog**: https://github.com/purview-dev/aspirec4/compare/v13.5.3.5...v13.5.3.6", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/aspirec4/releases/395864674", + "assets_url": "https://api.github.com/repos/purview-dev/aspirec4/releases/395864674/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/aspirec4/releases/395864674/assets{?name,label}", + "html_url": "https://github.com/purview-dev/aspirec4/releases/tag/v13.5.3.5", + "id": 395864674, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOSXT2Zs4XmGpi", + "tag_name": "v13.5.3.5", + "target_commitish": "main", + "name": "v13.5.3.5", + "draft": false, + "immutable": true, + "prerelease": false, + "created_at": "2026-09-24T16:17:43Z", + "updated_at": "2026-09-24T16:19:30Z", + "published_at": "2026-09-24T16:19:30Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/aspirec4/tarball/v13.5.3.5", + "zipball_url": "https://api.github.com/repos/purview-dev/aspirec4/zipball/v13.5.3.5", + "body": "## What's Changed\n* chore: bumped source gen by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/42\n\n\n**Full Changelog**: https://github.com/purview-dev/aspirec4/compare/v13.5.3.4...v13.5.3.5", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/aspirec4/releases/394851133", + "assets_url": "https://api.github.com/repos/purview-dev/aspirec4/releases/394851133/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/aspirec4/releases/394851133/assets{?name,label}", + "html_url": "https://github.com/purview-dev/aspirec4/releases/tag/v13.5.3.4", + "id": 394851133, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOSXT2Zs4XiPM9", + "tag_name": "v13.5.3.4", + "target_commitish": "main", + "name": "v13.5.3.4", + "draft": false, + "immutable": true, + "prerelease": false, + "created_at": "2026-09-23T16:26:22Z", + "updated_at": "2026-09-23T16:28:47Z", + "published_at": "2026-09-23T16:28:47Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/aspirec4/tarball/v13.5.3.4", + "zipball_url": "https://api.github.com/repos/purview-dev/aspirec4/zipball/v13.5.3.4", + "body": "## What's Changed\n* Source gen update by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/41\n\n\n**Full Changelog**: https://github.com/purview-dev/aspirec4/compare/v13.5.3.3...v13.5.3.4", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/aspirec4/releases/394550310", + "assets_url": "https://api.github.com/repos/purview-dev/aspirec4/releases/394550310/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/aspirec4/releases/394550310/assets{?name,label}", + "html_url": "https://github.com/purview-dev/aspirec4/releases/tag/v13.5.3.3", + "id": 394550310, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOSXT2Zs4XhFwm", + "tag_name": "v13.5.3.3", + "target_commitish": "main", + "name": "v13.5.3.3", + "draft": false, + "immutable": true, + "prerelease": false, + "created_at": "2026-09-23T10:32:13Z", + "updated_at": "2026-09-23T10:34:39Z", + "published_at": "2026-09-23T10:34:39Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/aspirec4/tarball/v13.5.3.3", + "zipball_url": "https://api.github.com/repos/purview-dev/aspirec4/zipball/v13.5.3.3", + "body": "## What's Changed\n* Source gen update by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/40\n\n\n**Full Changelog**: https://github.com/purview-dev/aspirec4/compare/v13.5.3.2...v13.5.3.3", + "mentions_count": 1 + }, { "url": "https://api.github.com/repos/purview-dev/aspirec4/releases/390932294", "assets_url": "https://api.github.com/repos/purview-dev/aspirec4/releases/390932294/assets", diff --git a/src/fixtures/github/releases/build-sdk.json b/src/fixtures/github/releases/build-sdk.json index 30f163d..9795836 100644 --- a/src/fixtures/github/releases/build-sdk.json +++ b/src/fixtures/github/releases/build-sdk.json @@ -1,4 +1,391 @@ [ + { + "url": "https://api.github.com/repos/purview-dev/build-sdk/releases/405192586", + "assets_url": "https://api.github.com/repos/purview-dev/build-sdk/releases/405192586/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/build-sdk/releases/405192586/assets{?name,label}", + "html_url": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.3.0", + "id": 405192586, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOSmgZrc4YJr-K", + "tag_name": "v1.0.3.0", + "target_commitish": "main", + "name": "v1.0.3.0", + "draft": false, + "immutable": false, + "prerelease": false, + "created_at": "2026-10-06T22:32:44Z", + "updated_at": "2026-10-06T22:34:03Z", + "published_at": "2026-10-06T22:34:03Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.3.0", + "zipball_url": "https://api.github.com/repos/purview-dev/build-sdk/zipball/v1.0.3.0", + "body": "## What's Changed\n* chore: add MIT license file by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/32\n* docs: updated docs to fix #31 by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/33\n* feat: add curated target framework sets and stop stripping Roslyn com… by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/34\n\n\n**Full Changelog**: https://github.com/purview-dev/build-sdk/compare/v1.0.2.2...v1.0.3.0", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/build-sdk/releases/401035175", + "assets_url": "https://api.github.com/repos/purview-dev/build-sdk/releases/401035175/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/build-sdk/releases/401035175/assets{?name,label}", + "html_url": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.2.2", + "id": 401035175, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOSmgZrc4X50-n", + "tag_name": "v1.0.2.2", + "target_commitish": "main", + "name": "v1.0.2.2", + "draft": false, + "immutable": false, + "prerelease": false, + "created_at": "2026-10-01T14:11:09Z", + "updated_at": "2026-10-01T14:12:24Z", + "published_at": "2026-10-01T14:12:24Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.2.2", + "zipball_url": "https://api.github.com/repos/purview-dev/build-sdk/zipball/v1.0.2.2", + "body": "## What's Changed\n* feat: added additional testing types and namespace prefixes to remove ! by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/30\n\n\n**Full Changelog**: https://github.com/purview-dev/build-sdk/compare/v1.0.2.1...v1.0.2.2", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/build-sdk/releases/400981474", + "assets_url": "https://api.github.com/repos/purview-dev/build-sdk/releases/400981474/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/build-sdk/releases/400981474/assets{?name,label}", + "html_url": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.2.1", + "id": 400981474, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOSmgZrc4X5n3i", + "tag_name": "v1.0.2.1", + "target_commitish": "main", + "name": "v1.0.2.1", + "draft": false, + "immutable": false, + "prerelease": false, + "created_at": "2026-10-01T13:11:37Z", + "updated_at": "2026-10-01T13:12:56Z", + "published_at": "2026-10-01T13:12:56Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.2.1", + "zipball_url": "https://api.github.com/repos/purview-dev/build-sdk/zipball/v1.0.2.1", + "body": "## What's Changed\n* docs: added/ updateed all of the docs by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/28\n* chore: bumped version by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/29\n\n\n**Full Changelog**: https://github.com/purview-dev/build-sdk/compare/v1.0.2.0...v1.0.2.1", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/build-sdk/releases/400176575", + "assets_url": "https://api.github.com/repos/purview-dev/build-sdk/releases/400176575/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/build-sdk/releases/400176575/assets{?name,label}", + "html_url": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.2.0", + "id": 400176575, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOSmgZrc4X2jW_", + "tag_name": "v1.0.2.0", + "target_commitish": "main", + "name": "v1.0.2.0", + "draft": false, + "immutable": false, + "prerelease": false, + "created_at": "2026-09-30T15:17:34Z", + "updated_at": "2026-09-30T15:18:47Z", + "published_at": "2026-09-30T15:18:47Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.2.0", + "zipball_url": "https://api.github.com/repos/purview-dev/build-sdk/zipball/v1.0.2.0", + "body": "## What's Changed\n* fix: editorconfig values missed the test projects by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/27\n\n\n**Full Changelog**: https://github.com/purview-dev/build-sdk/compare/v1.0.1.0...v1.0.2.0", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/build-sdk/releases/400126312", + "assets_url": "https://api.github.com/repos/purview-dev/build-sdk/releases/400126312/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/build-sdk/releases/400126312/assets{?name,label}", + "html_url": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.1.0", + "id": 400126312, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOSmgZrc4X2XFo", + "tag_name": "v1.0.1.0", + "target_commitish": "main", + "name": "v1.0.1.0", + "draft": false, + "immutable": false, + "prerelease": false, + "created_at": "2026-09-30T14:24:48Z", + "updated_at": "2026-09-30T14:25:38Z", + "published_at": "2026-09-30T14:25:38Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.1.0", + "zipball_url": "https://api.github.com/repos/purview-dev/build-sdk/zipball/v1.0.1.0", + "body": "## What's Changed\n* feat: editorconfig fix + tests by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/26\n\n\n**Full Changelog**: https://github.com/purview-dev/build-sdk/compare/v1.0.0...v1.0.1.0", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/build-sdk/releases/399049003", + "assets_url": "https://api.github.com/repos/purview-dev/build-sdk/releases/399049003/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/build-sdk/releases/399049003/assets{?name,label}", + "html_url": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0", + "id": 399049003, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOSmgZrc4XyQEr", + "tag_name": "v1.0.0", + "target_commitish": "main", + "name": "v1.0.0", + "draft": false, + "immutable": false, + "prerelease": false, + "created_at": "2026-09-29T10:44:07Z", + "updated_at": "2026-09-29T10:45:18Z", + "published_at": "2026-09-29T10:45:18Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.0", + "zipball_url": "https://api.github.com/repos/purview-dev/build-sdk/zipball/v1.0.0", + "body": "## What's Changed\n* chore: version bump by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/25\n\n\n**Full Changelog**: https://github.com/purview-dev/build-sdk/compare/v1.0.0-prerelease.61...v1.0.0", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/build-sdk/releases/399045907", + "assets_url": "https://api.github.com/repos/purview-dev/build-sdk/releases/399045907/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/build-sdk/releases/399045907/assets{?name,label}", + "html_url": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0-prerelease.61", + "id": 399045907, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOSmgZrc4XyPUT", + "tag_name": "v1.0.0-prerelease.61", + "target_commitish": "main", + "name": "v1.0.0-prerelease.61", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-29T10:39:44Z", + "updated_at": "2026-09-29T10:40:47Z", + "published_at": "2026-09-29T10:40:47Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.0-prerelease.61", + "zipball_url": "https://api.github.com/repos/purview-dev/build-sdk/zipball/v1.0.0-prerelease.61", + "body": "## What's Changed\n* Updated editorconfig by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/24\n\n\n**Full Changelog**: https://github.com/purview-dev/build-sdk/compare/v1.0.0-prerelease.60...v1.0.0-prerelease.61", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/build-sdk/releases/396621523", + "assets_url": "https://api.github.com/repos/purview-dev/build-sdk/releases/396621523/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/build-sdk/releases/396621523/assets{?name,label}", + "html_url": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0-prerelease.60", + "id": 396621523, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOSmgZrc4Xo_bT", + "tag_name": "v1.0.0-prerelease.60", + "target_commitish": "main", + "name": "v1.0.0-prerelease.60", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-25T13:15:57Z", + "updated_at": "2026-09-27T14:18:21Z", + "published_at": "2026-09-25T13:17:09Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.0-prerelease.60", + "zipball_url": "https://api.github.com/repos/purview-dev/build-sdk/zipball/v1.0.0-prerelease.60", + "body": "## What's Changed\n* docs: added testing docs for backstage spike by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/22\n* fix: sg resolution on pack by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/23\n\n\n**Full Changelog**: https://github.com/purview-dev/build-sdk/compare/v1.0.0-prerelease.58...v1.0.0-prerelease.60", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/build-sdk/releases/394425931", + "assets_url": "https://api.github.com/repos/purview-dev/build-sdk/releases/394425931/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/build-sdk/releases/394425931/assets{?name,label}", + "html_url": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0-prerelease.58", + "id": 394425931, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOSmgZrc4XgnZL", + "tag_name": "v1.0.0-prerelease.58", + "target_commitish": "main", + "name": "v1.0.0-prerelease.58", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-23T08:05:15Z", + "updated_at": "2026-09-27T14:18:21Z", + "published_at": "2026-09-23T08:06:21Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.0-prerelease.58", + "zipball_url": "https://api.github.com/repos/purview-dev/build-sdk/zipball/v1.0.0-prerelease.58", + "body": "## What's Changed\n* feat: added roslyn-only component support by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/21\n\n\n**Full Changelog**: https://github.com/purview-dev/build-sdk/compare/v1.0.0-prerelease.57...v1.0.0-prerelease.58", + "mentions_count": 1 + }, { "url": "https://api.github.com/repos/purview-dev/build-sdk/releases/391312438", "assets_url": "https://api.github.com/repos/purview-dev/build-sdk/releases/391312438/assets", @@ -32,9 +419,9 @@ "name": "v1.0.0-prerelease.57", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-18T08:15:37Z", - "updated_at": "2026-09-18T08:16:44Z", + "updated_at": "2026-09-27T14:18:22Z", "published_at": "2026-09-18T08:16:44Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.0-prerelease.57", @@ -75,9 +462,9 @@ "name": "v1.0.0-prerelease.56", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-17T17:17:57Z", - "updated_at": "2026-09-17T17:19:07Z", + "updated_at": "2026-09-27T14:18:23Z", "published_at": "2026-09-17T17:19:07Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.0-prerelease.56", @@ -118,9 +505,9 @@ "name": "v1.0.0-prerelease.55", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-15T08:10:25Z", - "updated_at": "2026-09-15T08:11:22Z", + "updated_at": "2026-09-27T14:18:24Z", "published_at": "2026-09-15T08:11:22Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.0-prerelease.55", @@ -161,9 +548,9 @@ "name": "v1.0.0-prerelease.54", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-14T11:50:54Z", - "updated_at": "2026-09-14T11:54:59Z", + "updated_at": "2026-09-27T14:18:25Z", "published_at": "2026-09-14T11:54:59Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.0-prerelease.54", @@ -204,9 +591,9 @@ "name": "v1.0.0-prerelease.53", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-14T07:44:39Z", - "updated_at": "2026-09-14T07:48:46Z", + "updated_at": "2026-09-27T14:18:26Z", "published_at": "2026-09-14T07:48:46Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.0-prerelease.53", @@ -247,9 +634,9 @@ "name": "v1.0.0-prerelease.52", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-12T14:25:23Z", - "updated_at": "2026-09-12T14:29:37Z", + "updated_at": "2026-09-27T14:18:27Z", "published_at": "2026-09-12T14:29:37Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.0-prerelease.52", @@ -290,9 +677,9 @@ "name": "v1.0.0-prerelease.51", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-12T11:47:36Z", - "updated_at": "2026-09-12T11:52:00Z", + "updated_at": "2026-09-27T14:18:27Z", "published_at": "2026-09-12T11:52:00Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.0-prerelease.51", @@ -333,9 +720,9 @@ "name": "v1.0.0-prerelease.50", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-11T12:50:38Z", - "updated_at": "2026-09-11T12:54:52Z", + "updated_at": "2026-09-27T14:18:28Z", "published_at": "2026-09-11T12:54:52Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.0-prerelease.50", @@ -376,9 +763,9 @@ "name": "v1.0.0-prerelease.49", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-11T08:16:59Z", - "updated_at": "2026-09-11T08:21:07Z", + "updated_at": "2026-09-27T14:18:29Z", "published_at": "2026-09-11T08:21:07Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.0-prerelease.49", @@ -419,9 +806,9 @@ "name": "v1.0.0-prerelease.48", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-08T16:05:38Z", - "updated_at": "2026-09-08T16:09:13Z", + "updated_at": "2026-09-27T14:18:30Z", "published_at": "2026-09-08T16:09:13Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.0-prerelease.48", @@ -462,9 +849,9 @@ "name": "v1.0.0-prerelease.47", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-03T23:04:50Z", - "updated_at": "2026-09-03T23:07:54Z", + "updated_at": "2026-09-27T14:18:31Z", "published_at": "2026-09-03T23:07:54Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.0-prerelease.47", @@ -505,9 +892,9 @@ "name": "v1.0.0-prerelease.46", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-03T14:41:34Z", - "updated_at": "2026-09-03T14:45:33Z", + "updated_at": "2026-09-27T14:18:31Z", "published_at": "2026-09-03T14:45:33Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.0-prerelease.46", @@ -548,9 +935,9 @@ "name": "v1.0.0-prerelease.45", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-02T21:37:48Z", - "updated_at": "2026-09-02T21:40:52Z", + "updated_at": "2026-09-27T14:18:32Z", "published_at": "2026-09-02T21:40:52Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.0-prerelease.45", @@ -591,9 +978,9 @@ "name": "v1.0.0-prerelease.44", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-08-31T20:57:04Z", - "updated_at": "2026-08-31T21:00:46Z", + "updated_at": "2026-09-27T14:18:33Z", "published_at": "2026-08-31T21:00:46Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.0-prerelease.44", @@ -634,9 +1021,9 @@ "name": "v1.0.0-prerelease.43", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-08-31T16:20:25Z", - "updated_at": "2026-08-31T16:23:47Z", + "updated_at": "2026-09-27T14:18:34Z", "published_at": "2026-08-31T16:23:47Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/build-sdk/tarball/v1.0.0-prerelease.43", diff --git a/src/fixtures/github/releases/build.json b/src/fixtures/github/releases/build.json index cc0766c..1fe815e 100644 --- a/src/fixtures/github/releases/build.json +++ b/src/fixtures/github/releases/build.json @@ -1,4 +1,584 @@ [ + { + "url": "https://api.github.com/repos/purview-dev/build/releases/405194567", + "assets_url": "https://api.github.com/repos/purview-dev/build/releases/405194567/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/build/releases/405194567/assets{?name,label}", + "html_url": "https://github.com/purview-dev/build/releases/tag/v0.4.0", + "id": 405194567, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOULKrys4YJsdH", + "tag_name": "v0.4.0", + "target_commitish": "main", + "name": "v0.4.0", + "draft": false, + "immutable": false, + "prerelease": false, + "created_at": "2026-10-06T22:37:03Z", + "updated_at": "2026-10-06T22:38:06Z", + "published_at": "2026-10-06T22:38:04Z", + "assets": [ + { + "url": "https://api.github.com/repos/purview-dev/build/releases/assets/616846187", + "id": 616846187, + "node_id": "RA_kwDOULKrys4kxFNr", + "name": "Purview.Build.0.4.0.nupkg", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/octet-stream", + "state": "uploaded", + "size": 11503254, + "digest": "sha256:972b29663124ab3d31fb592988b151f6a8fff854e5830e6914671a792b5fa82c", + "download_count": 0, + "created_at": "2026-10-06T22:38:05Z", + "updated_at": "2026-10-06T22:38:06Z", + "browser_download_url": "https://github.com/purview-dev/build/releases/download/v0.4.0/Purview.Build.0.4.0.nupkg" + }, + { + "url": "https://api.github.com/repos/purview-dev/build/releases/assets/616846174", + "id": 616846174, + "node_id": "RA_kwDOULKrys4kxFNe", + "name": "Purview.Build.0.4.0.snupkg", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/octet-stream", + "state": "uploaded", + "size": 113419, + "digest": "sha256:30a7b9f12f2ce01150bebbf0ed25d8caadf822b4e2a5259d87fa887df6cd4c9e", + "download_count": 0, + "created_at": "2026-10-06T22:38:05Z", + "updated_at": "2026-10-06T22:38:05Z", + "browser_download_url": "https://github.com/purview-dev/build/releases/download/v0.4.0/Purview.Build.0.4.0.snupkg" + } + ], + "tarball_url": "https://api.github.com/repos/purview-dev/build/tarball/v0.4.0", + "zipball_url": "https://api.github.com/repos/purview-dev/build/zipball/v0.4.0", + "body": "## What's Changed\n* Release types by @kieronlanning in https://github.com/purview-dev/build/pull/24\n\n\n**Full Changelog**: https://github.com/purview-dev/build/compare/v0.3.6...v0.4.0", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/build/releases/401856769", + "assets_url": "https://api.github.com/repos/purview-dev/build/releases/401856769/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/build/releases/401856769/assets{?name,label}", + "html_url": "https://github.com/purview-dev/build/releases/tag/v0.3.6", + "id": 401856769, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOULKrys4X89kB", + "tag_name": "v0.3.6", + "target_commitish": "main", + "name": "v0.3.6", + "draft": false, + "immutable": false, + "prerelease": false, + "created_at": "2026-10-02T13:46:51Z", + "updated_at": "2026-10-02T13:47:58Z", + "published_at": "2026-10-02T13:47:56Z", + "assets": [ + { + "url": "https://api.github.com/repos/purview-dev/build/releases/assets/605709101", + "id": 605709101, + "node_id": "RA_kwDOULKrys4kGmMt", + "name": "Purview.Build.0.3.6.nupkg", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/octet-stream", + "state": "uploaded", + "size": 11448631, + "digest": "sha256:35fc4e921cdb8675d4ce21c676db82c65749e87f80797b2fc7cd9c0d9d7c820c", + "download_count": 1, + "created_at": "2026-10-02T13:47:57Z", + "updated_at": "2026-10-02T13:47:58Z", + "browser_download_url": "https://github.com/purview-dev/build/releases/download/v0.3.6/Purview.Build.0.3.6.nupkg" + }, + { + "url": "https://api.github.com/repos/purview-dev/build/releases/assets/605709073", + "id": 605709073, + "node_id": "RA_kwDOULKrys4kGmMR", + "name": "Purview.Build.0.3.6.snupkg", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/octet-stream", + "state": "uploaded", + "size": 60975, + "digest": "sha256:2fd229390e2a2307b87c950128b144d05b716c120cd20ff7e963c89c5642865b", + "download_count": 1, + "created_at": "2026-10-02T13:47:56Z", + "updated_at": "2026-10-02T13:47:57Z", + "browser_download_url": "https://github.com/purview-dev/build/releases/download/v0.3.6/Purview.Build.0.3.6.snupkg" + } + ], + "tarball_url": "https://api.github.com/repos/purview-dev/build/tarball/v0.3.6", + "zipball_url": "https://api.github.com/repos/purview-dev/build/zipball/v0.3.6", + "body": "## What's Changed\n* docs: clarify that MarkPrerelease affects the GitHub release only by @kieronlanning in https://github.com/purview-dev/build/pull/21\n* chore: add MIT license file by @kieronlanning in https://github.com/purview-dev/build/pull/22\n* Fix test relative project path by @kieronlanning in https://github.com/purview-dev/build/pull/23\n\n\n**Full Changelog**: https://github.com/purview-dev/build/compare/v0.3.5...v0.3.6", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/build/releases/397635320", + "assets_url": "https://api.github.com/repos/purview-dev/build/releases/397635320/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/build/releases/397635320/assets{?name,label}", + "html_url": "https://github.com/purview-dev/build/releases/tag/v0.3.5", + "id": 397635320, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOULKrys4Xs274", + "tag_name": "v0.3.5", + "target_commitish": "main", + "name": "v0.3.5", + "draft": false, + "immutable": false, + "prerelease": false, + "created_at": "2026-09-27T12:09:38Z", + "updated_at": "2026-09-27T12:10:40Z", + "published_at": "2026-09-27T12:10:39Z", + "assets": [ + { + "url": "https://api.github.com/repos/purview-dev/build/releases/assets/592855584", + "id": 592855584, + "node_id": "RA_kwDOULKrys4jVkIg", + "name": "Purview.Build.0.3.5.nupkg", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/octet-stream", + "state": "uploaded", + "size": 11448603, + "digest": "sha256:293942849a0f553b3e72f231190776eb5530dc189e67751f5283efa58492f5dd", + "download_count": 0, + "created_at": "2026-09-27T12:10:40Z", + "updated_at": "2026-09-27T12:10:40Z", + "browser_download_url": "https://github.com/purview-dev/build/releases/download/v0.3.5/Purview.Build.0.3.5.nupkg" + }, + { + "url": "https://api.github.com/repos/purview-dev/build/releases/assets/592855575", + "id": 592855575, + "node_id": "RA_kwDOULKrys4jVkIX", + "name": "Purview.Build.0.3.5.snupkg", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/octet-stream", + "state": "uploaded", + "size": 60791, + "digest": "sha256:2e5a90f522827680921df266958a2d01812b6b7e7ae6a86e55c0342ed60df903", + "download_count": 0, + "created_at": "2026-09-27T12:10:39Z", + "updated_at": "2026-09-27T12:10:39Z", + "browser_download_url": "https://github.com/purview-dev/build/releases/download/v0.3.5/Purview.Build.0.3.5.snupkg" + } + ], + "tarball_url": "https://api.github.com/repos/purview-dev/build/tarball/v0.3.5", + "zipball_url": "https://api.github.com/repos/purview-dev/build/zipball/v0.3.5", + "body": "## What's Changed\n* feat: mark GitHub releases as prereleases for prerelease versions by @kieronlanning in https://github.com/purview-dev/build/pull/19\n* chore: bump version to 0.3.5 by @kieronlanning in https://github.com/purview-dev/build/pull/20\n\n\n**Full Changelog**: https://github.com/purview-dev/build/compare/v0.3.4...v0.3.5", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/build/releases/397608555", + "assets_url": "https://api.github.com/repos/purview-dev/build/releases/397608555/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/build/releases/397608555/assets{?name,label}", + "html_url": "https://github.com/purview-dev/build/releases/tag/v0.3.4", + "id": 397608555, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOULKrys4XswZr", + "tag_name": "v0.3.4", + "target_commitish": "main", + "name": "v0.3.4", + "draft": false, + "immutable": false, + "prerelease": false, + "created_at": "2026-09-27T10:43:50Z", + "updated_at": "2026-09-27T10:44:48Z", + "published_at": "2026-09-27T10:44:46Z", + "assets": [ + { + "url": "https://api.github.com/repos/purview-dev/build/releases/assets/592712229", + "id": 592712229, + "node_id": "RA_kwDOULKrys4jVBIl", + "name": "Purview.Build.0.3.4.nupkg", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/octet-stream", + "state": "uploaded", + "size": 11448208, + "digest": "sha256:11674c40b5607f4ed95749a163b17d77e2b0c7c27fd4121712da2817c5675f8f", + "download_count": 0, + "created_at": "2026-09-27T10:44:47Z", + "updated_at": "2026-09-27T10:44:48Z", + "browser_download_url": "https://github.com/purview-dev/build/releases/download/v0.3.4/Purview.Build.0.3.4.nupkg" + }, + { + "url": "https://api.github.com/repos/purview-dev/build/releases/assets/592712212", + "id": 592712212, + "node_id": "RA_kwDOULKrys4jVBIU", + "name": "Purview.Build.0.3.4.snupkg", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/octet-stream", + "state": "uploaded", + "size": 60274, + "digest": "sha256:69302616d3b5c8b6467daedcc1f5368b03b502449b76fe9beaf0833d4c4c1456", + "download_count": 0, + "created_at": "2026-09-27T10:44:47Z", + "updated_at": "2026-09-27T10:44:47Z", + "browser_download_url": "https://github.com/purview-dev/build/releases/download/v0.3.4/Purview.Build.0.3.4.snupkg" + } + ], + "tarball_url": "https://api.github.com/repos/purview-dev/build/tarball/v0.3.4", + "zipball_url": "https://api.github.com/repos/purview-dev/build/zipball/v0.3.4", + "body": "## What's Changed\n* feat: added clear for artifact publish by @kieronlanning in https://github.com/purview-dev/build/pull/18\n\n\n**Full Changelog**: https://github.com/purview-dev/build/compare/v0.3.3...v0.3.4", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/build/releases/394503244", + "assets_url": "https://api.github.com/repos/purview-dev/build/releases/394503244/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/build/releases/394503244/assets{?name,label}", + "html_url": "https://github.com/purview-dev/build/releases/tag/v0.3.3", + "id": 394503244, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOULKrys4Xg6RM", + "tag_name": "v0.3.3", + "target_commitish": "main", + "name": "v0.3.3", + "draft": false, + "immutable": false, + "prerelease": false, + "created_at": "2026-09-23T09:36:23Z", + "updated_at": "2026-09-23T09:37:22Z", + "published_at": "2026-09-23T09:37:20Z", + "assets": [ + { + "url": "https://api.github.com/repos/purview-dev/build/releases/assets/583452306", + "id": 583452306, + "node_id": "RA_kwDOULKrys4ixsaS", + "name": "Purview.Build.0.3.3.nupkg", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/octet-stream", + "state": "uploaded", + "size": 11439446, + "digest": "sha256:78c4228136662b1c1009a298d2c8656c9390eea481ef12e368f36b54e083f929", + "download_count": 0, + "created_at": "2026-09-23T09:37:21Z", + "updated_at": "2026-09-23T09:37:21Z", + "browser_download_url": "https://github.com/purview-dev/build/releases/download/v0.3.3/Purview.Build.0.3.3.nupkg" + }, + { + "url": "https://api.github.com/repos/purview-dev/build/releases/assets/583452335", + "id": 583452335, + "node_id": "RA_kwDOULKrys4ixsav", + "name": "Purview.Build.0.3.3.snupkg", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/octet-stream", + "state": "uploaded", + "size": 49371, + "digest": "sha256:8427aeb42e0297f0cc6066fdcd35b1323be6650c13ba144a21e145246a37fcb3", + "download_count": 0, + "created_at": "2026-09-23T09:37:22Z", + "updated_at": "2026-09-23T09:37:22Z", + "browser_download_url": "https://github.com/purview-dev/build/releases/download/v0.3.3/Purview.Build.0.3.3.snupkg" + } + ], + "tarball_url": "https://api.github.com/repos/purview-dev/build/tarball/v0.3.3", + "zipball_url": "https://api.github.com/repos/purview-dev/build/zipball/v0.3.3", + "body": "## What's Changed\n* feat: added roslyn-only component support by @kieronlanning in https://github.com/purview-dev/build/pull/17\n\n\n**Full Changelog**: https://github.com/purview-dev/build/compare/v0.3.2...v0.3.3", + "mentions_count": 1 + }, { "url": "https://api.github.com/repos/purview-dev/build/releases/391426620", "assets_url": "https://api.github.com/repos/purview-dev/build/releases/391426620/assets", diff --git a/src/fixtures/github/releases/containers.json b/src/fixtures/github/releases/containers.json index d10c256..7fe2e8e 100644 --- a/src/fixtures/github/releases/containers.json +++ b/src/fixtures/github/releases/containers.json @@ -1,4 +1,133 @@ [ + { + "url": "https://api.github.com/repos/purview-dev/containers/releases/404501491", + "assets_url": "https://api.github.com/repos/purview-dev/containers/releases/404501491/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/containers/releases/404501491/assets{?name,label}", + "html_url": "https://github.com/purview-dev/containers/releases/tag/v1.0.0-prerelease.6", + "id": 404501491, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOU0fn4M4YHDPz", + "tag_name": "v1.0.0-prerelease.6", + "target_commitish": "main", + "name": "v1.0.0-prerelease.6", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-10-06T08:49:11Z", + "updated_at": "2026-10-06T08:51:24Z", + "published_at": "2026-10-06T08:51:24Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/containers/tarball/v1.0.0-prerelease.6", + "zipball_url": "https://api.github.com/repos/purview-dev/containers/zipball/v1.0.0-prerelease.6", + "body": "## What's Changed\n* feat: integrated Azure Key Vault by @kieronlanning in https://github.com/purview-dev/containers/pull/10\n\n\n**Full Changelog**: https://github.com/purview-dev/containers/compare/v1.0.0-prerelease.5...v1.0.0-prerelease.6", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/containers/releases/401834017", + "assets_url": "https://api.github.com/repos/purview-dev/containers/releases/401834017/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/containers/releases/401834017/assets{?name,label}", + "html_url": "https://github.com/purview-dev/containers/releases/tag/v1.0.0-prerelease.5", + "id": 401834017, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOU0fn4M4X84Ah", + "tag_name": "v1.0.0-prerelease.5", + "target_commitish": "main", + "name": "v1.0.0-prerelease.5", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-10-02T13:15:01Z", + "updated_at": "2026-10-02T13:16:43Z", + "published_at": "2026-10-02T13:16:43Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/containers/tarball/v1.0.0-prerelease.5", + "zipball_url": "https://api.github.com/repos/purview-dev/containers/zipball/v1.0.0-prerelease.5", + "body": "## What's Changed\n* feat: added wslc storage path pass through and docs by @kieronlanning in https://github.com/purview-dev/containers/pull/8\n\n\n**Full Changelog**: https://github.com/purview-dev/containers/compare/v1.0.0-prerelease.4...v1.0.0-prerelease.5", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/containers/releases/401674955", + "assets_url": "https://api.github.com/repos/purview-dev/containers/releases/401674955/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/containers/releases/401674955/assets{?name,label}", + "html_url": "https://github.com/purview-dev/containers/releases/tag/v1.0.0-prerelease.4", + "id": 401674955, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOU0fn4M4X8RLL", + "tag_name": "v1.0.0-prerelease.4", + "target_commitish": "main", + "name": "v1.0.0-prerelease.4", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-10-02T09:09:09Z", + "updated_at": "2026-10-02T09:10:44Z", + "published_at": "2026-10-02T09:10:44Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/containers/tarball/v1.0.0-prerelease.4", + "zipball_url": "https://api.github.com/repos/purview-dev/containers/zipball/v1.0.0-prerelease.4", + "body": "## What's Changed\n* feat: added connection string support by @kieronlanning in https://github.com/purview-dev/containers/pull/7\n\n\n**Full Changelog**: https://github.com/purview-dev/containers/compare/v1.0.0-prerelease.3...v1.0.0-prerelease.4", + "mentions_count": 1 + }, { "url": "https://api.github.com/repos/purview-dev/containers/releases/401620214", "assets_url": "https://api.github.com/repos/purview-dev/containers/releases/401620214/assets", diff --git a/src/fixtures/github/releases/event-sourcing.json b/src/fixtures/github/releases/event-sourcing.json index ab4e040..87e5f5a 100644 --- a/src/fixtures/github/releases/event-sourcing.json +++ b/src/fixtures/github/releases/event-sourcing.json @@ -1,4 +1,133 @@ [ + { + "url": "https://api.github.com/repos/purview-dev/event-sourcing/releases/399039765", + "assets_url": "https://api.github.com/repos/purview-dev/event-sourcing/releases/399039765/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/event-sourcing/releases/399039765/assets{?name,label}", + "html_url": "https://github.com/purview-dev/event-sourcing/releases/tag/v2.0.0-prerelease.39", + "id": 399039765, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOL0aKDs4XyN0V", + "tag_name": "v2.0.0-prerelease.39", + "target_commitish": "main", + "name": "v2.0.0-prerelease.39", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-29T10:29:03Z", + "updated_at": "2026-09-29T10:32:10Z", + "published_at": "2026-09-29T10:32:10Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/event-sourcing/tarball/v2.0.0-prerelease.39", + "zipball_url": "https://api.github.com/repos/purview-dev/event-sourcing/zipball/v2.0.0-prerelease.39", + "body": "## What's Changed\n* fix: broken tests after sgf updates by @kieronlanning in https://github.com/purview-dev/event-sourcing/pull/58\n\n\n**Full Changelog**: https://github.com/purview-dev/event-sourcing/compare/v2.0.0-prerelease.38...v2.0.0-prerelease.39", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/event-sourcing/releases/396689391", + "assets_url": "https://api.github.com/repos/purview-dev/event-sourcing/releases/396689391/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/event-sourcing/releases/396689391/assets{?name,label}", + "html_url": "https://github.com/purview-dev/event-sourcing/releases/tag/v2.0.0-prerelease.38", + "id": 396689391, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOL0aKDs4XpP_v", + "tag_name": "v2.0.0-prerelease.38", + "target_commitish": "main", + "name": "v2.0.0-prerelease.38", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-25T14:38:55Z", + "updated_at": "2026-09-27T14:17:39Z", + "published_at": "2026-09-25T14:43:24Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/event-sourcing/tarball/v2.0.0-prerelease.38", + "zipball_url": "https://api.github.com/repos/purview-dev/event-sourcing/zipball/v2.0.0-prerelease.38", + "body": "## What's Changed\n* chore: bumped version by @kieronlanning in https://github.com/purview-dev/event-sourcing/pull/57\n\n\n**Full Changelog**: https://github.com/purview-dev/event-sourcing/compare/v2.0.0-prerelease.36...v2.0.0-prerelease.38", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/event-sourcing/releases/395475309", + "assets_url": "https://api.github.com/repos/purview-dev/event-sourcing/releases/395475309/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/event-sourcing/releases/395475309/assets{?name,label}", + "html_url": "https://github.com/purview-dev/event-sourcing/releases/tag/v2.0.0-prerelease.36", + "id": 395475309, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOL0aKDs4Xknlt", + "tag_name": "v2.0.0-prerelease.36", + "target_commitish": "main", + "name": "v2.0.0-prerelease.36", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-24T08:18:41Z", + "updated_at": "2026-09-27T14:17:40Z", + "published_at": "2026-09-24T08:21:57Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/event-sourcing/tarball/v2.0.0-prerelease.36", + "zipball_url": "https://api.github.com/repos/purview-dev/event-sourcing/zipball/v2.0.0-prerelease.36", + "body": "## What's Changed\n* chore: bumped package version by @kieronlanning in https://github.com/purview-dev/event-sourcing/pull/56\n\n\n**Full Changelog**: https://github.com/purview-dev/event-sourcing/compare/v2.0.0-prerelease.35...v2.0.0-prerelease.36", + "mentions_count": 1 + }, { "url": "https://api.github.com/repos/purview-dev/event-sourcing/releases/391653656", "assets_url": "https://api.github.com/repos/purview-dev/event-sourcing/releases/391653656/assets", @@ -32,9 +161,9 @@ "name": "v2.0.0-prerelease.35", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-18T17:17:30Z", - "updated_at": "2026-09-18T17:21:36Z", + "updated_at": "2026-09-27T14:17:40Z", "published_at": "2026-09-18T17:21:36Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/event-sourcing/tarball/v2.0.0-prerelease.35", @@ -75,9 +204,9 @@ "name": "v2.0.0-prerelease.34", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-18T08:19:22Z", - "updated_at": "2026-09-18T08:24:00Z", + "updated_at": "2026-09-27T14:17:41Z", "published_at": "2026-09-18T08:24:00Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/event-sourcing/tarball/v2.0.0-prerelease.34", @@ -118,9 +247,9 @@ "name": "v2.0.0-prerelease.33", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-17T17:52:03Z", - "updated_at": "2026-09-17T17:54:44Z", + "updated_at": "2026-09-27T14:17:42Z", "published_at": "2026-09-17T17:54:44Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/event-sourcing/tarball/v2.0.0-prerelease.33", @@ -161,9 +290,9 @@ "name": "v2.0.0-prerelease.32", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-15T08:08:44Z", - "updated_at": "2026-09-15T08:12:56Z", + "updated_at": "2026-09-27T14:17:43Z", "published_at": "2026-09-15T08:12:56Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/event-sourcing/tarball/v2.0.0-prerelease.32", @@ -204,9 +333,9 @@ "name": "v2.0.0-prerelease.31", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-12T18:26:01Z", - "updated_at": "2026-09-12T18:30:27Z", + "updated_at": "2026-09-27T14:17:44Z", "published_at": "2026-09-12T18:30:10Z", "assets": [ { @@ -1544,9 +1673,9 @@ "name": "v2.0.0-prerelease.30", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-08T17:44:52Z", - "updated_at": "2026-09-08T17:49:21Z", + "updated_at": "2026-09-27T14:17:45Z", "published_at": "2026-09-08T17:49:03Z", "assets": [ { @@ -2884,9 +3013,9 @@ "name": "v2.0.0-prerelease.29", "draft": false, "immutable": true, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-04T14:54:49Z", - "updated_at": "2026-09-04T15:11:28Z", + "updated_at": "2026-09-27T14:17:46Z", "published_at": "2026-09-04T15:11:28Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/event-sourcing/tarball/v2.0.0-prerelease.29", diff --git a/src/fixtures/github/releases/results.json b/src/fixtures/github/releases/results.json index c4d0f37..ed72ecc 100644 --- a/src/fixtures/github/releases/results.json +++ b/src/fixtures/github/releases/results.json @@ -1,4 +1,47 @@ [ + { + "url": "https://api.github.com/repos/purview-dev/results/releases/405484151", + "assets_url": "https://api.github.com/repos/purview-dev/results/releases/405484151/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/results/releases/405484151/assets{?name,label}", + "html_url": "https://github.com/purview-dev/results/releases/tag/v1.0.0", + "id": 405484151, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOUz-6es4YKzJ3", + "tag_name": "v1.0.0", + "target_commitish": "main", + "name": "v1.0.0", + "draft": false, + "immutable": false, + "prerelease": false, + "created_at": "2026-10-07T07:13:01Z", + "updated_at": "2026-10-07T07:15:05Z", + "published_at": "2026-10-07T07:15:05Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/results/tarball/v1.0.0", + "zipball_url": "https://api.github.com/repos/purview-dev/results/zipball/v1.0.0", + "body": "## What's Changed\n* Rules updates by @kieronlanning in https://github.com/purview-dev/results/pull/3\n\n\n**Full Changelog**: https://github.com/purview-dev/results/compare/v1.0.0-prerelease.2...v1.0.0", + "mentions_count": 1 + }, { "url": "https://api.github.com/repos/purview-dev/results/releases/400107240", "assets_url": "https://api.github.com/repos/purview-dev/results/releases/400107240/assets", diff --git a/src/fixtures/github/releases/sourcegenerator-framework.json b/src/fixtures/github/releases/sourcegenerator-framework.json index 527becc..c023389 100644 --- a/src/fixtures/github/releases/sourcegenerator-framework.json +++ b/src/fixtures/github/releases/sourcegenerator-framework.json @@ -1,4 +1,477 @@ [ + { + "url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/405201218", + "assets_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/405201218/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/sourcegenerator-framework/releases/405201218/assets{?name,label}", + "html_url": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0", + "id": 405201218, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTv0SC84YJuFC", + "tag_name": "v1.0.0", + "target_commitish": "main", + "name": "v1.0.0", + "draft": false, + "immutable": false, + "prerelease": false, + "created_at": "2026-10-06T22:46:54Z", + "updated_at": "2026-10-06T22:51:55Z", + "published_at": "2026-10-06T22:51:55Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0", + "zipball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/zipball/v1.0.0", + "body": "## What's Changed\n* fix: keep a component's own internals grants through the merge, and r… by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/38\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.54...v1.0.0", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/398577504", + "assets_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/398577504/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/sourcegenerator-framework/releases/398577504/assets{?name,label}", + "html_url": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.54", + "id": 398577504, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTv0SC84Xwc9g", + "tag_name": "v1.0.0-prerelease.54", + "target_commitish": "main", + "name": "v1.0.0-prerelease.54", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-28T19:49:23Z", + "updated_at": "2026-09-28T19:57:00Z", + "published_at": "2026-09-28T19:57:00Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.54", + "zipball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/zipball/v1.0.0-prerelease.54", + "body": "## What's Changed\n* fix: internaliser incorrectly matching tested types + others by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/37\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.53...v1.0.0-prerelease.54", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/397668299", + "assets_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/397668299/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/sourcegenerator-framework/releases/397668299/assets{?name,label}", + "html_url": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.53", + "id": 397668299, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTv0SC84Xs-_L", + "tag_name": "v1.0.0-prerelease.53", + "target_commitish": "main", + "name": "v1.0.0-prerelease.53", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-27T13:43:40Z", + "updated_at": "2026-09-27T13:50:53Z", + "published_at": "2026-09-27T13:50:53Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.53", + "zipball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/zipball/v1.0.0-prerelease.53", + "body": "## What's Changed\n* fix: attribute name reading failed by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/36\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.52...v1.0.0-prerelease.53", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/396648237", + "assets_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/396648237/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/sourcegenerator-framework/releases/396648237/assets{?name,label}", + "html_url": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.52", + "id": 396648237, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTv0SC84XpF8t", + "tag_name": "v1.0.0-prerelease.52", + "target_commitish": "main", + "name": "v1.0.0-prerelease.52", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-25T13:44:30Z", + "updated_at": "2026-09-27T14:16:49Z", + "published_at": "2026-09-25T13:49:57Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.52", + "zipball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/zipball/v1.0.0-prerelease.52", + "body": "## What's Changed\n* fix: sg resolution on pack by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/35\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.51...v1.0.0-prerelease.52", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/395969537", + "assets_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/395969537/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/sourcegenerator-framework/releases/395969537/assets{?name,label}", + "html_url": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.51", + "id": 395969537, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTv0SC84XmgQB", + "tag_name": "v1.0.0-prerelease.51", + "target_commitish": "main", + "name": "v1.0.0-prerelease.51", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-24T18:37:58Z", + "updated_at": "2026-09-27T14:16:50Z", + "published_at": "2026-09-24T18:41:28Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.51", + "zipball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/zipball/v1.0.0-prerelease.51", + "body": "## What's Changed\n* fix: sg leaking types by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/34\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.50...v1.0.0-prerelease.51", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/395833057", + "assets_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/395833057/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/sourcegenerator-framework/releases/395833057/assets{?name,label}", + "html_url": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.50", + "id": 395833057, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTv0SC84Xl-7h", + "tag_name": "v1.0.0-prerelease.50", + "target_commitish": "main", + "name": "v1.0.0-prerelease.50", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-24T15:36:22Z", + "updated_at": "2026-09-27T14:16:51Z", + "published_at": "2026-09-24T15:40:26Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.50", + "zipball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/zipball/v1.0.0-prerelease.50", + "body": "## What's Changed\n* fix: xml cref fixers by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/33\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.49...v1.0.0-prerelease.50", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/394799753", + "assets_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/394799753/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/sourcegenerator-framework/releases/394799753/assets{?name,label}", + "html_url": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.49", + "id": 394799753, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTv0SC84XiCqJ", + "tag_name": "v1.0.0-prerelease.49", + "target_commitish": "main", + "name": "v1.0.0-prerelease.49", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-23T15:23:44Z", + "updated_at": "2026-09-27T14:16:52Z", + "published_at": "2026-09-23T15:27:35Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.49", + "zipball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/zipball/v1.0.0-prerelease.49", + "body": "## What's Changed\n* chore: fixed source gen il-merge by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/32\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.48...v1.0.0-prerelease.49", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/394186189", + "assets_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/394186189/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/sourcegenerator-framework/releases/394186189/assets{?name,label}", + "html_url": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.48", + "id": 394186189, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTv0SC84Xfs3N", + "tag_name": "v1.0.0-prerelease.48", + "target_commitish": "main", + "name": "v1.0.0-prerelease.48", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-22T23:18:37Z", + "updated_at": "2026-09-27T14:16:53Z", + "published_at": "2026-09-22T23:23:37Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.48", + "zipball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/zipball/v1.0.0-prerelease.48", + "body": "## What's Changed\n* Refactor ilmerge by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/31\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.47...v1.0.0-prerelease.48", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/393832558", + "assets_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/393832558/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/sourcegenerator-framework/releases/393832558/assets{?name,label}", + "html_url": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.47", + "id": 393832558, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTv0SC84XeWhu", + "tag_name": "v1.0.0-prerelease.47", + "target_commitish": "main", + "name": "v1.0.0-prerelease.47", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-22T14:42:06Z", + "updated_at": "2026-09-27T14:16:53Z", + "published_at": "2026-09-22T14:46:52Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.47", + "zipball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/zipball/v1.0.0-prerelease.47", + "body": "## What's Changed\n* refactor: removed the 'Shared' assembly as it was causing significant… by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/30\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.46...v1.0.0-prerelease.47", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/393724675", + "assets_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/393724675/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/sourcegenerator-framework/releases/393724675/assets{?name,label}", + "html_url": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.46", + "id": 393724675, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTv0SC84Xd8MD", + "tag_name": "v1.0.0-prerelease.46", + "target_commitish": "main", + "name": "v1.0.0-prerelease.46", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-22T12:36:28Z", + "updated_at": "2026-09-27T14:16:54Z", + "published_at": "2026-09-22T12:41:12Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.46", + "zipball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/zipball/v1.0.0-prerelease.46", + "body": "## What's Changed\n* Type library updates by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/29\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.45...v1.0.0-prerelease.46", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/392935853", + "assets_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/392935853/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/sourcegenerator-framework/releases/392935853/assets{?name,label}", + "html_url": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.45", + "id": 392935853, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTv0SC84Xa7mt", + "tag_name": "v1.0.0-prerelease.45", + "target_commitish": "main", + "name": "v1.0.0-prerelease.45", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-21T12:15:58Z", + "updated_at": "2026-09-27T14:16:55Z", + "published_at": "2026-09-21T12:20:35Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.45", + "zipball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/zipball/v1.0.0-prerelease.45", + "body": "## What's Changed\n* fix: partial method gen couldn't use no accessiblity by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/28\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.44...v1.0.0-prerelease.45", + "mentions_count": 1 + }, { "url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/391316152", "assets_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases/391316152/assets", @@ -32,9 +505,9 @@ "name": "v1.0.0-prerelease.44", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-18T08:18:52Z", - "updated_at": "2026-09-18T08:23:20Z", + "updated_at": "2026-09-27T14:16:56Z", "published_at": "2026-09-18T08:23:20Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.44", @@ -75,9 +548,9 @@ "name": "v1.0.0-prerelease.43", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-17T17:47:40Z", - "updated_at": "2026-09-17T17:50:45Z", + "updated_at": "2026-09-27T14:16:56Z", "published_at": "2026-09-17T17:50:45Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.43", @@ -118,9 +591,9 @@ "name": "v1.0.0-prerelease.42", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-14T12:49:34Z", - "updated_at": "2026-09-14T12:53:48Z", + "updated_at": "2026-09-27T14:16:57Z", "published_at": "2026-09-14T12:53:48Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.42", @@ -161,9 +634,9 @@ "name": "v1.0.0-prerelease.41", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-14T08:12:22Z", - "updated_at": "2026-09-14T08:16:35Z", + "updated_at": "2026-09-27T14:16:58Z", "published_at": "2026-09-14T08:16:35Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.41", @@ -204,9 +677,9 @@ "name": "v1.0.0-prerelease.40", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-13T13:10:47Z", - "updated_at": "2026-09-13T13:14:59Z", + "updated_at": "2026-09-27T14:16:59Z", "published_at": "2026-09-13T13:14:59Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.40", @@ -247,9 +720,9 @@ "name": "v1.0.0-prerelease.39", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-12T13:36:15Z", - "updated_at": "2026-09-12T13:39:13Z", + "updated_at": "2026-09-27T14:17:00Z", "published_at": "2026-09-12T13:39:13Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.39", @@ -290,9 +763,9 @@ "name": "v1.0.0-prerelease.38", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-12T12:08:38Z", - "updated_at": "2026-09-12T12:11:55Z", + "updated_at": "2026-09-27T14:17:01Z", "published_at": "2026-09-12T12:11:55Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.38", @@ -333,9 +806,9 @@ "name": "v1.0.0-prerelease.37", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-08T09:41:56Z", - "updated_at": "2026-09-08T09:45:06Z", + "updated_at": "2026-09-27T14:17:02Z", "published_at": "2026-09-08T09:45:06Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.37", @@ -376,9 +849,9 @@ "name": "v1.0.0-prerelease.36", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-06T08:23:07Z", - "updated_at": "2026-09-06T08:26:19Z", + "updated_at": "2026-09-27T14:17:08Z", "published_at": "2026-09-06T08:26:19Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.36", @@ -419,9 +892,9 @@ "name": "v1.0.0-prerelease.35", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-05T15:43:32Z", - "updated_at": "2026-09-05T15:46:21Z", + "updated_at": "2026-09-27T14:17:09Z", "published_at": "2026-09-05T15:46:21Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.35", @@ -462,9 +935,9 @@ "name": "v1.0.0-prerelease.34", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-05T08:22:56Z", - "updated_at": "2026-09-05T08:26:12Z", + "updated_at": "2026-09-27T14:17:10Z", "published_at": "2026-09-05T08:26:12Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.34", @@ -505,9 +978,9 @@ "name": "v1.0.0-prerelease.33", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-04T12:17:21Z", - "updated_at": "2026-09-04T12:20:13Z", + "updated_at": "2026-09-27T14:17:11Z", "published_at": "2026-09-04T12:20:13Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.33", @@ -548,9 +1021,9 @@ "name": "v1.0.0-prerelease.32", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-03T23:41:37Z", - "updated_at": "2026-09-03T23:44:13Z", + "updated_at": "2026-09-27T14:17:12Z", "published_at": "2026-09-03T23:44:13Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.32", @@ -591,9 +1064,9 @@ "name": "v1.0.0-prerelease.31", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-03T22:50:56Z", - "updated_at": "2026-09-03T22:53:07Z", + "updated_at": "2026-09-27T14:17:13Z", "published_at": "2026-09-03T22:53:07Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.31", @@ -634,9 +1107,9 @@ "name": "v1.0.0-prerelease.30", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-03T15:08:43Z", - "updated_at": "2026-09-03T15:11:51Z", + "updated_at": "2026-09-27T14:17:14Z", "published_at": "2026-09-03T15:11:51Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.30", @@ -677,9 +1150,9 @@ "name": "v1.0.0-prerelease.29", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-03T09:26:39Z", - "updated_at": "2026-09-03T09:29:18Z", + "updated_at": "2026-09-27T14:17:15Z", "published_at": "2026-09-03T09:29:18Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.29", @@ -720,9 +1193,9 @@ "name": "v1.0.0-prerelease.28", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-02T22:04:18Z", - "updated_at": "2026-09-02T22:07:13Z", + "updated_at": "2026-09-27T14:17:15Z", "published_at": "2026-09-02T22:07:13Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.28", @@ -763,9 +1236,9 @@ "name": "v1.0.0-prerelease.27", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-01T21:35:47Z", - "updated_at": "2026-09-01T21:38:48Z", + "updated_at": "2026-09-27T14:17:16Z", "published_at": "2026-09-01T21:38:48Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/tarball/v1.0.0-prerelease.27", diff --git a/src/fixtures/github/releases/telemetry-sourcegenerator.json b/src/fixtures/github/releases/telemetry-sourcegenerator.json index 17dae40..89085b8 100644 --- a/src/fixtures/github/releases/telemetry-sourcegenerator.json +++ b/src/fixtures/github/releases/telemetry-sourcegenerator.json @@ -1,4 +1,434 @@ [ + { + "url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/405475875", + "assets_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/405475875/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/405475875/assets{?name,label}", + "html_url": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.1", + "id": 405475875, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOLblSmc4YKxIj", + "tag_name": "v5.0.1", + "target_commitish": "main", + "name": "v5.0.1", + "draft": false, + "immutable": false, + "prerelease": false, + "created_at": "2026-10-07T07:00:00Z", + "updated_at": "2026-10-07T07:04:39Z", + "published_at": "2026-10-07T07:04:39Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v5.0.1", + "zipball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/zipball/v5.0.1", + "body": "## What's Changed\n* chore: add MIT license file by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/141\n* Adopting Source Generator Framework (GA) by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/142\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0...v5.0.1", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/399113365", + "assets_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/399113365/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/399113365/assets{?name,label}", + "html_url": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0", + "id": 399113365, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOLblSmc4XyfyV", + "tag_name": "v5.0.0", + "target_commitish": "main", + "name": "v5.0.0", + "draft": false, + "immutable": false, + "prerelease": false, + "created_at": "2026-09-29T12:07:20Z", + "updated_at": "2026-09-29T12:12:57Z", + "published_at": "2026-09-29T12:12:57Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v5.0.0", + "zipball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/zipball/v5.0.0", + "body": "## What's Changed\n* chore: update GitHub Actions workflows by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/93\n* fix: trigger CD for merged code changes by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/95\n* chore(release): 4.1.0 by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/94\n* Bump the nuget group with 1 update by @dependabot[bot] in https://github.com/purview-dev/telemetry-sourcegenerator/pull/96\n* Bump the nuget group with 1 update by @dependabot[bot] in https://github.com/purview-dev/telemetry-sourcegenerator/pull/98\n* expanding refactorings by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/99\n* feat: use AddEmbeddedAttributeDefinition + changeset release flow by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/100\n* refactor(ci): use reusable workflows from kjldev/.github by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/101\n* chore: remove husky by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/103\n* fix(release): skip wiki push in CI, add post-release wiki update to CD by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/104\n* Version Packages in https://github.com/purview-dev/telemetry-sourcegenerator/pull/105\n* Project structure + agent skills by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/110\n* build: trying to fix the pipeline by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/111\n* build: trying to fix the pipeline by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/112\n* Fix build by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/114\n* build: fix the sample build by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/115\n* build: fix Pipeline pack by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/116\n* Refactoring defaults by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/117\n* build: fixed sample build by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/118\n* fix: di summary had double global:: by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/119\n* Fixing attrib gen by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/120\n* chore: updating to latest source gen by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/121\n* docs: updated docs and bumped sdk by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/122\n* docs: updated urls in documentation by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/123\n* docs: add documentation wiki by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/124\n* docs: refresh performance benchmarks by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/127\n* fix: make benchmark host builds resolve the generator correctly by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/125\n* docs: refresh performance benchmarks by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/126\n* perf: fixed logger v2 benchmarks and added agressive inlining by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/128\n* chore: bumped version by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/129\n* chore: update to Purview.BuildSdk and bump to 5.0.0-prerelease.10 by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/130\n* chore: update branding assets, bump version, and use human-readable name by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/131\n* chore: bumped package version by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/132\n* refactor: source gen update by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/133\n* chore: source gen update by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/134\n* chore: bumped source gen by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/135\n* fix: sg leaking types by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/136\n* fix: regression on file copy by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/137\n* fix: misrepresentation of the naming error by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/138\n* refactor: source gen update by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/139\n* docs(release): updated shipped/ release docs by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/140\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v4.1.0...v5.0.0", + "mentions_count": 2 + }, + { + "url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/398595455", + "assets_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/398595455/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/398595455/assets{?name,label}", + "html_url": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.19", + "id": 398595455, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOLblSmc4XwhV_", + "tag_name": "v5.0.0-prerelease.19", + "target_commitish": "main", + "name": "v5.0.0-prerelease.19", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-28T20:17:36Z", + "updated_at": "2026-09-28T20:23:04Z", + "published_at": "2026-09-28T20:23:04Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v5.0.0-prerelease.19", + "zipball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/zipball/v5.0.0-prerelease.19", + "body": "## What's Changed\n* refactor: source gen update by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/139\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.18...v5.0.0-prerelease.19", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/397676630", + "assets_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/397676630/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/397676630/assets{?name,label}", + "html_url": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.18", + "id": 397676630, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOLblSmc4XtBBW", + "tag_name": "v5.0.0-prerelease.18", + "target_commitish": "main", + "name": "v5.0.0-prerelease.18", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-27T14:09:38Z", + "updated_at": "2026-09-27T14:15:15Z", + "published_at": "2026-09-27T14:15:15Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v5.0.0-prerelease.18", + "zipball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/zipball/v5.0.0-prerelease.18", + "body": "## What's Changed\n* fix: misrepresentation of the naming error by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/138\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.17...v5.0.0-prerelease.18", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/396665304", + "assets_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/396665304/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/396665304/assets{?name,label}", + "html_url": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.17", + "id": 396665304, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOLblSmc4XpKHY", + "tag_name": "v5.0.0-prerelease.17", + "target_commitish": "main", + "name": "v5.0.0-prerelease.17", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-25T14:06:32Z", + "updated_at": "2026-09-27T14:17:17Z", + "published_at": "2026-09-25T14:12:36Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v5.0.0-prerelease.17", + "zipball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/zipball/v5.0.0-prerelease.17", + "body": "## What's Changed\n* fix: regression on file copy by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/137\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.16...v5.0.0-prerelease.17", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/396108629", + "assets_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/396108629/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/396108629/assets{?name,label}", + "html_url": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.16", + "id": 396108629, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOLblSmc4XnCNV", + "tag_name": "v5.0.0-prerelease.16", + "target_commitish": "main", + "name": "v5.0.0-prerelease.16", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-24T21:50:17Z", + "updated_at": "2026-09-27T14:17:18Z", + "published_at": "2026-09-24T21:55:40Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v5.0.0-prerelease.16", + "zipball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/zipball/v5.0.0-prerelease.16", + "body": "## What's Changed\n* fix: sg leaking types by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/136\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.15...v5.0.0-prerelease.16", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/395857123", + "assets_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/395857123/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/395857123/assets{?name,label}", + "html_url": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.15", + "id": 395857123, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOLblSmc4XmEzj", + "tag_name": "v5.0.0-prerelease.15", + "target_commitish": "main", + "name": "v5.0.0-prerelease.15", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-24T16:03:24Z", + "updated_at": "2026-09-27T14:17:19Z", + "published_at": "2026-09-24T16:09:30Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v5.0.0-prerelease.15", + "zipball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/zipball/v5.0.0-prerelease.15", + "body": "## What's Changed\n* chore: bumped source gen by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/135\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.14...v5.0.0-prerelease.15", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/394843325", + "assets_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/394843325/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/394843325/assets{?name,label}", + "html_url": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.14", + "id": 394843325, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOLblSmc4XiNS9", + "tag_name": "v5.0.0-prerelease.14", + "target_commitish": "main", + "name": "v5.0.0-prerelease.14", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-23T16:14:48Z", + "updated_at": "2026-09-27T14:17:20Z", + "published_at": "2026-09-23T16:18:55Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v5.0.0-prerelease.14", + "zipball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/zipball/v5.0.0-prerelease.14", + "body": "## What's Changed\n* chore: source gen update by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/134\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.13...v5.0.0-prerelease.14", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/394540731", + "assets_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/394540731/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/394540731/assets{?name,label}", + "html_url": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.13", + "id": 394540731, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOLblSmc4XhDa7", + "tag_name": "v5.0.0-prerelease.13", + "target_commitish": "main", + "name": "v5.0.0-prerelease.13", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-23T10:16:53Z", + "updated_at": "2026-09-27T14:17:21Z", + "published_at": "2026-09-23T10:22:24Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v5.0.0-prerelease.13", + "zipball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/zipball/v5.0.0-prerelease.13", + "body": "## What's Changed\n* refactor: source gen update by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/133\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.12...v5.0.0-prerelease.13", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/393877337", + "assets_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/393877337/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/393877337/assets{?name,label}", + "html_url": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.12", + "id": 393877337, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOLblSmc4XehdZ", + "tag_name": "v5.0.0-prerelease.12", + "target_commitish": "main", + "name": "v5.0.0-prerelease.12", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-22T15:37:24Z", + "updated_at": "2026-09-27T14:17:21Z", + "published_at": "2026-09-22T15:41:57Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v5.0.0-prerelease.12", + "zipball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/zipball/v5.0.0-prerelease.12", + "body": "## What's Changed\n* chore: bumped package version by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/132\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.11...v5.0.0-prerelease.12", + "mentions_count": 1 + }, { "url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/391315862", "assets_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/391315862/assets", @@ -32,9 +462,9 @@ "name": "v5.0.0-prerelease.11", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-18T08:19:10Z", - "updated_at": "2026-09-18T08:22:49Z", + "updated_at": "2026-09-27T14:17:22Z", "published_at": "2026-09-18T08:22:49Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v5.0.0-prerelease.11", @@ -75,9 +505,9 @@ "name": "v5.0.0-prerelease.10", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-17T17:47:01Z", - "updated_at": "2026-09-17T17:52:12Z", + "updated_at": "2026-09-27T14:17:23Z", "published_at": "2026-09-17T17:52:12Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v5.0.0-prerelease.10", @@ -118,9 +548,9 @@ "name": "v5.0.0-prerelease.9", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-16T22:01:30Z", - "updated_at": "2026-09-16T22:05:51Z", + "updated_at": "2026-09-27T14:17:24Z", "published_at": "2026-09-16T22:05:51Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v5.0.0-prerelease.9", @@ -161,9 +591,9 @@ "name": "v5.0.0-prerelease.8", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-14T13:28:26Z", - "updated_at": "2026-09-14T13:32:19Z", + "updated_at": "2026-09-27T14:17:25Z", "published_at": "2026-09-14T13:32:19Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v5.0.0-prerelease.8", @@ -204,9 +634,9 @@ "name": "v5.0.0-prerelease.7", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-12T13:51:38Z", - "updated_at": "2026-09-12T13:57:45Z", + "updated_at": "2026-09-27T14:17:33Z", "published_at": "2026-09-12T13:57:45Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v5.0.0-prerelease.7", @@ -247,9 +677,9 @@ "name": "v5.0.0-prerelease.6", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-08T15:27:00Z", - "updated_at": "2026-09-08T15:33:14Z", + "updated_at": "2026-09-27T14:17:34Z", "published_at": "2026-09-08T15:33:14Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v5.0.0-prerelease.6", @@ -290,9 +720,9 @@ "name": "v5.0.0-prerelease.5", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-06T08:38:18Z", - "updated_at": "2026-09-06T08:44:27Z", + "updated_at": "2026-09-27T14:17:34Z", "published_at": "2026-09-06T08:44:27Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v5.0.0-prerelease.5", @@ -333,9 +763,9 @@ "name": "v5.0.0-prerelease.4", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-04T12:33:10Z", - "updated_at": "2026-09-04T12:38:54Z", + "updated_at": "2026-09-27T14:17:35Z", "published_at": "2026-09-04T12:38:54Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v5.0.0-prerelease.4", @@ -376,9 +806,9 @@ "name": "v5.0.0-prerelease.3", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-03T16:01:22Z", - "updated_at": "2026-09-03T16:06:08Z", + "updated_at": "2026-09-27T14:17:36Z", "published_at": "2026-09-03T16:06:08Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v5.0.0-prerelease.3", @@ -419,9 +849,9 @@ "name": "v5.0.0-prerelease.2", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-03T10:21:43Z", - "updated_at": "2026-09-03T10:27:03Z", + "updated_at": "2026-09-27T14:17:37Z", "published_at": "2026-09-03T10:27:03Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v5.0.0-prerelease.2", @@ -462,9 +892,9 @@ "name": "v5.0.0-prerelease.1", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-01T22:14:29Z", - "updated_at": "2026-09-01T22:16:46Z", + "updated_at": "2026-09-27T14:17:38Z", "published_at": "2026-09-01T22:16:46Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v5.0.0-prerelease.1", @@ -1811,132 +2241,5 @@ "zipball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/zipball/v1.0.3", "body": "## What's Changed\r\n* build(deps): bump xunit.runner.visualstudio from 2.5.8 to 2.8.0 by @dependabot in https://github.com/purview-dev/purview-telemetry-sourcegenerator/pull/20\r\n* build(deps): bump xunit from 2.7.1 to 2.8.0 by @dependabot in https://github.com/purview-dev/purview-telemetry-sourcegenerator/pull/19\r\n* Fix generic parameters and added AutoCounterAttribute by @kieronlanning in https://github.com/purview-dev/purview-telemetry-sourcegenerator/pull/21\r\n\r\n\r\n**Full Changelog**: https://github.com/purview-dev/purview-telemetry-sourcegenerator/compare/v1.0.2...v1.0.3", "mentions_count": 2 - }, - { - "url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/152939664", - "assets_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/152939664/assets", - "upload_url": "https://uploads.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/152939664/assets{?name,label}", - "html_url": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v1.0.2", - "id": 152939664, - "author": { - "login": "kieronlanning", - "id": 5364423, - "node_id": "MDQ6VXNlcjUzNjQ0MjM=", - "avatar_url": "https://avatars.githubusercontent.com/u/5364423?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/kieronlanning", - "html_url": "https://github.com/kieronlanning", - "followers_url": "https://api.github.com/users/kieronlanning/followers", - "following_url": "https://api.github.com/users/kieronlanning/following{/other_user}", - "gists_url": "https://api.github.com/users/kieronlanning/gists{/gist_id}", - "starred_url": "https://api.github.com/users/kieronlanning/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/kieronlanning/subscriptions", - "organizations_url": "https://api.github.com/users/kieronlanning/orgs", - "repos_url": "https://api.github.com/users/kieronlanning/repos", - "events_url": "https://api.github.com/users/kieronlanning/events{/privacy}", - "received_events_url": "https://api.github.com/users/kieronlanning/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "node_id": "RE_kwDOLblSmc4JHayQ", - "tag_name": "v1.0.2", - "target_commitish": "main", - "name": "v1.0.2", - "draft": false, - "immutable": false, - "prerelease": false, - "created_at": "2024-04-25T20:00:17Z", - "updated_at": "2024-04-26T07:15:18Z", - "published_at": "2024-04-26T07:15:18Z", - "assets": [], - "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v1.0.2", - "zipball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/zipball/v1.0.2", - "body": "## What's Changed\r\n* feat: used the assembly name as the default activity source name by @kieronlanning in https://github.com/purview-dev/purview-telemetry-sourcegenerator/pull/17\r\n\r\n\r\n**Full Changelog**: https://github.com/purview-dev/purview-telemetry-sourcegenerator/compare/v1.0.1...v1.0.2", - "mentions_count": 1 - }, - { - "url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/152855929", - "assets_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/152855929/assets", - "upload_url": "https://uploads.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/152855929/assets{?name,label}", - "html_url": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v1.0.1", - "id": 152855929, - "author": { - "login": "kieronlanning", - "id": 5364423, - "node_id": "MDQ6VXNlcjUzNjQ0MjM=", - "avatar_url": "https://avatars.githubusercontent.com/u/5364423?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/kieronlanning", - "html_url": "https://github.com/kieronlanning", - "followers_url": "https://api.github.com/users/kieronlanning/followers", - "following_url": "https://api.github.com/users/kieronlanning/following{/other_user}", - "gists_url": "https://api.github.com/users/kieronlanning/gists{/gist_id}", - "starred_url": "https://api.github.com/users/kieronlanning/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/kieronlanning/subscriptions", - "organizations_url": "https://api.github.com/users/kieronlanning/orgs", - "repos_url": "https://api.github.com/users/kieronlanning/repos", - "events_url": "https://api.github.com/users/kieronlanning/events{/privacy}", - "received_events_url": "https://api.github.com/users/kieronlanning/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "node_id": "RE_kwDOLblSmc4JHGV5", - "tag_name": "v1.0.1", - "target_commitish": "main", - "name": "v1.0.1", - "draft": false, - "immutable": false, - "prerelease": false, - "created_at": "2024-04-25T17:34:58Z", - "updated_at": "2024-04-25T17:36:44Z", - "published_at": "2024-04-25T17:35:44Z", - "assets": [], - "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v1.0.1", - "zipball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/zipball/v1.0.1", - "body": "This does include a **breaking change**, where dependency generated method names no-longer contain the first `I` from the interface name. E.g. `AddICacheServiceTelemetry` is now `AddCacheServiceTelemetry`." - }, - { - "url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/151188583", - "assets_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/151188583/assets", - "upload_url": "https://uploads.github.com/repos/purview-dev/telemetry-sourcegenerator/releases/151188583/assets{?name,label}", - "html_url": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v1.0.0", - "id": 151188583, - "author": { - "login": "kieronlanning", - "id": 5364423, - "node_id": "MDQ6VXNlcjUzNjQ0MjM=", - "avatar_url": "https://avatars.githubusercontent.com/u/5364423?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/kieronlanning", - "html_url": "https://github.com/kieronlanning", - "followers_url": "https://api.github.com/users/kieronlanning/followers", - "following_url": "https://api.github.com/users/kieronlanning/following{/other_user}", - "gists_url": "https://api.github.com/users/kieronlanning/gists{/gist_id}", - "starred_url": "https://api.github.com/users/kieronlanning/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/kieronlanning/subscriptions", - "organizations_url": "https://api.github.com/users/kieronlanning/orgs", - "repos_url": "https://api.github.com/users/kieronlanning/repos", - "events_url": "https://api.github.com/users/kieronlanning/events{/privacy}", - "received_events_url": "https://api.github.com/users/kieronlanning/received_events", - "type": "User", - "user_view_type": "public", - "site_admin": false - }, - "node_id": "RE_kwDOLblSmc4JAvRn", - "tag_name": "v1.0.0", - "target_commitish": "main", - "name": "v1.0.0", - "draft": false, - "immutable": false, - "prerelease": false, - "created_at": "2024-04-15T13:33:31Z", - "updated_at": "2024-04-15T14:13:12Z", - "published_at": "2024-04-15T14:13:12Z", - "assets": [], - "tarball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/tarball/v1.0.0", - "zipball_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/zipball/v1.0.0", - "body": "" } ] diff --git a/src/fixtures/github/releases/value-objects.json b/src/fixtures/github/releases/value-objects.json index f8792f3..a7dc584 100644 --- a/src/fixtures/github/releases/value-objects.json +++ b/src/fixtures/github/releases/value-objects.json @@ -1,4 +1,434 @@ [ + { + "url": "https://api.github.com/repos/purview-dev/value-objects/releases/405469401", + "assets_url": "https://api.github.com/repos/purview-dev/value-objects/releases/405469401/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/value-objects/releases/405469401/assets{?name,label}", + "html_url": "https://github.com/purview-dev/value-objects/releases/tag/v1.0.0", + "id": 405469401, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOUgS3hM4YKvjZ", + "tag_name": "v1.0.0", + "target_commitish": "main", + "name": "v1.0.0", + "draft": false, + "immutable": false, + "prerelease": false, + "created_at": "2026-10-07T06:54:07Z", + "updated_at": "2026-10-07T06:56:37Z", + "published_at": "2026-10-07T06:56:37Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/value-objects/tarball/v1.0.0", + "zipball_url": "https://api.github.com/repos/purview-dev/value-objects/zipball/v1.0.0", + "body": "## What's Changed\n* chore: add MIT license file by @kieronlanning in https://github.com/purview-dev/value-objects/pull/13\n* Rules updates by @kieronlanning in https://github.com/purview-dev/value-objects/pull/14\n\n\n**Full Changelog**: https://github.com/purview-dev/value-objects/compare/v1.0.0-prerelease.11...v1.0.0", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/value-objects/releases/399961195", + "assets_url": "https://api.github.com/repos/purview-dev/value-objects/releases/399961195/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/value-objects/releases/399961195/assets{?name,label}", + "html_url": "https://github.com/purview-dev/value-objects/releases/tag/v1.0.0-prerelease.11", + "id": 399961195, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOUgS3hM4X1uxr", + "tag_name": "v1.0.0-prerelease.11", + "target_commitish": "main", + "name": "v1.0.0-prerelease.11", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-30T11:02:47Z", + "updated_at": "2026-09-30T11:04:33Z", + "published_at": "2026-09-30T11:04:33Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/value-objects/tarball/v1.0.0-prerelease.11", + "zipball_url": "https://api.github.com/repos/purview-dev/value-objects/zipball/v1.0.0-prerelease.11", + "body": "## What's Changed\n* fix: internal types were merged out by @kieronlanning in https://github.com/purview-dev/value-objects/pull/12\n\n\n**Full Changelog**: https://github.com/purview-dev/value-objects/compare/v1.0.0-prerelease.10...v1.0.0-prerelease.11", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/value-objects/releases/399288692", + "assets_url": "https://api.github.com/repos/purview-dev/value-objects/releases/399288692/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/value-objects/releases/399288692/assets{?name,label}", + "html_url": "https://github.com/purview-dev/value-objects/releases/tag/v1.0.0-prerelease.10", + "id": 399288692, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOUgS3hM4XzKl0", + "tag_name": "v1.0.0-prerelease.10", + "target_commitish": "main", + "name": "v1.0.0-prerelease.10", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-29T15:32:38Z", + "updated_at": "2026-09-29T15:34:52Z", + "published_at": "2026-09-29T15:34:52Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/value-objects/tarball/v1.0.0-prerelease.10", + "zipball_url": "https://api.github.com/repos/purview-dev/value-objects/zipball/v1.0.0-prerelease.10", + "body": "## What's Changed\n* chore: package updates by @kieronlanning in https://github.com/purview-dev/value-objects/pull/11\n\n\n**Full Changelog**: https://github.com/purview-dev/value-objects/compare/v1.0.0-prerelease.9...v1.0.0-prerelease.10", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/value-objects/releases/398606942", + "assets_url": "https://api.github.com/repos/purview-dev/value-objects/releases/398606942/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/value-objects/releases/398606942/assets{?name,label}", + "html_url": "https://github.com/purview-dev/value-objects/releases/tag/v1.0.0-prerelease.9", + "id": 398606942, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOUgS3hM4XwkJe", + "tag_name": "v1.0.0-prerelease.9", + "target_commitish": "main", + "name": "v1.0.0-prerelease.9", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-28T20:36:55Z", + "updated_at": "2026-09-28T20:39:13Z", + "published_at": "2026-09-28T20:39:13Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/value-objects/tarball/v1.0.0-prerelease.9", + "zipball_url": "https://api.github.com/repos/purview-dev/value-objects/zipball/v1.0.0-prerelease.9", + "body": "## What's Changed\n* chore: bumped zod version by @kieronlanning in https://github.com/purview-dev/value-objects/pull/10\n\n\n**Full Changelog**: https://github.com/purview-dev/value-objects/compare/v1.0.0-prerelease.8...v1.0.0-prerelease.9", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/value-objects/releases/398600784", + "assets_url": "https://api.github.com/repos/purview-dev/value-objects/releases/398600784/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/value-objects/releases/398600784/assets{?name,label}", + "html_url": "https://github.com/purview-dev/value-objects/releases/tag/v1.0.0-prerelease.8", + "id": 398600784, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOUgS3hM4XwipQ", + "tag_name": "v1.0.0-prerelease.8", + "target_commitish": "main", + "name": "v1.0.0-prerelease.8", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-28T20:28:23Z", + "updated_at": "2026-09-28T20:30:13Z", + "published_at": "2026-09-28T20:30:13Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/value-objects/tarball/v1.0.0-prerelease.8", + "zipball_url": "https://api.github.com/repos/purview-dev/value-objects/zipball/v1.0.0-prerelease.8", + "body": "## What's Changed\n* chore: source gen update by @kieronlanning in https://github.com/purview-dev/value-objects/pull/9\n\n\n**Full Changelog**: https://github.com/purview-dev/value-objects/compare/v1.0.0-prerelease.7...v1.0.0-prerelease.8", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/value-objects/releases/397851910", + "assets_url": "https://api.github.com/repos/purview-dev/value-objects/releases/397851910/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/value-objects/releases/397851910/assets{?name,label}", + "html_url": "https://github.com/purview-dev/value-objects/releases/tag/v1.0.0-prerelease.7", + "id": 397851910, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOUgS3hM4Xtr0G", + "tag_name": "v1.0.0-prerelease.7", + "target_commitish": "main", + "name": "v1.0.0-prerelease.7", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-27T23:13:59Z", + "updated_at": "2026-09-27T23:16:08Z", + "published_at": "2026-09-27T23:16:08Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/value-objects/tarball/v1.0.0-prerelease.7", + "zipball_url": "https://api.github.com/repos/purview-dev/value-objects/zipball/v1.0.0-prerelease.7", + "body": "## What's Changed\n* Better zod integration by @kieronlanning in https://github.com/purview-dev/value-objects/pull/8\n\n\n**Full Changelog**: https://github.com/purview-dev/value-objects/compare/v1.0.0-prerelease.6...v1.0.0-prerelease.7", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/value-objects/releases/396672437", + "assets_url": "https://api.github.com/repos/purview-dev/value-objects/releases/396672437/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/value-objects/releases/396672437/assets{?name,label}", + "html_url": "https://github.com/purview-dev/value-objects/releases/tag/v1.0.0-prerelease.6", + "id": 396672437, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOUgS3hM4XpL21", + "tag_name": "v1.0.0-prerelease.6", + "target_commitish": "main", + "name": "v1.0.0-prerelease.6", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-25T14:19:34Z", + "updated_at": "2026-09-27T14:17:47Z", + "published_at": "2026-09-25T14:21:23Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/value-objects/tarball/v1.0.0-prerelease.6", + "zipball_url": "https://api.github.com/repos/purview-dev/value-objects/zipball/v1.0.0-prerelease.6", + "body": "## What's Changed\n* Ef valueconverter fix by @kieronlanning in https://github.com/purview-dev/value-objects/pull/7\n\n\n**Full Changelog**: https://github.com/purview-dev/value-objects/compare/v1.0.0-prerelease.5...v1.0.0-prerelease.6", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/value-objects/releases/395464879", + "assets_url": "https://api.github.com/repos/purview-dev/value-objects/releases/395464879/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/value-objects/releases/395464879/assets{?name,label}", + "html_url": "https://github.com/purview-dev/value-objects/releases/tag/v1.0.0-prerelease.5", + "id": 395464879, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOUgS3hM4XklCv", + "tag_name": "v1.0.0-prerelease.5", + "target_commitish": "main", + "name": "v1.0.0-prerelease.5", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-24T08:04:39Z", + "updated_at": "2026-09-27T14:17:47Z", + "published_at": "2026-09-24T08:06:39Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/value-objects/tarball/v1.0.0-prerelease.5", + "zipball_url": "https://api.github.com/repos/purview-dev/value-objects/zipball/v1.0.0-prerelease.5", + "body": "## What's Changed\n* Ef integration by @kieronlanning in https://github.com/purview-dev/value-objects/pull/6\n\n\n**Full Changelog**: https://github.com/purview-dev/value-objects/compare/v1.0.0-prerelease.4...v1.0.0-prerelease.5", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/value-objects/releases/392408205", + "assets_url": "https://api.github.com/repos/purview-dev/value-objects/releases/392408205/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/value-objects/releases/392408205/assets{?name,label}", + "html_url": "https://github.com/purview-dev/value-objects/releases/tag/v1.0.0-prerelease.4", + "id": 392408205, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOUgS3hM4XY6yN", + "tag_name": "v1.0.0-prerelease.4", + "target_commitish": "main", + "name": "v1.0.0-prerelease.4", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-20T11:22:02Z", + "updated_at": "2026-09-27T14:17:48Z", + "published_at": "2026-09-20T11:23:23Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/value-objects/tarball/v1.0.0-prerelease.4", + "zipball_url": "https://api.github.com/repos/purview-dev/value-objects/zipball/v1.0.0-prerelease.4", + "body": "## What's Changed\n* fix: attribute properties were get only with no ctor by @kieronlanning in https://github.com/purview-dev/value-objects/pull/5\n\n\n**Full Changelog**: https://github.com/purview-dev/value-objects/compare/v1.0.0-prerelease.3...v1.0.0-prerelease.4", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/value-objects/releases/392378816", + "assets_url": "https://api.github.com/repos/purview-dev/value-objects/releases/392378816/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/value-objects/releases/392378816/assets{?name,label}", + "html_url": "https://github.com/purview-dev/value-objects/releases/tag/v1.0.0-prerelease.3", + "id": 392378816, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOUgS3hM4XYznA", + "tag_name": "v1.0.0-prerelease.3", + "target_commitish": "main", + "name": "v1.0.0-prerelease.3", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-20T09:26:42Z", + "updated_at": "2026-09-27T14:17:49Z", + "published_at": "2026-09-20T09:28:01Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/value-objects/tarball/v1.0.0-prerelease.3", + "zipball_url": "https://api.github.com/repos/purview-dev/value-objects/zipball/v1.0.0-prerelease.3", + "body": "## What's Changed\n* doc: added ZodSharp sample by @kieronlanning in https://github.com/purview-dev/value-objects/pull/2\n* docs: updated samples by @kieronlanning in https://github.com/purview-dev/value-objects/pull/3\n* docs: updated samples by @kieronlanning in https://github.com/purview-dev/value-objects/pull/4\n\n\n**Full Changelog**: https://github.com/purview-dev/value-objects/compare/v1.0.0-prerelease.2...v1.0.0-prerelease.3", + "mentions_count": 1 + }, { "url": "https://api.github.com/repos/purview-dev/value-objects/releases/391644895", "assets_url": "https://api.github.com/repos/purview-dev/value-objects/releases/391644895/assets", @@ -32,9 +462,9 @@ "name": "v1.0.0-prerelease.2", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-18T17:04:26Z", - "updated_at": "2026-09-18T17:06:24Z", + "updated_at": "2026-09-27T14:17:56Z", "published_at": "2026-09-18T17:06:24Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/value-objects/tarball/v1.0.0-prerelease.2", @@ -75,9 +505,9 @@ "name": "v1.0.0-prerelease.1", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-18T16:53:49Z", - "updated_at": "2026-09-18T16:58:43Z", + "updated_at": "2026-09-27T14:17:57Z", "published_at": "2026-09-18T16:58:43Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/value-objects/tarball/v1.0.0-prerelease.1", diff --git a/src/fixtures/github/releases/zodsharp.json b/src/fixtures/github/releases/zodsharp.json index acbc343..9424ea3 100644 --- a/src/fixtures/github/releases/zodsharp.json +++ b/src/fixtures/github/releases/zodsharp.json @@ -1,4 +1,907 @@ [ + { + "url": "https://api.github.com/repos/purview-dev/zodsharp/releases/405448291", + "assets_url": "https://api.github.com/repos/purview-dev/zodsharp/releases/405448291/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/zodsharp/releases/405448291/assets{?name,label}", + "html_url": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.1", + "id": 405448291, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTNzbhc4YKqZj", + "tag_name": "v2.0.1", + "target_commitish": "main", + "name": "v2.0.1", + "draft": false, + "immutable": false, + "prerelease": false, + "created_at": "2026-10-07T06:24:32Z", + "updated_at": "2026-10-07T06:29:49Z", + "published_at": "2026-10-07T06:29:49Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.1", + "zipball_url": "https://api.github.com/repos/purview-dev/zodsharp/zipball/v2.0.1", + "body": "## What's Changed\n* chore: add MIT license file by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/50\n* Zodrules update by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/51\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0...v2.0.1", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/zodsharp/releases/399223507", + "assets_url": "https://api.github.com/repos/purview-dev/zodsharp/releases/399223507/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/zodsharp/releases/399223507/assets{?name,label}", + "html_url": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0", + "id": 399223507, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTNzbhc4Xy6rT", + "tag_name": "v2.0.0", + "target_commitish": "main", + "name": "v2.0.0", + "draft": false, + "immutable": false, + "prerelease": false, + "created_at": "2026-09-29T14:17:16Z", + "updated_at": "2026-09-29T14:20:50Z", + "published_at": "2026-09-29T14:20:50Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0", + "zipball_url": "https://api.github.com/repos/purview-dev/zodsharp/zipball/v2.0.0", + "body": "## What's Changed\n* chore(release): prepare the first stable release (2.0.0) by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/49\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.28...v2.0.0", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/zodsharp/releases/398592218", + "assets_url": "https://api.github.com/repos/purview-dev/zodsharp/releases/398592218/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/zodsharp/releases/398592218/assets{?name,label}", + "html_url": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.28", + "id": 398592218, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTNzbhc4Xwgja", + "tag_name": "v2.0.0-prerelease.28", + "target_commitish": "main", + "name": "v2.0.0-prerelease.28", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-28T20:14:28Z", + "updated_at": "2026-09-28T20:18:13Z", + "published_at": "2026-09-28T20:18:13Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.28", + "zipball_url": "https://api.github.com/repos/purview-dev/zodsharp/zipball/v2.0.0-prerelease.28", + "body": "## What's Changed\n* docs: updated readme by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/47\n* refactor: source gen update by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/48\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.27...v2.0.0-prerelease.28", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/zodsharp/releases/397849176", + "assets_url": "https://api.github.com/repos/purview-dev/zodsharp/releases/397849176/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/zodsharp/releases/397849176/assets{?name,label}", + "html_url": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.27", + "id": 397849176, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTNzbhc4XtrJY", + "tag_name": "v2.0.0-prerelease.27", + "target_commitish": "main", + "name": "v2.0.0-prerelease.27", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-27T22:59:09Z", + "updated_at": "2026-09-27T23:06:05Z", + "published_at": "2026-09-27T23:06:05Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.27", + "zipball_url": "https://api.github.com/repos/purview-dev/zodsharp/zipball/v2.0.0-prerelease.27", + "body": "## What's Changed\n* refactor: merged VO-introducted refine/ validate pipeline by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/46\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.26...v2.0.0-prerelease.27", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/zodsharp/releases/397681891", + "assets_url": "https://api.github.com/repos/purview-dev/zodsharp/releases/397681891/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/zodsharp/releases/397681891/assets{?name,label}", + "html_url": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.26", + "id": 397681891, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTNzbhc4XtCTj", + "tag_name": "v2.0.0-prerelease.26", + "target_commitish": "main", + "name": "v2.0.0-prerelease.26", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-27T14:25:38Z", + "updated_at": "2026-09-27T14:29:39Z", + "published_at": "2026-09-27T14:29:39Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.26", + "zipball_url": "https://api.github.com/repos/purview-dev/zodsharp/zipball/v2.0.0-prerelease.26", + "body": "## What's Changed\n* ci: mark prerelease versions as GitHub prereleases by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/42\n* ci: restore minimal release workflow by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/43\n* chore: source gen update by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/44\n* Source gen update by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/45\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.25...v2.0.0-prerelease.26", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/zodsharp/releases/397619887", + "assets_url": "https://api.github.com/repos/purview-dev/zodsharp/releases/397619887/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/zodsharp/releases/397619887/assets{?name,label}", + "html_url": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.25", + "id": 397619887, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTNzbhc4XszKv", + "tag_name": "v2.0.0-prerelease.25", + "target_commitish": "main", + "name": "v2.0.0-prerelease.25", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-27T11:18:19Z", + "updated_at": "2026-09-27T11:51:47Z", + "published_at": "2026-09-27T11:21:01Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.25", + "zipball_url": "https://api.github.com/repos/purview-dev/zodsharp/zipball/v2.0.0-prerelease.25", + "body": "## What's Changed\n* Custom rules by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/41\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.24...v2.0.0-prerelease.25", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/zodsharp/releases/396718688", + "assets_url": "https://api.github.com/repos/purview-dev/zodsharp/releases/396718688/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/zodsharp/releases/396718688/assets{?name,label}", + "html_url": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.24", + "id": 396718688, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTNzbhc4XpXJg", + "tag_name": "v2.0.0-prerelease.24", + "target_commitish": "main", + "name": "v2.0.0-prerelease.24", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-25T15:20:57Z", + "updated_at": "2026-09-27T14:16:23Z", + "published_at": "2026-09-25T15:23:59Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.24", + "zipball_url": "https://api.github.com/repos/purview-dev/zodsharp/zipball/v2.0.0-prerelease.24", + "body": "## What's Changed\n* fix: schemas are only generated in the containing type now by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/40\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.23...v2.0.0-prerelease.24", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/zodsharp/releases/396662228", + "assets_url": "https://api.github.com/repos/purview-dev/zodsharp/releases/396662228/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/zodsharp/releases/396662228/assets{?name,label}", + "html_url": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.23", + "id": 396662228, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTNzbhc4XpJXU", + "tag_name": "v2.0.0-prerelease.23", + "target_commitish": "main", + "name": "v2.0.0-prerelease.23", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-25T14:05:13Z", + "updated_at": "2026-09-27T14:16:24Z", + "published_at": "2026-09-25T14:08:35Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.23", + "zipball_url": "https://api.github.com/repos/purview-dev/zodsharp/zipball/v2.0.0-prerelease.23", + "body": "## What's Changed\n* fix: regression on file copy by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/39\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.22...v2.0.0-prerelease.23", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/zodsharp/releases/396096811", + "assets_url": "https://api.github.com/repos/purview-dev/zodsharp/releases/396096811/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/zodsharp/releases/396096811/assets{?name,label}", + "html_url": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.22", + "id": 396096811, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTNzbhc4Xm_Ur", + "tag_name": "v2.0.0-prerelease.22", + "target_commitish": "main", + "name": "v2.0.0-prerelease.22", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-24T21:29:33Z", + "updated_at": "2026-09-27T14:16:24Z", + "published_at": "2026-09-24T21:33:13Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.22", + "zipball_url": "https://api.github.com/repos/purview-dev/zodsharp/zipball/v2.0.0-prerelease.22", + "body": "## What's Changed\n* fix: sg leaking types by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/38\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.21...v2.0.0-prerelease.22", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/zodsharp/releases/395860822", + "assets_url": "https://api.github.com/repos/purview-dev/zodsharp/releases/395860822/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/zodsharp/releases/395860822/assets{?name,label}", + "html_url": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.21", + "id": 395860822, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTNzbhc4XmFtW", + "tag_name": "v2.0.0-prerelease.21", + "target_commitish": "main", + "name": "v2.0.0-prerelease.21", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-24T16:09:52Z", + "updated_at": "2026-09-27T14:16:26Z", + "published_at": "2026-09-24T16:14:20Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.21", + "zipball_url": "https://api.github.com/repos/purview-dev/zodsharp/zipball/v2.0.0-prerelease.21", + "body": "## What's Changed\n* chore: bumped source gen by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/37\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.20...v2.0.0-prerelease.21", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/zodsharp/releases/394828935", + "assets_url": "https://api.github.com/repos/purview-dev/zodsharp/releases/394828935/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/zodsharp/releases/394828935/assets{?name,label}", + "html_url": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.20", + "id": 394828935, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTNzbhc4XiJyH", + "tag_name": "v2.0.0-prerelease.20", + "target_commitish": "main", + "name": "v2.0.0-prerelease.20", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-23T15:57:38Z", + "updated_at": "2026-09-27T14:16:27Z", + "published_at": "2026-09-23T16:01:32Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.20", + "zipball_url": "https://api.github.com/repos/purview-dev/zodsharp/zipball/v2.0.0-prerelease.20", + "body": "## What's Changed\n* chore: fixed source gen il-merge by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/36\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.19...v2.0.0-prerelease.20", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/zodsharp/releases/394528400", + "assets_url": "https://api.github.com/repos/purview-dev/zodsharp/releases/394528400/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/zodsharp/releases/394528400/assets{?name,label}", + "html_url": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.19", + "id": 394528400, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTNzbhc4XhAaQ", + "tag_name": "v2.0.0-prerelease.19", + "target_commitish": "main", + "name": "v2.0.0-prerelease.19", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-23T10:04:00Z", + "updated_at": "2026-09-27T14:16:27Z", + "published_at": "2026-09-23T10:07:12Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.19", + "zipball_url": "https://api.github.com/repos/purview-dev/zodsharp/zipball/v2.0.0-prerelease.19", + "body": "## What's Changed\n* build: new build updates by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/35\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.18...v2.0.0-prerelease.19", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/zodsharp/releases/394191155", + "assets_url": "https://api.github.com/repos/purview-dev/zodsharp/releases/394191155/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/zodsharp/releases/394191155/assets{?name,label}", + "html_url": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.18", + "id": 394191155, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTNzbhc4XfuEz", + "tag_name": "v2.0.0-prerelease.18", + "target_commitish": "main", + "name": "v2.0.0-prerelease.18", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-22T23:33:37Z", + "updated_at": "2026-09-27T14:16:28Z", + "published_at": "2026-09-22T23:37:07Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.18", + "zipball_url": "https://api.github.com/repos/purview-dev/zodsharp/zipball/v2.0.0-prerelease.18", + "body": "## What's Changed\n* refactor: source gen update by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/34\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.17...v2.0.0-prerelease.18", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/zodsharp/releases/393847468", + "assets_url": "https://api.github.com/repos/purview-dev/zodsharp/releases/393847468/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/zodsharp/releases/393847468/assets{?name,label}", + "html_url": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.17", + "id": 393847468, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTNzbhc4XeaKs", + "tag_name": "v2.0.0-prerelease.17", + "target_commitish": "main", + "name": "v2.0.0-prerelease.17", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-22T15:02:11Z", + "updated_at": "2026-09-27T14:16:29Z", + "published_at": "2026-09-22T15:04:50Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.17", + "zipball_url": "https://api.github.com/repos/purview-dev/zodsharp/zipball/v2.0.0-prerelease.17", + "body": "## What's Changed\n* chore: bumped package version by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/33\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.16...v2.0.0-prerelease.17", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/zodsharp/releases/393062396", + "assets_url": "https://api.github.com/repos/purview-dev/zodsharp/releases/393062396/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/zodsharp/releases/393062396/assets{?name,label}", + "html_url": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.16", + "id": 393062396, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTNzbhc4Xbaf8", + "tag_name": "v2.0.0-prerelease.16", + "target_commitish": "main", + "name": "v2.0.0-prerelease.16", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-21T15:07:35Z", + "updated_at": "2026-09-27T14:16:30Z", + "published_at": "2026-09-21T15:10:27Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.16", + "zipball_url": "https://api.github.com/repos/purview-dev/zodsharp/zipball/v2.0.0-prerelease.16", + "body": "## What's Changed\n* feat: added assembly scanning by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/32\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.15...v2.0.0-prerelease.16", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/zodsharp/releases/393017999", + "assets_url": "https://api.github.com/repos/purview-dev/zodsharp/releases/393017999/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/zodsharp/releases/393017999/assets{?name,label}", + "html_url": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.15", + "id": 393017999, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTNzbhc4XbPqP", + "tag_name": "v2.0.0-prerelease.15", + "target_commitish": "main", + "name": "v2.0.0-prerelease.15", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-21T14:10:26Z", + "updated_at": "2026-09-27T14:16:31Z", + "published_at": "2026-09-21T14:13:09Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.15", + "zipball_url": "https://api.github.com/repos/purview-dev/zodsharp/zipball/v2.0.0-prerelease.15", + "body": "## What's Changed\n* feat: added assembly scanning for ioc by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/31\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.14...v2.0.0-prerelease.15", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/zodsharp/releases/392749269", + "assets_url": "https://api.github.com/repos/purview-dev/zodsharp/releases/392749269/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/zodsharp/releases/392749269/assets{?name,label}", + "html_url": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.14", + "id": 392749269, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTNzbhc4XaODV", + "tag_name": "v2.0.0-prerelease.14", + "target_commitish": "main", + "name": "v2.0.0-prerelease.14", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-21T06:56:08Z", + "updated_at": "2026-09-27T14:16:32Z", + "published_at": "2026-09-21T07:01:48Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.14", + "zipball_url": "https://api.github.com/repos/purview-dev/zodsharp/zipball/v2.0.0-prerelease.14", + "body": "## What's Changed\n* refactor: error factory moved to Core by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/30\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.13...v2.0.0-prerelease.14", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/zodsharp/releases/392470709", + "assets_url": "https://api.github.com/repos/purview-dev/zodsharp/releases/392470709/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/zodsharp/releases/392470709/assets{?name,label}", + "html_url": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.13", + "id": 392470709, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTNzbhc4XZKC1", + "tag_name": "v2.0.0-prerelease.13", + "target_commitish": "main", + "name": "v2.0.0-prerelease.13", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-20T15:04:50Z", + "updated_at": "2026-09-27T14:16:33Z", + "published_at": "2026-09-20T15:07:53Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.13", + "zipball_url": "https://api.github.com/repos/purview-dev/zodsharp/zipball/v2.0.0-prerelease.13", + "body": "## What's Changed\n* refactor: updated namespace by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/29\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.12...v2.0.0-prerelease.13", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/zodsharp/releases/392371058", + "assets_url": "https://api.github.com/repos/purview-dev/zodsharp/releases/392371058/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/zodsharp/releases/392371058/assets{?name,label}", + "html_url": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.12", + "id": 392371058, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTNzbhc4XYxty", + "tag_name": "v2.0.0-prerelease.12", + "target_commitish": "main", + "name": "v2.0.0-prerelease.12", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-20T08:54:39Z", + "updated_at": "2026-09-27T14:16:33Z", + "published_at": "2026-09-20T08:57:49Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.12", + "zipball_url": "https://api.github.com/repos/purview-dev/zodsharp/zipball/v2.0.0-prerelease.12", + "body": "## What's Changed\n* Typed params by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/28\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.11...v2.0.0-prerelease.12", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/zodsharp/releases/392118999", + "assets_url": "https://api.github.com/repos/purview-dev/zodsharp/releases/392118999/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/zodsharp/releases/392118999/assets{?name,label}", + "html_url": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.11", + "id": 392118999, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTNzbhc4XX0LX", + "tag_name": "v2.0.0-prerelease.11", + "target_commitish": "main", + "name": "v2.0.0-prerelease.11", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-19T15:13:28Z", + "updated_at": "2026-09-27T14:16:34Z", + "published_at": "2026-09-19T15:30:01Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.11", + "zipball_url": "https://api.github.com/repos/purview-dev/zodsharp/zipball/v2.0.0-prerelease.11", + "body": "## What's Changed\n* refactor(sg): to use correct framework by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/27\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.10...v2.0.0-prerelease.11", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/purview-dev/zodsharp/releases/392042312", + "assets_url": "https://api.github.com/repos/purview-dev/zodsharp/releases/392042312/assets", + "upload_url": "https://uploads.github.com/repos/purview-dev/zodsharp/releases/392042312/assets{?name,label}", + "html_url": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.10", + "id": 392042312, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOTNzbhc4XXhdI", + "tag_name": "v2.0.0-prerelease.10", + "target_commitish": "main", + "name": "v2.0.0-prerelease.10", + "draft": false, + "immutable": false, + "prerelease": true, + "created_at": "2026-09-19T11:12:24Z", + "updated_at": "2026-09-27T14:16:35Z", + "published_at": "2026-09-19T11:14:41Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.10", + "zipball_url": "https://api.github.com/repos/purview-dev/zodsharp/zipball/v2.0.0-prerelease.10", + "body": "## What's Changed\n* feat: added error registry by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/26\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.9...v2.0.0-prerelease.10", + "mentions_count": 1 + }, { "url": "https://api.github.com/repos/purview-dev/zodsharp/releases/391314962", "assets_url": "https://api.github.com/repos/purview-dev/zodsharp/releases/391314962/assets", @@ -32,9 +935,9 @@ "name": "v2.0.0-prerelease.9", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-18T08:18:37Z", - "updated_at": "2026-09-18T08:21:13Z", + "updated_at": "2026-09-27T14:16:36Z", "published_at": "2026-09-18T08:21:13Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.9", @@ -75,9 +978,9 @@ "name": "v2.0.0-prerelease.8", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-17T17:47:28Z", - "updated_at": "2026-09-17T17:50:27Z", + "updated_at": "2026-09-27T14:16:37Z", "published_at": "2026-09-17T17:50:27Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.8", @@ -118,9 +1021,9 @@ "name": "v2.0.0-prerelease.7", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-17T08:08:02Z", - "updated_at": "2026-09-17T08:10:24Z", + "updated_at": "2026-09-27T14:16:38Z", "published_at": "2026-09-17T08:10:24Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.7", @@ -161,9 +1064,9 @@ "name": "v2.0.0-prerelease.6", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-14T16:04:13Z", - "updated_at": "2026-09-14T16:06:20Z", + "updated_at": "2026-09-27T14:16:39Z", "published_at": "2026-09-14T16:06:20Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.6", @@ -204,9 +1107,9 @@ "name": "v2.0.0-prerelease.5", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-12T16:27:10Z", - "updated_at": "2026-09-12T16:29:37Z", + "updated_at": "2026-09-27T14:16:40Z", "published_at": "2026-09-12T16:29:37Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.5", @@ -247,9 +1150,9 @@ "name": "v2.0.0-prerelease.4", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-12T13:47:59Z", - "updated_at": "2026-09-12T13:50:11Z", + "updated_at": "2026-09-27T14:16:46Z", "published_at": "2026-09-12T13:50:11Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.4", @@ -290,9 +1193,9 @@ "name": "v2.0.0-prerelease.3", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-08T17:15:44Z", - "updated_at": "2026-09-08T17:17:32Z", + "updated_at": "2026-09-27T14:16:46Z", "published_at": "2026-09-08T17:17:32Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.3", @@ -333,9 +1236,9 @@ "name": "v2.0.0-prerelease.2", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-06T08:33:56Z", - "updated_at": "2026-09-06T08:36:12Z", + "updated_at": "2026-09-27T14:16:47Z", "published_at": "2026-09-06T08:36:12Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.2", @@ -376,9 +1279,9 @@ "name": "v2.0.0-prerelease.1", "draft": false, "immutable": false, - "prerelease": false, + "prerelease": true, "created_at": "2026-09-05T16:55:32Z", - "updated_at": "2026-09-05T16:57:51Z", + "updated_at": "2026-09-27T14:16:48Z", "published_at": "2026-09-05T16:57:51Z", "assets": [], "tarball_url": "https://api.github.com/repos/purview-dev/zodsharp/tarball/v2.0.0-prerelease.1", diff --git a/src/fixtures/github/repos/aspire-resourcekit.json b/src/fixtures/github/repos/aspire-resourcekit.json index 38fb887..10ba9e2 100644 --- a/src/fixtures/github/repos/aspire-resourcekit.json +++ b/src/fixtures/github/repos/aspire-resourcekit.json @@ -66,14 +66,14 @@ "releases_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/releases{/id}", "deployments_url": "https://api.github.com/repos/purview-dev/aspire-resourcekit/deployments", "created_at": "2026-07-15T10:09:08Z", - "updated_at": "2026-09-18T08:16:53Z", - "pushed_at": "2026-09-18T08:19:04Z", + "updated_at": "2026-10-07T07:28:16Z", + "pushed_at": "2026-10-07T07:30:39Z", "git_url": "git://github.com/purview-dev/aspire-resourcekit.git", "ssh_url": "git@github.com:purview-dev/aspire-resourcekit.git", "clone_url": "https://github.com/purview-dev/aspire-resourcekit.git", "svn_url": "https://github.com/purview-dev/aspire-resourcekit", "homepage": "https://purview.dev/projects/aspire-resourcekit/", - "size": 4275, + "size": 4361, "stargazers_count": 2, "watchers_count": 2, "language": "C#", @@ -88,7 +88,13 @@ "archived": false, "disabled": false, "open_issues_count": 0, - "license": null, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, diff --git a/src/fixtures/github/repos/aspirec4.json b/src/fixtures/github/repos/aspirec4.json index 3c3118e..0739a75 100644 --- a/src/fixtures/github/repos/aspirec4.json +++ b/src/fixtures/github/repos/aspirec4.json @@ -66,14 +66,14 @@ "releases_url": "https://api.github.com/repos/purview-dev/aspirec4/releases{/id}", "deployments_url": "https://api.github.com/repos/purview-dev/aspirec4/deployments", "created_at": "2026-05-07T22:35:03Z", - "updated_at": "2026-09-17T17:47:24Z", - "pushed_at": "2026-09-17T17:48:43Z", + "updated_at": "2026-10-07T07:28:42Z", + "pushed_at": "2026-10-07T07:30:09Z", "git_url": "git://github.com/purview-dev/aspirec4.git", "ssh_url": "git@github.com:purview-dev/aspirec4.git", "clone_url": "https://github.com/purview-dev/aspirec4.git", "svn_url": "https://github.com/purview-dev/aspirec4", "homepage": "https://purview.dev/projects/aspirec4/", - "size": 10825, + "size": 10893, "stargazers_count": 9, "watchers_count": 9, "language": "C#", @@ -87,7 +87,7 @@ "mirror_url": null, "archived": false, "disabled": false, - "open_issues_count": 1, + "open_issues_count": 2, "license": { "key": "mit", "name": "MIT License", @@ -123,7 +123,7 @@ ], "visibility": "public", "forks": 3, - "open_issues": 1, + "open_issues": 2, "watchers": 9, "default_branch": "main", "permissions": { diff --git a/src/fixtures/github/repos/build-sdk.json b/src/fixtures/github/repos/build-sdk.json index f60eaf7..4be7815 100644 --- a/src/fixtures/github/repos/build-sdk.json +++ b/src/fixtures/github/repos/build-sdk.json @@ -66,14 +66,14 @@ "releases_url": "https://api.github.com/repos/purview-dev/build-sdk/releases{/id}", "deployments_url": "https://api.github.com/repos/purview-dev/build-sdk/deployments", "created_at": "2026-05-24T14:07:44Z", - "updated_at": "2026-09-18T08:15:42Z", - "pushed_at": "2026-09-18T08:16:43Z", + "updated_at": "2026-10-06T22:32:50Z", + "pushed_at": "2026-10-06T22:34:03Z", "git_url": "git://github.com/purview-dev/build-sdk.git", "ssh_url": "git@github.com:purview-dev/build-sdk.git", "clone_url": "https://github.com/purview-dev/build-sdk.git", "svn_url": "https://github.com/purview-dev/build-sdk", "homepage": "https://purview.dev/projects/build-sdk/", - "size": 1538, + "size": 1846, "stargazers_count": 1, "watchers_count": 1, "language": "C#", diff --git a/src/fixtures/github/repos/build.json b/src/fixtures/github/repos/build.json index c59b2ec..22279f5 100644 --- a/src/fixtures/github/repos/build.json +++ b/src/fixtures/github/repos/build.json @@ -66,16 +66,16 @@ "releases_url": "https://api.github.com/repos/purview-dev/build/releases{/id}", "deployments_url": "https://api.github.com/repos/purview-dev/build/deployments", "created_at": "2026-09-01T18:12:54Z", - "updated_at": "2026-09-18T11:35:40Z", - "pushed_at": "2026-09-18T11:36:17Z", + "updated_at": "2026-10-06T22:37:09Z", + "pushed_at": "2026-10-06T23:21:02Z", "git_url": "git://github.com/purview-dev/build.git", "ssh_url": "git@github.com:purview-dev/build.git", "clone_url": "https://github.com/purview-dev/build.git", "svn_url": "https://github.com/purview-dev/build", "homepage": "https://purview.dev/projects/build/", - "size": 304, - "stargazers_count": 0, - "watchers_count": 0, + "size": 506, + "stargazers_count": 1, + "watchers_count": 1, "language": "C#", "has_issues": true, "has_projects": false, @@ -87,7 +87,7 @@ "mirror_url": null, "archived": false, "disabled": false, - "open_issues_count": 1, + "open_issues_count": 0, "license": { "key": "mit", "name": "MIT License", @@ -116,8 +116,8 @@ ], "visibility": "public", "forks": 0, - "open_issues": 1, - "watchers": 0, + "open_issues": 0, + "watchers": 1, "default_branch": "main", "permissions": { "admin": true, diff --git a/src/fixtures/github/repos/containers.json b/src/fixtures/github/repos/containers.json index 9a73c5b..724dea1 100644 --- a/src/fixtures/github/repos/containers.json +++ b/src/fixtures/github/repos/containers.json @@ -66,16 +66,16 @@ "releases_url": "https://api.github.com/repos/purview-dev/containers/releases{/id}", "deployments_url": "https://api.github.com/repos/purview-dev/containers/deployments", "created_at": "2026-09-30T06:52:40Z", - "updated_at": "2026-10-02T07:36:57Z", - "pushed_at": "2026-10-02T07:38:43Z", + "updated_at": "2026-10-07T08:30:54Z", + "pushed_at": "2026-10-07T08:30:50Z", "git_url": "git://github.com/purview-dev/containers.git", "ssh_url": "git@github.com:purview-dev/containers.git", "clone_url": "https://github.com/purview-dev/containers.git", "svn_url": "https://github.com/purview-dev/containers", "homepage": "https://purview.dev/projects/containers/", - "size": 820, - "stargazers_count": 1, - "watchers_count": 1, + "size": 967, + "stargazers_count": 3, + "watchers_count": 3, "language": "C#", "has_issues": true, "has_projects": false, @@ -124,7 +124,7 @@ "visibility": "public", "forks": 0, "open_issues": 0, - "watchers": 1, + "watchers": 3, "default_branch": "main", "permissions": { "admin": true, diff --git a/src/fixtures/github/repos/event-sourcing.json b/src/fixtures/github/repos/event-sourcing.json index d72a28a..475494d 100644 --- a/src/fixtures/github/repos/event-sourcing.json +++ b/src/fixtures/github/repos/event-sourcing.json @@ -66,14 +66,14 @@ "releases_url": "https://api.github.com/repos/purview-dev/event-sourcing/releases{/id}", "deployments_url": "https://api.github.com/repos/purview-dev/event-sourcing/deployments", "created_at": "2024-04-28T15:19:40Z", - "updated_at": "2026-09-18T17:17:37Z", - "pushed_at": "2026-09-18T17:21:36Z", + "updated_at": "2026-10-02T06:19:49Z", + "pushed_at": "2026-10-02T06:19:47Z", "git_url": "git://github.com/purview-dev/event-sourcing.git", "ssh_url": "git@github.com:purview-dev/event-sourcing.git", "clone_url": "https://github.com/purview-dev/event-sourcing.git", "svn_url": "https://github.com/purview-dev/event-sourcing", "homepage": "https://purview.dev/event-sourcing/", - "size": 11387, + "size": 11494, "stargazers_count": 4, "watchers_count": 4, "language": "C#", @@ -88,7 +88,13 @@ "archived": false, "disabled": false, "open_issues_count": 0, - "license": null, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, diff --git a/src/fixtures/github/repos/results.json b/src/fixtures/github/repos/results.json index f2f727d..8cc60cd 100644 --- a/src/fixtures/github/repos/results.json +++ b/src/fixtures/github/repos/results.json @@ -66,16 +66,16 @@ "releases_url": "https://api.github.com/repos/purview-dev/results/releases{/id}", "deployments_url": "https://api.github.com/repos/purview-dev/results/deployments", "created_at": "2026-09-29T23:01:43Z", - "updated_at": "2026-09-30T14:05:36Z", - "pushed_at": "2026-09-30T14:05:29Z", + "updated_at": "2026-10-07T07:13:09Z", + "pushed_at": "2026-10-07T07:15:05Z", "git_url": "git://github.com/purview-dev/results.git", "ssh_url": "git@github.com:purview-dev/results.git", "clone_url": "https://github.com/purview-dev/results.git", "svn_url": "https://github.com/purview-dev/results", "homepage": "https://purview.dev/projects/results/", - "size": 317, - "stargazers_count": 0, - "watchers_count": 0, + "size": 789, + "stargazers_count": 1, + "watchers_count": 1, "language": "C#", "has_issues": true, "has_projects": false, @@ -119,7 +119,7 @@ "visibility": "public", "forks": 0, "open_issues": 0, - "watchers": 0, + "watchers": 1, "default_branch": "main", "permissions": { "admin": true, diff --git a/src/fixtures/github/repos/sourcegenerator-framework.json b/src/fixtures/github/repos/sourcegenerator-framework.json index a2d629f..fcba66e 100644 --- a/src/fixtures/github/repos/sourcegenerator-framework.json +++ b/src/fixtures/github/repos/sourcegenerator-framework.json @@ -66,14 +66,14 @@ "releases_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/releases{/id}", "deployments_url": "https://api.github.com/repos/purview-dev/sourcegenerator-framework/deployments", "created_at": "2026-08-06T12:26:03Z", - "updated_at": "2026-09-18T08:18:57Z", - "pushed_at": "2026-09-18T08:23:19Z", + "updated_at": "2026-10-06T22:47:00Z", + "pushed_at": "2026-10-06T22:51:55Z", "git_url": "git://github.com/purview-dev/sourcegenerator-framework.git", "ssh_url": "git@github.com:purview-dev/sourcegenerator-framework.git", "clone_url": "https://github.com/purview-dev/sourcegenerator-framework.git", "svn_url": "https://github.com/purview-dev/sourcegenerator-framework", "homepage": "https://purview.dev/projects/sourcegenerator-framework/", - "size": 8204, + "size": 8568, "stargazers_count": 2, "watchers_count": 2, "language": "C#", diff --git a/src/fixtures/github/repos/telemetry-sourcegenerator.json b/src/fixtures/github/repos/telemetry-sourcegenerator.json index ebecf3c..b3db7b5 100644 --- a/src/fixtures/github/repos/telemetry-sourcegenerator.json +++ b/src/fixtures/github/repos/telemetry-sourcegenerator.json @@ -66,14 +66,14 @@ "releases_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/releases{/id}", "deployments_url": "https://api.github.com/repos/purview-dev/telemetry-sourcegenerator/deployments", "created_at": "2024-03-04T18:31:56Z", - "updated_at": "2026-09-18T08:19:16Z", - "pushed_at": "2026-09-18T08:22:49Z", + "updated_at": "2026-10-07T07:00:07Z", + "pushed_at": "2026-10-07T07:04:38Z", "git_url": "git://github.com/purview-dev/telemetry-sourcegenerator.git", "ssh_url": "git@github.com:purview-dev/telemetry-sourcegenerator.git", "clone_url": "https://github.com/purview-dev/telemetry-sourcegenerator.git", "svn_url": "https://github.com/purview-dev/telemetry-sourcegenerator", "homepage": "https://purview.dev/projects/telemetry-sourcegenerator/", - "size": 7560, + "size": 7630, "stargazers_count": 35, "watchers_count": 35, "language": "C#", diff --git a/src/fixtures/github/repos/value-objects.json b/src/fixtures/github/repos/value-objects.json index 565325c..282c1fa 100644 --- a/src/fixtures/github/repos/value-objects.json +++ b/src/fixtures/github/repos/value-objects.json @@ -66,14 +66,14 @@ "releases_url": "https://api.github.com/repos/purview-dev/value-objects/releases{/id}", "deployments_url": "https://api.github.com/repos/purview-dev/value-objects/deployments", "created_at": "2026-09-18T15:09:15Z", - "updated_at": "2026-09-18T17:05:08Z", - "pushed_at": "2026-09-18T17:06:24Z", + "updated_at": "2026-10-07T06:54:13Z", + "pushed_at": "2026-10-07T06:56:37Z", "git_url": "git://github.com/purview-dev/value-objects.git", "ssh_url": "git@github.com:purview-dev/value-objects.git", "clone_url": "https://github.com/purview-dev/value-objects.git", "svn_url": "https://github.com/purview-dev/value-objects", "homepage": "https://purview.dev/projects/value-objects/", - "size": 109, + "size": 646, "stargazers_count": 1, "watchers_count": 1, "language": "C#", diff --git a/src/fixtures/github/repos/zodsharp.json b/src/fixtures/github/repos/zodsharp.json index 394643d..dac6940 100644 --- a/src/fixtures/github/repos/zodsharp.json +++ b/src/fixtures/github/repos/zodsharp.json @@ -66,14 +66,14 @@ "releases_url": "https://api.github.com/repos/purview-dev/zodsharp/releases{/id}", "deployments_url": "https://api.github.com/repos/purview-dev/zodsharp/deployments", "created_at": "2026-07-04T22:19:44Z", - "updated_at": "2026-09-18T08:18:43Z", - "pushed_at": "2026-09-18T08:21:12Z", + "updated_at": "2026-10-07T06:24:39Z", + "pushed_at": "2026-10-07T06:29:48Z", "git_url": "git://github.com/purview-dev/zodsharp.git", "ssh_url": "git@github.com:purview-dev/zodsharp.git", "clone_url": "https://github.com/purview-dev/zodsharp.git", "svn_url": "https://github.com/purview-dev/zodsharp", "homepage": "https://purview.dev/projects/zodsharp/", - "size": 1103, + "size": 1123, "stargazers_count": 1, "watchers_count": 1, "language": "C#", @@ -88,7 +88,13 @@ "archived": false, "disabled": false, "open_issues_count": 0, - "license": null, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, diff --git a/src/fixtures/nuget/aspirec4.hosting.json b/src/fixtures/nuget/aspirec4.hosting.json index 3d2d00a..6e1f08c 100644 --- a/src/fixtures/nuget/aspirec4.hosting.json +++ b/src/fixtures/nuget/aspirec4.hosting.json @@ -14,6 +14,15 @@ "13.3.5", "13.5.3", "13.5.3.1", - "13.5.3.2" + "13.5.3.2", + "13.5.3.3", + "13.5.3.4", + "13.5.3.5", + "13.5.3.6", + "13.5.3.7", + "13.5.3.8", + "13.5.3.9", + "13.5.3.10", + "13.5.3.11" ] } diff --git a/src/fixtures/nuget/nuspec/aspirec4.hosting.nuspec b/src/fixtures/nuget/nuspec/aspirec4.hosting.nuspec new file mode 100644 index 0000000..61cfcdb --- /dev/null +++ b/src/fixtures/nuget/nuspec/aspirec4.hosting.nuspec @@ -0,0 +1,23 @@ + + + + AspireC4.Hosting + 13.5.3.11 + AspireC4.Hosting - Aspire LikeC4 Visualisation + Purview Contributors + MIT + https://licenses.nuget.org/MIT + likec4-logo.png + README.md + https://purview.dev/projects/aspirec4/ + Aspire hosting extension for the AspireC4 plugin, generating a dynamic LikeC4 architecture diagram for your Aspire application. + Purview-Dev., 2026 | All rights reserved. + aspire;dotnet;aspnetcore;c4;likec4;architecture;diagram;visualisation;visualization; polyglot + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.aspire.resourcekit.nuspec b/src/fixtures/nuget/nuspec/purview.aspire.resourcekit.nuspec new file mode 100644 index 0000000..083ee4a --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.aspire.resourcekit.nuspec @@ -0,0 +1,34 @@ + + + + Purview.Aspire.ResourceKit + 1.0.0.1 + Purview Aspire ResourceKit + Purview Contributors + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/aspire-resourcekit/ + Composable and test-friendly Aspire resource isolation model for local, running, and publishing modes. + aspire resource-kit apphost testing + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.build.nuspec b/src/fixtures/nuget/nuspec/purview.build.nuspec new file mode 100644 index 0000000..3b311fa --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.build.nuspec @@ -0,0 +1,18 @@ + + + + Purview.Build + 0.4.0 + Purview Contributors + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/build/ + Shared build/test/release pipeline for purview-dev. A Modular Pipelines based .NET tool (Purview.Build) with a GitHub composite action and reusable workflows; consumers configure, the pipeline runs. + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.buildsdk.nuspec b/src/fixtures/nuget/nuspec/purview.buildsdk.nuspec new file mode 100644 index 0000000..40aa7a3 --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.buildsdk.nuspec @@ -0,0 +1,22 @@ + + + + Purview.BuildSdk + 1.0.3 + Purview.BuildSdk + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/build-sdk/ + A reusable MSBuild SDK that provides standardised .NET project defaults, code style enforcement, configurable testing framework wiring (TUnit, Xunit, or None), mocking provider wiring (TUnitMocks, NSubstitute, or None), and Central Package Management integration. Drop in via Directory.Build.props to apply uniformly across every project in a repo. + msbuild sdk build tunit xunit tunitmock nsubstitute bogus csharp dotnet + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.containers.azurite.nuspec b/src/fixtures/nuget/nuspec/purview.containers.azurite.nuspec new file mode 100644 index 0000000..03b8c0d --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.containers.azurite.nuspec @@ -0,0 +1,22 @@ + + + + Purview.Containers.Azurite + 1.0.0-prerelease.6 + Purview + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://github.com/purview-dev/containers + Azurite module for Purview.Containers: throwaway Azure Storage emulators (blob/queue/table) on WSL Containers or Docker. + wsl containers docker azurite azure storage testing integration + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.containers.core.nuspec b/src/fixtures/nuget/nuspec/purview.containers.core.nuspec new file mode 100644 index 0000000..09ab9b7 --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.containers.core.nuspec @@ -0,0 +1,21 @@ + + + + Purview.Containers.Core + 1.0.0-prerelease.6 + Purview + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://github.com/purview-dev/containers + Backend-neutral container testing abstractions for .NET: the shared Testcontainers-style model behind Purview.Containers.Wsl and Purview.Containers.Docker. + containers testing integration testcontainers abstractions docker wsl + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.containers.docker.nuspec b/src/fixtures/nuget/nuspec/purview.containers.docker.nuspec new file mode 100644 index 0000000..ea2d82a --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.containers.docker.nuspec @@ -0,0 +1,23 @@ + + + + Purview.Containers.Docker + 1.0.0-prerelease.6 + Purview + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://github.com/purview-dev/containers + Docker backend for Purview.Containers: throwaway containers from any reachable Docker daemon, driven by Testcontainers. + docker containers testing integration testcontainers dotnet + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.containers.mssql.nuspec b/src/fixtures/nuget/nuspec/purview.containers.mssql.nuspec new file mode 100644 index 0000000..5149548 --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.containers.mssql.nuspec @@ -0,0 +1,23 @@ + + + + Purview.Containers.MsSql + 1.0.0-prerelease.6 + Purview + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://github.com/purview-dev/containers + Microsoft SQL Server module for Purview.Containers: throwaway SQL Server databases on WSL Containers or Docker. + wsl containers docker sqlserver sql mssql testing integration + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.containers.mysql.nuspec b/src/fixtures/nuget/nuspec/purview.containers.mysql.nuspec new file mode 100644 index 0000000..fc9c155 --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.containers.mysql.nuspec @@ -0,0 +1,23 @@ + + + + Purview.Containers.MySql + 1.0.0-prerelease.6 + Purview + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://github.com/purview-dev/containers + MySQL module for Purview.Containers: throwaway MySQL databases on WSL Containers or Docker. + wsl containers docker mysql database testing integration + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.containers.nats.nuspec b/src/fixtures/nuget/nuspec/purview.containers.nats.nuspec new file mode 100644 index 0000000..ae6994a --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.containers.nats.nuspec @@ -0,0 +1,22 @@ + + + + Purview.Containers.Nats + 1.0.0-prerelease.6 + Purview + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://github.com/purview-dev/containers + NATS module for Purview.Containers: throwaway NATS message brokers on WSL Containers or Docker. + wsl containers docker nats messaging testing integration + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.containers.nuspec b/src/fixtures/nuget/nuspec/purview.containers.nuspec new file mode 100644 index 0000000..bdd0813 --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.containers.nuspec @@ -0,0 +1,24 @@ + + + + Purview.Containers + 1.0.0-prerelease.6 + Purview + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://github.com/purview-dev/containers + Purview.Containers: the umbrella package. Brings the abstractions (Purview.Containers.Core) and both backends (WSL Containers and Docker), so one reference runs the same tests on WSLC on Windows and Docker everywhere else. + containers testing integration testcontainers docker wsl wslc bundle + + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.containers.postgresql.nuspec b/src/fixtures/nuget/nuspec/purview.containers.postgresql.nuspec new file mode 100644 index 0000000..a3f06c5 --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.containers.postgresql.nuspec @@ -0,0 +1,23 @@ + + + + Purview.Containers.PostgreSql + 1.0.0-prerelease.6 + Purview + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://github.com/purview-dev/containers + PostgreSQL module for Purview.Containers: throwaway PostgreSQL databases on WSL Containers or Docker. + wsl containers docker postgresql postgres testing integration + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.containers.rabbitmq.nuspec b/src/fixtures/nuget/nuspec/purview.containers.rabbitmq.nuspec new file mode 100644 index 0000000..4046726 --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.containers.rabbitmq.nuspec @@ -0,0 +1,22 @@ + + + + Purview.Containers.RabbitMq + 1.0.0-prerelease.6 + Purview + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://github.com/purview-dev/containers + RabbitMQ module for Purview.Containers: throwaway RabbitMQ brokers on WSL Containers or Docker. + wsl containers docker rabbitmq amqp testing integration + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.containers.redis.nuspec b/src/fixtures/nuget/nuspec/purview.containers.redis.nuspec new file mode 100644 index 0000000..ece0648 --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.containers.redis.nuspec @@ -0,0 +1,22 @@ + + + + Purview.Containers.Redis + 1.0.0-prerelease.6 + Purview + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://github.com/purview-dev/containers + Redis module for Purview.Containers: throwaway Redis instances on WSL Containers or Docker. + wsl containers docker redis testing integration + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.containers.wsl.nuspec b/src/fixtures/nuget/nuspec/purview.containers.wsl.nuspec new file mode 100644 index 0000000..a75d283 --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.containers.wsl.nuspec @@ -0,0 +1,27 @@ + + + + Purview.Containers.Wsl + 1.0.0-prerelease.6 + Purview + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://github.com/purview-dev/containers + WSL Containers (WSLC) backend for Purview.Containers: run WSLC-native throwaway Linux containers from any .NET 10 project, with automatic Docker fallback. + wsl wslc containers linux windows testing integration testcontainers + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.eventsourcing.azurestorage.nuspec b/src/fixtures/nuget/nuspec/purview.eventsourcing.azurestorage.nuspec new file mode 100644 index 0000000..9da8e89 --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.eventsourcing.azurestorage.nuspec @@ -0,0 +1,34 @@ + + + + Purview.EventSourcing.AzureStorage + 2.0.0-prerelease.39 + Purview Event Store for Azure Table and Blob Storage + Kieron Lanning + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/event-sourcing/ + Azure Table Storage and Blob Storage event store provider for Purview EventSourcing, including snapshot and large-payload support. + Copyright © 2026 Purview-Dev + purview dotnet event-sourcing event-store azure-storage azure-table-storage azure-blob-storage tables blobs + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.eventsourcing.cosmosdb.nuspec b/src/fixtures/nuget/nuspec/purview.eventsourcing.cosmosdb.nuspec new file mode 100644 index 0000000..043ff18 --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.eventsourcing.cosmosdb.nuspec @@ -0,0 +1,34 @@ + + + + Purview.EventSourcing.CosmosDb + 2.0.0-prerelease.39 + Purview Queryable Snapshot Store for Azure Cosmos DB + Kieron Lanning + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/event-sourcing/ + Azure Cosmos DB queryable snapshot storage provider for Purview EventSourcing. + Copyright © 2026 Purview-Dev + purview dotnet event-sourcing event-store queryable-store snapshot azure-cosmosdb cosmosdb + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.eventsourcing.inmemory.nuspec b/src/fixtures/nuget/nuspec/purview.eventsourcing.inmemory.nuspec new file mode 100644 index 0000000..9348a7c --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.eventsourcing.inmemory.nuspec @@ -0,0 +1,31 @@ + + + + Purview.EventSourcing.InMemory + 2.0.0-prerelease.39 + Purview In-Memory Non-Queryable and Queryable Snapshot Store + Kieron Lanning + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/event-sourcing/ + In-memory non-queryable and queryable snapshot storage provider for Purview EventSourcing. + Copyright © 2026 Purview-Dev + purview dotnet testing event-sourcing event-store queryable-store snapshot in-memory + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.eventsourcing.mongodb.nuspec b/src/fixtures/nuget/nuspec/purview.eventsourcing.mongodb.nuspec new file mode 100644 index 0000000..eafcbfc --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.eventsourcing.mongodb.nuspec @@ -0,0 +1,34 @@ + + + + Purview.EventSourcing.MongoDB + 2.0.0-prerelease.39 + Purview Event Store for MongoDB + Kieron Lanning + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/event-sourcing/ + MongoDB event stream and snapshot storage provider for Purview EventSourcing. + Copyright © 2026 Purview-Dev + purview dotnet event-sourcing event-store mongodb events snapshots + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.eventsourcing.nuspec b/src/fixtures/nuget/nuspec/purview.eventsourcing.nuspec new file mode 100644 index 0000000..991d3ed --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.eventsourcing.nuspec @@ -0,0 +1,30 @@ + + + + Purview.EventSourcing + 2.0.0-prerelease.39 + Purview Event Sourcing + Kieron Lanning + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/event-sourcing/ + Core abstractions, aggregate types, facades, transactions, and dependency injection extensions for building event-sourced .NET applications. + Copyright © 2026 Purview-Dev + purview dotnet event-sourcing eventstore event-store aggregate domain-driven-design + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.eventsourcing.postgres.nuspec b/src/fixtures/nuget/nuspec/purview.eventsourcing.postgres.nuspec new file mode 100644 index 0000000..35cee97 --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.eventsourcing.postgres.nuspec @@ -0,0 +1,41 @@ + + + + Purview.EventSourcing.Postgres + 2.0.0-prerelease.39 + Purview Event Store for PostgreSQL + Kieron Lanning + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/event-sourcing/ + PostgreSQL event stream and queryable snapshot storage provider for Purview EventSourcing. + Copyright © 2026 Purview-Dev + purview dotnet event-sourcing event-store postgres postgresql events + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.eventsourcing.sqlserver.nuspec b/src/fixtures/nuget/nuspec/purview.eventsourcing.sqlserver.nuspec new file mode 100644 index 0000000..0213e9b --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.eventsourcing.sqlserver.nuspec @@ -0,0 +1,39 @@ + + + + Purview.EventSourcing.SqlServer + 2.0.0-prerelease.39 + Purview Event Store for Azure SQL and SQL Server + Kieron Lanning + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/event-sourcing/ + Azure SQL and SQL Server event stream storage provider for Purview EventSourcing. + Copyright © 2026 Purview-Dev + purview dotnet event-sourcing event-store sql-server azure-sql events + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.eventsourcing.validation.fluentvalidation.nuspec b/src/fixtures/nuget/nuspec/purview.eventsourcing.validation.fluentvalidation.nuspec new file mode 100644 index 0000000..12c3dda --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.eventsourcing.validation.fluentvalidation.nuspec @@ -0,0 +1,32 @@ + + + + Purview.EventSourcing.Validation.FluentValidation + 2.0.0-prerelease.39 + Purview Event Sourcing FluentValidation Integration + Kieron Lanning + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/event-sourcing/ + FluentValidation adapter for Purview EventSourcing — bridges FluentValidation IValidator<T> with IAggregateValidator<T>. + Copyright © 2026 Purview-Dev + purview dotnet event-sourcing validation fluentvalidation + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.eventsourcing.validation.zodsharp.nuspec b/src/fixtures/nuget/nuspec/purview.eventsourcing.validation.zodsharp.nuspec new file mode 100644 index 0000000..d55030f --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.eventsourcing.validation.zodsharp.nuspec @@ -0,0 +1,32 @@ + + + + Purview.EventSourcing.Validation.ZodSharp + 2.0.0-prerelease.39 + Purview Event Sourcing ZodSharp Integration + Kieron Lanning + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/event-sourcing/ + ZodSharp adapter for Purview EventSourcing — bridges FluentValidation IValidator<T> with IAggregateValidator<T>. + Copyright © 2026 Purview-Dev + purview dotnet event-sourcing validation zod zodsharp + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.results.aspnetcore.nuspec b/src/fixtures/nuget/nuspec/purview.results.aspnetcore.nuspec new file mode 100644 index 0000000..224ae31 --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.results.aspnetcore.nuspec @@ -0,0 +1,34 @@ + + + + Purview.Results.AspNetCore + 1.0.0 + Purview Results ASP.NET Core + Kieron Lanning + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/results/ + Maps Purview.Results results onto ASP.NET Core responses, including ProblemDetails for expected failures. + Copyright © 2026 Purview-Dev + results result aspnetcore problemdetails minimal-api purview + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.results.nuspec b/src/fixtures/nuget/nuspec/purview.results.nuspec new file mode 100644 index 0000000..d1e6dcd --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.results.nuspec @@ -0,0 +1,22 @@ + + + + Purview.Results + 1.0.0 + Purview Results + Kieron Lanning + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/results/ + Dependency-free Result<TValue, TError> for .NET, with C# 15 union ergonomics for its error cases and integrations that let expected failures flow through a value instead of an exception. + Copyright © 2026 Purview-Dev + results result railway error-handling union unions csharp-15 net11 purview + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.results.sourcegenerator.nuspec b/src/fixtures/nuget/nuspec/purview.results.sourcegenerator.nuspec new file mode 100644 index 0000000..a1e0e22 --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.results.sourcegenerator.nuspec @@ -0,0 +1,21 @@ + + + + Purview.Results.SourceGenerator + 1.0.0-prerelease.2 + Purview Results Source Generator + Kieron Lanning + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/results/ + .NET source generator that makes C# 15 union error cases ergonomic to use with the Purview.Results Result<TValue, TError> type. + Copyright © 2026 Purview-Dev + source-generator results result union unions csharp-15 net11 purview + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.results.zodsharp.aspnetcore.nuspec b/src/fixtures/nuget/nuspec/purview.results.zodsharp.aspnetcore.nuspec new file mode 100644 index 0000000..ea29dc1 --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.results.zodsharp.aspnetcore.nuspec @@ -0,0 +1,40 @@ + + + + Purview.Results.ZodSharp.AspNetCore + 1.0.0 + Purview Results ZodSharp ASP.NET Core + Kieron Lanning + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/results/ + Maps Purview result failures that carry ZodSharp validation errors onto ASP.NET Core HttpValidationProblemDetails responses. + Copyright © 2026 Purview-Dev + results result aspnetcore problemdetails validation zod purview + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.results.zodsharp.nuspec b/src/fixtures/nuget/nuspec/purview.results.zodsharp.nuspec new file mode 100644 index 0000000..6aaa1ed --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.results.zodsharp.nuspec @@ -0,0 +1,28 @@ + + + + Purview.Results.ZodSharp + 1.0.0 + Purview Results ZodSharp + Kieron Lanning + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/results/ + Bridges ZodSharp ValidationResult<T> values into Purview.Results, so validation outcomes flow through the result pipeline as ordinary error values instead of exceptions. + Copyright © 2026 Purview-Dev + results result validation zod zodsharp purview + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.sourcegeneratorframework.nuspec b/src/fixtures/nuget/nuspec/purview.sourcegeneratorframework.nuspec new file mode 100644 index 0000000..852fd74 --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.sourcegeneratorframework.nuspec @@ -0,0 +1,26 @@ + + + + Purview.SourceGeneratorFramework + 1.0.0 + Purview Contributors + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/sourcegenerator-framework/ + Purview SourceGeneratorFramework libraries for building and testing incremental C# source generators. + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.sourcegeneratorframework.testing.nuspec b/src/fixtures/nuget/nuspec/purview.sourcegeneratorframework.testing.nuspec new file mode 100644 index 0000000..5c0db06 --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.sourcegeneratorframework.testing.nuspec @@ -0,0 +1,51 @@ + + + + Purview.SourceGeneratorFramework.Testing + 1.0.0 + Purview Contributors + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/sourcegenerator-framework/ + Purview SourceGeneratorFramework libraries for building and testing incremental C# source generators. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.sourcegeneratorframework.testing.tunit.nuspec b/src/fixtures/nuget/nuspec/purview.sourcegeneratorframework.testing.tunit.nuspec new file mode 100644 index 0000000..90cfd0d --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.sourcegeneratorframework.testing.tunit.nuspec @@ -0,0 +1,59 @@ + + + + Purview.SourceGeneratorFramework.Testing.TUnit + 1.0.0 + Purview Contributors + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/sourcegenerator-framework/ + Purview SourceGeneratorFramework libraries for building and testing incremental C# source generators. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.telemetry.sourcegenerator.nuspec b/src/fixtures/nuget/nuspec/purview.telemetry.sourcegenerator.nuspec new file mode 100644 index 0000000..a4ee43d --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.telemetry.sourcegenerator.nuspec @@ -0,0 +1,21 @@ + + + + Purview.Telemetry.SourceGenerator + 5.0.1 + Purview Telemetry Source Generator + Kieron Lanning + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/telemetry-sourcegenerator/ + .NET Source Generator for interface-based telemetry generating tracing, logs, and metrics. + Copyright © 2026 Purview-Dev + logs log logger logging source-generator high-performance-logging otel open-telemetry telemetry traces tracing metric metrics meter meters instrumentation instruments events distributed-traces distributed-tracing melt dotnet aspnet + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.valueobjects.nuspec b/src/fixtures/nuget/nuspec/purview.valueobjects.nuspec new file mode 100644 index 0000000..9821228 --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.valueobjects.nuspec @@ -0,0 +1,24 @@ + + + + Purview.ValueObjects + 1.0.0 + Purview Value Objects + Kieron Lanning + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/value-objects/ + Source-generated scalar and complex value objects for .NET. Brings F#-style single-case types to C# with Create/Hydrate factories, normalization, validation, equality, comparison, implicit conversions, and JSON serialization for DTOs, Entity Framework, and domain models. + Copyright © 2026 Purview-Dev + purview dotnet value-objects value-object scalar source-generator domain-driven-design dto serialization json entity-framework + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.zodsharp.aspnetcore.nuspec b/src/fixtures/nuget/nuspec/purview.zodsharp.aspnetcore.nuspec new file mode 100644 index 0000000..2c8ed41 --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.zodsharp.aspnetcore.nuspec @@ -0,0 +1,44 @@ + + + + Purview.ZodSharp.AspNetCore + 2.0.1 + ZodSharp Contributors,Purview-Dev Contributors + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/zodsharp/ + ASP.NET Core ProblemDetails integration for ZodSharp validation results. + zod validation aspnetcore problemdetails + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.zodsharp.newtonsoftjson.nuspec b/src/fixtures/nuget/nuspec/purview.zodsharp.newtonsoftjson.nuspec new file mode 100644 index 0000000..f415562 --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.zodsharp.newtonsoftjson.nuspec @@ -0,0 +1,40 @@ + + + + Purview.ZodSharp.NewtonsoftJson + 2.0.1 + ZodSharp Contributors,Purview-Dev Contributors + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/zodsharp/ + A high-performance C# port of Zod schema validation library. Features zero-allocation validation, struct-based rules, fluent API, and source generator support for maximum performance. + zod validation schema json + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.zodsharp.nuspec b/src/fixtures/nuget/nuspec/purview.zodsharp.nuspec new file mode 100644 index 0000000..9d6fd5b --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.zodsharp.nuspec @@ -0,0 +1,33 @@ + + + + Purview.ZodSharp + 2.0.1 + ZodSharp Contributors,Purview-Dev Contributors + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/zodsharp/ + A high-performance C# port of Zod schema validation library. + Features zero-allocation validation, struct-based rules, fluent API, + and source generator support for maximum performance. + zod validation schema + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/nuspec/purview.zodsharp.systemtextjson.nuspec b/src/fixtures/nuget/nuspec/purview.zodsharp.systemtextjson.nuspec new file mode 100644 index 0000000..20fae63 --- /dev/null +++ b/src/fixtures/nuget/nuspec/purview.zodsharp.systemtextjson.nuspec @@ -0,0 +1,36 @@ + + + + Purview.ZodSharp.SystemTextJson + 2.0.1 + ZodSharp Contributors,Purview-Dev Contributors + MIT + https://licenses.nuget.org/MIT + purview-logo-light.png + README.md + https://purview.dev/projects/zodsharp/ + A high-performance C# port of Zod schema validation library. Features zero-allocation validation, struct-based rules, fluent API, and source generator support for maximum performance. + zod validation schema json + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/fixtures/nuget/purview.aspire.resourcekit.json b/src/fixtures/nuget/purview.aspire.resourcekit.json index b29a7ba..af09c88 100644 --- a/src/fixtures/nuget/purview.aspire.resourcekit.json +++ b/src/fixtures/nuget/purview.aspire.resourcekit.json @@ -29,6 +29,19 @@ "1.0.0-prerelease.27", "1.0.0-prerelease.28", "1.0.0-prerelease.29", - "1.0.0-prerelease.30" + "1.0.0-prerelease.30", + "1.0.0-prerelease.31", + "1.0.0-prerelease.32", + "1.0.0-prerelease.33", + "1.0.0-prerelease.34", + "1.0.0-prerelease.35", + "1.0.0-prerelease.36", + "1.0.0-prerelease.37", + "1.0.0-prerelease.38", + "1.0.0-prerelease.39", + "1.0.0-prerelease.40", + "1.0.0-prerelease.41", + "1.0.0", + "1.0.0.1" ] } diff --git a/src/fixtures/nuget/purview.build.json b/src/fixtures/nuget/purview.build.json index eef7fd4..d83907d 100644 --- a/src/fixtures/nuget/purview.build.json +++ b/src/fixtures/nuget/purview.build.json @@ -7,6 +7,11 @@ "0.2.6", "0.3.0", "0.3.1", - "0.3.2" + "0.3.2", + "0.3.3", + "0.3.4", + "0.3.5", + "0.3.6", + "0.4.0" ] } diff --git a/src/fixtures/nuget/purview.buildsdk.json b/src/fixtures/nuget/purview.buildsdk.json index c34430a..4a5fb38 100644 --- a/src/fixtures/nuget/purview.buildsdk.json +++ b/src/fixtures/nuget/purview.buildsdk.json @@ -1,6 +1,15 @@ { "versions": [ "1.0.0-prerelease.56", - "1.0.0-prerelease.57" + "1.0.0-prerelease.57", + "1.0.0-prerelease.58", + "1.0.0-prerelease.60", + "1.0.0-prerelease.61", + "1.0.0", + "1.0.1", + "1.0.2", + "1.0.2.1", + "1.0.2.2", + "1.0.3" ] } diff --git a/src/fixtures/nuget/purview.containers.azurite.json b/src/fixtures/nuget/purview.containers.azurite.json index b8a278f..9f2fdec 100644 --- a/src/fixtures/nuget/purview.containers.azurite.json +++ b/src/fixtures/nuget/purview.containers.azurite.json @@ -1,6 +1,9 @@ { "versions": [ "1.0.0-prerelease.2", - "1.0.0-prerelease.3" + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6" ] } diff --git a/src/fixtures/nuget/purview.containers.core.json b/src/fixtures/nuget/purview.containers.core.json index b8a278f..9f2fdec 100644 --- a/src/fixtures/nuget/purview.containers.core.json +++ b/src/fixtures/nuget/purview.containers.core.json @@ -1,6 +1,9 @@ { "versions": [ "1.0.0-prerelease.2", - "1.0.0-prerelease.3" + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6" ] } diff --git a/src/fixtures/nuget/purview.containers.docker.json b/src/fixtures/nuget/purview.containers.docker.json index b8a278f..9f2fdec 100644 --- a/src/fixtures/nuget/purview.containers.docker.json +++ b/src/fixtures/nuget/purview.containers.docker.json @@ -1,6 +1,9 @@ { "versions": [ "1.0.0-prerelease.2", - "1.0.0-prerelease.3" + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6" ] } diff --git a/src/fixtures/nuget/purview.containers.json b/src/fixtures/nuget/purview.containers.json index b8a278f..9f2fdec 100644 --- a/src/fixtures/nuget/purview.containers.json +++ b/src/fixtures/nuget/purview.containers.json @@ -1,6 +1,9 @@ { "versions": [ "1.0.0-prerelease.2", - "1.0.0-prerelease.3" + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6" ] } diff --git a/src/fixtures/nuget/purview.containers.mssql.json b/src/fixtures/nuget/purview.containers.mssql.json index b8a278f..9f2fdec 100644 --- a/src/fixtures/nuget/purview.containers.mssql.json +++ b/src/fixtures/nuget/purview.containers.mssql.json @@ -1,6 +1,9 @@ { "versions": [ "1.0.0-prerelease.2", - "1.0.0-prerelease.3" + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6" ] } diff --git a/src/fixtures/nuget/purview.containers.mysql.json b/src/fixtures/nuget/purview.containers.mysql.json index b8a278f..9f2fdec 100644 --- a/src/fixtures/nuget/purview.containers.mysql.json +++ b/src/fixtures/nuget/purview.containers.mysql.json @@ -1,6 +1,9 @@ { "versions": [ "1.0.0-prerelease.2", - "1.0.0-prerelease.3" + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6" ] } diff --git a/src/fixtures/nuget/purview.containers.nats.json b/src/fixtures/nuget/purview.containers.nats.json index b8a278f..9f2fdec 100644 --- a/src/fixtures/nuget/purview.containers.nats.json +++ b/src/fixtures/nuget/purview.containers.nats.json @@ -1,6 +1,9 @@ { "versions": [ "1.0.0-prerelease.2", - "1.0.0-prerelease.3" + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6" ] } diff --git a/src/fixtures/nuget/purview.containers.postgresql.json b/src/fixtures/nuget/purview.containers.postgresql.json index b8a278f..9f2fdec 100644 --- a/src/fixtures/nuget/purview.containers.postgresql.json +++ b/src/fixtures/nuget/purview.containers.postgresql.json @@ -1,6 +1,9 @@ { "versions": [ "1.0.0-prerelease.2", - "1.0.0-prerelease.3" + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6" ] } diff --git a/src/fixtures/nuget/purview.containers.rabbitmq.json b/src/fixtures/nuget/purview.containers.rabbitmq.json index b8a278f..9f2fdec 100644 --- a/src/fixtures/nuget/purview.containers.rabbitmq.json +++ b/src/fixtures/nuget/purview.containers.rabbitmq.json @@ -1,6 +1,9 @@ { "versions": [ "1.0.0-prerelease.2", - "1.0.0-prerelease.3" + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6" ] } diff --git a/src/fixtures/nuget/purview.containers.redis.json b/src/fixtures/nuget/purview.containers.redis.json index b8a278f..9f2fdec 100644 --- a/src/fixtures/nuget/purview.containers.redis.json +++ b/src/fixtures/nuget/purview.containers.redis.json @@ -1,6 +1,9 @@ { "versions": [ "1.0.0-prerelease.2", - "1.0.0-prerelease.3" + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6" ] } diff --git a/src/fixtures/nuget/purview.containers.wsl.json b/src/fixtures/nuget/purview.containers.wsl.json index b8a278f..9f2fdec 100644 --- a/src/fixtures/nuget/purview.containers.wsl.json +++ b/src/fixtures/nuget/purview.containers.wsl.json @@ -1,6 +1,9 @@ { "versions": [ "1.0.0-prerelease.2", - "1.0.0-prerelease.3" + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6" ] } diff --git a/src/fixtures/nuget/purview.eventsourcing.azurestorage.json b/src/fixtures/nuget/purview.eventsourcing.azurestorage.json index e6f8aec..c85a4fe 100644 --- a/src/fixtures/nuget/purview.eventsourcing.azurestorage.json +++ b/src/fixtures/nuget/purview.eventsourcing.azurestorage.json @@ -24,6 +24,9 @@ "2.0.0-prerelease.32", "2.0.0-prerelease.33", "2.0.0-prerelease.34", - "2.0.0-prerelease.35" + "2.0.0-prerelease.35", + "2.0.0-prerelease.36", + "2.0.0-prerelease.38", + "2.0.0-prerelease.39" ] } diff --git a/src/fixtures/nuget/purview.eventsourcing.cosmosdb.json b/src/fixtures/nuget/purview.eventsourcing.cosmosdb.json index e6f8aec..c85a4fe 100644 --- a/src/fixtures/nuget/purview.eventsourcing.cosmosdb.json +++ b/src/fixtures/nuget/purview.eventsourcing.cosmosdb.json @@ -24,6 +24,9 @@ "2.0.0-prerelease.32", "2.0.0-prerelease.33", "2.0.0-prerelease.34", - "2.0.0-prerelease.35" + "2.0.0-prerelease.35", + "2.0.0-prerelease.36", + "2.0.0-prerelease.38", + "2.0.0-prerelease.39" ] } diff --git a/src/fixtures/nuget/purview.eventsourcing.inmemory.json b/src/fixtures/nuget/purview.eventsourcing.inmemory.json index 79ea349..67a8543 100644 --- a/src/fixtures/nuget/purview.eventsourcing.inmemory.json +++ b/src/fixtures/nuget/purview.eventsourcing.inmemory.json @@ -16,6 +16,9 @@ "2.0.0-prerelease.32", "2.0.0-prerelease.33", "2.0.0-prerelease.34", - "2.0.0-prerelease.35" + "2.0.0-prerelease.35", + "2.0.0-prerelease.36", + "2.0.0-prerelease.38", + "2.0.0-prerelease.39" ] } diff --git a/src/fixtures/nuget/purview.eventsourcing.json b/src/fixtures/nuget/purview.eventsourcing.json index e6f8aec..c85a4fe 100644 --- a/src/fixtures/nuget/purview.eventsourcing.json +++ b/src/fixtures/nuget/purview.eventsourcing.json @@ -24,6 +24,9 @@ "2.0.0-prerelease.32", "2.0.0-prerelease.33", "2.0.0-prerelease.34", - "2.0.0-prerelease.35" + "2.0.0-prerelease.35", + "2.0.0-prerelease.36", + "2.0.0-prerelease.38", + "2.0.0-prerelease.39" ] } diff --git a/src/fixtures/nuget/purview.eventsourcing.mongodb.json b/src/fixtures/nuget/purview.eventsourcing.mongodb.json index e6f8aec..c85a4fe 100644 --- a/src/fixtures/nuget/purview.eventsourcing.mongodb.json +++ b/src/fixtures/nuget/purview.eventsourcing.mongodb.json @@ -24,6 +24,9 @@ "2.0.0-prerelease.32", "2.0.0-prerelease.33", "2.0.0-prerelease.34", - "2.0.0-prerelease.35" + "2.0.0-prerelease.35", + "2.0.0-prerelease.36", + "2.0.0-prerelease.38", + "2.0.0-prerelease.39" ] } diff --git a/src/fixtures/nuget/purview.eventsourcing.postgres.json b/src/fixtures/nuget/purview.eventsourcing.postgres.json index 1df59af..8e80d3c 100644 --- a/src/fixtures/nuget/purview.eventsourcing.postgres.json +++ b/src/fixtures/nuget/purview.eventsourcing.postgres.json @@ -6,6 +6,9 @@ "2.0.0-prerelease.32", "2.0.0-prerelease.33", "2.0.0-prerelease.34", - "2.0.0-prerelease.35" + "2.0.0-prerelease.35", + "2.0.0-prerelease.36", + "2.0.0-prerelease.38", + "2.0.0-prerelease.39" ] } diff --git a/src/fixtures/nuget/purview.eventsourcing.sqlserver.json b/src/fixtures/nuget/purview.eventsourcing.sqlserver.json index e6f8aec..c85a4fe 100644 --- a/src/fixtures/nuget/purview.eventsourcing.sqlserver.json +++ b/src/fixtures/nuget/purview.eventsourcing.sqlserver.json @@ -24,6 +24,9 @@ "2.0.0-prerelease.32", "2.0.0-prerelease.33", "2.0.0-prerelease.34", - "2.0.0-prerelease.35" + "2.0.0-prerelease.35", + "2.0.0-prerelease.36", + "2.0.0-prerelease.38", + "2.0.0-prerelease.39" ] } diff --git a/src/fixtures/nuget/purview.eventsourcing.validation.fluentvalidation.json b/src/fixtures/nuget/purview.eventsourcing.validation.fluentvalidation.json index d9f4fef..837bb34 100644 --- a/src/fixtures/nuget/purview.eventsourcing.validation.fluentvalidation.json +++ b/src/fixtures/nuget/purview.eventsourcing.validation.fluentvalidation.json @@ -5,6 +5,9 @@ "2.0.0-prerelease.32", "2.0.0-prerelease.33", "2.0.0-prerelease.34", - "2.0.0-prerelease.35" + "2.0.0-prerelease.35", + "2.0.0-prerelease.36", + "2.0.0-prerelease.38", + "2.0.0-prerelease.39" ] } diff --git a/src/fixtures/nuget/purview.eventsourcing.validation.zodsharp.json b/src/fixtures/nuget/purview.eventsourcing.validation.zodsharp.json index d9f4fef..837bb34 100644 --- a/src/fixtures/nuget/purview.eventsourcing.validation.zodsharp.json +++ b/src/fixtures/nuget/purview.eventsourcing.validation.zodsharp.json @@ -5,6 +5,9 @@ "2.0.0-prerelease.32", "2.0.0-prerelease.33", "2.0.0-prerelease.34", - "2.0.0-prerelease.35" + "2.0.0-prerelease.35", + "2.0.0-prerelease.36", + "2.0.0-prerelease.38", + "2.0.0-prerelease.39" ] } diff --git a/src/fixtures/nuget/purview.results.aspnetcore.json b/src/fixtures/nuget/purview.results.aspnetcore.json index 6204766..6221fea 100644 --- a/src/fixtures/nuget/purview.results.aspnetcore.json +++ b/src/fixtures/nuget/purview.results.aspnetcore.json @@ -1,6 +1,7 @@ { "versions": [ "1.0.0-prerelease.1", - "1.0.0-prerelease.2" + "1.0.0-prerelease.2", + "1.0.0" ] } diff --git a/src/fixtures/nuget/purview.results.json b/src/fixtures/nuget/purview.results.json index 6204766..6221fea 100644 --- a/src/fixtures/nuget/purview.results.json +++ b/src/fixtures/nuget/purview.results.json @@ -1,6 +1,7 @@ { "versions": [ "1.0.0-prerelease.1", - "1.0.0-prerelease.2" + "1.0.0-prerelease.2", + "1.0.0" ] } diff --git a/src/fixtures/nuget/purview.results.zodsharp.aspnetcore.json b/src/fixtures/nuget/purview.results.zodsharp.aspnetcore.json index 6204766..6221fea 100644 --- a/src/fixtures/nuget/purview.results.zodsharp.aspnetcore.json +++ b/src/fixtures/nuget/purview.results.zodsharp.aspnetcore.json @@ -1,6 +1,7 @@ { "versions": [ "1.0.0-prerelease.1", - "1.0.0-prerelease.2" + "1.0.0-prerelease.2", + "1.0.0" ] } diff --git a/src/fixtures/nuget/purview.results.zodsharp.json b/src/fixtures/nuget/purview.results.zodsharp.json index 6204766..6221fea 100644 --- a/src/fixtures/nuget/purview.results.zodsharp.json +++ b/src/fixtures/nuget/purview.results.zodsharp.json @@ -1,6 +1,7 @@ { "versions": [ "1.0.0-prerelease.1", - "1.0.0-prerelease.2" + "1.0.0-prerelease.2", + "1.0.0" ] } diff --git a/src/fixtures/nuget/purview.sourcegeneratorframework.json b/src/fixtures/nuget/purview.sourcegeneratorframework.json index be7a068..318ffda 100644 --- a/src/fixtures/nuget/purview.sourcegeneratorframework.json +++ b/src/fixtures/nuget/purview.sourcegeneratorframework.json @@ -42,6 +42,17 @@ "1.0.0-prerelease.41", "1.0.0-prerelease.42", "1.0.0-prerelease.43", - "1.0.0-prerelease.44" + "1.0.0-prerelease.44", + "1.0.0-prerelease.45", + "1.0.0-prerelease.46", + "1.0.0-prerelease.47", + "1.0.0-prerelease.48", + "1.0.0-prerelease.49", + "1.0.0-prerelease.50", + "1.0.0-prerelease.51", + "1.0.0-prerelease.52", + "1.0.0-prerelease.53", + "1.0.0-prerelease.54", + "1.0.0" ] } diff --git a/src/fixtures/nuget/purview.sourcegeneratorframework.testing.json b/src/fixtures/nuget/purview.sourcegeneratorframework.testing.json index be7a068..318ffda 100644 --- a/src/fixtures/nuget/purview.sourcegeneratorframework.testing.json +++ b/src/fixtures/nuget/purview.sourcegeneratorframework.testing.json @@ -42,6 +42,17 @@ "1.0.0-prerelease.41", "1.0.0-prerelease.42", "1.0.0-prerelease.43", - "1.0.0-prerelease.44" + "1.0.0-prerelease.44", + "1.0.0-prerelease.45", + "1.0.0-prerelease.46", + "1.0.0-prerelease.47", + "1.0.0-prerelease.48", + "1.0.0-prerelease.49", + "1.0.0-prerelease.50", + "1.0.0-prerelease.51", + "1.0.0-prerelease.52", + "1.0.0-prerelease.53", + "1.0.0-prerelease.54", + "1.0.0" ] } diff --git a/src/fixtures/nuget/purview.sourcegeneratorframework.testing.tunit.json b/src/fixtures/nuget/purview.sourcegeneratorframework.testing.tunit.json index be7a068..318ffda 100644 --- a/src/fixtures/nuget/purview.sourcegeneratorframework.testing.tunit.json +++ b/src/fixtures/nuget/purview.sourcegeneratorframework.testing.tunit.json @@ -42,6 +42,17 @@ "1.0.0-prerelease.41", "1.0.0-prerelease.42", "1.0.0-prerelease.43", - "1.0.0-prerelease.44" + "1.0.0-prerelease.44", + "1.0.0-prerelease.45", + "1.0.0-prerelease.46", + "1.0.0-prerelease.47", + "1.0.0-prerelease.48", + "1.0.0-prerelease.49", + "1.0.0-prerelease.50", + "1.0.0-prerelease.51", + "1.0.0-prerelease.52", + "1.0.0-prerelease.53", + "1.0.0-prerelease.54", + "1.0.0" ] } diff --git a/src/fixtures/nuget/purview.telemetry.sourcegenerator.json b/src/fixtures/nuget/purview.telemetry.sourcegenerator.json index ff834c0..f06702e 100644 --- a/src/fixtures/nuget/purview.telemetry.sourcegenerator.json +++ b/src/fixtures/nuget/purview.telemetry.sourcegenerator.json @@ -57,6 +57,16 @@ "5.0.0-prerelease.8", "5.0.0-prerelease.9", "5.0.0-prerelease.10", - "5.0.0-prerelease.11" + "5.0.0-prerelease.11", + "5.0.0-prerelease.12", + "5.0.0-prerelease.13", + "5.0.0-prerelease.14", + "5.0.0-prerelease.15", + "5.0.0-prerelease.16", + "5.0.0-prerelease.17", + "5.0.0-prerelease.18", + "5.0.0-prerelease.19", + "5.0.0", + "5.0.1" ] } diff --git a/src/fixtures/nuget/purview.valueobjects.json b/src/fixtures/nuget/purview.valueobjects.json index 6204766..690e2d8 100644 --- a/src/fixtures/nuget/purview.valueobjects.json +++ b/src/fixtures/nuget/purview.valueobjects.json @@ -1,6 +1,16 @@ { "versions": [ "1.0.0-prerelease.1", - "1.0.0-prerelease.2" + "1.0.0-prerelease.2", + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6", + "1.0.0-prerelease.7", + "1.0.0-prerelease.8", + "1.0.0-prerelease.9", + "1.0.0-prerelease.10", + "1.0.0-prerelease.11", + "1.0.0" ] } diff --git a/src/fixtures/nuget/purview.zodsharp.aspnetcore.json b/src/fixtures/nuget/purview.zodsharp.aspnetcore.json index da78068..6520603 100644 --- a/src/fixtures/nuget/purview.zodsharp.aspnetcore.json +++ b/src/fixtures/nuget/purview.zodsharp.aspnetcore.json @@ -8,6 +8,27 @@ "2.0.0-prerelease.6", "2.0.0-prerelease.7", "2.0.0-prerelease.8", - "2.0.0-prerelease.9" + "2.0.0-prerelease.9", + "2.0.0-prerelease.10", + "2.0.0-prerelease.11", + "2.0.0-prerelease.12", + "2.0.0-prerelease.13", + "2.0.0-prerelease.14", + "2.0.0-prerelease.15", + "2.0.0-prerelease.16", + "2.0.0-prerelease.17", + "2.0.0-prerelease.18", + "2.0.0-prerelease.19", + "2.0.0-prerelease.20", + "2.0.0-prerelease.21", + "2.0.0-prerelease.22", + "2.0.0-prerelease.23", + "2.0.0-prerelease.24", + "2.0.0-prerelease.25", + "2.0.0-prerelease.26", + "2.0.0-prerelease.27", + "2.0.0-prerelease.28", + "2.0.0", + "2.0.1" ] } diff --git a/src/fixtures/nuget/purview.zodsharp.json b/src/fixtures/nuget/purview.zodsharp.json index da78068..6520603 100644 --- a/src/fixtures/nuget/purview.zodsharp.json +++ b/src/fixtures/nuget/purview.zodsharp.json @@ -8,6 +8,27 @@ "2.0.0-prerelease.6", "2.0.0-prerelease.7", "2.0.0-prerelease.8", - "2.0.0-prerelease.9" + "2.0.0-prerelease.9", + "2.0.0-prerelease.10", + "2.0.0-prerelease.11", + "2.0.0-prerelease.12", + "2.0.0-prerelease.13", + "2.0.0-prerelease.14", + "2.0.0-prerelease.15", + "2.0.0-prerelease.16", + "2.0.0-prerelease.17", + "2.0.0-prerelease.18", + "2.0.0-prerelease.19", + "2.0.0-prerelease.20", + "2.0.0-prerelease.21", + "2.0.0-prerelease.22", + "2.0.0-prerelease.23", + "2.0.0-prerelease.24", + "2.0.0-prerelease.25", + "2.0.0-prerelease.26", + "2.0.0-prerelease.27", + "2.0.0-prerelease.28", + "2.0.0", + "2.0.1" ] } diff --git a/src/fixtures/nuget/purview.zodsharp.newtonsoftjson.json b/src/fixtures/nuget/purview.zodsharp.newtonsoftjson.json index da78068..6520603 100644 --- a/src/fixtures/nuget/purview.zodsharp.newtonsoftjson.json +++ b/src/fixtures/nuget/purview.zodsharp.newtonsoftjson.json @@ -8,6 +8,27 @@ "2.0.0-prerelease.6", "2.0.0-prerelease.7", "2.0.0-prerelease.8", - "2.0.0-prerelease.9" + "2.0.0-prerelease.9", + "2.0.0-prerelease.10", + "2.0.0-prerelease.11", + "2.0.0-prerelease.12", + "2.0.0-prerelease.13", + "2.0.0-prerelease.14", + "2.0.0-prerelease.15", + "2.0.0-prerelease.16", + "2.0.0-prerelease.17", + "2.0.0-prerelease.18", + "2.0.0-prerelease.19", + "2.0.0-prerelease.20", + "2.0.0-prerelease.21", + "2.0.0-prerelease.22", + "2.0.0-prerelease.23", + "2.0.0-prerelease.24", + "2.0.0-prerelease.25", + "2.0.0-prerelease.26", + "2.0.0-prerelease.27", + "2.0.0-prerelease.28", + "2.0.0", + "2.0.1" ] } diff --git a/src/fixtures/nuget/purview.zodsharp.systemtextjson.json b/src/fixtures/nuget/purview.zodsharp.systemtextjson.json index da78068..6520603 100644 --- a/src/fixtures/nuget/purview.zodsharp.systemtextjson.json +++ b/src/fixtures/nuget/purview.zodsharp.systemtextjson.json @@ -8,6 +8,27 @@ "2.0.0-prerelease.6", "2.0.0-prerelease.7", "2.0.0-prerelease.8", - "2.0.0-prerelease.9" + "2.0.0-prerelease.9", + "2.0.0-prerelease.10", + "2.0.0-prerelease.11", + "2.0.0-prerelease.12", + "2.0.0-prerelease.13", + "2.0.0-prerelease.14", + "2.0.0-prerelease.15", + "2.0.0-prerelease.16", + "2.0.0-prerelease.17", + "2.0.0-prerelease.18", + "2.0.0-prerelease.19", + "2.0.0-prerelease.20", + "2.0.0-prerelease.21", + "2.0.0-prerelease.22", + "2.0.0-prerelease.23", + "2.0.0-prerelease.24", + "2.0.0-prerelease.25", + "2.0.0-prerelease.26", + "2.0.0-prerelease.27", + "2.0.0-prerelease.28", + "2.0.0", + "2.0.1" ] } diff --git a/src/fixtures/nuget/search/AspireC4.Hosting.json b/src/fixtures/nuget/search/AspireC4.Hosting.json index fc43a3d..373a0a4 100644 --- a/src/fixtures/nuget/search/AspireC4.Hosting.json +++ b/src/fixtures/nuget/search/AspireC4.Hosting.json @@ -10,12 +10,12 @@ "@type": "Package", "registration": "https://api.nuget.org/v3/registration5-semver1/aspirec4.hosting/index.json", "id": "AspireC4.Hosting", - "version": "13.5.3.2", + "version": "13.5.3.11", "description": "Aspire hosting extension for the AspireC4 plugin, generating a dynamic LikeC4 architecture diagram for your Aspire application.", "summary": "", "title": "AspireC4.Hosting - Aspire LikeC4 Visualisation", - "iconUrl": "https://api.nuget.org/v3-flatcontainer/aspirec4.hosting/13.5.3.2/icon", - "licenseUrl": "https://www.nuget.org/packages/AspireC4.Hosting/13.5.3.2/license", + "iconUrl": "https://api.nuget.org/v3-flatcontainer/aspirec4.hosting/13.5.3.11/icon", + "licenseUrl": "https://www.nuget.org/packages/AspireC4.Hosting/13.5.3.11/license", "projectUrl": "https://purview.dev/projects/aspirec4/", "tags": [ "aspire", @@ -33,10 +33,9 @@ "Purview Contributors" ], "owners": [ - "kieronlanning", - "KJL.dev" + "kieronlanning" ], - "totalDownloads": 1435, + "totalDownloads": 1887, "verified": false, "packageTypes": [ { @@ -46,38 +45,83 @@ "versions": [ { "version": "13.3.1", - "downloads": 123, + "downloads": 129, "@id": "https://api.nuget.org/v3/registration5-semver1/aspirec4.hosting/13.3.1.json" }, { "version": "13.3.2", - "downloads": 310, + "downloads": 325, "@id": "https://api.nuget.org/v3/registration5-semver1/aspirec4.hosting/13.3.2.json" }, { "version": "13.3.3", - "downloads": 107, + "downloads": 116, "@id": "https://api.nuget.org/v3/registration5-semver1/aspirec4.hosting/13.3.3.json" }, { "version": "13.3.5", - "downloads": 124, + "downloads": 165, "@id": "https://api.nuget.org/v3/registration5-semver1/aspirec4.hosting/13.3.5.json" }, { "version": "13.5.3", - "downloads": 82, + "downloads": 92, "@id": "https://api.nuget.org/v3/registration5-semver1/aspirec4.hosting/13.5.3.json" }, { "version": "13.5.3.1", - "downloads": 81, + "downloads": 90, "@id": "https://api.nuget.org/v3/registration5-semver1/aspirec4.hosting/13.5.3.1.json" }, { "version": "13.5.3.2", - "downloads": 24, + "downloads": 97, "@id": "https://api.nuget.org/v3/registration5-semver1/aspirec4.hosting/13.5.3.2.json" + }, + { + "version": "13.5.3.3", + "downloads": 52, + "@id": "https://api.nuget.org/v3/registration5-semver1/aspirec4.hosting/13.5.3.3.json" + }, + { + "version": "13.5.3.4", + "downloads": 56, + "@id": "https://api.nuget.org/v3/registration5-semver1/aspirec4.hosting/13.5.3.4.json" + }, + { + "version": "13.5.3.5", + "downloads": 44, + "@id": "https://api.nuget.org/v3/registration5-semver1/aspirec4.hosting/13.5.3.5.json" + }, + { + "version": "13.5.3.6", + "downloads": 45, + "@id": "https://api.nuget.org/v3/registration5-semver1/aspirec4.hosting/13.5.3.6.json" + }, + { + "version": "13.5.3.7", + "downloads": 46, + "@id": "https://api.nuget.org/v3/registration5-semver1/aspirec4.hosting/13.5.3.7.json" + }, + { + "version": "13.5.3.8", + "downloads": 23, + "@id": "https://api.nuget.org/v3/registration5-semver1/aspirec4.hosting/13.5.3.8.json" + }, + { + "version": "13.5.3.9", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/aspirec4.hosting/13.5.3.9.json" + }, + { + "version": "13.5.3.10", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/aspirec4.hosting/13.5.3.10.json" + }, + { + "version": "13.5.3.11", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/aspirec4.hosting/13.5.3.11.json" } ], "vulnerabilities": [] diff --git a/src/fixtures/nuget/search/Purview.Aspire.ResourceKit.json b/src/fixtures/nuget/search/Purview.Aspire.ResourceKit.json index b6b988b..109dd57 100644 --- a/src/fixtures/nuget/search/Purview.Aspire.ResourceKit.json +++ b/src/fixtures/nuget/search/Purview.Aspire.ResourceKit.json @@ -3,6 +3,52 @@ "@vocab": "http://schema.nuget.org/schema#", "@base": "https://api.nuget.org/v3/registration5-semver1/" }, - "totalHits": 0, - "data": [] + "totalHits": 1, + "data": [ + { + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.aspire.resourcekit/index.json", + "@type": "Package", + "registration": "https://api.nuget.org/v3/registration5-semver1/purview.aspire.resourcekit/index.json", + "id": "Purview.Aspire.ResourceKit", + "version": "1.0.0.1", + "description": "Composable and test-friendly Aspire resource isolation model for local, running, and publishing modes.", + "summary": "", + "title": "Purview Aspire ResourceKit", + "iconUrl": "https://api.nuget.org/v3-flatcontainer/purview.aspire.resourcekit/1.0.0.1/icon", + "licenseUrl": "https://www.nuget.org/packages/Purview.Aspire.ResourceKit/1.0.0.1/license", + "projectUrl": "https://purview.dev/projects/aspire-resourcekit/", + "tags": [ + "aspire", + "resource-kit", + "apphost", + "testing" + ], + "authors": [ + "Purview Contributors" + ], + "owners": [ + "kieronlanning" + ], + "totalDownloads": 2695, + "verified": false, + "packageTypes": [ + { + "name": "Dependency" + } + ], + "versions": [ + { + "version": "1.0.0", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.aspire.resourcekit/1.0.0.json" + }, + { + "version": "1.0.0.1", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.aspire.resourcekit/1.0.0.1.json" + } + ], + "vulnerabilities": [] + } + ] } diff --git a/src/fixtures/nuget/search/Purview.Build.json b/src/fixtures/nuget/search/Purview.Build.json index 8ffd950..663ea74 100644 --- a/src/fixtures/nuget/search/Purview.Build.json +++ b/src/fixtures/nuget/search/Purview.Build.json @@ -10,12 +10,12 @@ "@type": "Package", "registration": "https://api.nuget.org/v3/registration5-semver1/purview.build/index.json", "id": "Purview.Build", - "version": "0.3.2", + "version": "0.4.0", "description": "Shared build/test/release pipeline for purview-dev. A Modular Pipelines based .NET tool (Purview.Build) with a GitHub composite action and reusable workflows; consumers configure, the pipeline runs.", "summary": "", "title": "Purview.Build", - "iconUrl": "https://api.nuget.org/v3-flatcontainer/purview.build/0.3.2/icon", - "licenseUrl": "https://www.nuget.org/packages/Purview.Build/0.3.2/license", + "iconUrl": "https://api.nuget.org/v3-flatcontainer/purview.build/0.4.0/icon", + "licenseUrl": "https://www.nuget.org/packages/Purview.Build/0.4.0/license", "projectUrl": "https://purview.dev/projects/build/", "tags": [], "authors": [ @@ -24,7 +24,7 @@ "owners": [ "kieronlanning" ], - "totalDownloads": 595, + "totalDownloads": 1361, "verified": false, "packageTypes": [ { @@ -34,43 +34,68 @@ "versions": [ { "version": "0.2.1", - "downloads": 141, + "downloads": 147, "@id": "https://api.nuget.org/v3/registration5-semver1/purview.build/0.2.1.json" }, { "version": "0.2.2", - "downloads": 90, + "downloads": 97, "@id": "https://api.nuget.org/v3/registration5-semver1/purview.build/0.2.2.json" }, { "version": "0.2.3", - "downloads": 216, + "downloads": 223, "@id": "https://api.nuget.org/v3/registration5-semver1/purview.build/0.2.3.json" }, { "version": "0.2.4", - "downloads": 148, + "downloads": 175, "@id": "https://api.nuget.org/v3/registration5-semver1/purview.build/0.2.4.json" }, { "version": "0.2.6", - "downloads": 0, + "downloads": 80, "@id": "https://api.nuget.org/v3/registration5-semver1/purview.build/0.2.6.json" }, { "version": "0.3.0", - "downloads": 0, + "downloads": 80, "@id": "https://api.nuget.org/v3/registration5-semver1/purview.build/0.3.0.json" }, { "version": "0.3.1", - "downloads": 0, + "downloads": 88, "@id": "https://api.nuget.org/v3/registration5-semver1/purview.build/0.3.1.json" }, { "version": "0.3.2", - "downloads": 0, + "downloads": 168, "@id": "https://api.nuget.org/v3/registration5-semver1/purview.build/0.3.2.json" + }, + { + "version": "0.3.3", + "downloads": 159, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.build/0.3.3.json" + }, + { + "version": "0.3.4", + "downloads": 53, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.build/0.3.4.json" + }, + { + "version": "0.3.5", + "downloads": 91, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.build/0.3.5.json" + }, + { + "version": "0.3.6", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.build/0.3.6.json" + }, + { + "version": "0.4.0", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.build/0.4.0.json" } ], "vulnerabilities": [] diff --git a/src/fixtures/nuget/search/Purview.BuildSdk.json b/src/fixtures/nuget/search/Purview.BuildSdk.json index b6b988b..922f57a 100644 --- a/src/fixtures/nuget/search/Purview.BuildSdk.json +++ b/src/fixtures/nuget/search/Purview.BuildSdk.json @@ -3,6 +3,78 @@ "@vocab": "http://schema.nuget.org/schema#", "@base": "https://api.nuget.org/v3/registration5-semver1/" }, - "totalHits": 0, - "data": [] + "totalHits": 1, + "data": [ + { + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.buildsdk/index.json", + "@type": "Package", + "registration": "https://api.nuget.org/v3/registration5-semver1/purview.buildsdk/index.json", + "id": "Purview.BuildSdk", + "version": "1.0.3", + "description": "A reusable MSBuild SDK that provides standardised .NET project defaults, code style enforcement, configurable testing framework wiring (TUnit, Xunit, or None), mocking provider wiring (TUnitMocks, NSubstitute, or None), and Central Package Management integration. Drop in via Directory.Build.props to apply uniformly across every project in a repo.", + "summary": "", + "title": "Purview.BuildSdk", + "iconUrl": "https://api.nuget.org/v3-flatcontainer/purview.buildsdk/1.0.3/icon", + "licenseUrl": "https://www.nuget.org/packages/Purview.BuildSdk/1.0.3/license", + "projectUrl": "https://purview.dev/projects/build-sdk/", + "tags": [ + "msbuild", + "sdk", + "build", + "tunit", + "xunit", + "tunitmock", + "nsubstitute", + "bogus", + "csharp", + "dotnet" + ], + "authors": [ + "Purview.BuildSdk" + ], + "owners": [ + "kieronlanning" + ], + "totalDownloads": 455, + "verified": false, + "packageTypes": [ + { + "name": "MSBuildSdk" + } + ], + "versions": [ + { + "version": "1.0.0", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.buildsdk/1.0.0.json" + }, + { + "version": "1.0.1", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.buildsdk/1.0.1.json" + }, + { + "version": "1.0.2", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.buildsdk/1.0.2.json" + }, + { + "version": "1.0.2.1", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.buildsdk/1.0.2.1.json" + }, + { + "version": "1.0.2.2", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.buildsdk/1.0.2.2.json" + }, + { + "version": "1.0.3", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.buildsdk/1.0.3.json" + } + ], + "vulnerabilities": [] + } + ] } diff --git a/src/fixtures/nuget/search/Purview.Results.AspNetCore.json b/src/fixtures/nuget/search/Purview.Results.AspNetCore.json index b6b988b..c321974 100644 --- a/src/fixtures/nuget/search/Purview.Results.AspNetCore.json +++ b/src/fixtures/nuget/search/Purview.Results.AspNetCore.json @@ -3,6 +3,49 @@ "@vocab": "http://schema.nuget.org/schema#", "@base": "https://api.nuget.org/v3/registration5-semver1/" }, - "totalHits": 0, - "data": [] + "totalHits": 1, + "data": [ + { + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.results.aspnetcore/index.json", + "@type": "Package", + "registration": "https://api.nuget.org/v3/registration5-semver1/purview.results.aspnetcore/index.json", + "id": "Purview.Results.AspNetCore", + "version": "1.0.0", + "description": "Maps Purview.Results results onto ASP.NET Core responses, including ProblemDetails for expected failures.", + "summary": "", + "title": "Purview Results ASP.NET Core", + "iconUrl": "https://api.nuget.org/v3-flatcontainer/purview.results.aspnetcore/1.0.0/icon", + "licenseUrl": "https://www.nuget.org/packages/Purview.Results.AspNetCore/1.0.0/license", + "projectUrl": "https://purview.dev/projects/results/", + "tags": [ + "results", + "result", + "aspnetcore", + "problemdetails", + "minimal-api", + "purview" + ], + "authors": [ + "Kieron Lanning" + ], + "owners": [ + "kieronlanning" + ], + "totalDownloads": 0, + "verified": false, + "packageTypes": [ + { + "name": "Dependency" + } + ], + "versions": [ + { + "version": "1.0.0", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.results.aspnetcore/1.0.0.json" + } + ], + "vulnerabilities": [] + } + ] } diff --git a/src/fixtures/nuget/search/Purview.Results.ZodSharp.AspNetCore.json b/src/fixtures/nuget/search/Purview.Results.ZodSharp.AspNetCore.json index b6b988b..a2bb8da 100644 --- a/src/fixtures/nuget/search/Purview.Results.ZodSharp.AspNetCore.json +++ b/src/fixtures/nuget/search/Purview.Results.ZodSharp.AspNetCore.json @@ -3,6 +3,50 @@ "@vocab": "http://schema.nuget.org/schema#", "@base": "https://api.nuget.org/v3/registration5-semver1/" }, - "totalHits": 0, - "data": [] + "totalHits": 1, + "data": [ + { + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.results.zodsharp.aspnetcore/index.json", + "@type": "Package", + "registration": "https://api.nuget.org/v3/registration5-semver1/purview.results.zodsharp.aspnetcore/index.json", + "id": "Purview.Results.ZodSharp.AspNetCore", + "version": "1.0.0", + "description": "Maps Purview result failures that carry ZodSharp validation errors onto ASP.NET Core HttpValidationProblemDetails responses.", + "summary": "", + "title": "Purview Results ZodSharp ASP.NET Core", + "iconUrl": "https://api.nuget.org/v3-flatcontainer/purview.results.zodsharp.aspnetcore/1.0.0/icon", + "licenseUrl": "https://www.nuget.org/packages/Purview.Results.ZodSharp.AspNetCore/1.0.0/license", + "projectUrl": "https://purview.dev/projects/results/", + "tags": [ + "results", + "result", + "aspnetcore", + "problemdetails", + "validation", + "zod", + "purview" + ], + "authors": [ + "Kieron Lanning" + ], + "owners": [ + "kieronlanning" + ], + "totalDownloads": 0, + "verified": false, + "packageTypes": [ + { + "name": "Dependency" + } + ], + "versions": [ + { + "version": "1.0.0", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.results.zodsharp.aspnetcore/1.0.0.json" + } + ], + "vulnerabilities": [] + } + ] } diff --git a/src/fixtures/nuget/search/Purview.Results.ZodSharp.json b/src/fixtures/nuget/search/Purview.Results.ZodSharp.json index b6b988b..d0c42c3 100644 --- a/src/fixtures/nuget/search/Purview.Results.ZodSharp.json +++ b/src/fixtures/nuget/search/Purview.Results.ZodSharp.json @@ -3,6 +3,49 @@ "@vocab": "http://schema.nuget.org/schema#", "@base": "https://api.nuget.org/v3/registration5-semver1/" }, - "totalHits": 0, - "data": [] + "totalHits": 1, + "data": [ + { + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.results.zodsharp/index.json", + "@type": "Package", + "registration": "https://api.nuget.org/v3/registration5-semver1/purview.results.zodsharp/index.json", + "id": "Purview.Results.ZodSharp", + "version": "1.0.0", + "description": "Bridges ZodSharp ValidationResult values into Purview.Results, so validation outcomes flow through the result pipeline as ordinary error values instead of exceptions.", + "summary": "", + "title": "Purview Results ZodSharp", + "iconUrl": "https://api.nuget.org/v3-flatcontainer/purview.results.zodsharp/1.0.0/icon", + "licenseUrl": "https://www.nuget.org/packages/Purview.Results.ZodSharp/1.0.0/license", + "projectUrl": "https://purview.dev/projects/results/", + "tags": [ + "results", + "result", + "validation", + "zod", + "zodsharp", + "purview" + ], + "authors": [ + "Kieron Lanning" + ], + "owners": [ + "kieronlanning" + ], + "totalDownloads": 0, + "verified": false, + "packageTypes": [ + { + "name": "Dependency" + } + ], + "versions": [ + { + "version": "1.0.0", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.results.zodsharp/1.0.0.json" + } + ], + "vulnerabilities": [] + } + ] } diff --git a/src/fixtures/nuget/search/Purview.Results.json b/src/fixtures/nuget/search/Purview.Results.json index b6b988b..edacba4 100644 --- a/src/fixtures/nuget/search/Purview.Results.json +++ b/src/fixtures/nuget/search/Purview.Results.json @@ -3,6 +3,52 @@ "@vocab": "http://schema.nuget.org/schema#", "@base": "https://api.nuget.org/v3/registration5-semver1/" }, - "totalHits": 0, - "data": [] + "totalHits": 1, + "data": [ + { + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.results/index.json", + "@type": "Package", + "registration": "https://api.nuget.org/v3/registration5-semver1/purview.results/index.json", + "id": "Purview.Results", + "version": "1.0.0", + "description": "Dependency-free Result for .NET, with C# 15 union ergonomics for its error cases and integrations that let expected failures flow through a value instead of an exception.", + "summary": "", + "title": "Purview Results", + "iconUrl": "https://api.nuget.org/v3-flatcontainer/purview.results/1.0.0/icon", + "licenseUrl": "https://www.nuget.org/packages/Purview.Results/1.0.0/license", + "projectUrl": "https://purview.dev/projects/results/", + "tags": [ + "results", + "result", + "railway", + "error-handling", + "union", + "unions", + "csharp-15", + "net11", + "purview" + ], + "authors": [ + "Kieron Lanning" + ], + "owners": [ + "kieronlanning" + ], + "totalDownloads": 0, + "verified": false, + "packageTypes": [ + { + "name": "Dependency" + } + ], + "versions": [ + { + "version": "1.0.0", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.results/1.0.0.json" + } + ], + "vulnerabilities": [] + } + ] } diff --git a/src/fixtures/nuget/search/Purview.SourceGeneratorFramework.Testing.TUnit.json b/src/fixtures/nuget/search/Purview.SourceGeneratorFramework.Testing.TUnit.json index b6b988b..9d4b30f 100644 --- a/src/fixtures/nuget/search/Purview.SourceGeneratorFramework.Testing.TUnit.json +++ b/src/fixtures/nuget/search/Purview.SourceGeneratorFramework.Testing.TUnit.json @@ -3,6 +3,42 @@ "@vocab": "http://schema.nuget.org/schema#", "@base": "https://api.nuget.org/v3/registration5-semver1/" }, - "totalHits": 0, - "data": [] + "totalHits": 1, + "data": [ + { + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.sourcegeneratorframework.testing.tunit/index.json", + "@type": "Package", + "registration": "https://api.nuget.org/v3/registration5-semver1/purview.sourcegeneratorframework.testing.tunit/index.json", + "id": "Purview.SourceGeneratorFramework.Testing.TUnit", + "version": "1.0.0", + "description": "Purview SourceGeneratorFramework libraries for building and testing incremental C# source generators.", + "summary": "", + "title": "Purview.SourceGeneratorFramework.Testing.TUnit", + "iconUrl": "https://api.nuget.org/v3-flatcontainer/purview.sourcegeneratorframework.testing.tunit/1.0.0/icon", + "licenseUrl": "https://www.nuget.org/packages/Purview.SourceGeneratorFramework.Testing.TUnit/1.0.0/license", + "projectUrl": "https://purview.dev/projects/sourcegenerator-framework/", + "tags": [], + "authors": [ + "Purview Contributors" + ], + "owners": [ + "kieronlanning" + ], + "totalDownloads": 3711, + "verified": false, + "packageTypes": [ + { + "name": "Dependency" + } + ], + "versions": [ + { + "version": "1.0.0", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.sourcegeneratorframework.testing.tunit/1.0.0.json" + } + ], + "vulnerabilities": [] + } + ] } diff --git a/src/fixtures/nuget/search/Purview.SourceGeneratorFramework.Testing.json b/src/fixtures/nuget/search/Purview.SourceGeneratorFramework.Testing.json index b6b988b..a595320 100644 --- a/src/fixtures/nuget/search/Purview.SourceGeneratorFramework.Testing.json +++ b/src/fixtures/nuget/search/Purview.SourceGeneratorFramework.Testing.json @@ -3,6 +3,42 @@ "@vocab": "http://schema.nuget.org/schema#", "@base": "https://api.nuget.org/v3/registration5-semver1/" }, - "totalHits": 0, - "data": [] + "totalHits": 1, + "data": [ + { + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.sourcegeneratorframework.testing/index.json", + "@type": "Package", + "registration": "https://api.nuget.org/v3/registration5-semver1/purview.sourcegeneratorframework.testing/index.json", + "id": "Purview.SourceGeneratorFramework.Testing", + "version": "1.0.0", + "description": "Purview SourceGeneratorFramework libraries for building and testing incremental C# source generators.", + "summary": "", + "title": "Purview.SourceGeneratorFramework.Testing", + "iconUrl": "https://api.nuget.org/v3-flatcontainer/purview.sourcegeneratorframework.testing/1.0.0/icon", + "licenseUrl": "https://www.nuget.org/packages/Purview.SourceGeneratorFramework.Testing/1.0.0/license", + "projectUrl": "https://purview.dev/projects/sourcegenerator-framework/", + "tags": [], + "authors": [ + "Purview Contributors" + ], + "owners": [ + "kieronlanning" + ], + "totalDownloads": 4001, + "verified": false, + "packageTypes": [ + { + "name": "Dependency" + } + ], + "versions": [ + { + "version": "1.0.0", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.sourcegeneratorframework.testing/1.0.0.json" + } + ], + "vulnerabilities": [] + } + ] } diff --git a/src/fixtures/nuget/search/Purview.SourceGeneratorFramework.json b/src/fixtures/nuget/search/Purview.SourceGeneratorFramework.json index b6b988b..3226acc 100644 --- a/src/fixtures/nuget/search/Purview.SourceGeneratorFramework.json +++ b/src/fixtures/nuget/search/Purview.SourceGeneratorFramework.json @@ -3,6 +3,42 @@ "@vocab": "http://schema.nuget.org/schema#", "@base": "https://api.nuget.org/v3/registration5-semver1/" }, - "totalHits": 0, - "data": [] + "totalHits": 1, + "data": [ + { + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.sourcegeneratorframework/index.json", + "@type": "Package", + "registration": "https://api.nuget.org/v3/registration5-semver1/purview.sourcegeneratorframework/index.json", + "id": "Purview.SourceGeneratorFramework", + "version": "1.0.0", + "description": "Purview SourceGeneratorFramework libraries for building and testing incremental C# source generators.", + "summary": "", + "title": "Purview.SourceGeneratorFramework", + "iconUrl": "https://api.nuget.org/v3-flatcontainer/purview.sourcegeneratorframework/1.0.0/icon", + "licenseUrl": "https://www.nuget.org/packages/Purview.SourceGeneratorFramework/1.0.0/license", + "projectUrl": "https://purview.dev/projects/sourcegenerator-framework/", + "tags": [], + "authors": [ + "Purview Contributors" + ], + "owners": [ + "kieronlanning" + ], + "totalDownloads": 4486, + "verified": false, + "packageTypes": [ + { + "name": "Dependency" + } + ], + "versions": [ + { + "version": "1.0.0", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.sourcegeneratorframework/1.0.0.json" + } + ], + "vulnerabilities": [] + } + ] } diff --git a/src/fixtures/nuget/search/Purview.Telemetry.SourceGenerator.json b/src/fixtures/nuget/search/Purview.Telemetry.SourceGenerator.json index 716046e..023193a 100644 --- a/src/fixtures/nuget/search/Purview.Telemetry.SourceGenerator.json +++ b/src/fixtures/nuget/search/Purview.Telemetry.SourceGenerator.json @@ -10,12 +10,13 @@ "@type": "Package", "registration": "https://api.nuget.org/v3/registration5-semver1/purview.telemetry.sourcegenerator/index.json", "id": "Purview.Telemetry.SourceGenerator", - "version": "4.4.0", + "version": "5.0.1", "description": ".NET Source Generator for interface-based telemetry generating tracing, logs, and metrics.", "summary": "", "title": "Purview Telemetry Source Generator", - "iconUrl": "https://api.nuget.org/v3-flatcontainer/purview.telemetry.sourcegenerator/4.4.0/icon", - "licenseUrl": "https://www.nuget.org/packages/Purview.Telemetry.SourceGenerator/4.4.0/license", + "iconUrl": "https://api.nuget.org/v3-flatcontainer/purview.telemetry.sourcegenerator/5.0.1/icon", + "licenseUrl": "https://www.nuget.org/packages/Purview.Telemetry.SourceGenerator/5.0.1/license", + "projectUrl": "https://purview.dev/projects/telemetry-sourcegenerator/", "tags": [ "logs", "log", @@ -45,10 +46,9 @@ "Kieron Lanning" ], "owners": [ - "kieronlanning", - "KJL.dev" + "kieronlanning" ], - "totalDownloads": 16495, + "totalDownloads": 17495, "verified": false, "packageTypes": [ { @@ -58,7 +58,7 @@ "versions": [ { "version": "1.0.0", - "downloads": 268, + "downloads": 270, "@id": "https://api.nuget.org/v3/registration5-semver1/purview.telemetry.sourcegenerator/1.0.0.json" }, { @@ -123,7 +123,7 @@ }, { "version": "1.1.0", - "downloads": 227, + "downloads": 228, "@id": "https://api.nuget.org/v3/registration5-semver1/purview.telemetry.sourcegenerator/1.1.0.json" }, { @@ -153,33 +153,43 @@ }, { "version": "3.2.3", - "downloads": 214, + "downloads": 218, "@id": "https://api.nuget.org/v3/registration5-semver1/purview.telemetry.sourcegenerator/3.2.3.json" }, { "version": "3.2.4", - "downloads": 4497, + "downloads": 4852, "@id": "https://api.nuget.org/v3/registration5-semver1/purview.telemetry.sourcegenerator/3.2.4.json" }, { "version": "4.0.0", - "downloads": 186, + "downloads": 188, "@id": "https://api.nuget.org/v3/registration5-semver1/purview.telemetry.sourcegenerator/4.0.0.json" }, { "version": "4.1.0", - "downloads": 557, + "downloads": 558, "@id": "https://api.nuget.org/v3/registration5-semver1/purview.telemetry.sourcegenerator/4.1.0.json" }, { "version": "4.2.0", - "downloads": 501, + "downloads": 502, "@id": "https://api.nuget.org/v3/registration5-semver1/purview.telemetry.sourcegenerator/4.2.0.json" }, { "version": "4.4.0", - "downloads": 621, + "downloads": 669, "@id": "https://api.nuget.org/v3/registration5-semver1/purview.telemetry.sourcegenerator/4.4.0.json" + }, + { + "version": "5.0.0", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.telemetry.sourcegenerator/5.0.0.json" + }, + { + "version": "5.0.1", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.telemetry.sourcegenerator/5.0.1.json" } ], "vulnerabilities": [] diff --git a/src/fixtures/nuget/search/Purview.ValueObjects.json b/src/fixtures/nuget/search/Purview.ValueObjects.json index b6b988b..d143b48 100644 --- a/src/fixtures/nuget/search/Purview.ValueObjects.json +++ b/src/fixtures/nuget/search/Purview.ValueObjects.json @@ -3,6 +3,54 @@ "@vocab": "http://schema.nuget.org/schema#", "@base": "https://api.nuget.org/v3/registration5-semver1/" }, - "totalHits": 0, - "data": [] + "totalHits": 1, + "data": [ + { + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.valueobjects/index.json", + "@type": "Package", + "registration": "https://api.nuget.org/v3/registration5-semver1/purview.valueobjects/index.json", + "id": "Purview.ValueObjects", + "version": "1.0.0", + "description": "Source-generated scalar and complex value objects for .NET. Brings F#-style single-case types to C# with Create/Hydrate factories, normalization, validation, equality, comparison, implicit conversions, and JSON serialization for DTOs, Entity Framework, and domain models.", + "summary": "", + "title": "Purview Value Objects", + "iconUrl": "https://api.nuget.org/v3-flatcontainer/purview.valueobjects/1.0.0/icon", + "licenseUrl": "https://www.nuget.org/packages/Purview.ValueObjects/1.0.0/license", + "projectUrl": "https://purview.dev/projects/value-objects/", + "tags": [ + "purview", + "dotnet", + "value-objects", + "value-object", + "scalar", + "source-generator", + "domain-driven-design", + "dto", + "serialization", + "json", + "entity-framework" + ], + "authors": [ + "Kieron Lanning" + ], + "owners": [ + "kieronlanning" + ], + "totalDownloads": 662, + "verified": false, + "packageTypes": [ + { + "name": "Dependency" + } + ], + "versions": [ + { + "version": "1.0.0", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.valueobjects/1.0.0.json" + } + ], + "vulnerabilities": [] + } + ] } diff --git a/src/fixtures/nuget/search/Purview.ZodSharp.AspNetCore.json b/src/fixtures/nuget/search/Purview.ZodSharp.AspNetCore.json index b6b988b..1d5f479 100644 --- a/src/fixtures/nuget/search/Purview.ZodSharp.AspNetCore.json +++ b/src/fixtures/nuget/search/Purview.ZodSharp.AspNetCore.json @@ -3,6 +3,52 @@ "@vocab": "http://schema.nuget.org/schema#", "@base": "https://api.nuget.org/v3/registration5-semver1/" }, - "totalHits": 0, - "data": [] + "totalHits": 1, + "data": [ + { + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.zodsharp.aspnetcore/index.json", + "@type": "Package", + "registration": "https://api.nuget.org/v3/registration5-semver1/purview.zodsharp.aspnetcore/index.json", + "id": "Purview.ZodSharp.AspNetCore", + "version": "2.0.1", + "description": "ASP.NET Core ProblemDetails integration for ZodSharp validation results.", + "summary": "", + "title": "Purview.ZodSharp.AspNetCore", + "iconUrl": "https://api.nuget.org/v3-flatcontainer/purview.zodsharp.aspnetcore/2.0.1/icon", + "licenseUrl": "https://www.nuget.org/packages/Purview.ZodSharp.AspNetCore/2.0.1/license", + "projectUrl": "https://purview.dev/projects/zodsharp/", + "tags": [ + "zod", + "validation", + "aspnetcore", + "problemdetails" + ], + "authors": [ + "ZodSharp Contributors,Purview-Dev Contributors" + ], + "owners": [ + "kieronlanning" + ], + "totalDownloads": 1537, + "verified": false, + "packageTypes": [ + { + "name": "Dependency" + } + ], + "versions": [ + { + "version": "2.0.0", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.zodsharp.aspnetcore/2.0.0.json" + }, + { + "version": "2.0.1", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.zodsharp.aspnetcore/2.0.1.json" + } + ], + "vulnerabilities": [] + } + ] } diff --git a/src/fixtures/nuget/search/Purview.ZodSharp.NewtonsoftJson.json b/src/fixtures/nuget/search/Purview.ZodSharp.NewtonsoftJson.json index b6b988b..03b200c 100644 --- a/src/fixtures/nuget/search/Purview.ZodSharp.NewtonsoftJson.json +++ b/src/fixtures/nuget/search/Purview.ZodSharp.NewtonsoftJson.json @@ -3,6 +3,52 @@ "@vocab": "http://schema.nuget.org/schema#", "@base": "https://api.nuget.org/v3/registration5-semver1/" }, - "totalHits": 0, - "data": [] + "totalHits": 1, + "data": [ + { + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.zodsharp.newtonsoftjson/index.json", + "@type": "Package", + "registration": "https://api.nuget.org/v3/registration5-semver1/purview.zodsharp.newtonsoftjson/index.json", + "id": "Purview.ZodSharp.NewtonsoftJson", + "version": "2.0.1", + "description": "A high-performance C# port of Zod schema validation library. Features zero-allocation validation, struct-based rules, fluent API, and source generator support for maximum performance.", + "summary": "", + "title": "Purview.ZodSharp.NewtonsoftJson", + "iconUrl": "https://api.nuget.org/v3-flatcontainer/purview.zodsharp.newtonsoftjson/2.0.1/icon", + "licenseUrl": "https://www.nuget.org/packages/Purview.ZodSharp.NewtonsoftJson/2.0.1/license", + "projectUrl": "https://purview.dev/projects/zodsharp/", + "tags": [ + "zod", + "validation", + "schema", + "json" + ], + "authors": [ + "ZodSharp Contributors,Purview-Dev Contributors" + ], + "owners": [ + "kieronlanning" + ], + "totalDownloads": 1395, + "verified": false, + "packageTypes": [ + { + "name": "Dependency" + } + ], + "versions": [ + { + "version": "2.0.0", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.zodsharp.newtonsoftjson/2.0.0.json" + }, + { + "version": "2.0.1", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.zodsharp.newtonsoftjson/2.0.1.json" + } + ], + "vulnerabilities": [] + } + ] } diff --git a/src/fixtures/nuget/search/Purview.ZodSharp.SystemTextJson.json b/src/fixtures/nuget/search/Purview.ZodSharp.SystemTextJson.json index b6b988b..6c074ed 100644 --- a/src/fixtures/nuget/search/Purview.ZodSharp.SystemTextJson.json +++ b/src/fixtures/nuget/search/Purview.ZodSharp.SystemTextJson.json @@ -3,6 +3,52 @@ "@vocab": "http://schema.nuget.org/schema#", "@base": "https://api.nuget.org/v3/registration5-semver1/" }, - "totalHits": 0, - "data": [] + "totalHits": 1, + "data": [ + { + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.zodsharp.systemtextjson/index.json", + "@type": "Package", + "registration": "https://api.nuget.org/v3/registration5-semver1/purview.zodsharp.systemtextjson/index.json", + "id": "Purview.ZodSharp.SystemTextJson", + "version": "2.0.1", + "description": "A high-performance C# port of Zod schema validation library. Features zero-allocation validation, struct-based rules, fluent API, and source generator support for maximum performance.", + "summary": "", + "title": "Purview.ZodSharp.SystemTextJson", + "iconUrl": "https://api.nuget.org/v3-flatcontainer/purview.zodsharp.systemtextjson/2.0.1/icon", + "licenseUrl": "https://www.nuget.org/packages/Purview.ZodSharp.SystemTextJson/2.0.1/license", + "projectUrl": "https://purview.dev/projects/zodsharp/", + "tags": [ + "zod", + "validation", + "schema", + "json" + ], + "authors": [ + "ZodSharp Contributors,Purview-Dev Contributors" + ], + "owners": [ + "kieronlanning" + ], + "totalDownloads": 1512, + "verified": false, + "packageTypes": [ + { + "name": "Dependency" + } + ], + "versions": [ + { + "version": "2.0.0", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.zodsharp.systemtextjson/2.0.0.json" + }, + { + "version": "2.0.1", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.zodsharp.systemtextjson/2.0.1.json" + } + ], + "vulnerabilities": [] + } + ] } diff --git a/src/fixtures/nuget/search/Purview.ZodSharp.json b/src/fixtures/nuget/search/Purview.ZodSharp.json index b6b988b..5aa1054 100644 --- a/src/fixtures/nuget/search/Purview.ZodSharp.json +++ b/src/fixtures/nuget/search/Purview.ZodSharp.json @@ -3,6 +3,51 @@ "@vocab": "http://schema.nuget.org/schema#", "@base": "https://api.nuget.org/v3/registration5-semver1/" }, - "totalHits": 0, - "data": [] + "totalHits": 1, + "data": [ + { + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.zodsharp/index.json", + "@type": "Package", + "registration": "https://api.nuget.org/v3/registration5-semver1/purview.zodsharp/index.json", + "id": "Purview.ZodSharp", + "version": "2.0.1", + "description": "A high-performance C# port of Zod schema validation library.\n\t\t\tFeatures zero-allocation validation, struct-based rules, fluent API,\n\t\t\tand source generator support for maximum performance.", + "summary": "", + "title": "Purview.ZodSharp", + "iconUrl": "https://api.nuget.org/v3-flatcontainer/purview.zodsharp/2.0.1/icon", + "licenseUrl": "https://www.nuget.org/packages/Purview.ZodSharp/2.0.1/license", + "projectUrl": "https://purview.dev/projects/zodsharp/", + "tags": [ + "zod", + "validation", + "schema" + ], + "authors": [ + "ZodSharp Contributors,Purview-Dev Contributors" + ], + "owners": [ + "kieronlanning" + ], + "totalDownloads": 1898, + "verified": false, + "packageTypes": [ + { + "name": "Dependency" + } + ], + "versions": [ + { + "version": "2.0.0", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.zodsharp/2.0.0.json" + }, + { + "version": "2.0.1", + "downloads": 0, + "@id": "https://api.nuget.org/v3/registration5-semver1/purview.zodsharp/2.0.1.json" + } + ], + "vulnerabilities": [] + } + ] } diff --git a/src/fixtures/releases/index.json b/src/fixtures/releases/index.json index 163e222..4021b09 100644 --- a/src/fixtures/releases/index.json +++ b/src/fixtures/releases/index.json @@ -1,6 +1,6 @@ { - "schema": 1, - "retrievedAt": "2026-09-18T17:28:23.132Z", + "schema": 2, + "retrievedAt": "2026-10-07T09:23:19.376Z", "repos": { "purview-dev/telemetry-sourcegenerator": { "name": "telemetry-sourcegenerator", @@ -33,7 +33,7 @@ "stargazersCount": 35, "openIssuesCount": 0, "defaultBranch": "main", - "updatedAt": "2026-09-18T08:19:16Z", + "updatedAt": "2026-10-07T07:00:07Z", "hasDiscussions": false }, "purview-dev/event-sourcing": { @@ -64,7 +64,7 @@ "stargazersCount": 4, "openIssuesCount": 0, "defaultBranch": "main", - "updatedAt": "2026-09-18T17:17:37Z", + "updatedAt": "2026-10-02T06:19:49Z", "hasDiscussions": false }, "purview-dev/zodsharp": { @@ -90,7 +90,7 @@ "stargazersCount": 1, "openIssuesCount": 0, "defaultBranch": "main", - "updatedAt": "2026-09-18T08:18:43Z", + "updatedAt": "2026-10-07T06:24:39Z", "hasDiscussions": false }, "purview-dev/value-objects": { @@ -122,7 +122,7 @@ "stargazersCount": 1, "openIssuesCount": 0, "defaultBranch": "main", - "updatedAt": "2026-09-18T17:05:08Z", + "updatedAt": "2026-10-07T06:54:13Z", "hasDiscussions": false }, "purview-dev/sourcegenerator-framework": { @@ -152,7 +152,35 @@ "stargazersCount": 2, "openIssuesCount": 0, "defaultBranch": "main", - "updatedAt": "2026-09-18T08:18:57Z", + "updatedAt": "2026-10-06T22:47:00Z", + "hasDiscussions": false + }, + "purview-dev/results": { + "name": "results", + "fullName": "purview-dev/results", + "description": "Result types for .NET - a small, dependency-light Result where expected failures are values instead of exceptions, C# 15 union error cases with generated AsFailure() helpers, and ASP.NET Core and ZodSharp integrations that map failures to HTTP responses.", + "archived": false, + "homepage": "https://purview.dev/projects/results/", + "topics": [ + "aspnetcore", + "c-sharp", + "csharp", + "discriminated-unions", + "dotnet", + "error-handling", + "minimal-apis", + "nuget", + "problem-details", + "result-type", + "roslyn", + "source-generator", + "union-types", + "zodsharp" + ], + "stargazersCount": 1, + "openIssuesCount": 0, + "defaultBranch": "main", + "updatedAt": "2026-10-07T07:13:09Z", "hasDiscussions": false }, "purview-dev/aspire-resourcekit": { @@ -180,7 +208,7 @@ "stargazersCount": 2, "openIssuesCount": 0, "defaultBranch": "main", - "updatedAt": "2026-09-18T08:16:53Z", + "updatedAt": "2026-10-07T07:28:16Z", "hasDiscussions": false }, "purview-dev/aspirec4": { @@ -211,9 +239,9 @@ "visualization" ], "stargazersCount": 9, - "openIssuesCount": 1, + "openIssuesCount": 2, "defaultBranch": "main", - "updatedAt": "2026-09-17T17:47:24Z", + "updatedAt": "2026-10-07T07:28:42Z", "hasDiscussions": false }, "purview-dev/build": { @@ -236,10 +264,10 @@ "nuget", "reusable-workflow" ], - "stargazersCount": 0, - "openIssuesCount": 1, + "stargazersCount": 1, + "openIssuesCount": 0, "defaultBranch": "main", - "updatedAt": "2026-09-18T11:35:40Z", + "updatedAt": "2026-10-06T22:37:09Z", "hasDiscussions": false }, "purview-dev/build-sdk": { @@ -269,7 +297,7 @@ "stargazersCount": 1, "openIssuesCount": 0, "defaultBranch": "main", - "updatedAt": "2026-09-18T08:15:42Z", + "updatedAt": "2026-10-06T22:32:50Z", "hasDiscussions": false }, "purview-dev/dotnet-logging-source-generators": { @@ -285,34 +313,6 @@ "updatedAt": "2024-04-28T11:21:49Z", "hasDiscussions": false }, - "purview-dev/results": { - "name": "results", - "fullName": "purview-dev/results", - "description": "Result types for .NET - a small, dependency-light Result where expected failures are values instead of exceptions, C# 15 union error cases with generated AsFailure() helpers, and ASP.NET Core and ZodSharp integrations that map failures to HTTP responses.", - "archived": false, - "homepage": "https://purview.dev/projects/results/", - "topics": [ - "aspnetcore", - "c-sharp", - "csharp", - "discriminated-unions", - "dotnet", - "error-handling", - "minimal-apis", - "nuget", - "problem-details", - "result-type", - "roslyn", - "source-generator", - "union-types", - "zodsharp" - ], - "stargazersCount": 0, - "openIssuesCount": 0, - "defaultBranch": "main", - "updatedAt": "2026-09-30T14:05:36Z", - "hasDiscussions": false - }, "purview-dev/containers": { "name": "containers", "fullName": "purview-dev/containers", @@ -340,20 +340,110 @@ "wsl-containers", "wslc" ], - "stargazersCount": 1, + "stargazersCount": 3, "openIssuesCount": 0, "defaultBranch": "main", - "updatedAt": "2026-10-02T07:36:57Z", + "updatedAt": "2026-10-07T08:30:54Z", "hasDiscussions": false } }, "releases": { "purview-dev/telemetry-sourcegenerator": [ + { + "tagName": "v5.0.1", + "name": "v5.0.1", + "body": "## What's Changed\n* chore: add MIT license file by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/141\n* Adopting Source Generator Framework (GA) by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/142\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0...v5.0.1", + "prerelease": false, + "draft": false, + "publishedAt": "2026-10-07T07:04:39Z", + "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.1" + }, + { + "tagName": "v5.0.0", + "name": "v5.0.0", + "body": "## What's Changed\n* chore: update GitHub Actions workflows by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/93\n* fix: trigger CD for merged code changes by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/95\n* chore(release): 4.1.0 by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/94\n* Bump the nuget group with 1 update by @dependabot[bot] in https://github.com/purview-dev/telemetry-sourcegenerator/pull/96\n* Bump the nuget group with 1 update by @dependabot[bot] in https://github.com/purview-dev/telemetry-sourcegenerator/pull/98\n* expanding refactorings by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/99\n* feat: use AddEmbeddedAttributeDefinition + changeset release flow by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/100\n* refactor(ci): use reusable workflows from kjldev/.github by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/101\n* chore: remove husky by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/103\n* fix(release): skip wiki push in CI, add post-release wiki update to CD by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/104\n* Version Packages in https://github.com/purview-dev/telemetry-sourcegenerator/pull/105\n* Project structure + agent skills by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/110\n* build: trying to fix the pipeline by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/111\n* build: trying to fix the pipeline by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/112\n* Fix build by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/114\n* build: fix the sample build by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/115\n* build: fix Pipeline pack by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/116\n* Refactoring defaults by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/117\n* build: fixed sample build by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/118\n* fix: di summary had double global:: by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/119\n* Fixing attrib gen by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/120\n* chore: updating to latest source gen by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/121\n* docs: updated docs and bumped sdk by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/122\n* docs: updated urls in documentation by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/123\n* docs: add documentation wiki by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/124\n* docs: refresh performance benchmarks by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/127\n* fix: make benchmark host builds resolve the generator correctly by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/125\n* docs: refresh performance benchmarks by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/126\n* perf: fixed logger v2 benchmarks and added agressive inlining by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/128\n* chore: bumped version by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/129\n* chore: update to Purview.BuildSdk and bump to 5.0.0-prerelease.10 by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/130\n* chore: update branding assets, bump version, and use human-readable name by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/131\n* chore: bumped package version by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/132\n* refactor: source gen update by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/133\n* chore: source gen update by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/134\n* chore: bumped source gen by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/135\n* fix: sg leaking types by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/136\n* fix: regression on file copy by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/137\n* fix: misrepresentation of the naming error by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/138\n* refactor: source gen update by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/139\n* docs(release): updated shipped/ release docs by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/140\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v4.1.0...v5.0.0", + "prerelease": false, + "draft": false, + "publishedAt": "2026-09-29T12:12:57Z", + "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0" + }, + { + "tagName": "v5.0.0-prerelease.19", + "name": "v5.0.0-prerelease.19", + "body": "## What's Changed\n* refactor: source gen update by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/139\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.18...v5.0.0-prerelease.19", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-28T20:23:04Z", + "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.19" + }, + { + "tagName": "v5.0.0-prerelease.18", + "name": "v5.0.0-prerelease.18", + "body": "## What's Changed\n* fix: misrepresentation of the naming error by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/138\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.17...v5.0.0-prerelease.18", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-27T14:15:15Z", + "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.18" + }, + { + "tagName": "v5.0.0-prerelease.17", + "name": "v5.0.0-prerelease.17", + "body": "## What's Changed\n* fix: regression on file copy by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/137\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.16...v5.0.0-prerelease.17", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-25T14:12:36Z", + "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.17" + }, + { + "tagName": "v5.0.0-prerelease.16", + "name": "v5.0.0-prerelease.16", + "body": "## What's Changed\n* fix: sg leaking types by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/136\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.15...v5.0.0-prerelease.16", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-24T21:55:40Z", + "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.16" + }, + { + "tagName": "v5.0.0-prerelease.15", + "name": "v5.0.0-prerelease.15", + "body": "## What's Changed\n* chore: bumped source gen by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/135\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.14...v5.0.0-prerelease.15", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-24T16:09:30Z", + "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.15" + }, + { + "tagName": "v5.0.0-prerelease.14", + "name": "v5.0.0-prerelease.14", + "body": "## What's Changed\n* chore: source gen update by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/134\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.13...v5.0.0-prerelease.14", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-23T16:18:55Z", + "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.14" + }, + { + "tagName": "v5.0.0-prerelease.13", + "name": "v5.0.0-prerelease.13", + "body": "## What's Changed\n* refactor: source gen update by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/133\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.12...v5.0.0-prerelease.13", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-23T10:22:24Z", + "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.13" + }, + { + "tagName": "v5.0.0-prerelease.12", + "name": "v5.0.0-prerelease.12", + "body": "## What's Changed\n* chore: bumped package version by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/132\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.11...v5.0.0-prerelease.12", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-22T15:41:57Z", + "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.12" + }, { "tagName": "v5.0.0-prerelease.11", "name": "v5.0.0-prerelease.11", "body": "## What's Changed\n* chore: update branding assets, bump version, and use human-readable name by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/131\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.10...v5.0.0-prerelease.11", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-18T08:22:49Z", "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.11" @@ -362,7 +452,7 @@ "tagName": "v5.0.0-prerelease.10", "name": "v5.0.0-prerelease.10", "body": "## What's Changed\n* chore: update to Purview.BuildSdk and bump to 5.0.0-prerelease.10 by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/130\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.9...v5.0.0-prerelease.10", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-17T17:52:12Z", "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.10" @@ -371,7 +461,7 @@ "tagName": "v5.0.0-prerelease.9", "name": "v5.0.0-prerelease.9", "body": "## What's Changed\n* docs: updated urls in documentation by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/123\n* docs: add documentation wiki by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/124\n* docs: refresh performance benchmarks by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/127\n* fix: make benchmark host builds resolve the generator correctly by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/125\n* docs: refresh performance benchmarks by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/126\n* perf: fixed logger v2 benchmarks and added agressive inlining by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/128\n* chore: bumped version by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/129\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.8...v5.0.0-prerelease.9", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-16T22:05:51Z", "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.9" @@ -380,7 +470,7 @@ "tagName": "v5.0.0-prerelease.8", "name": "v5.0.0-prerelease.8", "body": "## What's Changed\n* docs: updated docs and bumped sdk by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/122\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.7...v5.0.0-prerelease.8", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-14T13:32:19Z", "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.8" @@ -389,7 +479,7 @@ "tagName": "v5.0.0-prerelease.7", "name": "v5.0.0-prerelease.7", "body": "## What's Changed\n* chore: updating to latest source gen by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/121\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.6...v5.0.0-prerelease.7", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-12T13:57:45Z", "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.7" @@ -398,7 +488,7 @@ "tagName": "v5.0.0-prerelease.6", "name": "v5.0.0-prerelease.6", "body": "## What's Changed\n* Fixing attrib gen by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/120\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.5...v5.0.0-prerelease.6", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-08T15:33:14Z", "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.6" @@ -407,7 +497,7 @@ "tagName": "v5.0.0-prerelease.5", "name": "v5.0.0-prerelease.5", "body": "## What's Changed\n* fix: di summary had double global:: by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/119\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.4...v5.0.0-prerelease.5", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-06T08:44:27Z", "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.5" @@ -416,7 +506,7 @@ "tagName": "v5.0.0-prerelease.4", "name": "v5.0.0-prerelease.4", "body": "## What's Changed\n* build: fixed sample build by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/118\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.3...v5.0.0-prerelease.4", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-04T12:38:54Z", "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.4" @@ -425,7 +515,7 @@ "tagName": "v5.0.0-prerelease.3", "name": "v5.0.0-prerelease.3", "body": "## What's Changed\n* Refactoring defaults by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/117\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.2...v5.0.0-prerelease.3", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-03T16:06:08Z", "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.3" @@ -434,7 +524,7 @@ "tagName": "v5.0.0-prerelease.2", "name": "v5.0.0-prerelease.2", "body": "## What's Changed\n* Fix build by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/114\n* build: fix the sample build by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/115\n* build: fix Pipeline pack by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/116\n\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v5.0.0-prerelease.1...v5.0.0-prerelease.2", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-03T10:27:03Z", "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.2" @@ -443,7 +533,7 @@ "tagName": "v5.0.0-prerelease.1", "name": "v5.0.0-prerelease.1", "body": "## What's Changed\n* chore: update GitHub Actions workflows by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/93\n* fix: trigger CD for merged code changes by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/95\n* chore(release): 4.1.0 by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/94\n* Bump the nuget group with 1 update by @dependabot[bot] in https://github.com/purview-dev/telemetry-sourcegenerator/pull/96\n* Bump the nuget group with 1 update by @dependabot[bot] in https://github.com/purview-dev/telemetry-sourcegenerator/pull/98\n* expanding refactorings by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/99\n* feat: use AddEmbeddedAttributeDefinition + changeset release flow by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/100\n* refactor(ci): use reusable workflows from kjldev/.github by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/101\n* chore: remove husky by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/103\n* fix(release): skip wiki push in CI, add post-release wiki update to CD by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/104\n* Version Packages by @kjldev-release-bot[bot] in https://github.com/purview-dev/telemetry-sourcegenerator/pull/105\n* Project structure + agent skills by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/110\n* build: trying to fix the pipeline by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/111\n* build: trying to fix the pipeline by @kieronlanning in https://github.com/purview-dev/telemetry-sourcegenerator/pull/112\n\n## New Contributors\n* @kjldev-release-bot[bot] made their first contribution in https://github.com/purview-dev/telemetry-sourcegenerator/pull/105\n\n**Full Changelog**: https://github.com/purview-dev/telemetry-sourcegenerator/compare/v4.1.0...v5.0.0-prerelease.1", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-01T22:16:46Z", "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v5.0.0-prerelease.1" @@ -618,41 +708,41 @@ "draft": false, "publishedAt": "2024-04-30T17:35:41Z", "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v1.0.3" - }, + } + ], + "purview-dev/event-sourcing": [ { - "tagName": "v1.0.2", - "name": "v1.0.2", - "body": "## What's Changed\r\n* feat: used the assembly name as the default activity source name by @kieronlanning in https://github.com/purview-dev/purview-telemetry-sourcegenerator/pull/17\r\n\r\n\r\n**Full Changelog**: https://github.com/purview-dev/purview-telemetry-sourcegenerator/compare/v1.0.1...v1.0.2", - "prerelease": false, + "tagName": "v2.0.0-prerelease.39", + "name": "v2.0.0-prerelease.39", + "body": "## What's Changed\n* fix: broken tests after sgf updates by @kieronlanning in https://github.com/purview-dev/event-sourcing/pull/58\n\n\n**Full Changelog**: https://github.com/purview-dev/event-sourcing/compare/v2.0.0-prerelease.38...v2.0.0-prerelease.39", + "prerelease": true, "draft": false, - "publishedAt": "2024-04-26T07:15:18Z", - "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v1.0.2" + "publishedAt": "2026-09-29T10:32:10Z", + "htmlUrl": "https://github.com/purview-dev/event-sourcing/releases/tag/v2.0.0-prerelease.39" }, { - "tagName": "v1.0.1", - "name": "v1.0.1", - "body": "This does include a **breaking change**, where dependency generated method names no-longer contain the first `I` from the interface name. E.g. `AddICacheServiceTelemetry` is now `AddCacheServiceTelemetry`.", - "prerelease": false, + "tagName": "v2.0.0-prerelease.38", + "name": "v2.0.0-prerelease.38", + "body": "## What's Changed\n* chore: bumped version by @kieronlanning in https://github.com/purview-dev/event-sourcing/pull/57\n\n\n**Full Changelog**: https://github.com/purview-dev/event-sourcing/compare/v2.0.0-prerelease.36...v2.0.0-prerelease.38", + "prerelease": true, "draft": false, - "publishedAt": "2024-04-25T17:35:44Z", - "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v1.0.1" + "publishedAt": "2026-09-25T14:43:24Z", + "htmlUrl": "https://github.com/purview-dev/event-sourcing/releases/tag/v2.0.0-prerelease.38" }, { - "tagName": "v1.0.0", - "name": "v1.0.0", - "body": "", - "prerelease": false, + "tagName": "v2.0.0-prerelease.36", + "name": "v2.0.0-prerelease.36", + "body": "## What's Changed\n* chore: bumped package version by @kieronlanning in https://github.com/purview-dev/event-sourcing/pull/56\n\n\n**Full Changelog**: https://github.com/purview-dev/event-sourcing/compare/v2.0.0-prerelease.35...v2.0.0-prerelease.36", + "prerelease": true, "draft": false, - "publishedAt": "2024-04-15T14:13:12Z", - "htmlUrl": "https://github.com/purview-dev/telemetry-sourcegenerator/releases/tag/v1.0.0" - } - ], - "purview-dev/event-sourcing": [ + "publishedAt": "2026-09-24T08:21:57Z", + "htmlUrl": "https://github.com/purview-dev/event-sourcing/releases/tag/v2.0.0-prerelease.36" + }, { "tagName": "v2.0.0-prerelease.35", "name": "v2.0.0-prerelease.35", "body": "## What's Changed\n* Migrate to valueobjects by @kieronlanning in https://github.com/purview-dev/event-sourcing/pull/55\n\n\n**Full Changelog**: https://github.com/purview-dev/event-sourcing/compare/v2.0.0-prerelease.34...v2.0.0-prerelease.35", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-18T17:21:36Z", "htmlUrl": "https://github.com/purview-dev/event-sourcing/releases/tag/v2.0.0-prerelease.35" @@ -661,7 +751,7 @@ "tagName": "v2.0.0-prerelease.34", "name": "v2.0.0-prerelease.34", "body": "## What's Changed\n* docs: reference framework as Purview.ZodSharp and fix stale package IDs by @kieronlanning in https://github.com/purview-dev/event-sourcing/pull/53\n* chore: update branding assets, bump version, and use human-readable name by @kieronlanning in https://github.com/purview-dev/event-sourcing/pull/54\n\n\n**Full Changelog**: https://github.com/purview-dev/event-sourcing/compare/v2.0.0-prerelease.33...v2.0.0-prerelease.34", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-18T08:24:00Z", "htmlUrl": "https://github.com/purview-dev/event-sourcing/releases/tag/v2.0.0-prerelease.34" @@ -670,7 +760,7 @@ "tagName": "v2.0.0-prerelease.33", "name": "v2.0.0-prerelease.33", "body": "## What's Changed\n* chore: bumped sdk - no core version bump by @kieronlanning in https://github.com/purview-dev/event-sourcing/pull/50\n* Docs update by @kieronlanning in https://github.com/purview-dev/event-sourcing/pull/51\n* chore: rename to event-sourcing and bump to 2.0.0-prerelease.33 by @kieronlanning in https://github.com/purview-dev/event-sourcing/pull/52\n\n\n**Full Changelog**: https://github.com/purview-dev/event-sourcing/compare/v2.0.0-prerelease.32...v2.0.0-prerelease.33", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-17T17:54:44Z", "htmlUrl": "https://github.com/purview-dev/event-sourcing/releases/tag/v2.0.0-prerelease.33" @@ -679,7 +769,7 @@ "tagName": "v2.0.0-prerelease.32", "name": "v2.0.0-prerelease.32", "body": "## What's Changed\n* Package update by @kieronlanning in https://github.com/purview-dev/eventsourcing/pull/49\n\n\n**Full Changelog**: https://github.com/purview-dev/eventsourcing/compare/v2.0.0-prerelease.31...v2.0.0-prerelease.32", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-15T08:12:56Z", "htmlUrl": "https://github.com/purview-dev/event-sourcing/releases/tag/v2.0.0-prerelease.32" @@ -688,7 +778,7 @@ "tagName": "v2.0.0-prerelease.31", "name": "v2.0.0-prerelease.31", "body": "## What's Changed\n* chore: removed old ZodSharp packages by @kieronlanning in https://github.com/purview-dev/eventsourcing/pull/47\n* Sg update by @kieronlanning in https://github.com/purview-dev/eventsourcing/pull/48\n\n\n**Full Changelog**: https://github.com/purview-dev/eventsourcing/compare/v2.0.0-prerelease.30...v2.0.0-prerelease.31", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-12T18:30:10Z", "htmlUrl": "https://github.com/purview-dev/event-sourcing/releases/tag/v2.0.0-prerelease.31" @@ -697,7 +787,7 @@ "tagName": "v2.0.0-prerelease.30", "name": "v2.0.0-prerelease.30", "body": "## What's Changed\n* Productionsation by @kieronlanning in https://github.com/purview-dev/eventsourcing/pull/46\n\n\n**Full Changelog**: https://github.com/purview-dev/eventsourcing/compare/v2.0.0-prerelease.29...v2.0.0-prerelease.30", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-08T17:49:03Z", "htmlUrl": "https://github.com/purview-dev/event-sourcing/releases/tag/v2.0.0-prerelease.30" @@ -706,7 +796,7 @@ "tagName": "v2.0.0-prerelease.29", "name": "v2.0.0-prerelease.29", "body": "## What's Changed\n* fix(ci): checkout before release publish by @kieronlanning in https://github.com/purview-dev/purview-eventsourcing/pull/26\n* chore(release): prepare prerelease.6 by @kieronlanning in https://github.com/purview-dev/purview-eventsourcing/pull/27\n* fix(ci): configure NuGet login user by @kieronlanning in https://github.com/purview-dev/purview-eventsourcing/pull/28\n* fix(ci): allow release reruns with existing tag by @kieronlanning in https://github.com/purview-dev/purview-eventsourcing/pull/29\n* build: updated CI/CD + release by @kieronlanning in https://github.com/purview-dev/purview-eventsourcing/pull/30\n* build: updated CI/CD + release by @kieronlanning in https://github.com/purview-dev/purview-eventsourcing/pull/31\n* Scope release GitHub App tokens to the invoking repository by @kieronlanning with @Copilot in https://github.com/purview-dev/purview-eventsourcing/pull/32\n* Merge pull request #32 from kjldev/copilot/configure-github-app by @kieronlanning in https://github.com/purview-dev/purview-eventsourcing/pull/33\n* Copilot/configure GitHub app by @kieronlanning in https://github.com/purview-dev/purview-eventsourcing/pull/34\n* Inconsistencies by @kieronlanning in https://github.com/purview-dev/purview-eventsourcing/pull/35\n* feat: added snapshot strategy to all snapshot stores + azure table store by @kieronlanning in https://github.com/purview-dev/purview-eventsourcing/pull/36\n* Snapshot strategies by @kieronlanning in https://github.com/purview-dev/purview-eventsourcing/pull/37\n* Cleaning by @kieronlanning in https://github.com/purview-dev/purview-eventsourcing/pull/41\n* Sample app repair by @kieronlanning in https://github.com/purview-dev/purview-eventsourcing/pull/42\n* Code writer by @kieronlanning in https://github.com/purview-dev/purview-eventsourcing/pull/44\n* build: using shared build by @kieronlanning in https://github.com/purview-dev/purview-eventsourcing/pull/45\n\n\n**Full Changelog**: https://github.com/purview-dev/purview-eventsourcing/compare/v2.0.0-prerelease.5...v2.0.0-prerelease.29", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-04T15:11:28Z", "htmlUrl": "https://github.com/purview-dev/event-sourcing/releases/tag/v2.0.0-prerelease.29" @@ -749,11 +839,200 @@ } ], "purview-dev/zodsharp": [ + { + "tagName": "v2.0.1", + "name": "v2.0.1", + "body": "## What's Changed\n* chore: add MIT license file by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/50\n* Zodrules update by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/51\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0...v2.0.1", + "prerelease": false, + "draft": false, + "publishedAt": "2026-10-07T06:29:49Z", + "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.1" + }, + { + "tagName": "v2.0.0", + "name": "v2.0.0", + "body": "## What's Changed\n* chore(release): prepare the first stable release (2.0.0) by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/49\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.28...v2.0.0", + "prerelease": false, + "draft": false, + "publishedAt": "2026-09-29T14:20:50Z", + "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0" + }, + { + "tagName": "v2.0.0-prerelease.28", + "name": "v2.0.0-prerelease.28", + "body": "## What's Changed\n* docs: updated readme by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/47\n* refactor: source gen update by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/48\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.27...v2.0.0-prerelease.28", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-28T20:18:13Z", + "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.28" + }, + { + "tagName": "v2.0.0-prerelease.27", + "name": "v2.0.0-prerelease.27", + "body": "## What's Changed\n* refactor: merged VO-introducted refine/ validate pipeline by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/46\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.26...v2.0.0-prerelease.27", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-27T23:06:05Z", + "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.27" + }, + { + "tagName": "v2.0.0-prerelease.26", + "name": "v2.0.0-prerelease.26", + "body": "## What's Changed\n* ci: mark prerelease versions as GitHub prereleases by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/42\n* ci: restore minimal release workflow by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/43\n* chore: source gen update by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/44\n* Source gen update by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/45\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.25...v2.0.0-prerelease.26", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-27T14:29:39Z", + "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.26" + }, + { + "tagName": "v2.0.0-prerelease.25", + "name": "v2.0.0-prerelease.25", + "body": "## What's Changed\n* Custom rules by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/41\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.24...v2.0.0-prerelease.25", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-27T11:21:01Z", + "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.25" + }, + { + "tagName": "v2.0.0-prerelease.24", + "name": "v2.0.0-prerelease.24", + "body": "## What's Changed\n* fix: schemas are only generated in the containing type now by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/40\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.23...v2.0.0-prerelease.24", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-25T15:23:59Z", + "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.24" + }, + { + "tagName": "v2.0.0-prerelease.23", + "name": "v2.0.0-prerelease.23", + "body": "## What's Changed\n* fix: regression on file copy by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/39\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.22...v2.0.0-prerelease.23", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-25T14:08:35Z", + "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.23" + }, + { + "tagName": "v2.0.0-prerelease.22", + "name": "v2.0.0-prerelease.22", + "body": "## What's Changed\n* fix: sg leaking types by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/38\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.21...v2.0.0-prerelease.22", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-24T21:33:13Z", + "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.22" + }, + { + "tagName": "v2.0.0-prerelease.21", + "name": "v2.0.0-prerelease.21", + "body": "## What's Changed\n* chore: bumped source gen by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/37\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.20...v2.0.0-prerelease.21", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-24T16:14:20Z", + "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.21" + }, + { + "tagName": "v2.0.0-prerelease.20", + "name": "v2.0.0-prerelease.20", + "body": "## What's Changed\n* chore: fixed source gen il-merge by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/36\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.19...v2.0.0-prerelease.20", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-23T16:01:32Z", + "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.20" + }, + { + "tagName": "v2.0.0-prerelease.19", + "name": "v2.0.0-prerelease.19", + "body": "## What's Changed\n* build: new build updates by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/35\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.18...v2.0.0-prerelease.19", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-23T10:07:12Z", + "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.19" + }, + { + "tagName": "v2.0.0-prerelease.18", + "name": "v2.0.0-prerelease.18", + "body": "## What's Changed\n* refactor: source gen update by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/34\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.17...v2.0.0-prerelease.18", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-22T23:37:07Z", + "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.18" + }, + { + "tagName": "v2.0.0-prerelease.17", + "name": "v2.0.0-prerelease.17", + "body": "## What's Changed\n* chore: bumped package version by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/33\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.16...v2.0.0-prerelease.17", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-22T15:04:50Z", + "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.17" + }, + { + "tagName": "v2.0.0-prerelease.16", + "name": "v2.0.0-prerelease.16", + "body": "## What's Changed\n* feat: added assembly scanning by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/32\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.15...v2.0.0-prerelease.16", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-21T15:10:27Z", + "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.16" + }, + { + "tagName": "v2.0.0-prerelease.15", + "name": "v2.0.0-prerelease.15", + "body": "## What's Changed\n* feat: added assembly scanning for ioc by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/31\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.14...v2.0.0-prerelease.15", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-21T14:13:09Z", + "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.15" + }, + { + "tagName": "v2.0.0-prerelease.14", + "name": "v2.0.0-prerelease.14", + "body": "## What's Changed\n* refactor: error factory moved to Core by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/30\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.13...v2.0.0-prerelease.14", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-21T07:01:48Z", + "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.14" + }, + { + "tagName": "v2.0.0-prerelease.13", + "name": "v2.0.0-prerelease.13", + "body": "## What's Changed\n* refactor: updated namespace by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/29\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.12...v2.0.0-prerelease.13", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-20T15:07:53Z", + "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.13" + }, + { + "tagName": "v2.0.0-prerelease.12", + "name": "v2.0.0-prerelease.12", + "body": "## What's Changed\n* Typed params by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/28\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.11...v2.0.0-prerelease.12", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-20T08:57:49Z", + "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.12" + }, + { + "tagName": "v2.0.0-prerelease.11", + "name": "v2.0.0-prerelease.11", + "body": "## What's Changed\n* refactor(sg): to use correct framework by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/27\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.10...v2.0.0-prerelease.11", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-19T15:30:01Z", + "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.11" + }, + { + "tagName": "v2.0.0-prerelease.10", + "name": "v2.0.0-prerelease.10", + "body": "## What's Changed\n* feat: added error registry by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/26\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.9...v2.0.0-prerelease.10", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-19T11:14:41Z", + "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.10" + }, { "tagName": "v2.0.0-prerelease.9", "name": "v2.0.0-prerelease.9", "body": "## What's Changed\n* docs: reference framework as Purview.ZodSharp by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/24\n* chore: update branding assets, bump version, and use human-readable name by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/25\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.8...v2.0.0-prerelease.9", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-18T08:21:13Z", "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.9" @@ -762,7 +1041,7 @@ "tagName": "v2.0.0-prerelease.8", "name": "v2.0.0-prerelease.8", "body": "## What's Changed\n* chore: update to Purview.BuildSdk and bump to 2.0.0-prerelease.8 by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/23\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.7...v2.0.0-prerelease.8", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-17T17:50:27Z", "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.8" @@ -771,7 +1050,7 @@ "tagName": "v2.0.0-prerelease.7", "name": "v2.0.0-prerelease.7", "body": "## What's Changed\n* docs: updated urls in documentation by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/21\n* feat: added uuid version rule support by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/22\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.6...v2.0.0-prerelease.7", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-17T08:10:24Z", "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.7" @@ -780,7 +1059,7 @@ "tagName": "v2.0.0-prerelease.6", "name": "v2.0.0-prerelease.6", "body": "## What's Changed\n* docs: updated docs and bumped sdk by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/19\n* fix: double packed readme.md by @kieronlanning in https://github.com/purview-dev/zodsharp/pull/20\n\n\n**Full Changelog**: https://github.com/purview-dev/zodsharp/compare/v2.0.0-prerelease.5...v2.0.0-prerelease.6", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-14T16:06:20Z", "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.6" @@ -789,7 +1068,7 @@ "tagName": "v2.0.0-prerelease.5", "name": "v2.0.0-prerelease.5", "body": "## What's Changed\n* fix: timespan/ datetime/ etc was failing with sg range validation by @kieronlanning in https://github.com/purview-dev/ZodSharp/pull/18\n\n\n**Full Changelog**: https://github.com/purview-dev/ZodSharp/compare/v2.0.0-prerelease.4...v2.0.0-prerelease.5", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-12T16:29:37Z", "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.5" @@ -798,7 +1077,7 @@ "tagName": "v2.0.0-prerelease.4", "name": "v2.0.0-prerelease.4", "body": "## What's Changed\n* chore: sdk/ sg update for perf mainly by @kieronlanning in https://github.com/purview-dev/ZodSharp/pull/17\n\n\n**Full Changelog**: https://github.com/purview-dev/ZodSharp/compare/v2.0.0-prerelease.3...v2.0.0-prerelease.4", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-12T13:50:11Z", "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.4" @@ -807,7 +1086,7 @@ "tagName": "v2.0.0-prerelease.3", "name": "v2.0.0-prerelease.3", "body": "## What's Changed\n* Sg update by @kieronlanning in https://github.com/purview-dev/ZodSharp/pull/16\n\n\n**Full Changelog**: https://github.com/purview-dev/ZodSharp/compare/v2.0.0-prerelease.2...v2.0.0-prerelease.3", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-08T17:17:32Z", "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.3" @@ -816,7 +1095,7 @@ "tagName": "v2.0.0-prerelease.2", "name": "v2.0.0-prerelease.2", "body": "## What's Changed\n* fix: uses string literal for user provided values by @kieronlanning in https://github.com/purview-dev/ZodSharp/pull/15\n\n\n**Full Changelog**: https://github.com/purview-dev/ZodSharp/compare/v2.0.0-prerelease.1...v2.0.0-prerelease.2", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-06T08:36:12Z", "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.2" @@ -825,7 +1104,7 @@ "tagName": "v2.0.0-prerelease.1", "name": "v2.0.0-prerelease.1", "body": "## What's Changed\n* Source gen perf by @kieronlanning in https://github.com/purview-dev/ZodSharp/pull/9\n* Requested changes by @kieronlanning in https://github.com/purview-dev/ZodSharp/pull/10\n* fix: required/ optional feat drift and package version pinning by @kieronlanning in https://github.com/purview-dev/ZodSharp/pull/11\n* More edits by @kieronlanning in https://github.com/purview-dev/ZodSharp/pull/12\n* Migration by @kieronlanning in https://github.com/purview-dev/ZodSharp/pull/13\n* docs: updated package IDs (Purview.*) and repo references by @kieronlanning in https://github.com/purview-dev/ZodSharp/pull/14\n\n\n**Full Changelog**: https://github.com/purview-dev/ZodSharp/commits/v2.0.0-prerelease.1", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-05T16:57:51Z", "htmlUrl": "https://github.com/purview-dev/zodsharp/releases/tag/v2.0.0-prerelease.1" @@ -833,11 +1112,101 @@ ], "purview-dev/value-objects": [ { - "tagName": "v1.0.0-prerelease.2", - "name": "v1.0.0-prerelease.2", - "body": "## What's Changed\n* docs: added nuget and build badges£ by @kieronlanning in https://github.com/purview-dev/value-objects/pull/1\n\n## New Contributors\n* @kieronlanning made their first contribution in https://github.com/purview-dev/value-objects/pull/1\n\n**Full Changelog**: https://github.com/purview-dev/value-objects/compare/v1.0.0-prerelease.1...v1.0.0-prerelease.2", + "tagName": "v1.0.0", + "name": "v1.0.0", + "body": "## What's Changed\n* chore: add MIT license file by @kieronlanning in https://github.com/purview-dev/value-objects/pull/13\n* Rules updates by @kieronlanning in https://github.com/purview-dev/value-objects/pull/14\n\n\n**Full Changelog**: https://github.com/purview-dev/value-objects/compare/v1.0.0-prerelease.11...v1.0.0", "prerelease": false, "draft": false, + "publishedAt": "2026-10-07T06:56:37Z", + "htmlUrl": "https://github.com/purview-dev/value-objects/releases/tag/v1.0.0" + }, + { + "tagName": "v1.0.0-prerelease.11", + "name": "v1.0.0-prerelease.11", + "body": "## What's Changed\n* fix: internal types were merged out by @kieronlanning in https://github.com/purview-dev/value-objects/pull/12\n\n\n**Full Changelog**: https://github.com/purview-dev/value-objects/compare/v1.0.0-prerelease.10...v1.0.0-prerelease.11", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-30T11:04:33Z", + "htmlUrl": "https://github.com/purview-dev/value-objects/releases/tag/v1.0.0-prerelease.11" + }, + { + "tagName": "v1.0.0-prerelease.10", + "name": "v1.0.0-prerelease.10", + "body": "## What's Changed\n* chore: package updates by @kieronlanning in https://github.com/purview-dev/value-objects/pull/11\n\n\n**Full Changelog**: https://github.com/purview-dev/value-objects/compare/v1.0.0-prerelease.9...v1.0.0-prerelease.10", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-29T15:34:52Z", + "htmlUrl": "https://github.com/purview-dev/value-objects/releases/tag/v1.0.0-prerelease.10" + }, + { + "tagName": "v1.0.0-prerelease.9", + "name": "v1.0.0-prerelease.9", + "body": "## What's Changed\n* chore: bumped zod version by @kieronlanning in https://github.com/purview-dev/value-objects/pull/10\n\n\n**Full Changelog**: https://github.com/purview-dev/value-objects/compare/v1.0.0-prerelease.8...v1.0.0-prerelease.9", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-28T20:39:13Z", + "htmlUrl": "https://github.com/purview-dev/value-objects/releases/tag/v1.0.0-prerelease.9" + }, + { + "tagName": "v1.0.0-prerelease.8", + "name": "v1.0.0-prerelease.8", + "body": "## What's Changed\n* chore: source gen update by @kieronlanning in https://github.com/purview-dev/value-objects/pull/9\n\n\n**Full Changelog**: https://github.com/purview-dev/value-objects/compare/v1.0.0-prerelease.7...v1.0.0-prerelease.8", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-28T20:30:13Z", + "htmlUrl": "https://github.com/purview-dev/value-objects/releases/tag/v1.0.0-prerelease.8" + }, + { + "tagName": "v1.0.0-prerelease.7", + "name": "v1.0.0-prerelease.7", + "body": "## What's Changed\n* Better zod integration by @kieronlanning in https://github.com/purview-dev/value-objects/pull/8\n\n\n**Full Changelog**: https://github.com/purview-dev/value-objects/compare/v1.0.0-prerelease.6...v1.0.0-prerelease.7", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-27T23:16:08Z", + "htmlUrl": "https://github.com/purview-dev/value-objects/releases/tag/v1.0.0-prerelease.7" + }, + { + "tagName": "v1.0.0-prerelease.6", + "name": "v1.0.0-prerelease.6", + "body": "## What's Changed\n* Ef valueconverter fix by @kieronlanning in https://github.com/purview-dev/value-objects/pull/7\n\n\n**Full Changelog**: https://github.com/purview-dev/value-objects/compare/v1.0.0-prerelease.5...v1.0.0-prerelease.6", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-25T14:21:23Z", + "htmlUrl": "https://github.com/purview-dev/value-objects/releases/tag/v1.0.0-prerelease.6" + }, + { + "tagName": "v1.0.0-prerelease.5", + "name": "v1.0.0-prerelease.5", + "body": "## What's Changed\n* Ef integration by @kieronlanning in https://github.com/purview-dev/value-objects/pull/6\n\n\n**Full Changelog**: https://github.com/purview-dev/value-objects/compare/v1.0.0-prerelease.4...v1.0.0-prerelease.5", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-24T08:06:39Z", + "htmlUrl": "https://github.com/purview-dev/value-objects/releases/tag/v1.0.0-prerelease.5" + }, + { + "tagName": "v1.0.0-prerelease.4", + "name": "v1.0.0-prerelease.4", + "body": "## What's Changed\n* fix: attribute properties were get only with no ctor by @kieronlanning in https://github.com/purview-dev/value-objects/pull/5\n\n\n**Full Changelog**: https://github.com/purview-dev/value-objects/compare/v1.0.0-prerelease.3...v1.0.0-prerelease.4", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-20T11:23:23Z", + "htmlUrl": "https://github.com/purview-dev/value-objects/releases/tag/v1.0.0-prerelease.4" + }, + { + "tagName": "v1.0.0-prerelease.3", + "name": "v1.0.0-prerelease.3", + "body": "## What's Changed\n* doc: added ZodSharp sample by @kieronlanning in https://github.com/purview-dev/value-objects/pull/2\n* docs: updated samples by @kieronlanning in https://github.com/purview-dev/value-objects/pull/3\n* docs: updated samples by @kieronlanning in https://github.com/purview-dev/value-objects/pull/4\n\n\n**Full Changelog**: https://github.com/purview-dev/value-objects/compare/v1.0.0-prerelease.2...v1.0.0-prerelease.3", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-20T09:28:01Z", + "htmlUrl": "https://github.com/purview-dev/value-objects/releases/tag/v1.0.0-prerelease.3" + }, + { + "tagName": "v1.0.0-prerelease.2", + "name": "v1.0.0-prerelease.2", + "body": "## What's Changed\n* docs: added nuget and build badges£ by @kieronlanning in https://github.com/purview-dev/value-objects/pull/1\n\n## New Contributors\n* @kieronlanning made their first contribution in https://github.com/purview-dev/value-objects/pull/1\n\n**Full Changelog**: https://github.com/purview-dev/value-objects/compare/v1.0.0-prerelease.1...v1.0.0-prerelease.2", + "prerelease": true, + "draft": false, "publishedAt": "2026-09-18T17:06:24Z", "htmlUrl": "https://github.com/purview-dev/value-objects/releases/tag/v1.0.0-prerelease.2" }, @@ -845,18 +1214,117 @@ "tagName": "v1.0.0-prerelease.1", "name": "v1.0.0-prerelease.1", "body": "**Full Changelog**: https://github.com/purview-dev/value-objects/commits/v1.0.0-prerelease.1", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-18T16:58:43Z", "htmlUrl": "https://github.com/purview-dev/value-objects/releases/tag/v1.0.0-prerelease.1" } ], "purview-dev/sourcegenerator-framework": [ + { + "tagName": "v1.0.0", + "name": "v1.0.0", + "body": "## What's Changed\n* fix: keep a component's own internals grants through the merge, and r… by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/38\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.54...v1.0.0", + "prerelease": false, + "draft": false, + "publishedAt": "2026-10-06T22:51:55Z", + "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0" + }, + { + "tagName": "v1.0.0-prerelease.54", + "name": "v1.0.0-prerelease.54", + "body": "## What's Changed\n* fix: internaliser incorrectly matching tested types + others by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/37\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.53...v1.0.0-prerelease.54", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-28T19:57:00Z", + "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.54" + }, + { + "tagName": "v1.0.0-prerelease.53", + "name": "v1.0.0-prerelease.53", + "body": "## What's Changed\n* fix: attribute name reading failed by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/36\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.52...v1.0.0-prerelease.53", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-27T13:50:53Z", + "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.53" + }, + { + "tagName": "v1.0.0-prerelease.52", + "name": "v1.0.0-prerelease.52", + "body": "## What's Changed\n* fix: sg resolution on pack by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/35\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.51...v1.0.0-prerelease.52", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-25T13:49:57Z", + "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.52" + }, + { + "tagName": "v1.0.0-prerelease.51", + "name": "v1.0.0-prerelease.51", + "body": "## What's Changed\n* fix: sg leaking types by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/34\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.50...v1.0.0-prerelease.51", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-24T18:41:28Z", + "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.51" + }, + { + "tagName": "v1.0.0-prerelease.50", + "name": "v1.0.0-prerelease.50", + "body": "## What's Changed\n* fix: xml cref fixers by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/33\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.49...v1.0.0-prerelease.50", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-24T15:40:26Z", + "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.50" + }, + { + "tagName": "v1.0.0-prerelease.49", + "name": "v1.0.0-prerelease.49", + "body": "## What's Changed\n* chore: fixed source gen il-merge by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/32\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.48...v1.0.0-prerelease.49", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-23T15:27:35Z", + "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.49" + }, + { + "tagName": "v1.0.0-prerelease.48", + "name": "v1.0.0-prerelease.48", + "body": "## What's Changed\n* Refactor ilmerge by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/31\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.47...v1.0.0-prerelease.48", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-22T23:23:37Z", + "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.48" + }, + { + "tagName": "v1.0.0-prerelease.47", + "name": "v1.0.0-prerelease.47", + "body": "## What's Changed\n* refactor: removed the 'Shared' assembly as it was causing significant… by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/30\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.46...v1.0.0-prerelease.47", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-22T14:46:52Z", + "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.47" + }, + { + "tagName": "v1.0.0-prerelease.46", + "name": "v1.0.0-prerelease.46", + "body": "## What's Changed\n* Type library updates by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/29\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.45...v1.0.0-prerelease.46", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-22T12:41:12Z", + "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.46" + }, + { + "tagName": "v1.0.0-prerelease.45", + "name": "v1.0.0-prerelease.45", + "body": "## What's Changed\n* fix: partial method gen couldn't use no accessiblity by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/28\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.44...v1.0.0-prerelease.45", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-21T12:20:35Z", + "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.45" + }, { "tagName": "v1.0.0-prerelease.44", "name": "v1.0.0-prerelease.44", "body": "## What's Changed\n* chore: update branding assets, bump version, and use human-readable name by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/27\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.43...v1.0.0-prerelease.44", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-18T08:23:20Z", "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.44" @@ -865,7 +1333,7 @@ "tagName": "v1.0.0-prerelease.43", "name": "v1.0.0-prerelease.43", "body": "## What's Changed\n* docs: updated urls in documentation by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/25\n* chore: rename to sourcegenerator-framework and bump to 1.0.0-prerelease.43 by @kieronlanning in https://github.com/purview-dev/sourcegenerator-framework/pull/26\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegenerator-framework/compare/v1.0.0-prerelease.42...v1.0.0-prerelease.43", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-17T17:50:45Z", "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.43" @@ -874,7 +1342,7 @@ "tagName": "v1.0.0-prerelease.42", "name": "v1.0.0-prerelease.42", "body": "## What's Changed\n* chore: bumped sdk by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/24\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegeneratorframework/compare/v1.0.0-prerelease.41...v1.0.0-prerelease.42", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-14T12:53:48Z", "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.42" @@ -883,7 +1351,7 @@ "tagName": "v1.0.0-prerelease.41", "name": "v1.0.0-prerelease.41", "body": "## What's Changed\n* docs: updated readme with badges by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/23\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegeneratorframework/compare/v1.0.0-prerelease.40...v1.0.0-prerelease.41", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-14T08:16:35Z", "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.41" @@ -892,7 +1360,7 @@ "tagName": "v1.0.0-prerelease.40", "name": "v1.0.0-prerelease.40", "body": "## What's Changed\n* fix: attribute model gen doesn't work on emitted types in same run by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/22\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegeneratorframework/compare/v1.0.0-prerelease.39...v1.0.0-prerelease.40", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-13T13:14:59Z", "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.40" @@ -901,7 +1369,7 @@ "tagName": "v1.0.0-prerelease.39", "name": "v1.0.0-prerelease.39", "body": "## What's Changed\n* Removed xml pragma by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/21\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegeneratorframework/compare/v1.0.0-prerelease.38...v1.0.0-prerelease.39", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-12T13:39:13Z", "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.39" @@ -910,7 +1378,7 @@ "tagName": "v1.0.0-prerelease.38", "name": "v1.0.0-prerelease.38", "body": "## What's Changed\n* Perf pass by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/20\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegeneratorframework/compare/v1.0.0-prerelease.37...v1.0.0-prerelease.38", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-12T12:11:55Z", "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.38" @@ -919,7 +1387,7 @@ "tagName": "v1.0.0-prerelease.37", "name": "v1.0.0-prerelease.37", "body": "## What's Changed\n* String litteral and version by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/19\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegeneratorframework/compare/v1.0.0-prerelease.36...v1.0.0-prerelease.37", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-08T09:45:06Z", "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.37" @@ -928,7 +1396,7 @@ "tagName": "v1.0.0-prerelease.36", "name": "v1.0.0-prerelease.36", "body": "## What's Changed\n* feat: added string literal formatting for user provided values by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/18\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegeneratorframework/compare/v1.0.0-prerelease.35...v1.0.0-prerelease.36", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-06T08:26:19Z", "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.36" @@ -937,7 +1405,7 @@ "tagName": "v1.0.0-prerelease.35", "name": "v1.0.0-prerelease.35", "body": "## What's Changed\n* feat: added method generation apis by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/17\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegeneratorframework/compare/v1.0.0-prerelease.34...v1.0.0-prerelease.35", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-05T15:46:21Z", "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.35" @@ -946,7 +1414,7 @@ "tagName": "v1.0.0-prerelease.34", "name": "v1.0.0-prerelease.34", "body": "## What's Changed\n* fix: code fixers weren't included in the package by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/16\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegeneratorframework/compare/v1.0.0-prerelease.33...v1.0.0-prerelease.34", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-05T08:26:12Z", "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.34" @@ -955,7 +1423,7 @@ "tagName": "v1.0.0-prerelease.33", "name": "v1.0.0-prerelease.33", "body": "## What's Changed\n* Feat/expanding codewriter by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/14\n* chore: bumped version by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/15\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegeneratorframework/compare/v1.0.0-prerelease.32...v1.0.0-prerelease.33", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-04T12:20:13Z", "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.33" @@ -964,7 +1432,7 @@ "tagName": "v1.0.0-prerelease.32", "name": "v1.0.0-prerelease.32", "body": "## What's Changed\n* fix: method scope failed on single param by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/13\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegeneratorframework/compare/v1.0.0-prerelease.31...v1.0.0-prerelease.32", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-03T23:44:13Z", "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.32" @@ -973,7 +1441,7 @@ "tagName": "v1.0.0-prerelease.31", "name": "v1.0.0-prerelease.31", "body": "## What's Changed\n* build: adopt shared Purview.Build pipeline by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/11\n* chore: bumped version by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/12\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegeneratorframework/compare/v1.0.0-prerelease.30...v1.0.0-prerelease.31", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-03T22:53:07Z", "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.31" @@ -982,7 +1450,7 @@ "tagName": "v1.0.0-prerelease.30", "name": "v1.0.0-prerelease.30", "body": "## What's Changed\n* Adding extensions by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/10\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegeneratorframework/compare/v1.0.0-prerelease.29...v1.0.0-prerelease.30", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-03T15:11:51Z", "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.30" @@ -991,7 +1459,7 @@ "tagName": "v1.0.0-prerelease.29", "name": "v1.0.0-prerelease.29", "body": "## What's Changed\n* Fix pack by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/9\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegeneratorframework/compare/v1.0.0-prerelease.28...v1.0.0-prerelease.29", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-03T09:29:18Z", "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.29" @@ -1000,7 +1468,7 @@ "tagName": "v1.0.0-prerelease.28", "name": "v1.0.0-prerelease.28", "body": "## What's Changed\n* Merge pull request #6 from purview-dev/fix-pipeline by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/7\n* Feat/code query by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/8\n\n\n**Full Changelog**: https://github.com/purview-dev/sourcegeneratorframework/compare/v1.0.0-prerelease.27...v1.0.0-prerelease.28", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-02T22:07:13Z", "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.28" @@ -1009,18 +1477,164 @@ "tagName": "v1.0.0-prerelease.27", "name": "v1.0.0-prerelease.27", "body": "## What's Changed\n* Updated type system by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/1\n* build: fixed package lookup by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/2\n* fix: Roslyn comparisons don't honour IEqualityComparer so added IE… by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/3\n* build: trying to fix the pipeline by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/4\n* build: trying to fix the pipeline by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/5\n* build: trying to fix the pipeline by @kieronlanning in https://github.com/purview-dev/sourcegeneratorframework/pull/6\n\n## New Contributors\n* @kieronlanning made their first contribution in https://github.com/purview-dev/sourcegeneratorframework/pull/1\n\n**Full Changelog**: https://github.com/purview-dev/sourcegeneratorframework/commits/v1.0.0-prerelease.27", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-01T21:38:48Z", "htmlUrl": "https://github.com/purview-dev/sourcegenerator-framework/releases/tag/v1.0.0-prerelease.27" } ], + "purview-dev/results": [ + { + "tagName": "v1.0.0", + "name": "v1.0.0", + "body": "## What's Changed\n* Rules updates by @kieronlanning in https://github.com/purview-dev/results/pull/3\n\n\n**Full Changelog**: https://github.com/purview-dev/results/compare/v1.0.0-prerelease.2...v1.0.0", + "prerelease": false, + "draft": false, + "publishedAt": "2026-10-07T07:15:05Z", + "htmlUrl": "https://github.com/purview-dev/results/releases/tag/v1.0.0" + }, + { + "tagName": "v1.0.0-prerelease.2", + "name": "v1.0.0-prerelease.2", + "body": "## What's Changed\n* docs: added docs by @kieronlanning in https://github.com/purview-dev/results/pull/2\n\n\n**Full Changelog**: https://github.com/purview-dev/results/compare/v1.0.0-prerelease.1...v1.0.0-prerelease.2", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-30T14:05:29Z", + "htmlUrl": "https://github.com/purview-dev/results/releases/tag/v1.0.0-prerelease.2" + }, + { + "tagName": "v1.0.0-prerelease.1", + "name": "v1.0.0-prerelease.1", + "body": "## What's Changed\n* Docs update by @kieronlanning in https://github.com/purview-dev/results/pull/1\n\n## New Contributors\n* @kieronlanning made their first contribution in https://github.com/purview-dev/results/pull/1\n\n**Full Changelog**: https://github.com/purview-dev/results/commits/v1.0.0-prerelease.1", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-30T12:35:07Z", + "htmlUrl": "https://github.com/purview-dev/results/releases/tag/v1.0.0-prerelease.1" + } + ], "purview-dev/aspire-resourcekit": [ + { + "tagName": "v1.0.0.1", + "name": "v1.0.0.1", + "body": "\n\n## What's Changed\n### Other Changes\n* chore: add MIT license file by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/47\n* Chore/adopt build sdk 1.0.3 by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/48\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0...v1.0.0.1", + "prerelease": false, + "draft": false, + "publishedAt": "2026-10-07T07:30:40Z", + "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0.1" + }, + { + "tagName": "v1.0.0", + "name": "v1.0.0", + "body": "\n\n## What's Changed\n### Other Changes\n* docs(release): release v1 by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/46\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.41...v1.0.0", + "prerelease": false, + "draft": false, + "publishedAt": "2026-09-29T12:37:49Z", + "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0" + }, + { + "tagName": "v1.0.0-prerelease.41", + "name": "v1.0.0-prerelease.41", + "body": "## What's Changed\n* chore: source gen update by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/45\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.40...v1.0.0-prerelease.41", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-28T20:36:11Z", + "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.41" + }, + { + "tagName": "v1.0.0-prerelease.40", + "name": "v1.0.0-prerelease.40", + "body": "## What's Changed\n* chore: package bumps by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/44\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.39...v1.0.0-prerelease.40", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-27T16:03:52Z", + "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.40" + }, + { + "tagName": "v1.0.0-prerelease.39", + "name": "v1.0.0-prerelease.39", + "body": "## What's Changed\n* fix: regression on file copy by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/43\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.38...v1.0.0-prerelease.39", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-25T14:26:46Z", + "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.39" + }, + { + "tagName": "v1.0.0-prerelease.38", + "name": "v1.0.0-prerelease.38", + "body": "## What's Changed\n* fix: sg leaking types by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/41\n* chore: bumped version by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/42\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.37...v1.0.0-prerelease.38", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-25T04:54:28Z", + "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.38" + }, + { + "tagName": "v1.0.0-prerelease.37", + "name": "v1.0.0-prerelease.37", + "body": "## What's Changed\n* fix: xml comment by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/40\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.36...v1.0.0-prerelease.37", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-24T16:26:37Z", + "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.37" + }, + { + "tagName": "v1.0.0-prerelease.36", + "name": "v1.0.0-prerelease.36", + "body": "## What's Changed\n* chore: source gen update by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/39\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.35...v1.0.0-prerelease.36", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-23T16:29:44Z", + "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.36" + }, + { + "tagName": "v1.0.0-prerelease.35", + "name": "v1.0.0-prerelease.35", + "body": "## What's Changed\n* build: package updates by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/38\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.34...v1.0.0-prerelease.35", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-23T10:37:39Z", + "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.35" + }, + { + "tagName": "v1.0.0-prerelease.34", + "name": "v1.0.0-prerelease.34", + "body": "## What's Changed\n* Source gen update by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/37\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.33...v1.0.0-prerelease.34", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-23T07:22:57Z", + "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.34" + }, + { + "tagName": "v1.0.0-prerelease.33", + "name": "v1.0.0-prerelease.33", + "body": "## What's Changed\n* chore: bumped package version by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/36\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.32...v1.0.0-prerelease.33", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-22T15:16:31Z", + "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.33" + }, + { + "tagName": "v1.0.0-prerelease.32", + "name": "v1.0.0-prerelease.32", + "body": "## What's Changed\n* feat: adding correct overload for class-based resource kit providers by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/35\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.31...v1.0.0-prerelease.32", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-21T15:17:40Z", + "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.32" + }, + { + "tagName": "v1.0.0-prerelease.31", + "name": "v1.0.0-prerelease.31", + "body": "## What's Changed\n* Options objects by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/34\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.30...v1.0.0-prerelease.31", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-21T12:39:59Z", + "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.31" + }, { "tagName": "v1.0.0-prerelease.30", "name": "v1.0.0-prerelease.30", "body": "## What's Changed\n* chore: update branding assets, bump version, and use human-readable name by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/33\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.29...v1.0.0-prerelease.30", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-18T08:19:04Z", "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.30" @@ -1029,7 +1643,7 @@ "tagName": "v1.0.0-prerelease.29", "name": "v1.0.0-prerelease.29", "body": "## What's Changed\n* docs: updated urls in documentation by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/31\n* chore: update to Purview.BuildSdk and bump to 1.0.0-prerelease.29 by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/32\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.28...v1.0.0-prerelease.29", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-17T17:49:21Z", "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.29" @@ -1038,7 +1652,7 @@ "tagName": "v1.0.0-prerelease.28", "name": "v1.0.0-prerelease.28", "body": "## What's Changed\n* fix: IsEnabled by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/30\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.27...v1.0.0-prerelease.28", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-16T00:08:56Z", "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.28" @@ -1047,7 +1661,7 @@ "tagName": "v1.0.0-prerelease.27", "name": "v1.0.0-prerelease.27", "body": "## What's Changed\n* fix: option properties have setters instead of init to support Option… by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/29\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.26...v1.0.0-prerelease.27", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-15T15:59:20Z", "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.27" @@ -1056,7 +1670,7 @@ "tagName": "v1.0.0-prerelease.26", "name": "v1.0.0-prerelease.26", "body": "## What's Changed\n* docs: updated docs and bumped sdk by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/28\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.25...v1.0.0-prerelease.26", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-14T13:53:25Z", "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.26" @@ -1065,7 +1679,7 @@ "tagName": "v1.0.0-prerelease.25", "name": "v1.0.0-prerelease.25", "body": "## What's Changed\n* feat: added Project.* support, with analysers by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/26\n* chore: updating to latest source gen by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/27\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.24...v1.0.0-prerelease.25", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-12T14:08:38Z", "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.25" @@ -1074,7 +1688,7 @@ "tagName": "v1.0.0-prerelease.24", "name": "v1.0.0-prerelease.24", "body": "## What's Changed\n* Feat/shared build by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/25\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.23...v1.0.0-prerelease.24", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-08T15:44:33Z", "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.24" @@ -1083,7 +1697,7 @@ "tagName": "v1.0.0-prerelease.23", "name": "v1.0.0-prerelease.23", "body": "## What's Changed\n* build: adopt shared Purview.Build pipeline by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/23\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.22...v1.0.0-prerelease.23", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-03T23:20:05Z", "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.23" @@ -1092,22 +1706,103 @@ "tagName": "v1.0.0-prerelease.22", "name": "v1.0.0-prerelease.22", "body": "## What's Changed\n* Refactor source gen by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/22\n\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/compare/v1.0.0-prerelease.21...v1.0.0-prerelease.22", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-03T15:19:21Z", + "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.22" + }, + { + "tagName": "v1.0.0-prerelease.21", + "name": "v1.0.0-prerelease.21", + "body": "## What's Changed\n* feat: added auto base class by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/1\n* Doc update by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/2\n* fix: resource options namespace was wrong by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/3\n* feat: made the Options public on the geneated host app by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/4\n* Doc update by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/5\n* feat: added new options layout by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/6\n* feat: added agents skills by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/7\n* build: added ModularPipeline as a poc by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/8\n* feat: extension method callbacks by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/9\n* chore: updated project sdk with new skills function by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/10\n* Target framework update by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/11\n* feat: added post build and configure and validation config callbacks by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/12\n* feat: added options builder fluent interface by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/13\n* refactor: used new Purview SourceGenerator Framework by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/14\n* Refactor by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/15\n* Refactor by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/16\n* Sg best practices by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/17\n* Refactor source gen by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/18\n* build: skip nuget publish if api key not set by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/19\n* Source gen perf refactor by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/20\n* chore: fixed pipeline by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/21\n\n## New Contributors\n* @kieronlanning made their first contribution in https://github.com/purview-dev/aspire-resourcekit/pull/1\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/commits/v1.0.0-prerelease.21", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-02T08:07:32Z", + "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.21" + } + ], + "purview-dev/aspirec4": [ + { + "tagName": "v13.5.3.11", + "name": "v13.5.3.11", + "body": "## What's Changed\n* chore: add MIT license file by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/50\n* Chore/adopt build sdk 1.0.3 by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/51\n\n\n**Full Changelog**: https://github.com/purview-dev/aspirec4/compare/v13.5.3.10...v13.5.3.11", + "prerelease": false, + "draft": false, + "publishedAt": "2026-10-07T07:30:09Z", + "htmlUrl": "https://github.com/purview-dev/aspirec4/releases/tag/v13.5.3.11" + }, + { + "tagName": "v13.5.3.9", + "name": "v13.5.3.9", + "body": "## What's Changed\n* fix: correct package build props so AspireC4Strict reaches consumers by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/47\n\n\n**Full Changelog**: https://github.com/purview-dev/aspirec4/compare/v13.5.3.8...v13.5.3.9", + "prerelease": false, + "draft": false, + "publishedAt": "2026-09-29T13:52:01Z", + "htmlUrl": "https://github.com/purview-dev/aspirec4/releases/tag/v13.5.3.9" + }, + { + "tagName": "v13.5.3.10", + "name": "v13.5.3.10", + "body": "## What's Changed\n* Package update by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/48\n* chore: version update by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/49\n\n\n**Full Changelog**: https://github.com/purview-dev/aspirec4/compare/v13.5.3.9...v13.5.3.10", + "prerelease": false, + "draft": false, + "publishedAt": "2026-09-29T14:10:02Z", + "htmlUrl": "https://github.com/purview-dev/aspirec4/releases/tag/v13.5.3.10" + }, + { + "tagName": "v13.5.3.8", + "name": "v13.5.3.8", + "body": "## What's Changed\n* chore: source gen update by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/46\n\n\n**Full Changelog**: https://github.com/purview-dev/aspirec4/compare/v13.5.3.7...v13.5.3.8", + "prerelease": false, + "draft": false, + "publishedAt": "2026-09-28T20:38:05Z", + "htmlUrl": "https://github.com/purview-dev/aspirec4/releases/tag/v13.5.3.8" + }, + { + "tagName": "v13.5.3.7", + "name": "v13.5.3.7", + "body": "## What's Changed\n* chore: package bumps by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/45\n\n\n**Full Changelog**: https://github.com/purview-dev/aspirec4/compare/v13.5.3.6...v13.5.3.7", + "prerelease": false, + "draft": false, + "publishedAt": "2026-09-27T16:02:40Z", + "htmlUrl": "https://github.com/purview-dev/aspirec4/releases/tag/v13.5.3.7" + }, + { + "tagName": "v13.5.3.6", + "name": "v13.5.3.6", + "body": "## What's Changed\n* fix: sg leaking types by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/43\n* fix: regression on file copy by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/44\n\n\n**Full Changelog**: https://github.com/purview-dev/aspirec4/compare/v13.5.3.5...v13.5.3.6", + "prerelease": false, + "draft": false, + "publishedAt": "2026-09-25T14:25:14Z", + "htmlUrl": "https://github.com/purview-dev/aspirec4/releases/tag/v13.5.3.6" + }, + { + "tagName": "v13.5.3.5", + "name": "v13.5.3.5", + "body": "## What's Changed\n* chore: bumped source gen by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/42\n\n\n**Full Changelog**: https://github.com/purview-dev/aspirec4/compare/v13.5.3.4...v13.5.3.5", + "prerelease": false, + "draft": false, + "publishedAt": "2026-09-24T16:19:30Z", + "htmlUrl": "https://github.com/purview-dev/aspirec4/releases/tag/v13.5.3.5" + }, + { + "tagName": "v13.5.3.4", + "name": "v13.5.3.4", + "body": "## What's Changed\n* Source gen update by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/41\n\n\n**Full Changelog**: https://github.com/purview-dev/aspirec4/compare/v13.5.3.3...v13.5.3.4", "prerelease": false, "draft": false, - "publishedAt": "2026-09-03T15:19:21Z", - "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.22" + "publishedAt": "2026-09-23T16:28:47Z", + "htmlUrl": "https://github.com/purview-dev/aspirec4/releases/tag/v13.5.3.4" }, { - "tagName": "v1.0.0-prerelease.21", - "name": "v1.0.0-prerelease.21", - "body": "## What's Changed\n* feat: added auto base class by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/1\n* Doc update by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/2\n* fix: resource options namespace was wrong by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/3\n* feat: made the Options public on the geneated host app by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/4\n* Doc update by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/5\n* feat: added new options layout by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/6\n* feat: added agents skills by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/7\n* build: added ModularPipeline as a poc by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/8\n* feat: extension method callbacks by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/9\n* chore: updated project sdk with new skills function by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/10\n* Target framework update by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/11\n* feat: added post build and configure and validation config callbacks by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/12\n* feat: added options builder fluent interface by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/13\n* refactor: used new Purview SourceGenerator Framework by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/14\n* Refactor by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/15\n* Refactor by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/16\n* Sg best practices by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/17\n* Refactor source gen by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/18\n* build: skip nuget publish if api key not set by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/19\n* Source gen perf refactor by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/20\n* chore: fixed pipeline by @kieronlanning in https://github.com/purview-dev/aspire-resourcekit/pull/21\n\n## New Contributors\n* @kieronlanning made their first contribution in https://github.com/purview-dev/aspire-resourcekit/pull/1\n\n**Full Changelog**: https://github.com/purview-dev/aspire-resourcekit/commits/v1.0.0-prerelease.21", + "tagName": "v13.5.3.3", + "name": "v13.5.3.3", + "body": "## What's Changed\n* Source gen update by @kieronlanning in https://github.com/purview-dev/aspirec4/pull/40\n\n\n**Full Changelog**: https://github.com/purview-dev/aspirec4/compare/v13.5.3.2...v13.5.3.3", "prerelease": false, "draft": false, - "publishedAt": "2026-09-02T08:07:32Z", - "htmlUrl": "https://github.com/purview-dev/aspire-resourcekit/releases/tag/v1.0.0-prerelease.21" - } - ], - "purview-dev/aspirec4": [ + "publishedAt": "2026-09-23T10:34:39Z", + "htmlUrl": "https://github.com/purview-dev/aspirec4/releases/tag/v13.5.3.3" + }, { "tagName": "v13.5.3.2", "name": "v13.5.3.2", @@ -1227,6 +1922,51 @@ } ], "purview-dev/build": [ + { + "tagName": "v0.4.0", + "name": "v0.4.0", + "body": "## What's Changed\n* Release types by @kieronlanning in https://github.com/purview-dev/build/pull/24\n\n\n**Full Changelog**: https://github.com/purview-dev/build/compare/v0.3.6...v0.4.0", + "prerelease": false, + "draft": false, + "publishedAt": "2026-10-06T22:38:04Z", + "htmlUrl": "https://github.com/purview-dev/build/releases/tag/v0.4.0" + }, + { + "tagName": "v0.3.6", + "name": "v0.3.6", + "body": "## What's Changed\n* docs: clarify that MarkPrerelease affects the GitHub release only by @kieronlanning in https://github.com/purview-dev/build/pull/21\n* chore: add MIT license file by @kieronlanning in https://github.com/purview-dev/build/pull/22\n* Fix test relative project path by @kieronlanning in https://github.com/purview-dev/build/pull/23\n\n\n**Full Changelog**: https://github.com/purview-dev/build/compare/v0.3.5...v0.3.6", + "prerelease": false, + "draft": false, + "publishedAt": "2026-10-02T13:47:56Z", + "htmlUrl": "https://github.com/purview-dev/build/releases/tag/v0.3.6" + }, + { + "tagName": "v0.3.5", + "name": "v0.3.5", + "body": "## What's Changed\n* feat: mark GitHub releases as prereleases for prerelease versions by @kieronlanning in https://github.com/purview-dev/build/pull/19\n* chore: bump version to 0.3.5 by @kieronlanning in https://github.com/purview-dev/build/pull/20\n\n\n**Full Changelog**: https://github.com/purview-dev/build/compare/v0.3.4...v0.3.5", + "prerelease": false, + "draft": false, + "publishedAt": "2026-09-27T12:10:39Z", + "htmlUrl": "https://github.com/purview-dev/build/releases/tag/v0.3.5" + }, + { + "tagName": "v0.3.4", + "name": "v0.3.4", + "body": "## What's Changed\n* feat: added clear for artifact publish by @kieronlanning in https://github.com/purview-dev/build/pull/18\n\n\n**Full Changelog**: https://github.com/purview-dev/build/compare/v0.3.3...v0.3.4", + "prerelease": false, + "draft": false, + "publishedAt": "2026-09-27T10:44:46Z", + "htmlUrl": "https://github.com/purview-dev/build/releases/tag/v0.3.4" + }, + { + "tagName": "v0.3.3", + "name": "v0.3.3", + "body": "## What's Changed\n* feat: added roslyn-only component support by @kieronlanning in https://github.com/purview-dev/build/pull/17\n\n\n**Full Changelog**: https://github.com/purview-dev/build/compare/v0.3.2...v0.3.3", + "prerelease": false, + "draft": false, + "publishedAt": "2026-09-23T09:37:20Z", + "htmlUrl": "https://github.com/purview-dev/build/releases/tag/v0.3.3" + }, { "tagName": "v0.3.2", "name": "v0.3.2", @@ -1319,11 +2059,92 @@ } ], "purview-dev/build-sdk": [ + { + "tagName": "v1.0.3.0", + "name": "v1.0.3.0", + "body": "## What's Changed\n* chore: add MIT license file by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/32\n* docs: updated docs to fix #31 by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/33\n* feat: add curated target framework sets and stop stripping Roslyn com… by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/34\n\n\n**Full Changelog**: https://github.com/purview-dev/build-sdk/compare/v1.0.2.2...v1.0.3.0", + "prerelease": false, + "draft": false, + "publishedAt": "2026-10-06T22:34:03Z", + "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.3.0" + }, + { + "tagName": "v1.0.2.2", + "name": "v1.0.2.2", + "body": "## What's Changed\n* feat: added additional testing types and namespace prefixes to remove ! by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/30\n\n\n**Full Changelog**: https://github.com/purview-dev/build-sdk/compare/v1.0.2.1...v1.0.2.2", + "prerelease": false, + "draft": false, + "publishedAt": "2026-10-01T14:12:24Z", + "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.2.2" + }, + { + "tagName": "v1.0.2.1", + "name": "v1.0.2.1", + "body": "## What's Changed\n* docs: added/ updateed all of the docs by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/28\n* chore: bumped version by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/29\n\n\n**Full Changelog**: https://github.com/purview-dev/build-sdk/compare/v1.0.2.0...v1.0.2.1", + "prerelease": false, + "draft": false, + "publishedAt": "2026-10-01T13:12:56Z", + "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.2.1" + }, + { + "tagName": "v1.0.2.0", + "name": "v1.0.2.0", + "body": "## What's Changed\n* fix: editorconfig values missed the test projects by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/27\n\n\n**Full Changelog**: https://github.com/purview-dev/build-sdk/compare/v1.0.1.0...v1.0.2.0", + "prerelease": false, + "draft": false, + "publishedAt": "2026-09-30T15:18:47Z", + "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.2.0" + }, + { + "tagName": "v1.0.1.0", + "name": "v1.0.1.0", + "body": "## What's Changed\n* feat: editorconfig fix + tests by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/26\n\n\n**Full Changelog**: https://github.com/purview-dev/build-sdk/compare/v1.0.0...v1.0.1.0", + "prerelease": false, + "draft": false, + "publishedAt": "2026-09-30T14:25:38Z", + "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.1.0" + }, + { + "tagName": "v1.0.0", + "name": "v1.0.0", + "body": "## What's Changed\n* chore: version bump by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/25\n\n\n**Full Changelog**: https://github.com/purview-dev/build-sdk/compare/v1.0.0-prerelease.61...v1.0.0", + "prerelease": false, + "draft": false, + "publishedAt": "2026-09-29T10:45:18Z", + "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0" + }, + { + "tagName": "v1.0.0-prerelease.61", + "name": "v1.0.0-prerelease.61", + "body": "## What's Changed\n* Updated editorconfig by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/24\n\n\n**Full Changelog**: https://github.com/purview-dev/build-sdk/compare/v1.0.0-prerelease.60...v1.0.0-prerelease.61", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-29T10:40:47Z", + "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0-prerelease.61" + }, + { + "tagName": "v1.0.0-prerelease.60", + "name": "v1.0.0-prerelease.60", + "body": "## What's Changed\n* docs: added testing docs for backstage spike by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/22\n* fix: sg resolution on pack by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/23\n\n\n**Full Changelog**: https://github.com/purview-dev/build-sdk/compare/v1.0.0-prerelease.58...v1.0.0-prerelease.60", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-25T13:17:09Z", + "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0-prerelease.60" + }, + { + "tagName": "v1.0.0-prerelease.58", + "name": "v1.0.0-prerelease.58", + "body": "## What's Changed\n* feat: added roslyn-only component support by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/21\n\n\n**Full Changelog**: https://github.com/purview-dev/build-sdk/compare/v1.0.0-prerelease.57...v1.0.0-prerelease.58", + "prerelease": true, + "draft": false, + "publishedAt": "2026-09-23T08:06:21Z", + "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0-prerelease.58" + }, { "tagName": "v1.0.0-prerelease.57", "name": "v1.0.0-prerelease.57", "body": "## What's Changed\n* chore: update branding assets, bump version, and use human-readable name by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/20\n\n\n**Full Changelog**: https://github.com/purview-dev/build-sdk/compare/v1.0.0-prerelease.56...v1.0.0-prerelease.57", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-18T08:16:44Z", "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0-prerelease.57" @@ -1332,7 +2153,7 @@ "tagName": "v1.0.0-prerelease.56", "name": "v1.0.0-prerelease.56", "body": "## What's Changed\n* docs: updated urls in documentation by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/18\n* docs: updated links to new docs in repos by @kieronlanning in https://github.com/purview-dev/build-sdk/pull/19\n\n\n**Full Changelog**: https://github.com/purview-dev/build-sdk/compare/v1.0.0-prerelease.55...v1.0.0-prerelease.56", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-17T17:19:07Z", "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0-prerelease.56" @@ -1341,7 +2162,7 @@ "tagName": "v1.0.0-prerelease.55", "name": "v1.0.0-prerelease.55", "body": "## What's Changed\n* Fix entities by @kieronlanning in https://github.com/purview-dev/dotnet-project-sdk/pull/17\n\n\n**Full Changelog**: https://github.com/purview-dev/dotnet-project-sdk/compare/v1.0.0-prerelease.54...v1.0.0-prerelease.55", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-15T08:11:22Z", "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0-prerelease.55" @@ -1350,7 +2171,7 @@ "tagName": "v1.0.0-prerelease.54", "name": "v1.0.0-prerelease.54", "body": "## What's Changed\n* docs: updated readme with badges by @kieronlanning in https://github.com/purview-dev/dotnet-project-sdk/pull/15\n* fix: fixed source link£ by @kieronlanning in https://github.com/purview-dev/dotnet-project-sdk/pull/16\n\n\n**Full Changelog**: https://github.com/purview-dev/dotnet-project-sdk/compare/v1.0.0-prerelease.53...v1.0.0-prerelease.54", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-14T11:54:59Z", "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0-prerelease.54" @@ -1359,7 +2180,7 @@ "tagName": "v1.0.0-prerelease.53", "name": "v1.0.0-prerelease.53", "body": "## What's Changed\n* docs: updated docs by @kieronlanning in https://github.com/purview-dev/dotnet-project-sdk/pull/14\n\n\n**Full Changelog**: https://github.com/purview-dev/dotnet-project-sdk/compare/v1.0.0-prerelease.52...v1.0.0-prerelease.53", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-14T07:48:46Z", "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0-prerelease.53" @@ -1368,7 +2189,7 @@ "tagName": "v1.0.0-prerelease.52", "name": "v1.0.0-prerelease.52", "body": "## What's Changed\n* Editorconfig update by @kieronlanning in https://github.com/purview-dev/dotnet-project-sdk/pull/13\n\n\n**Full Changelog**: https://github.com/purview-dev/dotnet-project-sdk/compare/v1.0.0-prerelease.51...v1.0.0-prerelease.52", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-12T14:29:37Z", "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0-prerelease.52" @@ -1377,7 +2198,7 @@ "tagName": "v1.0.0-prerelease.51", "name": "v1.0.0-prerelease.51", "body": "## What's Changed\n* Editorconfig update by @kieronlanning in https://github.com/purview-dev/dotnet-project-sdk/pull/12\n\n\n**Full Changelog**: https://github.com/purview-dev/dotnet-project-sdk/compare/v1.0.0-prerelease.50...v1.0.0-prerelease.51", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-12T11:52:00Z", "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0-prerelease.51" @@ -1386,7 +2207,7 @@ "tagName": "v1.0.0-prerelease.50", "name": "v1.0.0-prerelease.50", "body": "## What's Changed\n* fix(fixes): analysers and fixes now correctly surfaced by @kieronlanning in https://github.com/purview-dev/dotnet-project-sdk/pull/11\n\n\n**Full Changelog**: https://github.com/purview-dev/dotnet-project-sdk/compare/v1.0.0-prerelease.49...v1.0.0-prerelease.50", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-11T12:54:52Z", "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0-prerelease.50" @@ -1395,7 +2216,7 @@ "tagName": "v1.0.0-prerelease.49", "name": "v1.0.0-prerelease.49", "body": "## What's Changed\n* fix: assembly/ package Id generation was incorrect by @kieronlanning in https://github.com/purview-dev/dotnet-project-sdk/pull/10\n\n\n**Full Changelog**: https://github.com/purview-dev/dotnet-project-sdk/compare/v1.0.0-prerelease.48...v1.0.0-prerelease.49", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-11T08:21:07Z", "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0-prerelease.49" @@ -1404,7 +2225,7 @@ "tagName": "v1.0.0-prerelease.48", "name": "v1.0.0-prerelease.48", "body": "## What's Changed\n* fix: assembly info gen wasn't encoding content by @kieronlanning in https://github.com/purview-dev/dotnet-project-sdk/pull/9\n\n\n**Full Changelog**: https://github.com/purview-dev/dotnet-project-sdk/compare/v1.0.0-prerelease.47...v1.0.0-prerelease.48", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-08T16:09:13Z", "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0-prerelease.48" @@ -1413,7 +2234,7 @@ "tagName": "v1.0.0-prerelease.47", "name": "v1.0.0-prerelease.47", "body": "## What's Changed\n* build: adopt shared Purview.Build pipeline by @kieronlanning in https://github.com/purview-dev/dotnet-project-sdk/pull/8\n\n\n**Full Changelog**: https://github.com/purview-dev/dotnet-project-sdk/compare/v1.0.0-prerelease.46...v1.0.0-prerelease.47", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-03T23:07:54Z", "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0-prerelease.47" @@ -1422,7 +2243,7 @@ "tagName": "v1.0.0-prerelease.46", "name": "v1.0.0-prerelease.46", "body": "## What's Changed\n* fix: hardening the roslyn component detection by @kieronlanning in https://github.com/purview-dev/dotnet-project-sdk/pull/7\n\n\n**Full Changelog**: https://github.com/purview-dev/dotnet-project-sdk/compare/v1.0.0-prerelease.45...v1.0.0-prerelease.46", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-03T14:45:33Z", "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0-prerelease.46" @@ -1431,7 +2252,7 @@ "tagName": "v1.0.0-prerelease.45", "name": "v1.0.0-prerelease.45", "body": "## What's Changed\n* Feat/packable updates by @kieronlanning in https://github.com/purview-dev/dotnet-project-sdk/pull/6\n\n\n**Full Changelog**: https://github.com/purview-dev/dotnet-project-sdk/compare/v1.0.0-prerelease.44...v1.0.0-prerelease.45", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-09-02T21:40:52Z", "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0-prerelease.45" @@ -1440,7 +2261,7 @@ "tagName": "v1.0.0-prerelease.44", "name": "v1.0.0-prerelease.44", "body": "## What's Changed\n* refactor: updated the packable defauls by @kieronlanning in https://github.com/purview-dev/dotnet-project-sdk/pull/5\n\n\n**Full Changelog**: https://github.com/purview-dev/dotnet-project-sdk/compare/v1.0.0-prerelease.43...v1.0.0-prerelease.44", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-08-31T21:00:46Z", "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0-prerelease.44" @@ -1449,34 +2270,41 @@ "tagName": "v1.0.0-prerelease.43", "name": "v1.0.0-prerelease.43", "body": "## What's Changed\n* Release by @kieronlanning in https://github.com/purview-dev/purview-dotnet-project-sdk/pull/1\n* Init release by @kieronlanning in https://github.com/purview-dev/purview-dotnet-project-sdk/pull/2\n* fix: tests weren't honouring cross-platform paths by @kieronlanning in https://github.com/purview-dev/purview-dotnet-project-sdk/pull/3\n* fix: tests weren't honouring cross-platform paths by @kieronlanning in https://github.com/purview-dev/purview-dotnet-project-sdk/pull/4\n\n## New Contributors\n* @kieronlanning made their first contribution in https://github.com/purview-dev/purview-dotnet-project-sdk/pull/1\n\n**Full Changelog**: https://github.com/purview-dev/purview-dotnet-project-sdk/commits/v1.0.0-prerelease.43", - "prerelease": false, + "prerelease": true, "draft": false, "publishedAt": "2026-08-31T16:23:47Z", "htmlUrl": "https://github.com/purview-dev/build-sdk/releases/tag/v1.0.0-prerelease.43" } ], "purview-dev/dotnet-logging-source-generators": [], - "purview-dev/results": [ + "purview-dev/containers": [ { - "tagName": "v1.0.0-prerelease.2", - "name": "v1.0.0-prerelease.2", - "body": "## What's Changed\n* docs: added docs by @kieronlanning in https://github.com/purview-dev/results/pull/2\n\n\n**Full Changelog**: https://github.com/purview-dev/results/compare/v1.0.0-prerelease.1...v1.0.0-prerelease.2", + "tagName": "v1.0.0-prerelease.6", + "name": "v1.0.0-prerelease.6", + "body": "## What's Changed\n* feat: integrated Azure Key Vault by @kieronlanning in https://github.com/purview-dev/containers/pull/10\n\n\n**Full Changelog**: https://github.com/purview-dev/containers/compare/v1.0.0-prerelease.5...v1.0.0-prerelease.6", "prerelease": true, "draft": false, - "publishedAt": "2026-09-30T14:05:29Z", - "htmlUrl": "https://github.com/purview-dev/results/releases/tag/v1.0.0-prerelease.2" + "publishedAt": "2026-10-06T08:51:24Z", + "htmlUrl": "https://github.com/purview-dev/containers/releases/tag/v1.0.0-prerelease.6" }, { - "tagName": "v1.0.0-prerelease.1", - "name": "v1.0.0-prerelease.1", - "body": "## What's Changed\n* Docs update by @kieronlanning in https://github.com/purview-dev/results/pull/1\n\n## New Contributors\n* @kieronlanning made their first contribution in https://github.com/purview-dev/results/pull/1\n\n**Full Changelog**: https://github.com/purview-dev/results/commits/v1.0.0-prerelease.1", + "tagName": "v1.0.0-prerelease.5", + "name": "v1.0.0-prerelease.5", + "body": "## What's Changed\n* feat: added wslc storage path pass through and docs by @kieronlanning in https://github.com/purview-dev/containers/pull/8\n\n\n**Full Changelog**: https://github.com/purview-dev/containers/compare/v1.0.0-prerelease.4...v1.0.0-prerelease.5", "prerelease": true, "draft": false, - "publishedAt": "2026-09-30T12:35:07Z", - "htmlUrl": "https://github.com/purview-dev/results/releases/tag/v1.0.0-prerelease.1" - } - ], - "purview-dev/containers": [ + "publishedAt": "2026-10-02T13:16:43Z", + "htmlUrl": "https://github.com/purview-dev/containers/releases/tag/v1.0.0-prerelease.5" + }, + { + "tagName": "v1.0.0-prerelease.4", + "name": "v1.0.0-prerelease.4", + "body": "## What's Changed\n* feat: added connection string support by @kieronlanning in https://github.com/purview-dev/containers/pull/7\n\n\n**Full Changelog**: https://github.com/purview-dev/containers/compare/v1.0.0-prerelease.3...v1.0.0-prerelease.4", + "prerelease": true, + "draft": false, + "publishedAt": "2026-10-02T09:10:44Z", + "htmlUrl": "https://github.com/purview-dev/containers/releases/tag/v1.0.0-prerelease.4" + }, { "tagName": "v1.0.0-prerelease.3", "name": "v1.0.0-prerelease.3", @@ -1567,8 +2395,22 @@ "5.0.0-prerelease.8", "5.0.0-prerelease.9", "5.0.0-prerelease.10", - "5.0.0-prerelease.11" - ] + "5.0.0-prerelease.11", + "5.0.0-prerelease.12", + "5.0.0-prerelease.13", + "5.0.0-prerelease.14", + "5.0.0-prerelease.15", + "5.0.0-prerelease.16", + "5.0.0-prerelease.17", + "5.0.0-prerelease.18", + "5.0.0-prerelease.19", + "5.0.0", + "5.0.1" + ], + "targetFrameworks": [ + ".NETStandard2.0" + ], + "targetFrameworksVersion": "5.0.1" }, "Purview.EventSourcing": { "id": "Purview.EventSourcing", @@ -1597,8 +2439,15 @@ "2.0.0-prerelease.32", "2.0.0-prerelease.33", "2.0.0-prerelease.34", - "2.0.0-prerelease.35" - ] + "2.0.0-prerelease.35", + "2.0.0-prerelease.36", + "2.0.0-prerelease.38", + "2.0.0-prerelease.39" + ], + "targetFrameworks": [ + "net10.0" + ], + "targetFrameworksVersion": "2.0.0-prerelease.39" }, "Purview.EventSourcing.SqlServer": { "id": "Purview.EventSourcing.SqlServer", @@ -1627,8 +2476,15 @@ "2.0.0-prerelease.32", "2.0.0-prerelease.33", "2.0.0-prerelease.34", - "2.0.0-prerelease.35" - ] + "2.0.0-prerelease.35", + "2.0.0-prerelease.36", + "2.0.0-prerelease.38", + "2.0.0-prerelease.39" + ], + "targetFrameworks": [ + "net10.0" + ], + "targetFrameworksVersion": "2.0.0-prerelease.39" }, "Purview.EventSourcing.Postgres": { "id": "Purview.EventSourcing.Postgres", @@ -1639,8 +2495,15 @@ "2.0.0-prerelease.32", "2.0.0-prerelease.33", "2.0.0-prerelease.34", - "2.0.0-prerelease.35" - ] + "2.0.0-prerelease.35", + "2.0.0-prerelease.36", + "2.0.0-prerelease.38", + "2.0.0-prerelease.39" + ], + "targetFrameworks": [ + "net10.0" + ], + "targetFrameworksVersion": "2.0.0-prerelease.39" }, "Purview.EventSourcing.AzureStorage": { "id": "Purview.EventSourcing.AzureStorage", @@ -1669,8 +2532,15 @@ "2.0.0-prerelease.32", "2.0.0-prerelease.33", "2.0.0-prerelease.34", - "2.0.0-prerelease.35" - ] + "2.0.0-prerelease.35", + "2.0.0-prerelease.36", + "2.0.0-prerelease.38", + "2.0.0-prerelease.39" + ], + "targetFrameworks": [ + "net10.0" + ], + "targetFrameworksVersion": "2.0.0-prerelease.39" }, "Purview.EventSourcing.MongoDB": { "id": "Purview.EventSourcing.MongoDB", @@ -1699,8 +2569,15 @@ "2.0.0-prerelease.32", "2.0.0-prerelease.33", "2.0.0-prerelease.34", - "2.0.0-prerelease.35" - ] + "2.0.0-prerelease.35", + "2.0.0-prerelease.36", + "2.0.0-prerelease.38", + "2.0.0-prerelease.39" + ], + "targetFrameworks": [ + "net10.0" + ], + "targetFrameworksVersion": "2.0.0-prerelease.39" }, "Purview.EventSourcing.CosmosDb": { "id": "Purview.EventSourcing.CosmosDb", @@ -1729,8 +2606,15 @@ "2.0.0-prerelease.32", "2.0.0-prerelease.33", "2.0.0-prerelease.34", - "2.0.0-prerelease.35" - ] + "2.0.0-prerelease.35", + "2.0.0-prerelease.36", + "2.0.0-prerelease.38", + "2.0.0-prerelease.39" + ], + "targetFrameworks": [ + "net10.0" + ], + "targetFrameworksVersion": "2.0.0-prerelease.39" }, "Purview.EventSourcing.InMemory": { "id": "Purview.EventSourcing.InMemory", @@ -1751,8 +2635,15 @@ "2.0.0-prerelease.32", "2.0.0-prerelease.33", "2.0.0-prerelease.34", - "2.0.0-prerelease.35" - ] + "2.0.0-prerelease.35", + "2.0.0-prerelease.36", + "2.0.0-prerelease.38", + "2.0.0-prerelease.39" + ], + "targetFrameworks": [ + "net10.0" + ], + "targetFrameworksVersion": "2.0.0-prerelease.39" }, "Purview.EventSourcing.Validation.FluentValidation": { "id": "Purview.EventSourcing.Validation.FluentValidation", @@ -1762,8 +2653,15 @@ "2.0.0-prerelease.32", "2.0.0-prerelease.33", "2.0.0-prerelease.34", - "2.0.0-prerelease.35" - ] + "2.0.0-prerelease.35", + "2.0.0-prerelease.36", + "2.0.0-prerelease.38", + "2.0.0-prerelease.39" + ], + "targetFrameworks": [ + "net10.0" + ], + "targetFrameworksVersion": "2.0.0-prerelease.39" }, "Purview.EventSourcing.Validation.ZodSharp": { "id": "Purview.EventSourcing.Validation.ZodSharp", @@ -1773,8 +2671,15 @@ "2.0.0-prerelease.32", "2.0.0-prerelease.33", "2.0.0-prerelease.34", - "2.0.0-prerelease.35" - ] + "2.0.0-prerelease.35", + "2.0.0-prerelease.36", + "2.0.0-prerelease.38", + "2.0.0-prerelease.39" + ], + "targetFrameworks": [ + "net10.0" + ], + "targetFrameworksVersion": "2.0.0-prerelease.39" }, "Purview.ZodSharp": { "id": "Purview.ZodSharp", @@ -1787,8 +2692,36 @@ "2.0.0-prerelease.6", "2.0.0-prerelease.7", "2.0.0-prerelease.8", - "2.0.0-prerelease.9" - ] + "2.0.0-prerelease.9", + "2.0.0-prerelease.10", + "2.0.0-prerelease.11", + "2.0.0-prerelease.12", + "2.0.0-prerelease.13", + "2.0.0-prerelease.14", + "2.0.0-prerelease.15", + "2.0.0-prerelease.16", + "2.0.0-prerelease.17", + "2.0.0-prerelease.18", + "2.0.0-prerelease.19", + "2.0.0-prerelease.20", + "2.0.0-prerelease.21", + "2.0.0-prerelease.22", + "2.0.0-prerelease.23", + "2.0.0-prerelease.24", + "2.0.0-prerelease.25", + "2.0.0-prerelease.26", + "2.0.0-prerelease.27", + "2.0.0-prerelease.28", + "2.0.0", + "2.0.1" + ], + "targetFrameworks": [ + "net10.0", + "net11.0", + "net8.0", + "net9.0" + ], + "targetFrameworksVersion": "2.0.1" }, "Purview.ZodSharp.SystemTextJson": { "id": "Purview.ZodSharp.SystemTextJson", @@ -1801,8 +2734,36 @@ "2.0.0-prerelease.6", "2.0.0-prerelease.7", "2.0.0-prerelease.8", - "2.0.0-prerelease.9" - ] + "2.0.0-prerelease.9", + "2.0.0-prerelease.10", + "2.0.0-prerelease.11", + "2.0.0-prerelease.12", + "2.0.0-prerelease.13", + "2.0.0-prerelease.14", + "2.0.0-prerelease.15", + "2.0.0-prerelease.16", + "2.0.0-prerelease.17", + "2.0.0-prerelease.18", + "2.0.0-prerelease.19", + "2.0.0-prerelease.20", + "2.0.0-prerelease.21", + "2.0.0-prerelease.22", + "2.0.0-prerelease.23", + "2.0.0-prerelease.24", + "2.0.0-prerelease.25", + "2.0.0-prerelease.26", + "2.0.0-prerelease.27", + "2.0.0-prerelease.28", + "2.0.0", + "2.0.1" + ], + "targetFrameworks": [ + "net10.0", + "net11.0", + "net8.0", + "net9.0" + ], + "targetFrameworksVersion": "2.0.1" }, "Purview.ZodSharp.NewtonsoftJson": { "id": "Purview.ZodSharp.NewtonsoftJson", @@ -1815,8 +2776,36 @@ "2.0.0-prerelease.6", "2.0.0-prerelease.7", "2.0.0-prerelease.8", - "2.0.0-prerelease.9" - ] + "2.0.0-prerelease.9", + "2.0.0-prerelease.10", + "2.0.0-prerelease.11", + "2.0.0-prerelease.12", + "2.0.0-prerelease.13", + "2.0.0-prerelease.14", + "2.0.0-prerelease.15", + "2.0.0-prerelease.16", + "2.0.0-prerelease.17", + "2.0.0-prerelease.18", + "2.0.0-prerelease.19", + "2.0.0-prerelease.20", + "2.0.0-prerelease.21", + "2.0.0-prerelease.22", + "2.0.0-prerelease.23", + "2.0.0-prerelease.24", + "2.0.0-prerelease.25", + "2.0.0-prerelease.26", + "2.0.0-prerelease.27", + "2.0.0-prerelease.28", + "2.0.0", + "2.0.1" + ], + "targetFrameworks": [ + "net10.0", + "net11.0", + "net8.0", + "net9.0" + ], + "targetFrameworksVersion": "2.0.1" }, "Purview.ZodSharp.AspNetCore": { "id": "Purview.ZodSharp.AspNetCore", @@ -1829,15 +2818,60 @@ "2.0.0-prerelease.6", "2.0.0-prerelease.7", "2.0.0-prerelease.8", - "2.0.0-prerelease.9" - ] + "2.0.0-prerelease.9", + "2.0.0-prerelease.10", + "2.0.0-prerelease.11", + "2.0.0-prerelease.12", + "2.0.0-prerelease.13", + "2.0.0-prerelease.14", + "2.0.0-prerelease.15", + "2.0.0-prerelease.16", + "2.0.0-prerelease.17", + "2.0.0-prerelease.18", + "2.0.0-prerelease.19", + "2.0.0-prerelease.20", + "2.0.0-prerelease.21", + "2.0.0-prerelease.22", + "2.0.0-prerelease.23", + "2.0.0-prerelease.24", + "2.0.0-prerelease.25", + "2.0.0-prerelease.26", + "2.0.0-prerelease.27", + "2.0.0-prerelease.28", + "2.0.0", + "2.0.1" + ], + "targetFrameworks": [ + "net10.0", + "net11.0", + "net8.0", + "net9.0" + ], + "targetFrameworksVersion": "2.0.1" }, "Purview.ValueObjects": { "id": "Purview.ValueObjects", "versions": [ "1.0.0-prerelease.1", - "1.0.0-prerelease.2" - ] + "1.0.0-prerelease.2", + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6", + "1.0.0-prerelease.7", + "1.0.0-prerelease.8", + "1.0.0-prerelease.9", + "1.0.0-prerelease.10", + "1.0.0-prerelease.11", + "1.0.0" + ], + "targetFrameworks": [ + "net10.0", + "net11.0", + "net8.0", + "net9.0" + ], + "targetFrameworksVersion": "1.0.0" }, "Purview.SourceGeneratorFramework": { "id": "Purview.SourceGeneratorFramework", @@ -1884,8 +2918,23 @@ "1.0.0-prerelease.41", "1.0.0-prerelease.42", "1.0.0-prerelease.43", - "1.0.0-prerelease.44" - ] + "1.0.0-prerelease.44", + "1.0.0-prerelease.45", + "1.0.0-prerelease.46", + "1.0.0-prerelease.47", + "1.0.0-prerelease.48", + "1.0.0-prerelease.49", + "1.0.0-prerelease.50", + "1.0.0-prerelease.51", + "1.0.0-prerelease.52", + "1.0.0-prerelease.53", + "1.0.0-prerelease.54", + "1.0.0" + ], + "targetFrameworks": [ + ".NETStandard2.0" + ], + "targetFrameworksVersion": "1.0.0" }, "Purview.SourceGeneratorFramework.Testing": { "id": "Purview.SourceGeneratorFramework.Testing", @@ -1932,8 +2981,26 @@ "1.0.0-prerelease.41", "1.0.0-prerelease.42", "1.0.0-prerelease.43", - "1.0.0-prerelease.44" - ] + "1.0.0-prerelease.44", + "1.0.0-prerelease.45", + "1.0.0-prerelease.46", + "1.0.0-prerelease.47", + "1.0.0-prerelease.48", + "1.0.0-prerelease.49", + "1.0.0-prerelease.50", + "1.0.0-prerelease.51", + "1.0.0-prerelease.52", + "1.0.0-prerelease.53", + "1.0.0-prerelease.54", + "1.0.0" + ], + "targetFrameworks": [ + ".NETStandard2.0", + "net10.0", + "net8.0", + "net9.0" + ], + "targetFrameworksVersion": "1.0.0" }, "Purview.SourceGeneratorFramework.Testing.TUnit": { "id": "Purview.SourceGeneratorFramework.Testing.TUnit", @@ -1980,8 +3047,89 @@ "1.0.0-prerelease.41", "1.0.0-prerelease.42", "1.0.0-prerelease.43", - "1.0.0-prerelease.44" - ] + "1.0.0-prerelease.44", + "1.0.0-prerelease.45", + "1.0.0-prerelease.46", + "1.0.0-prerelease.47", + "1.0.0-prerelease.48", + "1.0.0-prerelease.49", + "1.0.0-prerelease.50", + "1.0.0-prerelease.51", + "1.0.0-prerelease.52", + "1.0.0-prerelease.53", + "1.0.0-prerelease.54", + "1.0.0" + ], + "targetFrameworks": [ + ".NETStandard2.0", + "net10.0", + "net8.0", + "net9.0" + ], + "targetFrameworksVersion": "1.0.0" + }, + "Purview.Results": { + "id": "Purview.Results", + "versions": [ + "1.0.0-prerelease.1", + "1.0.0-prerelease.2", + "1.0.0" + ], + "targetFrameworks": [ + "net10.0", + "net11.0" + ], + "targetFrameworksVersion": "1.0.0" + }, + "Purview.Results.SourceGenerator": { + "id": "Purview.Results.SourceGenerator", + "versions": [ + "1.0.0-prerelease.1", + "1.0.0-prerelease.2" + ], + "targetFrameworks": [ + ".NETStandard2.0" + ], + "targetFrameworksVersion": "1.0.0-prerelease.2" + }, + "Purview.Results.AspNetCore": { + "id": "Purview.Results.AspNetCore", + "versions": [ + "1.0.0-prerelease.1", + "1.0.0-prerelease.2", + "1.0.0" + ], + "targetFrameworks": [ + "net10.0", + "net11.0" + ], + "targetFrameworksVersion": "1.0.0" + }, + "Purview.Results.ZodSharp": { + "id": "Purview.Results.ZodSharp", + "versions": [ + "1.0.0-prerelease.1", + "1.0.0-prerelease.2", + "1.0.0" + ], + "targetFrameworks": [ + "net10.0", + "net11.0" + ], + "targetFrameworksVersion": "1.0.0" + }, + "Purview.Results.ZodSharp.AspNetCore": { + "id": "Purview.Results.ZodSharp.AspNetCore", + "versions": [ + "1.0.0-prerelease.1", + "1.0.0-prerelease.2", + "1.0.0" + ], + "targetFrameworks": [ + "net10.0", + "net11.0" + ], + "targetFrameworksVersion": "1.0.0" }, "Purview.Aspire.ResourceKit": { "id": "Purview.Aspire.ResourceKit", @@ -2015,8 +3163,27 @@ "1.0.0-prerelease.27", "1.0.0-prerelease.28", "1.0.0-prerelease.29", - "1.0.0-prerelease.30" - ] + "1.0.0-prerelease.30", + "1.0.0-prerelease.31", + "1.0.0-prerelease.32", + "1.0.0-prerelease.33", + "1.0.0-prerelease.34", + "1.0.0-prerelease.35", + "1.0.0-prerelease.36", + "1.0.0-prerelease.37", + "1.0.0-prerelease.38", + "1.0.0-prerelease.39", + "1.0.0-prerelease.40", + "1.0.0-prerelease.41", + "1.0.0", + "1.0.0.1" + ], + "targetFrameworks": [ + "net10.0", + "net8.0", + "net9.0" + ], + "targetFrameworksVersion": "1.0.0.1" }, "AspireC4.Hosting": { "id": "AspireC4.Hosting", @@ -2035,8 +3202,21 @@ "13.3.5", "13.5.3", "13.5.3.1", - "13.5.3.2" - ] + "13.5.3.2", + "13.5.3.3", + "13.5.3.4", + "13.5.3.5", + "13.5.3.6", + "13.5.3.7", + "13.5.3.8", + "13.5.3.9", + "13.5.3.10", + "13.5.3.11" + ], + "targetFrameworks": [ + "net8.0" + ], + "targetFrameworksVersion": "13.5.3.11" }, "Purview.Build": { "id": "Purview.Build", @@ -2048,135 +3228,198 @@ "0.2.6", "0.3.0", "0.3.1", - "0.3.2" - ] + "0.3.2", + "0.3.3", + "0.3.4", + "0.3.5", + "0.3.6", + "0.4.0" + ], + "targetFrameworks": [], + "targetFrameworksVersion": "0.4.0" }, "Purview.BuildSdk": { "id": "Purview.BuildSdk", "versions": [ "1.0.0-prerelease.56", - "1.0.0-prerelease.57" - ] - }, - "Purview.Results": { - "id": "Purview.Results", - "versions": [ - "1.0.0-prerelease.1", - "1.0.0-prerelease.2" - ] - }, - "Purview.Results.SourceGenerator": { - "id": "Purview.Results.SourceGenerator", - "versions": [ - "1.0.0-prerelease.1", - "1.0.0-prerelease.2" - ] - }, - "Purview.Results.AspNetCore": { - "id": "Purview.Results.AspNetCore", - "versions": [ - "1.0.0-prerelease.1", - "1.0.0-prerelease.2" - ] - }, - "Purview.Results.ZodSharp": { - "id": "Purview.Results.ZodSharp", - "versions": [ - "1.0.0-prerelease.1", - "1.0.0-prerelease.2" - ] - }, - "Purview.Results.ZodSharp.AspNetCore": { - "id": "Purview.Results.ZodSharp.AspNetCore", - "versions": [ - "1.0.0-prerelease.1", - "1.0.0-prerelease.2" - ] + "1.0.0-prerelease.57", + "1.0.0-prerelease.58", + "1.0.0-prerelease.60", + "1.0.0-prerelease.61", + "1.0.0", + "1.0.1", + "1.0.2", + "1.0.2.1", + "1.0.2.2", + "1.0.3" + ], + "targetFrameworks": [ + ".NETStandard2.0" + ], + "targetFrameworksVersion": "1.0.3" }, "Purview.Containers": { "id": "Purview.Containers", "versions": [ "1.0.0-prerelease.2", - "1.0.0-prerelease.3" - ] + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6" + ], + "targetFrameworks": [ + "net10.0" + ], + "targetFrameworksVersion": "1.0.0-prerelease.6" }, "Purview.Containers.Core": { "id": "Purview.Containers.Core", "versions": [ "1.0.0-prerelease.2", - "1.0.0-prerelease.3" - ] + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6" + ], + "targetFrameworks": [ + "net10.0" + ], + "targetFrameworksVersion": "1.0.0-prerelease.6" }, "Purview.Containers.Wsl": { "id": "Purview.Containers.Wsl", "versions": [ "1.0.0-prerelease.2", - "1.0.0-prerelease.3" - ] + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6" + ], + "targetFrameworks": [ + "net10.0", + "net10.0-windows10.0.19041" + ], + "targetFrameworksVersion": "1.0.0-prerelease.6" }, "Purview.Containers.Docker": { "id": "Purview.Containers.Docker", "versions": [ "1.0.0-prerelease.2", - "1.0.0-prerelease.3" - ] + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6" + ], + "targetFrameworks": [ + "net10.0" + ], + "targetFrameworksVersion": "1.0.0-prerelease.6" }, "Purview.Containers.PostgreSql": { "id": "Purview.Containers.PostgreSql", "versions": [ "1.0.0-prerelease.2", - "1.0.0-prerelease.3" - ] + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6" + ], + "targetFrameworks": [ + "net10.0" + ], + "targetFrameworksVersion": "1.0.0-prerelease.6" }, "Purview.Containers.Redis": { "id": "Purview.Containers.Redis", "versions": [ "1.0.0-prerelease.2", - "1.0.0-prerelease.3" - ] + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6" + ], + "targetFrameworks": [ + "net10.0" + ], + "targetFrameworksVersion": "1.0.0-prerelease.6" }, "Purview.Containers.MsSql": { "id": "Purview.Containers.MsSql", "versions": [ "1.0.0-prerelease.2", - "1.0.0-prerelease.3" - ] + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6" + ], + "targetFrameworks": [ + "net10.0" + ], + "targetFrameworksVersion": "1.0.0-prerelease.6" }, "Purview.Containers.MySql": { "id": "Purview.Containers.MySql", "versions": [ "1.0.0-prerelease.2", - "1.0.0-prerelease.3" - ] + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6" + ], + "targetFrameworks": [ + "net10.0" + ], + "targetFrameworksVersion": "1.0.0-prerelease.6" }, "Purview.Containers.RabbitMq": { "id": "Purview.Containers.RabbitMq", "versions": [ "1.0.0-prerelease.2", - "1.0.0-prerelease.3" - ] + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6" + ], + "targetFrameworks": [ + "net10.0" + ], + "targetFrameworksVersion": "1.0.0-prerelease.6" }, "Purview.Containers.Azurite": { "id": "Purview.Containers.Azurite", "versions": [ "1.0.0-prerelease.2", - "1.0.0-prerelease.3" - ] + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6" + ], + "targetFrameworks": [ + "net10.0" + ], + "targetFrameworksVersion": "1.0.0-prerelease.6" }, "Purview.Containers.Nats": { "id": "Purview.Containers.Nats", "versions": [ "1.0.0-prerelease.2", - "1.0.0-prerelease.3" - ] + "1.0.0-prerelease.3", + "1.0.0-prerelease.4", + "1.0.0-prerelease.5", + "1.0.0-prerelease.6" + ], + "targetFrameworks": [ + "net10.0" + ], + "targetFrameworksVersion": "1.0.0-prerelease.6" } }, "packageSearch": { "Purview.Telemetry.SourceGenerator": { "id": "Purview.Telemetry.SourceGenerator", - "version": "4.4.0", + "version": "5.0.1", "description": ".NET Source Generator for interface-based telemetry generating tracing, logs, and metrics.", - "totalDownloads": 16495, + "totalDownloads": 17495, "tags": [ "logs", "log", @@ -2215,20 +3458,210 @@ "Purview.EventSourcing.InMemory": null, "Purview.EventSourcing.Validation.FluentValidation": null, "Purview.EventSourcing.Validation.ZodSharp": null, - "Purview.ZodSharp": null, - "Purview.ZodSharp.SystemTextJson": null, - "Purview.ZodSharp.NewtonsoftJson": null, - "Purview.ZodSharp.AspNetCore": null, - "Purview.ValueObjects": null, - "Purview.SourceGeneratorFramework": null, - "Purview.SourceGeneratorFramework.Testing": null, - "Purview.SourceGeneratorFramework.Testing.TUnit": null, - "Purview.Aspire.ResourceKit": null, + "Purview.ZodSharp": { + "id": "Purview.ZodSharp", + "version": "2.0.1", + "description": "A high-performance C# port of Zod schema validation library.\n\t\t\tFeatures zero-allocation validation, struct-based rules, fluent API,\n\t\t\tand source generator support for maximum performance.", + "totalDownloads": 1898, + "tags": [ + "zod", + "validation", + "schema" + ], + "published": null, + "deprecated": false, + "listed": true + }, + "Purview.ZodSharp.SystemTextJson": { + "id": "Purview.ZodSharp.SystemTextJson", + "version": "2.0.1", + "description": "A high-performance C# port of Zod schema validation library. Features zero-allocation validation, struct-based rules, fluent API, and source generator support for maximum performance.", + "totalDownloads": 1512, + "tags": [ + "zod", + "validation", + "schema", + "json" + ], + "published": null, + "deprecated": false, + "listed": true + }, + "Purview.ZodSharp.NewtonsoftJson": { + "id": "Purview.ZodSharp.NewtonsoftJson", + "version": "2.0.1", + "description": "A high-performance C# port of Zod schema validation library. Features zero-allocation validation, struct-based rules, fluent API, and source generator support for maximum performance.", + "totalDownloads": 1395, + "tags": [ + "zod", + "validation", + "schema", + "json" + ], + "published": null, + "deprecated": false, + "listed": true + }, + "Purview.ZodSharp.AspNetCore": { + "id": "Purview.ZodSharp.AspNetCore", + "version": "2.0.1", + "description": "ASP.NET Core ProblemDetails integration for ZodSharp validation results.", + "totalDownloads": 1537, + "tags": [ + "zod", + "validation", + "aspnetcore", + "problemdetails" + ], + "published": null, + "deprecated": false, + "listed": true + }, + "Purview.ValueObjects": { + "id": "Purview.ValueObjects", + "version": "1.0.0", + "description": "Source-generated scalar and complex value objects for .NET. Brings F#-style single-case types to C# with Create/Hydrate factories, normalization, validation, equality, comparison, implicit conversions, and JSON serialization for DTOs, Entity Framework, and domain models.", + "totalDownloads": 662, + "tags": [ + "purview", + "dotnet", + "value-objects", + "value-object", + "scalar", + "source-generator", + "domain-driven-design", + "dto", + "serialization", + "json", + "entity-framework" + ], + "published": null, + "deprecated": false, + "listed": true + }, + "Purview.SourceGeneratorFramework": { + "id": "Purview.SourceGeneratorFramework", + "version": "1.0.0", + "description": "Purview SourceGeneratorFramework libraries for building and testing incremental C# source generators.", + "totalDownloads": 4486, + "tags": [], + "published": null, + "deprecated": false, + "listed": true + }, + "Purview.SourceGeneratorFramework.Testing": { + "id": "Purview.SourceGeneratorFramework.Testing", + "version": "1.0.0", + "description": "Purview SourceGeneratorFramework libraries for building and testing incremental C# source generators.", + "totalDownloads": 4001, + "tags": [], + "published": null, + "deprecated": false, + "listed": true + }, + "Purview.SourceGeneratorFramework.Testing.TUnit": { + "id": "Purview.SourceGeneratorFramework.Testing.TUnit", + "version": "1.0.0", + "description": "Purview SourceGeneratorFramework libraries for building and testing incremental C# source generators.", + "totalDownloads": 3711, + "tags": [], + "published": null, + "deprecated": false, + "listed": true + }, + "Purview.Results": { + "id": "Purview.Results", + "version": "1.0.0", + "description": "Dependency-free Result for .NET, with C# 15 union ergonomics for its error cases and integrations that let expected failures flow through a value instead of an exception.", + "totalDownloads": 0, + "tags": [ + "results", + "result", + "railway", + "error-handling", + "union", + "unions", + "csharp-15", + "net11", + "purview" + ], + "published": null, + "deprecated": false, + "listed": true + }, + "Purview.Results.SourceGenerator": null, + "Purview.Results.AspNetCore": { + "id": "Purview.Results.AspNetCore", + "version": "1.0.0", + "description": "Maps Purview.Results results onto ASP.NET Core responses, including ProblemDetails for expected failures.", + "totalDownloads": 0, + "tags": [ + "results", + "result", + "aspnetcore", + "problemdetails", + "minimal-api", + "purview" + ], + "published": null, + "deprecated": false, + "listed": true + }, + "Purview.Results.ZodSharp": { + "id": "Purview.Results.ZodSharp", + "version": "1.0.0", + "description": "Bridges ZodSharp ValidationResult values into Purview.Results, so validation outcomes flow through the result pipeline as ordinary error values instead of exceptions.", + "totalDownloads": 0, + "tags": [ + "results", + "result", + "validation", + "zod", + "zodsharp", + "purview" + ], + "published": null, + "deprecated": false, + "listed": true + }, + "Purview.Results.ZodSharp.AspNetCore": { + "id": "Purview.Results.ZodSharp.AspNetCore", + "version": "1.0.0", + "description": "Maps Purview result failures that carry ZodSharp validation errors onto ASP.NET Core HttpValidationProblemDetails responses.", + "totalDownloads": 0, + "tags": [ + "results", + "result", + "aspnetcore", + "problemdetails", + "validation", + "zod", + "purview" + ], + "published": null, + "deprecated": false, + "listed": true + }, + "Purview.Aspire.ResourceKit": { + "id": "Purview.Aspire.ResourceKit", + "version": "1.0.0.1", + "description": "Composable and test-friendly Aspire resource isolation model for local, running, and publishing modes.", + "totalDownloads": 2695, + "tags": [ + "aspire", + "resource-kit", + "apphost", + "testing" + ], + "published": null, + "deprecated": false, + "listed": true + }, "AspireC4.Hosting": { "id": "AspireC4.Hosting", - "version": "13.5.3.2", + "version": "13.5.3.11", "description": "Aspire hosting extension for the AspireC4 plugin, generating a dynamic LikeC4 architecture diagram for your Aspire application.", - "totalDownloads": 1435, + "totalDownloads": 1887, "tags": [ "aspire", "dotnet", @@ -2247,20 +3680,35 @@ }, "Purview.Build": { "id": "Purview.Build", - "version": "0.3.2", + "version": "0.4.0", "description": "Shared build/test/release pipeline for purview-dev. A Modular Pipelines based .NET tool (Purview.Build) with a GitHub composite action and reusable workflows; consumers configure, the pipeline runs.", - "totalDownloads": 595, + "totalDownloads": 1361, "tags": [], "published": null, "deprecated": false, "listed": true }, - "Purview.BuildSdk": null, - "Purview.Results": null, - "Purview.Results.SourceGenerator": null, - "Purview.Results.AspNetCore": null, - "Purview.Results.ZodSharp": null, - "Purview.Results.ZodSharp.AspNetCore": null, + "Purview.BuildSdk": { + "id": "Purview.BuildSdk", + "version": "1.0.3", + "description": "A reusable MSBuild SDK that provides standardised .NET project defaults, code style enforcement, configurable testing framework wiring (TUnit, Xunit, or None), mocking provider wiring (TUnitMocks, NSubstitute, or None), and Central Package Management integration. Drop in via Directory.Build.props to apply uniformly across every project in a repo.", + "totalDownloads": 455, + "tags": [ + "msbuild", + "sdk", + "build", + "tunit", + "xunit", + "tunitmock", + "nsubstitute", + "bogus", + "csharp", + "dotnet" + ], + "published": null, + "deprecated": false, + "listed": true + }, "Purview.Containers": null, "Purview.Containers.Core": null, "Purview.Containers.Wsl": null, diff --git a/src/package.json b/src/package.json index 789665d..7451bca 100644 --- a/src/package.json +++ b/src/package.json @@ -19,6 +19,7 @@ "discovery:manifest": "bun run scripts/discovery/manifest.ts", "discovery:validate": "bun run scripts/discovery/validate.ts", "fetch:releases": "bun run scripts/fetch-releases.ts", + "fix:projects": "bun run scripts/fix-projects.ts", "format": "oxfmt", "format:check": "oxfmt --check", "lint": "oxlint", diff --git a/src/scripts/check-generated.ts b/src/scripts/check-generated.ts index 44805fd..cca86e8 100644 --- a/src/scripts/check-generated.ts +++ b/src/scripts/check-generated.ts @@ -195,6 +195,31 @@ function validateProjectLlmsBundles(): void { } } +/** + * Every asset declared on a project is mirrored into `public/` and copied into + * the built site, so a missing or malformed mirror would serve a broken URL. + */ +function validateProjectAssets(): void { + for (const project of loadProjects()) { + for (const asset of project.assets) { + const path = resolve(DIST, asset.output); + if (!existsSync(path)) { + fail(`Missing mirrored project asset: ${asset.output} (declared by "${project.id}")`); + continue; + } + if (asset.output.toLowerCase().endsWith('.json')) { + try { + JSON.parse(readFileSync(path, 'utf8')); + } catch { + fail( + `Mirrored project asset is not valid JSON: ${asset.output} (declared by "${project.id}")`, + ); + } + } + } + } +} + async function scanForSecrets(): Promise { const files = await glob('**/*', { cwd: DIST, onlyFiles: true }); for (const file of files) { @@ -242,6 +267,7 @@ async function run(): Promise { requireDistFile('robots.txt'); validateProjectLlmsBundles(); + validateProjectAssets(); const llmsFull = readFileSync(resolve(DIST, 'llms-full.txt'), 'utf8'); const llms = readFileSync(resolve(DIST, 'llms.txt'), 'utf8'); diff --git a/src/scripts/check-projects.ts b/src/scripts/check-projects.ts index a8c73fd..543a34a 100644 --- a/src/scripts/check-projects.ts +++ b/src/scripts/check-projects.ts @@ -1,5 +1,6 @@ import type { DocsManifest } from '../src/lib/docs/aggregate'; import type { ResolvedProject } from '../src/lib/manifest/load'; +import type { ProjectStatus } from '../src/lib/manifest/schema'; import type { ReleaseCacheData } from '../src/lib/releases/types'; import { readDocsManifest } from '../src/lib/docs/aggregate'; @@ -11,6 +12,16 @@ import { } from '../src/lib/manifest/load'; import { readReleaseCache, readReleaseFixture } from '../src/lib/releases/cache'; import { selectStableVersion } from '../src/lib/releases/normalize'; +import { + diffTargetFrameworks, + isAnalyzerTargetFramework, + isRecognizedTargetFramework, + normalizeTargetFramework, + runtimeTargetFrameworks, + sortTargetFrameworks, + TARGET_FRAMEWORK_SENTINELS, +} from '../src/lib/releases/target-frameworks'; +import { projectReleaseSummary, projectVersionRollup } from '../src/lib/releases/transform'; import { OWNER } from '../src/lib/site'; /** @@ -25,12 +36,24 @@ import { OWNER } from '../src/lib/site'; * warnings so they do not break the build. */ -interface Finding { +/** + * A machine-applicable correction for an advisory observation. Only the + * manifest-editable findings carry one; blockers and judgement calls (for + * example replacing a deprecated package) do not. + */ +export type Autofix = + | { kind: 'set-project-target-frameworks'; value: string[] } + | { kind: 'set-package-target-frameworks'; packageId: string; value: string[] } + | { kind: 'set-status'; value: ProjectStatus }; + +export interface Finding { project: string; field: string; observed: string; expected: string; remediation: string; + /** A fix `just fix-projects` can apply, when the observation is unambiguous. */ + autofix?: Autofix; } const errors: Finding[] = []; @@ -227,6 +250,225 @@ function checkPackages(project: ResolvedProject, data: ReleaseCacheData): void { } } +function joinDiff(diff: { missing: string[]; extra: string[] }): string { + return [ + diff.missing.length > 0 ? `missing ${diff.missing.join(', ')}` : null, + diff.extra.length > 0 ? `extra ${diff.extra.join(', ')}` : null, + ] + .filter((value): value is string => value !== null) + .join('; '); +} + +/** + * A project's declared release channel and package health should agree with what + * it has actually published. These are recommendations rather than blockers: a + * project may deliberately stay `preview`, but the mismatch is worth surfacing. + * Exported so the rules can be unit-tested against synthetic release data. + */ +export function versionConsistencyFindings( + project: ResolvedProject, + data: ReleaseCacheData, +): Finding[] { + const findings: Finding[] = []; + if (project.status === 'archived') { + return findings; + } + + if (project.status === 'preview' && !project.experimental) { + const stablePackage = project.packages.find( + (pkg) => selectStableVersion(data.packages[pkg.id]?.versions ?? []) !== null, + ); + if (stablePackage) { + findings.push({ + project: project.id, + field: 'status', + observed: `preview while a stable NuGet version of ${stablePackage.id} exists`, + expected: 'status: stable once a stable release ships', + remediation: + 'confirm the channel: set `status: stable` if the release is supported, or keep `preview` and record why.', + autofix: { kind: 'set-status', value: 'stable' }, + }); + } + } + + for (const pkg of project.packages) { + const search = data.packageSearch[pkg.id]; + if (search?.deprecated) { + findings.push({ + project: project.id, + field: `packages["${pkg.id}"]`, + observed: 'deprecated on NuGet', + expected: 'a package that is still recommended', + remediation: 'replace the deprecated package or mark the project archived/superseded.', + }); + } + if (search && search.listed === false) { + findings.push({ + project: project.id, + field: `packages["${pkg.id}"]`, + observed: 'unlisted on NuGet', + expected: 'a listed package', + remediation: 'list the package on NuGet or remove it from the catalogue.', + }); + } + } + + const rollup = projectVersionRollup(project, projectReleaseSummary(project, data, 'cache')); + if (rollup.laggingPackageCount > 0) { + findings.push({ + project: project.id, + field: 'packages', + observed: `${rollup.laggingPackageCount} package(s) trail the headline version`, + expected: 'packages published together at the project version', + remediation: + 'publish the lagging packages at the current version, or confirm the split is intentional.', + }); + } + + return findings; +} + +/** + * Target frameworks should describe what the published packages actually + * support. Analyzer/source-generator packages (`netstandard*`) are treated + * separately: their framework is a build-time target, not a consumer framework, + * so a project whose packages are all analyzers is not compared against them. + * Exported so the rules can be unit-tested against synthetic release data. + */ +export function targetFrameworkFindings( + project: ResolvedProject, + data: ReleaseCacheData, +): Finding[] { + const findings: Finding[] = []; + const declaredProject = project.targetFrameworks ?? []; + + for (const { field, values } of [ + { field: 'targetFrameworks', values: declaredProject }, + ...project.packages.map((pkg) => ({ + field: `packages["${pkg.id}"].targetFrameworks`, + values: pkg.targetFrameworks ?? [], + })), + ]) { + for (const value of values) { + if (!isRecognizedTargetFramework(value)) { + findings.push({ + project: project.id, + field, + observed: value, + expected: 'a valid TFM such as net8.0, net10.0, netstandard2.0, or the msbuild sentinel', + remediation: 'correct the framework moniker or remove it.', + }); + } + } + } + + const published = new Map(); + for (const pkg of project.packages) { + const frameworks = data.packages[pkg.id]?.targetFrameworks; + if (frameworks && frameworks.length > 0) { + published.set(pkg.id, frameworks); + } + } + if (published.size === 0) { + return findings; + } + + const sentinels = new Set(TARGET_FRAMEWORK_SENTINELS); + const sentinelOnly = + declaredProject.length > 0 && + declaredProject.every((value) => sentinels.has(normalizeTargetFramework(value))); + const skipEquality = + project.install === 'msbuild-sdk' || project.install === 'dotnet-tool' || sentinelOnly; + + const expectedRuntime = new Set( + [...published].flatMap(([, frameworks]) => + frameworks.filter((tfm) => !isAnalyzerTargetFramework(tfm)).map(normalizeTargetFramework), + ), + ); + + if (!skipEquality) { + const declaredRuntime = runtimeTargetFrameworks(declaredProject, { excludeAnalyzer: true }); + if (declaredProject.length === 0) { + if (expectedRuntime.size > 0) { + findings.push({ + project: project.id, + field: 'targetFrameworks', + observed: 'none', + expected: `the frameworks the packages target (${sortTargetFrameworks(expectedRuntime).join(', ')})`, + remediation: 'declare the project targetFrameworks shown on the project page.', + autofix: { + kind: 'set-project-target-frameworks', + value: sortTargetFrameworks(expectedRuntime), + }, + }); + } + } else if (expectedRuntime.size > 0) { + const diff = diffTargetFrameworks(declaredRuntime, [...expectedRuntime]); + if (diff.missing.length > 0 || diff.extra.length > 0) { + findings.push({ + project: project.id, + field: 'targetFrameworks', + observed: `${sortTargetFrameworks(declaredRuntime).join(', ') || 'none'} (${joinDiff(diff)})`, + expected: `the union of the runtime packages' frameworks (${sortTargetFrameworks(expectedRuntime).join(', ')})`, + remediation: + 'align the project targetFrameworks with the packages, or add a package-level override.', + autofix: { + kind: 'set-project-target-frameworks', + value: sortTargetFrameworks(expectedRuntime), + }, + }); + } + } + + for (const [packageId, frameworks] of published) { + const declared = project.packages.find((pkg) => pkg.id === packageId)?.targetFrameworks ?? []; + if (declared.length > 0) { + const diff = diffTargetFrameworks(runtimeTargetFrameworks(declared), frameworks); + if (diff.missing.length > 0 || diff.extra.length > 0) { + findings.push({ + project: project.id, + field: `packages["${packageId}"].targetFrameworks`, + observed: `${sortTargetFrameworks(declared).join(', ')} (${joinDiff(diff)})`, + expected: `the published frameworks (${sortTargetFrameworks(frameworks).join(', ')})`, + remediation: + 'correct the package targetFrameworks, or remove them to inherit the project list.', + autofix: { + kind: 'set-package-target-frameworks', + packageId, + value: sortTargetFrameworks(frameworks), + }, + }); + } + continue; + } + const packageRuntime = frameworks.filter((tfm) => !isAnalyzerTargetFramework(tfm)); + const runtimeDiverges = packageRuntime.some( + (tfm) => !expectedRuntime.has(normalizeTargetFramework(tfm)), + ); + const analyzerOnly = packageRuntime.length === 0 && expectedRuntime.size > 0; + if (runtimeDiverges || analyzerOnly) { + findings.push({ + project: project.id, + field: `packages["${packageId}"]`, + observed: `targets ${sortTargetFrameworks(frameworks).join(', ')} without a package-level targetFrameworks`, + expected: + expectedRuntime.size > 0 + ? `the project frameworks (${sortTargetFrameworks(expectedRuntime).join(', ')})` + : 'the project targetFrameworks', + remediation: 'add `targetFrameworks` to the package, or align it with the project.', + autofix: { + kind: 'set-package-target-frameworks', + packageId, + value: sortTargetFrameworks(frameworks), + }, + }); + } + } + } + + return findings; +} + /** Repository metadata is the site's tag source and a stability signal. */ function checkRepoMetadata(project: ResolvedProject, data: ReleaseCacheData): void { const repo = data.repos[project.repository]; @@ -373,6 +615,12 @@ export function checkProjects(): { errors: Finding[]; warnings: Finding[] } { if (data) { checkPackages(project, data); checkRepoMetadata(project, data); + for (const finding of versionConsistencyFindings(project, data)) { + warn(finding); + } + for (const finding of targetFrameworkFindings(project, data)) { + warn(finding); + } } } diff --git a/src/scripts/clean.ts b/src/scripts/clean.ts index 15fe341..961dc79 100644 --- a/src/scripts/clean.ts +++ b/src/scripts/clean.ts @@ -15,6 +15,7 @@ const TARGETS = [ 'public/icon-192.png', 'public/icon-512.png', 'public/og', + 'public/schemas', ]; if (import.meta.main) { diff --git a/src/scripts/data-sync.ts b/src/scripts/data-sync.ts index 626e969..baa1e33 100644 --- a/src/scripts/data-sync.ts +++ b/src/scripts/data-sync.ts @@ -4,6 +4,7 @@ import { resolve } from 'node:path'; import { readReleaseCache, readReleaseFixture, writeReleaseCache } from '../src/lib/releases/cache'; import { fetchReleaseData } from './fetch-releases'; import { processBranding } from './process-branding'; +import { syncAssets } from './sync-assets'; import { hasDocsMirror, syncDocs } from './sync-docs'; const RELEASES_CACHE_FILE = resolve('.cache/releases/releases.json'); @@ -93,6 +94,7 @@ export async function dataSync(): Promise { // repository descriptions and topics (tags) from the release cache. await syncReleases(mode); await syncDocsMirror(mode); + await syncAssets(mode); if (!existsSync(RELEASES_CACHE_FILE) && !readReleaseFixture('index')) { console.warn( 'Note: release data is unavailable. The releases page will be empty until `just fetch-releases` runs.', diff --git a/src/scripts/fetch-releases.ts b/src/scripts/fetch-releases.ts index 7748fa2..1a6995f 100644 --- a/src/scripts/fetch-releases.ts +++ b/src/scripts/fetch-releases.ts @@ -6,10 +6,49 @@ import { fetchGitHubReleases, fetchGitHubRepo, fetchNuGetIndex, + fetchNuGetNuspec, fetchNuGetSearch, } from '../src/lib/releases/github'; +import { selectVersionForTargetFrameworks } from '../src/lib/releases/target-frameworks'; import { RELEASE_CACHE_SCHEMA_VERSION } from '../src/lib/releases/types'; +/** + * Read the target frameworks a package publishes from its NuGet nuspec and + * record them on the version index. Kept separate from the version-index fetch + * so a nuspec failure never discards the versions themselves; a previously + * fetched framework list is preserved on failure. + */ +async function attachTargetFrameworks( + data: ReleaseCacheData, + packageId: string, + existing: ReleaseCacheData | null, +): Promise { + const index = data.packages[packageId]; + if (!index) { + return; + } + const previous = existing?.packages[packageId]; + const version = selectVersionForTargetFrameworks(index.versions); + if (!version) { + if (previous?.targetFrameworks) { + index.targetFrameworks = previous.targetFrameworks; + index.targetFrameworksVersion = previous.targetFrameworksVersion ?? null; + } + return; + } + try { + index.targetFrameworks = await fetchNuGetNuspec(packageId, version); + index.targetFrameworksVersion = version; + console.log(` nuget ${packageId}: ${index.targetFrameworks.length} target framework(s)`); + } catch (error) { + console.warn(` nuget ${packageId}: nuspec unavailable (${(error as Error).message})`); + if (previous?.targetFrameworks) { + index.targetFrameworks = previous.targetFrameworks; + index.targetFrameworksVersion = previous.targetFrameworksVersion ?? null; + } + } +} + export async function fetchReleaseData(): Promise { const projects = loadProjects(); const existing = readReleaseCache(); @@ -67,6 +106,8 @@ export async function fetchReleaseData(): Promise { data.packages[pkg.id] = previous ?? { id: pkg.id, versions: [] }; data.packageSearch[pkg.id] = existing?.packageSearch[pkg.id] ?? null; } + + await attachTargetFrameworks(data, pkg.id, existing); } } diff --git a/src/scripts/fix-projects.ts b/src/scripts/fix-projects.ts new file mode 100644 index 0000000..ebb0b59 --- /dev/null +++ b/src/scripts/fix-projects.ts @@ -0,0 +1,174 @@ +import type { Autofix } from './check-projects'; + +import { readFileSync, writeFileSync } from 'node:fs'; +import { join } from 'node:path'; + +import { DEFAULT_PROJECTS_DIR } from '../src/lib/manifest/load'; +import { checkProjects } from './check-projects'; + +/** + * Apply the catalogue guard's machine-applicable fixes to the project records + * under `src/src/data/projects/`. + * + * The advisory observations in `check-projects.ts` carry an optional structured + * `autofix`; this script applies those and leaves everything else (blockers, + * judgement calls such as replacing a deprecated package) to a human. It is + * dry-run by default — pass `--write` to edit the files. The edits are surgical + * line splices so the hand-authored YAML (folded scalars, comments, ordering) + * is preserved. + */ + +/** Top-level keys a new `targetFrameworks:` block is inserted before. */ +const TOP_LEVEL_ANCHORS = [ + 'install:', + 'packages:', + 'related:', + 'useCases:', + 'acknowledgments:', + 'discussions:', + 'supersedes:', + 'supersededBy:', +]; + +/** Replace (or insert) the top-level `targetFrameworks:` list. */ +export function setProjectTargetFrameworks(lines: string[], value: string[]): string[] { + const block = ['targetFrameworks:', ...value.map((entry) => ` - ${entry}`)]; + const keyIndex = lines.findIndex((line) => line.startsWith('targetFrameworks:')); + if (keyIndex !== -1) { + let count = 0; + while ( + keyIndex + 1 + count < lines.length && + (lines[keyIndex + 1 + count] ?? '').startsWith(' - ') + ) { + count += 1; + } + lines.splice(keyIndex, 1 + count, ...block); + return lines; + } + const anchor = TOP_LEVEL_ANCHORS.map((key) => lines.findIndex((line) => line.startsWith(key))) + .filter((index) => index !== -1) + .reduce((lowest, index) => Math.min(lowest, index), lines.length); + lines.splice(anchor, 0, ...block); + return lines; +} + +/** Replace (or insert) the `targetFrameworks:` list inside a package entry. */ +export function setPackageTargetFrameworks( + lines: string[], + packageId: string, + value: string[], +): string[] { + const idIndex = lines.findIndex((line) => line.trimEnd() === ` - id: ${packageId}`); + if (idIndex === -1) { + return lines; + } + let end = idIndex + 1; + while (end < lines.length && (lines[end] ?? '').startsWith(' ')) { + end += 1; + } + const keyIndex = lines.findIndex( + (line, index) => index > idIndex && index < end && line.startsWith(' targetFrameworks:'), + ); + const block = [' targetFrameworks:', ...value.map((entry) => ` - ${entry}`)]; + if (keyIndex !== -1) { + let count = 0; + while ( + keyIndex + 1 + count < end && + (lines[keyIndex + 1 + count] ?? '').startsWith(' - ') + ) { + count += 1; + } + lines.splice(keyIndex, 1 + count, ...block); + } else { + lines.splice(end, 0, ...block); + } + return lines; +} + +/** Replace the top-level `status:` value. */ +export function setStatus(lines: string[], status: string): string[] { + const index = lines.findIndex((line) => line.startsWith('status:')); + if (index !== -1) { + lines[index] = `status: ${status}`; + } + return lines; +} + +/** Apply a single structured fix to a manifest's lines. */ +export function applyAutofix(lines: string[], autofix: Autofix): string[] { + switch (autofix.kind) { + case 'set-project-target-frameworks': + return setProjectTargetFrameworks(lines, autofix.value); + case 'set-package-target-frameworks': + return setPackageTargetFrameworks(lines, autofix.packageId, autofix.value); + case 'set-status': + return setStatus(lines, autofix.value); + } +} + +function describeAutofixes(autofixes: Autofix[]): string { + return autofixes + .map((autofix) => { + switch (autofix.kind) { + case 'set-project-target-frameworks': + return `project targetFrameworks -> ${autofix.value.join(', ') || '(none)'}`; + case 'set-package-target-frameworks': + return `${autofix.packageId} targetFrameworks -> ${autofix.value.join(', ')}`; + case 'set-status': + return `status -> ${autofix.value}`; + } + }) + .join('; '); +} + +function run(): number { + const write = process.argv.includes('--write'); + console.log(write ? 'Fixing the project catalogue...' : 'Planning catalogue fixes (dry run)...'); + + const { warnings } = checkProjects(); + const fixable = warnings.filter((finding) => finding.autofix !== undefined); + if (fixable.length === 0) { + console.log('No auto-fixable catalogue observations.'); + return 0; + } + + const byProject = new Map(); + for (const finding of fixable) { + if (!finding.autofix) { + continue; + } + byProject.set(finding.project, [...(byProject.get(finding.project) ?? []), finding.autofix]); + } + + let changed = 0; + for (const [projectId, autofixes] of byProject) { + const file = join(DEFAULT_PROJECTS_DIR, `${projectId}.yml`); + const original = readFileSync(file, 'utf8'); + let lines = original.split('\n'); + for (const autofix of autofixes) { + lines = applyAutofix(lines, autofix); + } + const updated = lines.join('\n'); + if (updated === original) { + continue; + } + changed += 1; + console.log(` ${write ? 'fixed' : 'would fix'} ${projectId}: ${describeAutofixes(autofixes)}`); + if (write) { + writeFileSync(file, updated, 'utf8'); + } + } + + if (write) { + console.log(`Updated ${changed} project file(s).`); + const after = checkProjects(); + console.log(`${after.warnings.length} observation(s) remain after the fix.`); + } else { + console.log(`${changed} project file(s) would change. Re-run with \`--write\` to apply.`); + } + return 0; +} + +if (import.meta.main) { + process.exit(run()); +} diff --git a/src/scripts/refresh-fixtures.ts b/src/scripts/refresh-fixtures.ts index eecaa24..fc7d131 100644 --- a/src/scripts/refresh-fixtures.ts +++ b/src/scripts/refresh-fixtures.ts @@ -8,12 +8,16 @@ import { fetchGitHubReleasesRaw, fetchGitHubRepoRaw, fetchNuGetIndexRaw, + fetchNuGetNuspecRaw, fetchNuGetSearchRaw, + parseNuGetNuspec, } from '../src/lib/releases/github'; +import { selectVersionForTargetFrameworks } from '../src/lib/releases/target-frameworks'; import { RELEASE_CACHE_SCHEMA_VERSION } from '../src/lib/releases/types'; const GITHUB_FIXTURES = resolve('fixtures', 'github'); const NUGET_FIXTURES = resolve('fixtures', 'nuget'); +const NUGET_NUSPEC_FIXTURES = resolve(NUGET_FIXTURES, 'nuspec'); const RELEASE_FIXTURES = resolve('fixtures', 'releases'); function writeJson(file: string, data: unknown): void { @@ -21,6 +25,11 @@ function writeJson(file: string, data: unknown): void { writeFileSync(file, `${JSON.stringify(data, null, 2)}\n`, 'utf8'); } +function writeText(file: string, data: string): void { + mkdirSync(dirname(file), { recursive: true }); + writeFileSync(file, data, 'utf8'); +} + /** * Regenerate committed test fixtures from live GitHub and NuGet data. * The fixtures are representative sample data with no secrets and are used by @@ -79,16 +88,32 @@ async function main(): Promise { try { const indexRaw = await fetchNuGetIndexRaw(pkg.id); writeJson(resolve(NUGET_FIXTURES, `${pkg.id.toLowerCase()}.json`), indexRaw); - data.packages[pkg.id] = { + const index: ReleaseCacheData['packages'][string] = { id: pkg.id, versions: Array.isArray(indexRaw.versions) ? indexRaw.versions.map(String) : [], }; + data.packages[pkg.id] = index; const searchRaw = await fetchNuGetSearchRaw(pkg.id); writeJson(resolve(NUGET_FIXTURES, 'search', `${pkg.id}.json`), searchRaw); const dataList = Array.isArray(searchRaw.data) ? searchRaw.data : []; const first = dataList[0] as Record | undefined; data.packageSearch[pkg.id] = first ? parseSearchEntry(first, pkg.id) : null; - console.log(` nuget ${pkg.id}: ${data.packages[pkg.id]?.versions.length ?? 0} versions`); + console.log(` nuget ${pkg.id}: ${index.versions.length} versions`); + + const version = selectVersionForTargetFrameworks(index.versions); + if (version) { + try { + const nuspec = await fetchNuGetNuspecRaw(pkg.id, version); + writeText(resolve(NUGET_NUSPEC_FIXTURES, `${pkg.id.toLowerCase()}.nuspec`), nuspec); + index.targetFrameworks = parseNuGetNuspec(nuspec); + index.targetFrameworksVersion = version; + console.log( + ` nuget ${pkg.id}: ${index.targetFrameworks.length} target framework(s) @ ${version}`, + ); + } catch (error) { + console.warn(` nuget ${pkg.id}: nuspec ${(error as Error).message}`); + } + } } catch (error) { console.warn(` nuget ${pkg.id}: ${(error as Error).message}`); data.packages[pkg.id] = { id: pkg.id, versions: [] }; diff --git a/src/scripts/sync-assets.ts b/src/scripts/sync-assets.ts new file mode 100644 index 0000000..926a6b8 --- /dev/null +++ b/src/scripts/sync-assets.ts @@ -0,0 +1,147 @@ +import type { ResolvedProject } from '../src/lib/manifest/load'; + +import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'; +import { dirname, resolve } from 'node:path'; + +import { fetchRawFile } from '../src/lib/docs/aggregate'; +import { loadProjects } from '../src/lib/manifest/load'; + +/** + * Mirror the repository files declared in a project's `assets` into `public/`, + * so a stable purview.dev URL can serve an artefact that lives in a product + * repository (for example a JSON Schema). Assets are read from the repository's + * `main` branch with the docs aggregator's `fetchRawFile`, cached under + * `.cache/assets/`, and backed by committed fixtures under `fixtures/assets/` + * for the offline `fixture` mode. + */ + +export const ASSETS_CACHE_DIR = resolve('.cache/assets'); +export const ASSETS_FIXTURE_DIR = resolve('fixtures/assets'); +export const ASSETS_PUBLIC_DIR = resolve('public'); + +export type DataMode = 'auto' | 'live' | 'cache' | 'fixture'; + +export interface DeclaredAsset { + projectId: string; + repository: string; + path: string; + output: string; + description?: string; +} + +/** Flatten the assets declared across the catalogue, in project order. */ +export function collectAssets(projects: ResolvedProject[]): DeclaredAsset[] { + return projects.flatMap((project) => + project.assets.map((asset) => ({ + projectId: project.id, + repository: project.repository, + path: asset.path, + output: asset.output, + description: asset.description, + })), + ); +} + +function cachePath(asset: DeclaredAsset): string { + return resolve(ASSETS_CACHE_DIR, asset.projectId, asset.path); +} + +function fixturePath(asset: DeclaredAsset): string { + return resolve(ASSETS_FIXTURE_DIR, asset.projectId, asset.path); +} + +function publicPath(asset: DeclaredAsset): string { + return resolve(ASSETS_PUBLIC_DIR, asset.output); +} + +function writeFile(target: string, content: string): void { + mkdirSync(dirname(target), { recursive: true }); + writeFileSync(target, content, 'utf8'); +} + +async function fetchAsset(asset: DeclaredAsset): Promise { + const raw = await fetchRawFile(asset.repository, 'main', asset.path); + if (!raw) { + throw new Error( + `Declared asset not found: ${asset.repository}/${asset.path} (project "${asset.projectId}"). ` + + "Publish the file on the repository's main branch or correct the manifest.", + ); + } + return raw.content; +} + +/** Resolve one asset's content for the requested data mode. */ +async function resolveAsset( + asset: DeclaredAsset, + mode: DataMode, +): Promise<{ content: string; source: 'live' | 'cache' | 'fixture' }> { + const cache = cachePath(asset); + const fixture = fixturePath(asset); + + if (mode === 'fixture') { + if (!existsSync(fixture)) { + throw new Error( + `DATA_MODE=fixture but the declared asset has no fixture: ${asset.projectId}/${asset.path} (${fixture}).`, + ); + } + return { content: readFileSync(fixture, 'utf8'), source: 'fixture' }; + } + if (mode === 'cache') { + if (!existsSync(cache)) { + throw new Error( + `DATA_MODE=cache but the declared asset has no cached copy: ${asset.projectId}/${asset.path}. ` + + 'Run `just live-data-sync` (or `just fetch-releases`) first.', + ); + } + return { content: readFileSync(cache, 'utf8'), source: 'cache' }; + } + if (mode === 'live') { + return { content: await fetchAsset(asset), source: 'live' }; + } + // auto: cache-first, then live, then the committed fixture. + if (existsSync(cache)) { + return { content: readFileSync(cache, 'utf8'), source: 'cache' }; + } + try { + return { content: await fetchAsset(asset), source: 'live' }; + } catch (error) { + if (existsSync(fixture)) { + console.warn( + ` assets ${asset.output}: live fetch failed (${(error as Error).message}); using fixture.`, + ); + return { content: readFileSync(fixture, 'utf8'), source: 'fixture' }; + } + throw error; + } +} + +/** + * Mirror every declared asset into `public/`, caching a live fetch for offline + * reuse. Throws when a declared asset cannot be resolved, so a missing asset + * fails the data sync rather than silently shipping a broken URL. + */ +export async function syncAssets(mode: DataMode): Promise { + const assets = collectAssets(loadProjects()); + if (assets.length === 0) { + console.log('Assets: none declared.'); + return 0; + } + for (const asset of assets) { + const { content, source } = await resolveAsset(asset, mode); + if (source === 'live') { + writeFile(cachePath(asset), content); + } + writeFile(publicPath(asset), content); + console.log(` asset ${asset.output} <- ${asset.repository}/${asset.path} (${source})`); + } + console.log(`Assets mirrored: ${assets.length} file(s).`); + return assets.length; +} + +if (import.meta.main) { + const requested = (process.env.DATA_MODE ?? 'auto').toLowerCase(); + const mode: DataMode = ['auto', 'live', 'cache', 'fixture'].includes(requested) + ? (requested as DataMode) + : 'auto'; + await syncAssets(mode); +} diff --git a/src/src/components/SiteBrand.astro b/src/src/components/SiteBrand.astro index 4a0343e..a767922 100644 --- a/src/src/components/SiteBrand.astro +++ b/src/src/components/SiteBrand.astro @@ -19,14 +19,14 @@ const { iconOnly = false } = Astro.props; iconOnly ? : Community diff --git a/src/src/data/projects/aspire-resourcekit.yml b/src/src/data/projects/aspire-resourcekit.yml index 5064cc7..0a33bb1 100644 --- a/src/src/data/projects/aspire-resourcekit.yml +++ b/src/src/data/projects/aspire-resourcekit.yml @@ -30,6 +30,8 @@ docs: - Home.md - index.md targetFrameworks: + - net8.0 + - net9.0 - net10.0 packages: - id: Purview.Aspire.ResourceKit diff --git a/src/src/data/projects/aspirec4.yml b/src/src/data/projects/aspirec4.yml index 1520acc..25d6be1 100644 --- a/src/src/data/projects/aspirec4.yml +++ b/src/src/data/projects/aspirec4.yml @@ -28,6 +28,8 @@ docs: - _Sidebar.md - Home.md - index.md +targetFrameworks: + - net8.0 packages: - id: AspireC4.Hosting description: Aspire hosting extension for the AspireC4 plugin, generating a dynamic LikeC4 architecture diagram for your Aspire application. diff --git a/src/src/data/projects/build.yml b/src/src/data/projects/build.yml index 2297981..a31ac04 100644 --- a/src/src/data/projects/build.yml +++ b/src/src/data/projects/build.yml @@ -36,6 +36,10 @@ packages: - id: Purview.Build description: Pinned dotnet tool implementing the shared pipeline. primary: true +assets: + - path: purview-build.schema.json + output: schemas/purview-build.json + description: The purview-build.json configuration schema, served from a stable purview.dev URL. useCases: - audience: team-lead title: One reusable pipeline for every repository diff --git a/src/src/data/projects/containers.yml b/src/src/data/projects/containers.yml index c2ad614..c7b2c50 100644 --- a/src/src/data/projects/containers.yml +++ b/src/src/data/projects/containers.yml @@ -40,6 +40,7 @@ docs: - Home.md targetFrameworks: - net10.0 + - net10.0-windows10.0.19041.0 packages: - id: Purview.Containers description: The umbrella — references the abstractions and both backends, so one reference runs the same tests on WSLC on Windows and Docker elsewhere. diff --git a/src/src/data/projects/event-sourcing.yml b/src/src/data/projects/event-sourcing.yml index 6108a07..e229d56 100644 --- a/src/src/data/projects/event-sourcing.yml +++ b/src/src/data/projects/event-sourcing.yml @@ -32,8 +32,6 @@ docs: - Home.md - index.md targetFrameworks: - - net8.0 - - net9.0 - net10.0 packages: - id: Purview.EventSourcing diff --git a/src/src/data/projects/results.yml b/src/src/data/projects/results.yml index 16d19c8..ec90d51 100644 --- a/src/src/data/projects/results.yml +++ b/src/src/data/projects/results.yml @@ -22,7 +22,7 @@ avoidWhen: >- are modelling are exceptional circumstances that belong in exceptions. repository: purview-dev/results category: application-framework -status: preview +status: stable order: 45 docs: source: github-path @@ -33,6 +33,7 @@ docs: - Home.md - index.md targetFrameworks: + - net10.0 - net11.0 packages: - id: Purview.Results diff --git a/src/src/data/projects/sourcegenerator-framework.yml b/src/src/data/projects/sourcegenerator-framework.yml index b3a3a37..29da27a 100644 --- a/src/src/data/projects/sourcegenerator-framework.yml +++ b/src/src/data/projects/sourcegenerator-framework.yml @@ -19,7 +19,7 @@ avoidWhen: >- hide behaviour your implementation needs to control precisely. repository: purview-dev/sourcegenerator-framework category: source-generation -status: preview +status: stable featured: true order: 40 docs: @@ -38,6 +38,8 @@ packages: - id: Purview.SourceGeneratorFramework description: Core helpers, models, and MSBuild integration for incremental generators. primary: true + targetFrameworks: + - netstandard2.0 - id: Purview.SourceGeneratorFramework.Testing description: Framework-agnostic test runner and assertions for generator tests. - id: Purview.SourceGeneratorFramework.Testing.TUnit diff --git a/src/src/data/projects/value-objects.yml b/src/src/data/projects/value-objects.yml index 460fde3..0dbd44b 100644 --- a/src/src/data/projects/value-objects.yml +++ b/src/src/data/projects/value-objects.yml @@ -22,7 +22,7 @@ avoidWhen: >- serialization behaviour would be more machinery than the domain needs. repository: purview-dev/value-objects category: source-generation -status: preview +status: stable featured: true order: 35 docs: @@ -37,6 +37,7 @@ targetFrameworks: - net8.0 - net9.0 - net10.0 + - net11.0 packages: - id: Purview.ValueObjects description: Runtime contracts, source generator, and analyzer for scalar and complex value objects. diff --git a/src/src/data/projects/zodsharp.yml b/src/src/data/projects/zodsharp.yml index 6a3f899..228cd6d 100644 --- a/src/src/data/projects/zodsharp.yml +++ b/src/src/data/projects/zodsharp.yml @@ -35,6 +35,7 @@ targetFrameworks: - net8.0 - net9.0 - net10.0 + - net11.0 packages: - id: Purview.ZodSharp description: Core validation library and source generator. diff --git a/src/src/layouts/SiteLayout.astro b/src/src/layouts/SiteLayout.astro index 41bdf53..f198970 100644 --- a/src/src/layouts/SiteLayout.astro +++ b/src/src/layouts/SiteLayout.astro @@ -3,6 +3,7 @@ import '~/styles/global.css'; import ThemeProvider from '@astrojs/starlight/components/ThemeProvider.astro'; import SiteFooter from '~/components/SiteFooter.astro'; import SiteHeader from '~/components/SiteHeader.astro'; +import { metaDescription } from '~/lib/seo'; import { BRAND, SITE } from '~/lib/site'; import { absoluteUrl, withBase } from '~/lib/urls'; @@ -29,12 +30,13 @@ interface Props { const { title, - description = SITE.description, + description: rawDescription = SITE.description, image, structuredData, alternateLinks = [], noindex = false, } = Astro.props; +const description = metaDescription(rawDescription); const canonical = absoluteUrl(Astro.url.pathname === '' ? '/' : Astro.url.pathname); const ogImage = absoluteUrl(image ?? '/og/default.png'); --- @@ -46,13 +48,7 @@ const ogImage = absoluteUrl(image ?? '/og/default.png'); {title} - { - noindex ? ( - - ) : ( - - ) - } + {noindex ? : } @@ -92,7 +88,9 @@ const ogImage = absoluteUrl(image ?? '/og/default.png'); > Skip to content -
+
diff --git a/src/src/lib/docs/aggregate.ts b/src/src/lib/docs/aggregate.ts index 5eb3e3c..20397fa 100644 --- a/src/src/lib/docs/aggregate.ts +++ b/src/src/lib/docs/aggregate.ts @@ -8,6 +8,7 @@ import { dirname, join, resolve } from 'node:path'; import { resolveGitHubToken } from '../github/token'; import { getReleaseIndex } from '../releases/runtime'; +import { metaDescription } from '../seo'; import { OWNER } from '../site'; import { convertGithubAlerts } from './alerts'; import { @@ -110,7 +111,7 @@ async function lastCommitDate(repository: string, branch: string, path: string): return 'unknown'; } -async function fetchRawFile( +export async function fetchRawFile( repository: string, branch: string, path: string, @@ -315,10 +316,12 @@ async function buildPage( const repo = getReleaseIndex().data.repos[project.repository]; const repoTags = repo?.topics ?? []; const repoDescription = repo?.description?.trim() || null; - const description = + const description = metaDescription( (slug === 'index' ? project.shortDescription : extractDescription(cleaned)) || - repoDescription || - project.shortDescription; + repoDescription || + project.shortDescription, + `${project.name} documentation — open-source .NET tooling from Purview Dev.`, + ); const editSourcePath = raw.path.replace(/^\/+/, ''); const frontmatter: DocFrontmatter = { diff --git a/src/src/lib/docs/links.ts b/src/src/lib/docs/links.ts index 91a3810..2abf763 100644 --- a/src/src/lib/docs/links.ts +++ b/src/src/lib/docs/links.ts @@ -132,6 +132,13 @@ function usableHash(hash: string, slug: string, context: DocLinkContext): string * - relative images are rewritten to the configured absolute `imageBase`. */ export function rewriteDocMarkdown(markdown: string, context: DocLinkContext): string { + markdown = markdown.replace(/!\[\s*\]\(([^)\s]+)/g, (_match, target: string) => { + const file = stripUrlSuffix(target).path.split('/').pop() ?? ''; + const alt = decodeURIComponent(file.replace(/\.[a-z0-9]+$/i, '')) + .replace(/[-_.]+/g, ' ') + .trim(); + return `![${alt || 'Image'}](${target}`; + }); const linkPattern = /!?\[([^\][]*(?:\[[^\][]*\][^\][]*)*)\]\(([^)\s]+)(?:\s+["'][^"']*["'])?\)/g; return markdown.replace(linkPattern, (match, label: string, target: string) => { const isImage = match.startsWith('!'); diff --git a/src/src/lib/manifest/load.ts b/src/src/lib/manifest/load.ts index 774610f..447e82a 100644 --- a/src/src/lib/manifest/load.ts +++ b/src/src/lib/manifest/load.ts @@ -30,6 +30,7 @@ export interface ResolvedProject extends ProjectRecord { experimental: boolean; order: number; packages: NonNullable; + assets: NonNullable; related: NonNullable; useCases: NonNullable; acknowledgments: NonNullable; @@ -65,6 +66,7 @@ function withDefaults(record: ProjectRecord): ResolvedProject { experimental: record.experimental ?? PROJECT_DEFAULTS.experimental, order: record.order ?? PROJECT_DEFAULTS.order, packages: record.packages ?? PROJECT_DEFAULTS.packages, + assets: record.assets ?? PROJECT_DEFAULTS.assets, related: record.related ?? PROJECT_DEFAULTS.related, useCases: record.useCases ?? PROJECT_DEFAULTS.useCases, acknowledgments: record.acknowledgments ?? PROJECT_DEFAULTS.acknowledgments, @@ -127,6 +129,7 @@ export function parseManifest(raw: unknown, source: string): ResolvedProject[] { const projects = parsed.projects.map(withDefaults); const ids = new Set(projects.map((p) => p.id)); const packageOwners = new Map(); + const assetOutputs = new Map(); for (const project of projects) { if (project.repository.split('/')[0] !== OWNER) { @@ -170,6 +173,20 @@ export function parseManifest(raw: unknown, source: string): ResolvedProject[] { } packageOwners.set(pkg.id, project.id); } + for (const asset of project.assets) { + const existing = assetOutputs.get(asset.output); + if (existing !== undefined) { + throw new ManifestValidationError( + [ + `Invalid project manifest: ${source}`, + ` projects[${project.id}].assets: output "${asset.output}" is also declared by "${existing}".`, + '', + `Remediation: give each mirrored asset a distinct output path.`, + ].join('\n'), + ); + } + assetOutputs.set(asset.output, project.id); + } } return projects.toSorted((a, b) => a.order - b.order); diff --git a/src/src/lib/manifest/schema.ts b/src/src/lib/manifest/schema.ts index 00ded56..baae71b 100644 --- a/src/src/lib/manifest/schema.ts +++ b/src/src/lib/manifest/schema.ts @@ -92,6 +92,22 @@ const packageSchema = z.object({ targetFrameworks: z.array(z.string()).optional(), }); +/** + * A repository file mirrored verbatim into the built site, so a stable + * purview.dev URL can serve an artefact that lives in a product repository + * (for example a JSON Schema). `path` is relative to the repository root; + * `output` is relative to the site root (`public/`). + */ +const assetSchema = z.object({ + path: z.string().min(1, 'must be a non-empty repository path'), + output: z + .string() + .min(1, 'must be a non-empty output path') + .regex(/^[^/\\]/, 'must be a relative path without a leading slash') + .refine((value) => !value.split(/[\\/]/).includes('..'), 'must not contain a ".." segment'), + description: z.string().min(1).optional(), +}); + /** * Upstream work a project credits: the original library it was based on and/or * the project it was forked from. Optional — only derived projects declare it. @@ -131,6 +147,7 @@ const projectSchema = z install: z.enum(INSTALL_KINDS).optional(), targetFrameworks: z.array(z.string()).optional(), packages: z.array(packageSchema).optional(), + assets: z.array(assetSchema).optional(), related: z.array(z.string()).optional(), useCases: z.array(useCaseSchema).optional(), acknowledgments: z.array(acknowledgmentSchema).optional(), @@ -172,6 +189,7 @@ export type ProjectRecord = z.infer; export type ExternalProjectRecord = z.infer; export type ProjectDocsConfig = z.infer; export type ProjectPackage = z.infer; +export type ProjectAsset = z.infer; export type ProjectAcknowledgment = z.infer; export type ProjectUseCase = z.infer; @@ -180,6 +198,7 @@ export const PROJECT_DEFAULTS = { featured: false, order: 1000, packages: [] as ProjectPackage[], + assets: [] as ProjectAsset[], related: [] as string[], useCases: [] as ProjectUseCase[], acknowledgments: [] as ProjectAcknowledgment[], @@ -190,6 +209,7 @@ export const PROJECT_DEFAULTS = { featured: boolean; order: number; packages: ProjectPackage[]; + assets: ProjectAsset[]; related: string[]; useCases: ProjectUseCase[]; acknowledgments: ProjectAcknowledgment[]; diff --git a/src/src/lib/releases/github.ts b/src/src/lib/releases/github.ts index 78f7753..3c3d6c3 100644 --- a/src/src/lib/releases/github.ts +++ b/src/src/lib/releases/github.ts @@ -72,6 +72,25 @@ async function nugetRequest(url: string): Promise { return response.json() as Promise; } +async function nugetText(url: string): Promise { + const response = await fetch(url, { + headers: { Accept: 'application/xml', 'User-Agent': 'purview-dev-website' }, + }); + if (!response.ok) { + throw new ApiError( + `NuGet request failed (${response.status}): ${url}`, + response.status, + 'nuget', + ); + } + return response.text(); +} + +function nugetNuspecUrl(packageId: string, version: string): string { + const id = packageId.toLowerCase(); + return `${NUGET_FLAT}/${id}/${version.toLowerCase()}/${id}.nuspec`; +} + export function parseGitHubRepo(raw: Record): GitHubRepoInfo { return { name: String(raw.name ?? ''), @@ -105,6 +124,24 @@ export function parseNuGetIndex(raw: Record, id: string): NuGet return { id, versions }; } +/** + * Extract the target frameworks a package declares in its `.nuspec`. The + * frameworks appear as `targetFramework` attributes on `` (dependency + * groups) and `` elements; a package with no dependency + * groups and no framework assemblies reports none. + */ +export function parseNuGetNuspec(xml: string): string[] { + const frameworks = new Set(); + const pattern = /targetFramework="([^"]+)"/g; + let match: RegExpExecArray | null; + while ((match = pattern.exec(xml)) !== null) { + if (match[1]) { + frameworks.add(match[1]); + } + } + return [...frameworks].toSorted(); +} + export function parseNuGetSearchEntry( raw: Record, expectedId?: string, @@ -187,6 +224,11 @@ export async function fetchNuGetSearch(packageId: string): Promise { + return parseNuGetNuspec(await nugetText(nugetNuspecUrl(packageId, version))); +} + /** Raw (unparsed) GitHub repository response, used for fixture generation and tests. */ export async function fetchGitHubRepoRaw(repository: string): Promise> { return (await githubRequest(`/repos/${repository}`, githubToken())) as Record; @@ -233,4 +275,9 @@ export async function fetchNuGetSearchRaw(packageId: string): Promise; } +/** Raw NuGet flat-container nuspec XML, used for fixture generation and tests. */ +export async function fetchNuGetNuspecRaw(packageId: string, version: string): Promise { + return nugetText(nugetNuspecUrl(packageId, version)); +} + export const githubOrgUrl = `https://github.com/${OWNER}`; diff --git a/src/src/lib/releases/runtime.ts b/src/src/lib/releases/runtime.ts index 95d2e63..e07f109 100644 --- a/src/src/lib/releases/runtime.ts +++ b/src/src/lib/releases/runtime.ts @@ -2,6 +2,7 @@ import type { DataSource } from './transform'; import type { ReleaseCacheData } from './types'; import { readReleaseCache, readReleaseFixture } from './cache'; +import { RELEASE_CACHE_SCHEMA_VERSION } from './types'; export interface ReleaseIndex { data: ReleaseCacheData; @@ -34,7 +35,7 @@ export function getReleaseIndex(): ReleaseIndex { ); cached = { data: { - schema: 1, + schema: RELEASE_CACHE_SCHEMA_VERSION, retrievedAt: '', repos: {}, releases: {}, diff --git a/src/src/lib/releases/target-frameworks.ts b/src/src/lib/releases/target-frameworks.ts new file mode 100644 index 0000000..3b08a7e --- /dev/null +++ b/src/src/lib/releases/target-frameworks.ts @@ -0,0 +1,205 @@ +import { compareNuGetVersions, isPrereleaseNuGetVersion } from '../nuget-version'; + +/** + * Target-framework (TFM) normalisation and comparison. + * + * The catalogue authors TFMs in the modern short form (`net8.0`, + * `netstandard2.0`, `net10.0-windows10.0.19041.0`) while a NuGet `.nuspec` + * reports a mix of the short form and the historical long form + * (`.NETStandard2.0`, `.NETFramework4.7.2`) and omits the trailing zero of a + * platform version (`net10.0-windows10.0.19041`). Both sides are canonicalised + * here so an advisory check can compare them without false drift. + */ + +/** + * Tokens that may appear in `targetFrameworks` but are not TFMs. They are + * recognised so the malformed-moniker check leaves them alone, and skipped when + * comparing a project's declared frameworks with its packages' published ones. + */ +export const TARGET_FRAMEWORK_SENTINELS = ['msbuild'] as const; + +const TFM_PATTERN = + /^(?:netstandard\d+(?:\.\d+)?|netcoreapp\d+(?:\.\d+)?|net\d{1,3}(?:\.\d+)?|net\d+(?:\.\d+)?-[a-z]+\d*(?:\.\d+){0,3})$/; + +/** Pad a numeric platform version to four components (`19041` -> `19041.0.0.0`). */ +function canonicalPlatformVersion(version: string): string { + const parts = version.split('.'); + while (parts.length < 4) { + parts.push('0'); + } + return parts.slice(0, 4).join('.'); +} + +/** Expand the historical long-form nuspec monikers to their short form. */ +function expandLongForm(tfm: string): string { + const netstandard = /^\.netstandard(\d+(?:\.\d+)?)$/.exec(tfm); + if (netstandard) { + return `netstandard${netstandard[1]}`; + } + const netcore = /^\.netcoreapp(\d+(?:\.\d+)?)$/.exec(tfm); + if (netcore) { + return `netcoreapp${netcore[1]}`; + } + // .NETFramework4.7.2 -> net472 (the version components are concatenated). + const netframework = /^\.netframework(\d+(?:\.\d+)*)$/.exec(tfm); + if (netframework) { + return `net${(netframework[1] ?? '').replaceAll('.', '')}`; + } + const net = /^\.net(\d+(?:\.\d+)*)$/.exec(tfm); + if (net) { + return `net${net[1]}`; + } + return tfm; +} + +/** + * Canonicalise a single TFM: lowercase, expand the historical long forms, and + * pad a platform version to four components so `net10.0-windows10.0.19041` and + * `net10.0-windows10.0.19041.0` compare equal. + */ +export function normalizeTargetFramework(value: string): string { + const tfm = expandLongForm(value.trim().toLowerCase()); + const dash = tfm.indexOf('-'); + if (dash === -1) { + return tfm; + } + const base = tfm.slice(0, dash); + const platform = tfm.slice(dash + 1); + const match = /^([a-z]+)(\d+(?:\.\d+)*)$/.exec(platform); + if (!match) { + return tfm; + } + return `${base}-${match[1]}${canonicalPlatformVersion(match[2] ?? '')}`; +} + +/** Canonicalise and de-duplicate a list of TFMs, sorted for stable output. */ +export function normalizeTargetFrameworks(values: Iterable): string[] { + return [...new Set([...values].map(normalizeTargetFramework))].toSorted(); +} + +interface TargetFrameworkOrder { + family: string; + version: number[]; + platform: string | null; +} + +function targetFrameworkOrder(value: string): TargetFrameworkOrder { + const normalized = normalizeTargetFramework(value); + const dash = normalized.indexOf('-'); + const base = dash === -1 ? normalized : normalized.slice(0, dash); + const platform = dash === -1 ? null : normalized.slice(dash + 1); + const match = /^([a-z]+)(\d+(?:\.\d+)*)$/.exec(base); + if (!match) { + return { family: normalized, version: [], platform }; + } + return { + family: match[1] ?? normalized, + version: (match[2] ?? '').split('.').map(Number), + platform, + }; +} + +/** + * Order TFMs the way the manifests author them: by family, then numeric version + * (`net8.0` before `net9.0` before `net10.0`), then base before a platform + * variant. Lexicographic sorting would put `net10.0` before `net8.0`. + */ +export function compareTargetFrameworks(left: string, right: string): number { + const a = targetFrameworkOrder(left); + const b = targetFrameworkOrder(right); + if (a.family !== b.family) { + return a.family < b.family ? -1 : 1; + } + const length = Math.max(a.version.length, b.version.length); + for (let index = 0; index < length; index += 1) { + const difference = (a.version[index] ?? 0) - (b.version[index] ?? 0); + if (difference !== 0) { + return difference < 0 ? -1 : 1; + } + } + if (a.platform === b.platform) { + return 0; + } + if (a.platform === null) { + return -1; + } + if (b.platform === null) { + return 1; + } + return a.platform < b.platform ? -1 : 1; +} + +/** Canonicalise, de-duplicate and naturally sort a list of TFMs. */ +export function sortTargetFrameworks(values: Iterable): string[] { + return normalizeTargetFrameworks(values).toSorted(compareTargetFrameworks); +} + +/** True when a value is a TFM or a recognised sentinel such as `msbuild`. */ +export function isRecognizedTargetFramework(value: string): boolean { + const normalized = normalizeTargetFramework(value); + return ( + TFM_PATTERN.test(normalized) || + (TARGET_FRAMEWORK_SENTINELS as readonly string[]).includes(normalized) + ); +} + +/** True when the value names `netstandard*`, the target of analyzers/generators. */ +export function isAnalyzerTargetFramework(value: string): boolean { + return /^netstandard\d/.test(normalizeTargetFramework(value)); +} + +/** + * A package is an analyzer/source generator when every framework it publishes is + * `netstandard*`; its TFMs describe the build-time assembly, not the frameworks + * a consumer's runtime code targets. + */ +export function isAnalyzerTargetFrameworks(values: Iterable): boolean { + const frameworks = [...values]; + return frameworks.length > 0 && frameworks.every(isAnalyzerTargetFramework); +} + +/** Remove sentinels (and, when requested, analyzer TFMs) from a declared list. */ +export function runtimeTargetFrameworks( + values: Iterable, + options: { excludeAnalyzer?: boolean } = {}, +): string[] { + const sentinels = new Set(TARGET_FRAMEWORK_SENTINELS); + return normalizeTargetFrameworks( + [...values].filter( + (value) => + !sentinels.has(normalizeTargetFramework(value)) && + !(options.excludeAnalyzer && isAnalyzerTargetFramework(value)), + ), + ); +} + +export interface TargetFrameworkDiff { + /** Published frameworks missing from the declared set. */ + missing: string[]; + /** Declared frameworks that no published package targets. */ + extra: string[]; +} + +/** Compare a declared framework set against a published one, both canonicalised. */ +export function diffTargetFrameworks( + declared: Iterable, + published: Iterable, +): TargetFrameworkDiff { + const declaredSet = new Set(normalizeTargetFrameworks(declared)); + const publishedSet = new Set(normalizeTargetFrameworks(published)); + return { + missing: [...publishedSet].filter((tfm) => !declaredSet.has(tfm)).toSorted(), + extra: [...declaredSet].filter((tfm) => !publishedSet.has(tfm)).toSorted(), + }; +} + +/** + * The published version whose `.nuspec` describes a package's target + * frameworks: the newest stable version, or the newest prerelease when the + * package has no stable release. The raw index entry is returned so it can be + * used verbatim in the flat-container nuspec URL. + */ +export function selectVersionForTargetFrameworks(versions: Iterable): string | null { + const sorted = [...versions].toSorted((a, b) => compareNuGetVersions(b, a)); + return sorted.find((version) => !isPrereleaseNuGetVersion(version)) ?? sorted[0] ?? null; +} diff --git a/src/src/lib/releases/types.ts b/src/src/lib/releases/types.ts index 794463b..9dfc29d 100644 --- a/src/src/lib/releases/types.ts +++ b/src/src/lib/releases/types.ts @@ -1,4 +1,4 @@ -export const RELEASE_CACHE_SCHEMA_VERSION = 1; +export const RELEASE_CACHE_SCHEMA_VERSION = 2; export interface GitHubRepoInfo { name: string; @@ -27,6 +27,15 @@ export interface GitHubReleaseInfo { export interface NuGetVersionIndex { id: string; versions: string[]; + /** + * Target frameworks of the package's newest stable version (falling back to + * the newest prerelease when no stable version exists), read from the NuGet + * flat-container `.nuspec`. Absent when the package has no published versions + * or the nuspec could not be read. + */ + targetFrameworks?: string[]; + /** The published version `targetFrameworks` was read from. */ + targetFrameworksVersion?: string | null; } export interface NuGetSearchEntry { diff --git a/src/src/lib/seo.ts b/src/src/lib/seo.ts new file mode 100644 index 0000000..e8058af --- /dev/null +++ b/src/src/lib/seo.ts @@ -0,0 +1,20 @@ +const MIN_LENGTH = 120; +const MAX_LENGTH = 160; + +/** Fit a meta description into the 120-160 character range search engines expect. */ +export function metaDescription( + text: string, + context = 'Open-source .NET tooling from Purview Dev.', +): string { + let result = text.replace(/\s+/g, ' ').trim(); + if (result.length < MIN_LENGTH) { + const base = /[.!?…]$/.test(result) ? result : `${result}.`; + result = `${base} ${context}`; + } + if (result.length > MAX_LENGTH) { + const cut = result.slice(0, MAX_LENGTH - 1); + const lastSpace = cut.lastIndexOf(' '); + result = `${(lastSpace > 0 ? cut.slice(0, lastSpace) : cut).replace(/[\s,;:.—-]+$/, '')}…`; + } + return result; +} diff --git a/src/src/pages/about.astro b/src/src/pages/about.astro index 18acf08..52b12a2 100644 --- a/src/src/pages/about.astro +++ b/src/src/pages/about.astro @@ -212,7 +212,7 @@ const active = projects.filter((project) => project.status !== 'archived');
Packages
Browse projects @@ -180,14 +180,16 @@ const organizationStructuredData = { }
-
+

The principle

Automation, not operation.

- Purview grew from solving the same real-world engineering problems repeatedly. If the - work is predictable, I want the tooling to handle it—not another checklist for developers - to operate by hand. + Purview grew from solving the same real-world engineering problems repeatedly. If the work + is predictable, I want the tooling to handle it—not another checklist for developers to + operate by hand.

@@ -247,8 +249,8 @@ const organizationStructuredData = {

1 · Start with the problem

- Explore {active.length} active projects covering generation, validation, telemetry, - event sourcing, Aspire, and build automation. + Explore {active.length} active projects covering generation, validation, telemetry, event + sourcing, Aspire, and build automation.

diff --git a/src/tests/unit/assets.test.ts b/src/tests/unit/assets.test.ts new file mode 100644 index 0000000..b3acf69 --- /dev/null +++ b/src/tests/unit/assets.test.ts @@ -0,0 +1,38 @@ +import { describe, expect, test } from 'bun:test'; +import { readFileSync } from 'node:fs'; +import { resolve } from 'node:path'; + +import { collectAssets } from '../../scripts/sync-assets'; +import { loadProjects } from '../../src/lib/manifest/load'; + +describe('project asset mirroring', () => { + test('collects the declared assets with their repository and output', () => { + const assets = collectAssets(loadProjects()); + const build = assets.find((asset) => asset.projectId === 'build'); + expect(build).toEqual({ + projectId: 'build', + repository: 'purview-dev/build', + path: 'purview-build.schema.json', + output: 'schemas/purview-build.json', + description: expect.any(String), + }); + }); + + test('every declared output is a unique, relative path', () => { + const assets = collectAssets(loadProjects()); + const outputs = assets.map((asset) => asset.output); + expect(new Set(outputs).size).toBe(outputs.length); + for (const output of outputs) { + expect(output.startsWith('/')).toBe(false); + expect(output.split('/')).not.toContain('..'); + } + }); + + test('the committed fixture is a valid JSON Schema', () => { + const fixture = resolve('fixtures/assets/build/purview-build.schema.json'); + const schema = JSON.parse(readFileSync(fixture, 'utf8')) as Record; + expect(schema.$schema).toBe('https://json-schema.org/draft/2020-12/schema'); + expect(schema.type).toBe('object'); + expect(schema.properties).toBeTypeOf('object'); + }); +}); diff --git a/src/tests/unit/check-projects.test.ts b/src/tests/unit/check-projects.test.ts index d6de305..9a2a351 100644 --- a/src/tests/unit/check-projects.test.ts +++ b/src/tests/unit/check-projects.test.ts @@ -1,8 +1,17 @@ +import type { ResolvedProject } from '../../src/lib/manifest/load'; +import type { NuGetSearchEntry, ReleaseCacheData } from '../../src/lib/releases/types'; + import { describe, expect, test } from 'bun:test'; import { existsSync } from 'node:fs'; import { resolve } from 'node:path'; -import { checkProjects } from '../../scripts/check-projects'; +import { + checkProjects, + targetFrameworkFindings, + versionConsistencyFindings, +} from '../../scripts/check-projects'; +import { loadProjects } from '../../src/lib/manifest/load'; +import { RELEASE_CACHE_SCHEMA_VERSION } from '../../src/lib/releases/types'; /** * The catalogue guard reads the generated docs cache, which only exists after a @@ -12,6 +21,54 @@ import { checkProjects } from '../../scripts/check-projects'; */ const HAS_DOCS_CACHE = existsSync(resolve('.cache/docs/index.json')); +/** Load a real catalogue record so the synthetic cases carry realistic defaults. */ +function fixtureProject(id: string): ResolvedProject { + const found = loadProjects().find((candidate) => candidate.id === id); + if (!found) { + throw new Error(`Missing fixture project: ${id}`); + } + return found; +} + +function project(overrides: Partial): ResolvedProject { + return { ...fixtureProject('zodsharp'), ...overrides }; +} + +interface PackageInput { + versions: string[]; + targetFrameworks?: string[]; +} + +function cache( + packages: Record, + search: Record = {}, +): ReleaseCacheData { + return { + schema: RELEASE_CACHE_SCHEMA_VERSION, + retrievedAt: '2026-01-01T00:00:00.000Z', + repos: {}, + releases: {}, + packages: Object.fromEntries( + Object.entries(packages).map(([id, value]) => [id, { id, ...value }]), + ), + packageSearch: search, + }; +} + +function searchEntry(overrides: Partial = {}): NuGetSearchEntry { + return { + id: 'Purview.ZodSharp', + version: '2.0.1', + description: null, + totalDownloads: 0, + tags: [], + published: null, + deprecated: false, + listed: true, + ...overrides, + }; +} + describe('catalogue guard', () => { test.skipIf(!HAS_DOCS_CACHE)('the committed catalogue passes every invariant', () => { const { errors } = checkProjects(); @@ -30,3 +87,122 @@ describe('catalogue guard', () => { } }); }); + +describe('version consistency findings', () => { + test('flags a preview project that already ships a stable package', () => { + const findings = versionConsistencyFindings( + project({ status: 'preview', experimental: false, packages: [{ id: 'Purview.ZodSharp' }] }), + cache({ 'Purview.ZodSharp': { versions: ['1.0.0', '2.0.0-prerelease.1'] } }), + ); + expect(findings.map((finding) => finding.field)).toContain('status'); + }); + + test('does not flag an experimental project for staying preview', () => { + const findings = versionConsistencyFindings( + project({ status: 'preview', experimental: true, packages: [{ id: 'Purview.ZodSharp' }] }), + cache({ 'Purview.ZodSharp': { versions: ['1.0.0'] } }), + ); + expect(findings).toEqual([]); + }); + + test('flags deprecated and unlisted packages', () => { + const findings = versionConsistencyFindings( + project({ status: 'stable', packages: [{ id: 'Purview.ZodSharp' }] }), + cache( + { 'Purview.ZodSharp': { versions: ['2.0.1'] } }, + { 'Purview.ZodSharp': searchEntry({ deprecated: true, listed: false }) }, + ), + ); + const observed = findings.map((finding) => finding.observed); + expect(observed).toContain('deprecated on NuGet'); + expect(observed).toContain('unlisted on NuGet'); + }); + + test('ignores archived projects', () => { + const findings = versionConsistencyFindings( + project({ status: 'archived', packages: [{ id: 'Purview.ZodSharp' }] }), + cache({ 'Purview.ZodSharp': { versions: ['1.0.0'] } }), + ); + expect(findings).toEqual([]); + }); +}); + +describe('target framework findings', () => { + test('flags a project whose declared frameworks miss a published one', () => { + const findings = targetFrameworkFindings( + project({ targetFrameworks: ['net8.0'], packages: [{ id: 'Purview.ZodSharp' }] }), + cache({ + 'Purview.ZodSharp': { versions: ['1.0.0'], targetFrameworks: ['net8.0', 'net9.0'] }, + }), + ); + expect(findings).toHaveLength(1); + expect(findings[0]?.field).toBe('targetFrameworks'); + expect(findings[0]?.observed).toContain('missing net9.0'); + }); + + test('flags a project that declares no frameworks at all', () => { + const findings = targetFrameworkFindings( + project({ targetFrameworks: undefined, packages: [{ id: 'Purview.ZodSharp' }] }), + cache({ 'Purview.ZodSharp': { versions: ['1.0.0'], targetFrameworks: ['net8.0'] } }), + ); + expect(findings).toHaveLength(1); + expect(findings[0]?.observed).toBe('none'); + }); + + test('treats netstandard2.0 as an analyzer target, not a consumer framework', () => { + const findings = targetFrameworkFindings( + project({ + targetFrameworks: ['net8.0', 'net9.0', 'net10.0'], + packages: [ + { id: 'Purview.Telemetry.SourceGenerator', targetFrameworks: ['netstandard2.0'] }, + ], + }), + cache({ + 'Purview.Telemetry.SourceGenerator': { + versions: ['5.0.1'], + targetFrameworks: ['.NETStandard2.0'], + }, + }), + ); + expect(findings).toEqual([]); + }); + + test('recommends a package-level override for an undeclared analyzer package', () => { + const findings = targetFrameworkFindings( + project({ + targetFrameworks: ['net8.0'], + packages: [{ id: 'Purview.Results' }, { id: 'Purview.Results.SourceGenerator' }], + }), + cache({ + 'Purview.Results': { versions: ['1.0.0'], targetFrameworks: ['net8.0'] }, + 'Purview.Results.SourceGenerator': { + versions: ['1.0.0'], + targetFrameworks: ['netstandard2.0'], + }, + }), + ); + expect(findings).toHaveLength(1); + expect(findings[0]?.field).toBe('packages["Purview.Results.SourceGenerator"]'); + }); + + test('skips framework equality for tool and SDK projects', () => { + const findings = targetFrameworkFindings( + project({ + install: 'msbuild-sdk', + targetFrameworks: ['msbuild'], + packages: [{ id: 'Purview.BuildSdk' }], + }), + cache({ 'Purview.BuildSdk': { versions: ['1.0.3'], targetFrameworks: ['netstandard2.0'] } }), + ); + expect(findings).toEqual([]); + }); + + test('flags an invalid framework moniker', () => { + const findings = targetFrameworkFindings( + project({ targetFrameworks: ['dotnet'], packages: [] }), + cache({}), + ); + expect(findings).toHaveLength(1); + expect(findings[0]?.observed).toBe('dotnet'); + }); +}); diff --git a/src/tests/unit/discovery/discovery-manifest.test.ts b/src/tests/unit/discovery/discovery-manifest.test.ts index 316691e..f0022df 100644 --- a/src/tests/unit/discovery/discovery-manifest.test.ts +++ b/src/tests/unit/discovery/discovery-manifest.test.ts @@ -23,9 +23,10 @@ import { import { DISCOVERY_MANIFEST_SCHEMA_VERSION } from '../../../src/lib/discovery/types'; import { siteOrigin } from '../../../src/lib/discovery/urls'; import { loadProjects } from '../../../src/lib/manifest/load'; +import { RELEASE_CACHE_SCHEMA_VERSION } from '../../../src/lib/releases/types'; const emptyReleaseData: ReleaseCacheData = { - schema: 1, + schema: RELEASE_CACHE_SCHEMA_VERSION, retrievedAt: '2026-01-01T00:00:00.000Z', repos: {}, releases: {}, diff --git a/src/tests/unit/discovery/discovery-resources.test.ts b/src/tests/unit/discovery/discovery-resources.test.ts index b29d2eb..b5f9730 100644 --- a/src/tests/unit/discovery/discovery-resources.test.ts +++ b/src/tests/unit/discovery/discovery-resources.test.ts @@ -10,9 +10,10 @@ import { partitionResources, } from '../../../src/lib/discovery/resources'; import { loadProjects } from '../../../src/lib/manifest/load'; +import { RELEASE_CACHE_SCHEMA_VERSION } from '../../../src/lib/releases/types'; const emptyReleaseData: ReleaseCacheData = { - schema: 1, + schema: RELEASE_CACHE_SCHEMA_VERSION, retrievedAt: '2026-01-01T00:00:00.000Z', repos: {}, releases: {}, diff --git a/src/tests/unit/fix-projects.test.ts b/src/tests/unit/fix-projects.test.ts new file mode 100644 index 0000000..d2a145e --- /dev/null +++ b/src/tests/unit/fix-projects.test.ts @@ -0,0 +1,79 @@ +import { describe, expect, test } from 'bun:test'; + +import { + applyAutofix, + setPackageTargetFrameworks, + setProjectTargetFrameworks, + setStatus, +} from '../../scripts/fix-projects'; + +const SAMPLE = [ + '$schema: ../../lib/manifest/schema.ts', + '', + 'id: sample', + 'name: Sample', + 'status: preview', + 'docs:', + ' source: readme', + 'targetFrameworks:', + ' - net8.0', + 'packages:', + ' - id: Sample.Core', + ' description: Core.', + ' primary: true', + ' - id: Sample.Generator', + ' description: Generator.', + ' targetFrameworks:', + ' - netstandard2.0', + '', +]; + +describe('fix-projects line editing', () => { + test('replaces an existing project targetFrameworks list', () => { + const updated = setProjectTargetFrameworks([...SAMPLE], ['net8.0', 'net9.0']); + expect(updated.join('\n')).toContain('targetFrameworks:\n - net8.0\n - net9.0\npackages:'); + }); + + test('is a no-op when the project list already matches', () => { + expect(setProjectTargetFrameworks([...SAMPLE], ['net8.0'])).toEqual(SAMPLE); + }); + + test('inserts a project targetFrameworks block before packages', () => { + const without = SAMPLE.filter((line) => line !== 'targetFrameworks:' && line !== ' - net8.0'); + const updated = setProjectTargetFrameworks(without, ['net8.0']); + const packagesIndex = updated.indexOf('packages:'); + expect(updated.slice(packagesIndex - 2, packagesIndex)).toEqual([ + 'targetFrameworks:', + ' - net8.0', + ]); + }); + + test('inserts a package-level targetFrameworks block after the last property', () => { + const updated = setPackageTargetFrameworks([...SAMPLE], 'Sample.Core', ['net8.0', 'net9.0']); + expect(updated.join('\n')).toContain( + [ + ' - id: Sample.Core', + ' description: Core.', + ' primary: true', + ' targetFrameworks:', + ' - net8.0', + ' - net9.0', + ' - id: Sample.Generator', + ].join('\n'), + ); + }); + + test('replaces an existing package-level targetFrameworks list', () => { + const updated = setPackageTargetFrameworks([...SAMPLE], 'Sample.Generator', ['netstandard2.0']); + expect(updated).toEqual(SAMPLE); + }); + + test('sets the top-level status', () => { + expect(setStatus([...SAMPLE], 'stable').join('\n')).toContain('status: stable'); + }); + + test('dispatches a structured fix', () => { + const updated = applyAutofix([...SAMPLE], { kind: 'set-status', value: 'stable' }); + expect(updated.join('\n')).toContain('status: stable'); + }); +}); diff --git a/src/tests/unit/manifest.test.ts b/src/tests/unit/manifest.test.ts index 6017e26..6b57064 100644 --- a/src/tests/unit/manifest.test.ts +++ b/src/tests/unit/manifest.test.ts @@ -186,6 +186,59 @@ describe('project manifest', () => { }); }); +describe('project assets', () => { + test('the real catalogue mirrors the purview-build schema', () => { + const build = loadProjects().find((project) => project.id === 'build'); + expect(build?.assets).toHaveLength(1); + expect(build?.assets[0]).toMatchObject({ + path: 'purview-build.schema.json', + output: 'schemas/purview-build.json', + }); + }); + + test('projects without assets resolve to an empty list', () => { + const projects = parseManifest({ projects: [makeProject('a')] }, 'fixture.yml'); + expect(projects[0]?.assets).toEqual([]); + }); + + test('accepts a declared asset', () => { + const projects = parseManifest( + { + projects: [{ ...makeProject('a'), assets: [{ path: 'x.json', output: 'schemas/x.json' }] }], + }, + 'fixture.yml', + ); + expect(projects[0]?.assets).toEqual([{ path: 'x.json', output: 'schemas/x.json' }]); + }); + + test('rejects an absolute or escaping output path', () => { + for (const output of ['/schemas/x.json', '../x.json', 'schemas/../../x.json']) { + expect(() => + parseManifest( + { projects: [{ ...makeProject('a'), assets: [{ path: 'x.json', output }] }] }, + 'fixture.yml', + ), + ).toThrow(ManifestValidationError); + } + }); + + test('rejects duplicate asset output paths across projects', () => { + const first = { + ...makeProject('a'), + packages: [{ id: 'Purview.A' }], + assets: [{ path: 'x.json', output: 'schemas/x.json' }], + }; + const second = { + ...makeProject('b'), + packages: [{ id: 'Purview.B' }], + assets: [{ path: 'y.json', output: 'schemas/x.json' }], + }; + expect(() => parseManifest({ projects: [first, second] }, 'fixture.yml')).toThrow( + /schemas\/x\.json/, + ); + }); +}); + describe('project use cases', () => { test('loads concrete use cases from the real manifest', () => { const projects = loadProjects(); diff --git a/src/tests/unit/releases.test.ts b/src/tests/unit/releases.test.ts index 9c8fbe4..ac7d874 100644 --- a/src/tests/unit/releases.test.ts +++ b/src/tests/unit/releases.test.ts @@ -12,6 +12,7 @@ import { parseGitHubRelease, parseGitHubRepo, parseNuGetIndex, + parseNuGetNuspec, parseNuGetSearchEntry, } from '../../src/lib/releases/github'; import { @@ -106,7 +107,7 @@ describe('GitHub normalisation (real fixtures)', () => { expect(repo.hasDiscussions).toBe(false); }); - test('parses release fixtures including the prerelease-flag quirk', () => { + test('parses release fixtures and classifies by the semver tag', () => { const raw = fixture('github/releases/telemetry-sourcegenerator.json') as Array<{ tag_name: string; }>; @@ -120,10 +121,16 @@ describe('GitHub normalisation (real fixtures)', () => { // The expectation follows the fixture head instead of a pinned tag, so a // fixture refresh never invalidates this test. expect(latest.tagName).toBe(raw[0]?.tag_name ?? ''); - // The org publishes prerelease tags with the GitHub prerelease flag set to - // false; classification must follow the semver tag, not the flag. - expect(latest.prerelease).toBe(false); - expect(isPrereleaseRelease(latest)).toBe(true); + // Classification follows the semver tag rather than GitHub's prerelease + // flag, which the org's changesets pipeline has reported inconsistently. + const prerelease = releases.find((release) => isPrereleaseVersion(release.tagName)); + expect(prerelease).toBeDefined(); + expect(prerelease && isPrereleaseRelease(prerelease)).toBe(true); + const stable = releases.find( + (release) => isValidVersion(release.tagName) && !isPrereleaseVersion(release.tagName), + ); + expect(stable).toBeDefined(); + expect(stable && isPrereleaseRelease(stable)).toBe(false); }); }); @@ -154,6 +161,20 @@ describe('NuGet normalisation (real fixtures)', () => { parseNuGetSearchEntry({ id: 'Purview.Build', version: '0.2.4' }, 'purview.build'), ).not.toBeNull(); }); + + test('parses target frameworks from a nuspec fixture', () => { + const nuspec = readFileSync( + resolve('fixtures', 'nuget', 'nuspec', 'purview.results.nuspec'), + 'utf8', + ); + expect(parseNuGetNuspec(nuspec)).toEqual(['net10.0', 'net11.0']); + }); + + test('reports no target frameworks for a package whose nuspec declares none', () => { + expect(parseNuGetNuspec('')).toEqual( + [], + ); + }); }); describe('version selection (NuGet precedence)', () => { @@ -184,7 +205,7 @@ describe('version selection (NuGet precedence)', () => { expect(selectPrereleaseVersion(versions)).toBe('1.0.0-prerelease.55'); }); - test('selects the latest prerelease for the BuildSdk fixture', () => { + test('selects the stable and prerelease channels for the BuildSdk fixture', () => { const index = parseNuGetIndex( fixture('nuget/purview.buildsdk.json') as Record, 'Purview.BuildSdk', @@ -192,10 +213,10 @@ describe('version selection (NuGet precedence)', () => { expect(index.versions.length).toBeGreaterThan(0); expect(index.versions.some((version) => isPrereleaseVersion(version))).toBe(true); const selection = selectVersions(index.versions); - expect(selection.stable).toBeNull(); - // The package only publishes prereleases, so the latest prerelease must be - // the highest semver version in the fixture's flat-container index. - expect(selection.prerelease).toBe(sortVersionsDescending(index.versions)[0] ?? null); + expect(selection.stable).not.toBeNull(); + expect(isPrereleaseVersion(selection.stable ?? '')).toBe(false); + expect(selection.prerelease).not.toBeNull(); + expect(isPrereleaseVersion(selection.prerelease ?? '')).toBe(true); }); test('handles a package with no releases at all', () => { diff --git a/src/tests/unit/target-frameworks.test.ts b/src/tests/unit/target-frameworks.test.ts new file mode 100644 index 0000000..7e015f0 --- /dev/null +++ b/src/tests/unit/target-frameworks.test.ts @@ -0,0 +1,134 @@ +import { describe, expect, test } from 'bun:test'; + +import { + diffTargetFrameworks, + isAnalyzerTargetFramework, + isAnalyzerTargetFrameworks, + isRecognizedTargetFramework, + normalizeTargetFramework, + normalizeTargetFrameworks, + runtimeTargetFrameworks, + selectVersionForTargetFrameworks, + sortTargetFrameworks, +} from '../../src/lib/releases/target-frameworks'; + +describe('target framework normalisation', () => { + test('expands the historical long forms', () => { + expect(normalizeTargetFramework('.NETStandard2.0')).toBe('netstandard2.0'); + expect(normalizeTargetFramework('.NETFramework4.7.2')).toBe('net472'); + expect(normalizeTargetFramework('.NETCoreApp3.1')).toBe('netcoreapp3.1'); + expect(normalizeTargetFramework('.NET5.0')).toBe('net5.0'); + }); + + test('pads a platform version to four components', () => { + expect(normalizeTargetFramework('net10.0-windows10.0.19041')).toBe( + 'net10.0-windows10.0.19041.0', + ); + expect(normalizeTargetFramework('net10.0-windows10.0.19041.0')).toBe( + 'net10.0-windows10.0.19041.0', + ); + }); + + test('lowercases and de-duplicates, sorted', () => { + expect(normalizeTargetFrameworks(['NET10.0', 'net8.0', 'net10.0'])).toEqual([ + 'net10.0', + 'net8.0', + ]); + }); +}); + +describe('target framework classification', () => { + test('recognises TFMs and the msbuild sentinel', () => { + for (const value of [ + 'net8.0', + 'net10.0', + 'net472', + 'netstandard2.0', + 'netcoreapp3.1', + 'net10.0-windows10.0.19041.0', + 'msbuild', + ]) { + expect(isRecognizedTargetFramework(value)).toBe(true); + } + expect(isRecognizedTargetFramework('dotnet')).toBe(false); + expect(isRecognizedTargetFramework('net10.0 windows')).toBe(false); + }); + + test('identifies analyzer frameworks', () => { + expect(isAnalyzerTargetFramework('netstandard2.0')).toBe(true); + expect(isAnalyzerTargetFramework('.NETStandard2.0')).toBe(true); + expect(isAnalyzerTargetFramework('net10.0')).toBe(false); + expect(isAnalyzerTargetFrameworks(['.NETStandard2.0'])).toBe(true); + expect(isAnalyzerTargetFrameworks(['netstandard2.0', 'net8.0'])).toBe(false); + expect(isAnalyzerTargetFrameworks([])).toBe(false); + }); + + test('removes sentinels and, optionally, analyzer frameworks', () => { + expect(runtimeTargetFrameworks(['msbuild'])).toEqual([]); + expect( + runtimeTargetFrameworks(['net8.0', 'netstandard2.0'], { excludeAnalyzer: true }), + ).toEqual(['net8.0']); + }); +}); + +describe('natural target framework ordering', () => { + test('orders by family and numeric version, not lexicographically', () => { + expect(sortTargetFrameworks(['net10.0', 'net8.0', 'net9.0', 'net11.0'])).toEqual([ + 'net8.0', + 'net9.0', + 'net10.0', + 'net11.0', + ]); + }); + + test('places the base framework before its platform variant', () => { + expect(sortTargetFrameworks(['net10.0-windows10.0.19041.0', 'net10.0'])).toEqual([ + 'net10.0', + 'net10.0-windows10.0.19041.0', + ]); + }); + + test('normalises before sorting', () => { + expect(sortTargetFrameworks(['.NETStandard2.0', 'net8.0'])).toEqual([ + 'net8.0', + 'netstandard2.0', + ]); + }); +}); + +describe('target framework diff', () => { + test('reports missing and extra frameworks', () => { + expect(diffTargetFrameworks(['net8.0', 'net9.0'], ['net8.0', 'net10.0'])).toEqual({ + missing: ['net10.0'], + extra: ['net9.0'], + }); + }); + + test('normalises both sides before comparing', () => { + expect( + diffTargetFrameworks(['net10.0-windows10.0.19041.0'], ['net10.0-windows10.0.19041']), + ).toEqual({ missing: [], extra: [] }); + expect(diffTargetFrameworks(['.NETStandard2.0'], ['netstandard2.0'])).toEqual({ + missing: [], + extra: [], + }); + }); +}); + +describe('version selection for nuspec lookup', () => { + test('prefers the newest stable version', () => { + expect(selectVersionForTargetFrameworks(['2.0.0-prerelease.9', '2.0.1', '2.0.0'])).toBe( + '2.0.1', + ); + }); + + test('falls back to the newest prerelease', () => { + expect(selectVersionForTargetFrameworks(['2.0.0-prerelease.1', '2.0.0-prerelease.9'])).toBe( + '2.0.0-prerelease.9', + ); + }); + + test('returns null when nothing is published', () => { + expect(selectVersionForTargetFrameworks([])).toBeNull(); + }); +});