# Changelog

All notable changes to @stoar/cli will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.1.2] - 2025-06-25

### Changed
- Update command now automatically clears cache for fresh version checks
- Improved update detection with direct npm registry queries

### Fixed
- Update detection now works immediately without cache delays
- Proper semantic version comparison for update checks

## [0.1.1] - 2025-06-25

### Changed
- Replaced custom MIME type detection with SDK's comprehensive mime-types utility
- Improved MIME type detection accuracy for thousands of file types

### Fixed
- More accurate content-type headers for uploaded files

## [0.1.0] - 2025-06-25

### 🎉 Initial Release

#### Features
- **Core Commands**
  - `upload` - Upload files with automatic batching, glob patterns, and directory support
  - `download` - Download files from Arweave by transaction ID
  - `list` - List uploaded files with tag filtering and bundle detection
  - `info` - Get detailed transaction information with ANS-104 bundle parsing
  - `wallet` - Manage Arweave wallets (create, balance, address)
  - `config` - Manage CLI configuration settings
  - `update` - Check for and install CLI updates
  - `version` - Display version information

- **Batch Upload System**
  - Automatic batching when uploading multiple files
  - 90%+ cost savings through efficient bundling
  - Force batch mode with `--batch` flag
  - Progress tracking for batch operations
  - Glob pattern support for flexible file selection

- **Bundle Support**
  - Detect and mark bundle transactions with 📦 emoji
  - Parse ANS-104 bundles to show individual data items
  - Display detailed metadata for each item in bundles
  - Support for verbose output with `--verbose`

- **Configuration System**
  - Wallet support via CLI flag, file path, or environment variables
  - Global configuration management
  - Multiple output formats (JSON, table, quiet, verbose)
  - Gateway configuration support

- **Update System**
  - Automatic update checks every 24 hours
  - Manual update command with force option
  - Skip update checks with flag or environment variable
  - Version comparison and changelog links

- **Developer Experience**
  - Full TypeScript support with type definitions
  - Comprehensive error handling with helpful messages
  - Progress indicators for uploads and long operations
  - Cross-runtime compatibility (Node.js and Bun)
  - Runtime-aware Arweave imports

#### Dependencies
- Uses @stoar/sdk v0.1.2 with GraphQL query support
- Arweave.js for blockchain interaction
- Commander.js for CLI framework
- Update-notifier for version management