Skip to content

Releases: LumeWeb/pinner-cli

v0.2.0

19 Jun 02:14

Choose a tag to compare

Breaking Changes

  • metadata command removed; use pins update instead.
    Upload and pins add now wait for pinning by default; use --no-wait to
    detach. --confirm/--yes replaced by --force as primary flag.

Features

  • add API key management commands with self-delete protection
  • display new fields from updated WebsiteResponse
  • add pprof subcommands for runtime profiling
  • add Homebrew tap, WinGet, and Scoop package managers
  • restructure CLI with pins group, wait-by-default, and unified flags
  • expand test coverage, unify quota delegation, improve docs
  • add generate-docs command with markdown and man page support
  • switch to LumeWeb/cli-docs with JSON docs output
  • add point/unpoint commands for onchain domain IPNS pointing

Fixes

  • resolve API key name to UUID for post-delete warning
  • resolve name-to-UUID before delete for self-key warning
  • use PAT for cross-repo goreleaser, switch homebrew_casks to homebrew_taps
  • use brews instead of homebrew_taps for GoReleaser v2
  • correct winget package_identifier and manifest path
  • revert homebrew_casks is correct for GoReleaser v2
  • fix dry-run bypass, batch metadata, and metadata format bugs
  • fix --file/stdin metadata, --secure flag, and --auth-token in metadata paths
  • add nil guards and propagate --secure flag to all services
  • add configurable context.WithTimeout to all CLI handler functions
  • correct go install module path in README
  • platform-specific test failures
  • use GreaterOrEqual for duration assertion in PinBatch test
  • add next-step guidance to point output
  • display broken websites on 410 Gone

v0.1.0

25 May 07:27

Choose a tag to compare

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