Releases: dickwu/r2
Releases · dickwu/r2
R2 Client v0.2.8
What's Changed
Improvements / Maintenance
- Bump JS dependencies: antd 6.3.7 → 6.4.2, @ant-design/icons 6.2.2 → 6.2.3, AWS SDK 3.1045 → 3.1048, @smithy/fetch-http-handler 5.3.17 → 5.4.3, @types/node 25.6.2 → 25.8.0
- Regenerate JS and Rust dependency lockfiles
Full Changelog: v0.2.6...v0.2.8
Note: v0.2.7 was skipped due to a CI lockfile sync issue; v0.2.8 ships the same upgrades plus the fix.
R2 Client v0.2.6
What's Changed
Bug Fixes
- Encode object keys when constructing public URLs for R2, AWS, MinIO, and RustFS. Keys containing spaces, Unicode, or reserved characters (
#,?,%,+) now produce valid URLs while path separators are preserved.
Maintenance
- Keep the Homebrew tap cask installable locally by removing the unsupported
licensestanza from the generated cask. - Refresh JS and Rust dependency lockfiles (AWS SDK 3.1045, Next.js 16.2.6, React 19.2.6, TanStack Query 5.100.10, Tailwind 4.3, zustand 5.0.13,
@tauri-apps/cli2.11.1, plus transitive Rust bumps).
Full Changelog: v0.2.5...v0.2.6
R2 Client v0.2.5
Changes since v0.2.1
- Added release quality gates before desktop packaging: frozen Bun installs, frontend checks, Rust format, clippy, and workspace tests.
- Hardened CI and release reproducibility across GitHub runners with pinned Bun, LF checkout normalization, and generated Next env formatting excluded from Prettier gates.
- Fixed platform-scoped Tauri menu imports so Linux clippy passes with
-D warnings. - Made automated release bump commits follow the repo Lore commit protocol.
Verification
- CI passed on Ubuntu, Windows, macOS x64, and macOS arm64.
- Release packaging passed on Ubuntu, Windows, macOS x64, and macOS arm64.
R2 Client v0.2.1
What's Changed
New Features
- Inline account management: SettingsModal Account tab now embeds the full add / edit / remove flow (R2, AWS S3, MinIO, RustFS, API tokens) instead of bouncing to a separate window.
- Account edit modal lets you update existing account credentials and metadata in place.
- Floating sync banner auto-shows during sync pipelines and self-hides when idle.
- Transfer dock auto-dismisses 2.5s after every task reaches a terminal state and clears finished entries from the upload/download/move stores.
Improvements
- Sidebar "Add account" and the settings cog now route directly into Settings → Account.
- Settings modal footer simplified to a single "Done" button.
- Expanded design tokens in
globals.cssfor the new account and banner surfaces.
Full Changelog: v0.2.0...v0.2.1
R2 Client v0.2.0
What's Changed
New Features
- Redesigned app shell with custom Titlebar, Toolbar, Inspector panel, TransferDock, and EmptyState components
- Command palette (⌘K) for quick navigation and actions
- Settings modal with appearance / accent customization
- Selection action bar for batch operations on selected files
- Toast notification system alongside antd messages
- Global keyboard shortcuts via new
useGlobalShortcutshook - New design tokens (light/dark, accent system, typography scale) with Inter / Inter Tight / JetBrains Mono fonts
Bug Fixes
- Serialize tauri-action releases to a single shared draft to avoid parallel-draft races during multi-platform builds
Improvements
- Refactored AccountSidebar, FileGridView, FileListView into composable row/tile components (
AccountSidebarRows,FileGridTile,FileListRow) - Replaced
PathBreadcrumbwith newCrumbscomponent - Modernized Modal primitive (
ui/Modal.tsx) reused across rename/delete/preview flows - Bumped antd 6.3.7, aws-sdk 3.1038, react-query 5.100.6, react-virtuoso, framer-motion, postcss, prettier-plugin-tailwindcss
Full Changelog: v0.1.77...v0.2.0
R2 Client v0.1.77
What's Changed
New Features
- Lazy listing now accepts a
force_refreshflag to bypass the cache TTL on demand. - Background sync for RustFS walks the bucket via delimiter listing to mirror lazy browsing.
Improvements
- Serialize concurrent S3 list calls and retry once on transient failures for steadier syncs.
- Background sync uses a
run_idplus dedicated mutex so superseded runs no longer emit stale results. - Folder-size cache reuses metadata only when counts are proven, skipping zero/null placeholders that were going stale.
- Folder item building/sorting moved into a shared
loadFolderItemsutility used byuseR2Files.
Maintenance
- Bump GitHub Actions:
actions/checkout@v5andactions/upload-artifact@v6. - Add unit tests for
folderItemsandfolderSizeStorereuse logic.
Full Changelog: v0.1.76...v0.1.77
R2 Client v0.1.76
What's Changed
New Features
- Selectable account export and import. The Import / Export modal is now split into Export and Import tabs.
- Export lists every account grouped by provider (R2, AWS, MinIO, RustFS) with per-account checkboxes and a tri-state per-group toggle. Only selected accounts are written to the JSON file.
- Import opens a preview table that classifies each account as New, Conflict, or Invalid. Each row gets its own action: skip, import, overwrite the local copy, or import as a duplicate (
<name> (imported)). Bulk-action toolbar handles the common cases; an extra confirm dialog appears when overwrites are pending.
- Added duplicate-detection on import for AWS, MinIO, and RustFS accounts (matched by
access_key_id). Re-importing the same file no longer silently creates duplicate accounts. - Export file format bumped to version 2 with an optional
selection_summary. Files exported by previous versions still import without changes.
Full Changelog: v0.1.75...v0.1.76
R2 Client v0.1.75
What's Changed
Improvements / Maintenance
- Stabilized release automation and kept the
connectorfeature out of release builds - Homebrew cask workflow: creates
r2.rbon first publish and runs automatically after release - CI: added
libpipewire-0.3-devforlibspa-sysbuild on Ubuntu - Revised README for clarity and detail, plus formatting cleanup
Dependencies
@aws-sdk/*3.1031 → 3.1036@tanstack/react-query5.99 → 5.100.1tailwindcss4.2.2 → 4.2.4@zumer/snapdom2.8 → 2.9prettier-plugin-tailwindcss0.7.2 → 0.7.3tauri-plugin-connector0.8 → 0.9 (dev-only optional feature)- Cargo.lock transitive updates (
rustls,turso,aws-sdkcrates)
Full Changelog: v0.1.74...v0.1.75
R2 Client v0.1.74
What's Changed
Improvements
- Improved video preview handling with a shared lazy-loaded thumbnail hook and modal poster support
- Simplified connector development setup for Tauri debugging
Maintenance
- Updated app dependencies and related lockfiles
- Ignored local OMX tooling state from source control
Full Changelog: v0.1.73...v0.1.74
R2 Client v0.1.73
What's Changed
New Features
- Auto-rename toggle in upload modal to avoid S3 key collisions — appends timestamp before extension, handles compound extensions (.tar.gz), dotfiles, and relative paths
- Integrate tauri-connector for AI-assisted debugging (opt-in via
--features connector)
Bug Fixes
- Fix double-slash display in upload path indicator
Improvements
- Conditional connector capability generation in build.rs (no longer hardcoded in default.json)
- Update dependencies (antd 6.3.5, next 16.2.1, AWS SDK 3.1020, tailwind 4.2.2, react-query 5.96)
- tauri-plugin-connector bumped to 0.8
Full Changelog: v0.1.72...v0.1.73