chore: prepare v0.3.0 release notes and docs#133
Merged
Conversation
- Bump workspace version 0.2.0 -> 0.3.0 - Add v0.3.0 changelog section covering changes since v0.2.0 (by-email admin endpoint, LNURLp restore, pending-payment delete guard, startup backfill, gateway CIDR fix, deleted-VM payments) - Document GET /api/admin/v1/users/by-email in ADMIN_API_ENDPOINTS.md
- Add lnvps_agent (AI support agent) to features, crate table, build list - Add lnvps_agent config reference (OpenAI/LLM, email IMAP/SMTP, Nostr kind-1) - Add missing workspace crates to table (lnvps_host_util, lnvps_e2e)
…and is_setup in subscription backfill The vm→subscription backfill wrote several fields incorrectly: - subscription.created was stamped Utc::now() instead of vm.created, so all migrated VMs showed today's date as their creation date - custom-template VMs got line_item.amount = 0 (showed $0 in the admin UI) instead of the computed custom pricing cost - subscription.currency used the company base currency instead of the cost-plan / pricing currency (mismatch with the live provisioning paths) - is_setup/is_active were forced true even for never-paid VMs, so the worker's unpaid-VM cleanup (now keyed off subscription.is_setup) would never delete a VM that was still unpaid at migration time Changes: - Add created to VmForMigration + its query - Extract resolve_vm_billing() shared by initial backfill and repair - build_subscription_for_vm() preserves created and derives is_setup from the legacy expires > created signal - Add Phase 0 repair pass: idempotently corrects already-migrated rows at startup (created/currency/interval/is_setup + custom line-item amount) - Add list_vm_ids_with_subscription() DB method - Derive PartialEq/Eq on IntervalType for change detection - Regression tests for created preservation, is_setup, deleted/unpaid cases
…ment endpoints
The v0.2.0 section (tagged 2026-02-22 23:20) contained entries dated
2026-02-23/24/25 \u2014 work that shipped after the tag and belongs in v0.3.0.
Moved those (resource limits, email verification, image checksum/download,
company_base_currency on AdminVmPaymentInfo, manual payment-complete admin
endpoints, cpu_mfg/arch/features unset fix) into the v0.3.0 section.
Also documented the previously-undocumented Sponsoring LIR Agreement
endpoints in both the changelog and API_DOCUMENTATION.md:
- GET /api/v1/legal/sponsoring-lir-agreement
- GET /api/v1/legal/sponsoring-lir-agreement/from-subscription/{id}
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Prepares the v0.3.0 release metadata (no functional code changes).
v0.3.0changelog section covering changes merged since v0.2.0 that were not yet documented:GET /api/admin/v1/users/by-email, restored LNURLp endpoints, pending-payment auto-delete guard, startup VM→subscription backfill, gateway-outside-CIDR capacity fix, deleted-VM payment handlingGET /api/admin/v1/users/by-emailin ADMIN_API_ENDPOINTS.mdNo tag is created yet — will tag after deploy/test verification.