chore: release v0.5.0 #71

Merged
Grandiras merged 1 commit from chore/release-0.5.0 into main 2026-07-25 22:43:04 +00:00
Owner

Release prep for v0.5.0. No runtime code changes — this bumps the shared version and closes the changelog section.

Changes

  • Directory.Build.props: Version 0.4.0 → 0.5.0
  • CHANGELOG.md: promote [Unreleased][0.5.0] - 2026-07-26, open a fresh empty [Unreleased]
  • CHANGELOG.md: fix a dropped sentence break in the AdminClient empty-body entry — the release workflow publishes this section verbatim as the Forgejo release body

What ships in 0.5.0

  • Managed PDS — the in-process PDS is removed; the official Bluesky PDS container (ATProtoNet.Aspire.Hosting) plus PdsAdminClient / AddAtProtoPdsAdmin() replace it
  • Package consolidationATProtoNet.Aspire and ATProtoNet.Server.EntityFrameworkCore merged into ATProtoNet.Server, ATProtoNet.Pds dropped; published set goes 8 → 5
  • Jetstream consumer (#43), CarWriter / commit signing / PlcOperationBuilder / MST covering proofs (#40), lexgen csharp codegen overhaul (#45)
  • Serialization correctness ($type discriminator, out-of-order metadata, unions), OAuth handle-resolution timeouts, PlcClient DID-path requests
  • Two security fixes around handle resolution (#52)

Five breaking changes, all with migration notes in the changelog.

Verification

Check Result
dotnet build -c Release 0 errors
dotnet test tests/ATProtoNet.Tests/ 1103 passed, 0 failed, 5 skipped (Aspire manifest — gated, CI runs them)
dotnet pack -c Release exactly 5 packages, all at 0.5.0
dotnet list package --vulnerable --include-transitive no advisories, direct or transitive
Release-notes extraction (awk from release.yml) 91 lines, Breaking changesSecurity, stops before [0.4.0]

After merge

Tagging v0.5.0 on main triggers .forgejo/workflows/release.yml, which packs and pushes to both the Forgejo feed and nuget.org, then creates the Forgejo release. That step is not part of this PR.

Follow-up worth doing once the tag lands: ATProtoNet.Pds, ATProtoNet.Aspire, and ATProtoNet.Server.EntityFrameworkCore are published on nuget.org at 0.4.0 and no longer exist. They should be deprecated there pointing at their replacements, otherwise dotnet add package ATProtoNet.Aspire keeps quietly resolving.

Release prep for **v0.5.0**. No runtime code changes — this bumps the shared version and closes the changelog section. ## Changes - `Directory.Build.props`: `Version` 0.4.0 → 0.5.0 - `CHANGELOG.md`: promote `[Unreleased]` → `[0.5.0] - 2026-07-26`, open a fresh empty `[Unreleased]` - `CHANGELOG.md`: fix a dropped sentence break in the `AdminClient` empty-body entry — the release workflow publishes this section verbatim as the Forgejo release body ## What ships in 0.5.0 - **Managed PDS** — the in-process PDS is removed; the official Bluesky PDS container (`ATProtoNet.Aspire.Hosting`) plus `PdsAdminClient` / `AddAtProtoPdsAdmin()` replace it - **Package consolidation** — `ATProtoNet.Aspire` and `ATProtoNet.Server.EntityFrameworkCore` merged into `ATProtoNet.Server`, `ATProtoNet.Pds` dropped; published set goes 8 → 5 - **Jetstream consumer** (#43), **CarWriter / commit signing / PlcOperationBuilder / MST covering proofs** (#40), **lexgen `csharp` codegen overhaul** (#45) - Serialization correctness (`$type` discriminator, out-of-order metadata, unions), OAuth handle-resolution timeouts, `PlcClient` DID-path requests - Two security fixes around handle resolution (#52) Five breaking changes, all with migration notes in the changelog. ## Verification | Check | Result | |---|---| | `dotnet build -c Release` | 0 errors | | `dotnet test tests/ATProtoNet.Tests/` | 1103 passed, 0 failed, 5 skipped (Aspire manifest — gated, CI runs them) | | `dotnet pack -c Release` | exactly 5 packages, all at `0.5.0` | | `dotnet list package --vulnerable --include-transitive` | no advisories, direct or transitive | | Release-notes extraction (`awk` from `release.yml`) | 91 lines, `Breaking changes` → `Security`, stops before `[0.4.0]` | ## After merge Tagging `v0.5.0` on `main` triggers `.forgejo/workflows/release.yml`, which packs and pushes to **both** the Forgejo feed and **nuget.org**, then creates the Forgejo release. That step is not part of this PR. Follow-up worth doing once the tag lands: `ATProtoNet.Pds`, `ATProtoNet.Aspire`, and `ATProtoNet.Server.EntityFrameworkCore` are published on nuget.org at 0.4.0 and no longer exist. They should be deprecated there pointing at their replacements, otherwise `dotnet add package ATProtoNet.Aspire` keeps quietly resolving.
chore: release v0.5.0
All checks were successful
CI / pds-integration (pull_request) Successful in 18s
CI / build-and-test (pull_request) Successful in 46s
Sync Closures to GitHub / sync-closure (pull_request) Successful in 6s
014b01f96c
Cut the v0.5.0 release. Highlights of this version (full notes in
CHANGELOG):

- Managed PDS: the in-process PDS is gone, replaced by the official
  Bluesky PDS container (ATProtoNet.Aspire.Hosting) plus PdsAdminClient
  and AddAtProtoPdsAdmin() for administering it from .NET
- Package consolidation: ATProtoNet.Aspire and
  ATProtoNet.Server.EntityFrameworkCore merged into ATProtoNet.Server,
  ATProtoNet.Pds dropped — the published set goes from 8 to 5
- Jetstream consumer (Issue #43), CarWriter / RepoCommit signing /
  PlcOperationBuilder / MST covering proofs (Issue #40), and a lexgen
  csharp codegen overhaul (Issue #45)
- Correctness pass on serialization ($type discriminator, out-of-order
  metadata, unions), OAuth handle resolution timeouts, and PlcClient
  DID-path requests
- Two security fixes around handle resolution (Issue #52)

Release prep in this commit:

- Directory.Build.props: bump shared Version from 0.4.0 to 0.5.0
- CHANGELOG.md: promote [Unreleased] to [0.5.0] - 2026-07-26 and open a
  fresh [Unreleased] section; fix a dropped sentence break in the
  AdminClient empty-body entry, which ships verbatim as release notes

Verified before tagging: build clean (0 errors), 1103 unit tests pass,
dotnet pack emits exactly the five intended packages at 0.5.0, and no
direct or transitive dependency carries a known advisory.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Collaborator

🤖 Reviewing this PR — follow along in the action run; the reply will link the full session transcript.

📜 Live transcript — updating every ~5 minutes while the task runs.

🤖 Reviewing this PR — follow along in [the action run](https://git.grandiras.net/Grandiras/claude-bot/actions/runs/86); the reply will link the full session transcript. 📜 [Live transcript](https://git.grandiras.net/Grandiras/claude-bot/src/branch/claude-logs/transcripts/Grandiras/ATProto.NET/pr-71/run-86.md) — updating every ~5 minutes while the task runs.
claude-reviewer left a comment

Verdict: approve — no blocking issues found.

Straightforward release-prep PR: version bump in Directory.Build.props, CHANGELOG.md promotes [Unreleased] to [0.5.0] - 2026-07-26 by inserting a header (leaving prior content correctly grouped under the new section, ending before [0.4.0]), and a genuine copy fix in the AdminClient empty-body entry (missing sentence break, tense corrected to past since it's now a shipped section, and the added "(see below)" correctly points at the Issue #69 entry later in the same section). Verified the release.yml awk extraction (/^## \[VERSION\]/ to next /^## \[/) still works with the new header placement, and no other file references the old version string. No runtime code changes, nothing to flag.


⏱ 0m 34s · 7 turns · tokens: 19.9k in / 2.3k out (+231.2k cache-read)
📜 Full session transcript

✅ **Verdict: approve** — no blocking issues found. Straightforward release-prep PR: version bump in `Directory.Build.props`, `CHANGELOG.md` promotes `[Unreleased]` to `[0.5.0] - 2026-07-26` by inserting a header (leaving prior content correctly grouped under the new section, ending before `[0.4.0]`), and a genuine copy fix in the `AdminClient` empty-body entry (missing sentence break, tense corrected to past since it's now a shipped section, and the added "(see below)" correctly points at the Issue #69 entry later in the same section). Verified the `release.yml` awk extraction (`/^## \[VERSION\]/` to next `/^## \[/`) still works with the new header placement, and no other file references the old version string. No runtime code changes, nothing to flag. --- ⏱ 0m 34s · 7 turns · tokens: 19.9k in / 2.3k out (+231.2k cache-read) 📜 [Full session transcript](https://git.grandiras.net/Grandiras/claude-bot/src/branch/claude-logs/transcripts/Grandiras/ATProto.NET/pr-71/run-86.md) <!-- claude-verdict:approve --> <!-- claude-reviewed-head:014b01f96c7aa707190301ceffc01b61cdd8a38f -->
Grandiras deleted branch chore/release-0.5.0 2026-07-25 22:43:04 +00:00
Grandiras referenced this pull request from a commit 2026-07-25 22:43:05 +00:00
Sign in to join this conversation.
No description provided.