ITADN
LumeWeb/pinner-cli

版本发布 1

v0.1.0
? · 2026-05-25

## Breaking Changes - Initial release ## Features - implement core CLI functionality and authentication flow - add auth status command and JWT token handling - add version command - add IPNS and websites management with SSL status support - add DNS management commands - add admin commands for quota and billing - Refactor admin CLI commands and add billing overview - admin token exchange for API tokens and portal SDK v0.1.46 upgrade - add pricing plan period creation to pricing plan create command - add GetPricingPlan for retrieving single pricing plan details - add pricing plan sync commands and update portal-sdk dependency - add website admin endpoints, window-type flag, and user-configs update - add enforcement-policy and limit override flags to user-configs update - expose CAR builder options in upload command - add bench subcommand for upload and pinning performance benchmarking - fallback to account operations when pin not found in status command - add unpin all subcommand with safety guards - verify pin in pinning API after account operation completes with --wait - improve DX with domain-centric UX, validation guidance, and dns zones validate - upgrade ipfs-sdk to v0.1.38, expose gateway CNAME guidance - add generic wizard framework, websites wizard with validation retry - add download, cat, and ls commands - add operations list/get/watch commands for account operations - add target type step (IPFS/IPNS) to website setup wizard - differentiate DNS guidance by hosting mode, remove DIY DNS record creation - add enable-ipns command and DRY website service setup - name-based IPNS keys, republish command, upgrade ipfs-sdk to v0.1.44 - use SDK validation reason enums, improve website validation display - upgrade ipfs-sdk to v0.1.48, use ValidationRecordHost for DNS records - add GoReleaser for cross-compiled builds alongside Knope ## Fixes - resolve critical race conditions, memory leaks, and security issues - update sdk - migrate config path and refactor manager logic - leave base_endpoint unset for default config - update PinningClient mock variadic handling - add missing GetApiWebsitesDomainSslStatusWithResponse to websites mock - resolve code review issues - resolve code review issues in DNS commands - resolve code review issues - return error from generateValidationToken - delegate IPFS processing to ipfs-content library - replace pkg/ipfs/client with go.lumeweb.com/ipfs-sdk - use admin subdomain for quota/billing services - Fix billing admin service methods to properly initialize service - update pricing plans test to include new get subcommand - config output, table word wrap, pterm upgrade, env var docs - off-by-one in wrapLine hard-wrap when current line has content - flush current line buffer before hard-wrapping long word - require update fields for all mutation commands and DRY with requireUpdateFields helper - add requireSetInt helper to validate int flags are non-zero - correct --enforcement-policy to show valid server values - dry up enforcement policy validation with slice-driven check and error message - use Printfln for user-configs output to include newlines - correct flag names in user-configs update help examples - add missing Total field to human PrintBatchResult output - resolve all linting issues across codebase - preserve retry on temporary DNS errors after Temporary() removal - validate poll-interval is positive to prevent NewTicker panic - route account API calls to account endpoint, not IPFS endpoint - return actual lookup error instead of ErrPinNotFound when operation query fails - use authenticated account client for operation lookup fallback - use IPFS endpoint for websites, DNS, and IPNS commands - use IPFS endpoint for websites/dns/ipns services instead of account endpoint - pass dns_hosting_enabled to website create/update, fix next steps for non-hosted - use server-assigned ValidationToken in DNS records, propagate context - support subdomain derivation for localhost while preserving bare IP behavior - prevent Secure default from overriding file config and normalize schemeless endpoints - detect 401/403 auth errors from boxo pinning client - remove partial file on download write failure - delete existing API key before creating a new one on auth - propagate errors from ListAPIKeys and DeleteAPIKey in createOrReplaceAPIKey - unpin all by request ID instead of deduplicating by CID - wrap DeleteByID errors with WrapAuthError in UnpinAll - use cmd.IsSet for partial website updates - handle default target-type in partial website updates - require --target-type with --cid to prevent silent default overwrite - nil pointer dereference in managed DNS validation retry - allow --target-type ipns without --cid for website update - update documentation URL from docs.lumeweb.com to docs.pinner.xyz - website wizard self-managed DNS flow - move create website spinner to UI layer, fix pterm data race - interpolate actual domain in wizard completion, add resolved CID to websites, add CID column to IPNS keys - use unix.SysctlUint32 for macOS page size instead of broken vm_stat header parsing - fetch tags before GoReleaser and revert premature v0.1.0 release