Releases
v1.1.0
Compare
Sorry, something went wrong.
No results found
1.1.0 (2026-06-12)
Features
add accounts repository (327ac3e )
add accounts:update channel and input types (e7fe609 )
add accounts:update handler and test-secret fallback (454cb6a )
add accountsRepo.update (5a90afd )
add and backfill force_path_style account column (70e6b77 )
add appearance theme selector to settings (d86ae33 )
add application and DMG icons (5745bd4 )
add bucketLocationConstraint provider helper (7f4ca08 )
add copyright section (e5b1774 )
add createBucket op (create + optional object lock/versioning) (deb701e )
add createFolder transfer op (277262a )
add custom endpoint and path-style fields to add-account form (6863d70 )
add delete object and batched delete folder (050fda2 )
add encrypted secrets store (040bd0e )
add getBucketCors (no-config maps to empty) (89e3394 )
add getObjectLockConfig (not-found maps to not-enabled) (36b64a9 )
add headObject metadata operation (a14c1b5 )
add IPC registration wiring services to channels (b07ee61 )
add LicensesList component (25e39a9 )
add list transform and breadcrumb helpers (5741224 )
add listBuckets and listObjects S3 operations (372ac35 )
add moveFolder transfer op (recursive copy+delete) (30c33aa )
add moveObject transfer op (copy+delete) (f81bf45 )
add multipart file upload operation (59114be )
add object ACL get/put ops (owner + per-grantee grants) (fe30503 )
add object metadata edit ops (head + copy-to-self REPLACE) (14628d7 )
add object visibility detection (877098c )
add per-account client orchestration (afe7251 )
add per-object retention + legal hold ops (24c4514 )
add planLocalSync + runLocalSync (upload/download) (73bdb89 )
add presigned GET URL operation (2f4a7a8 )
add presignPutUrl (presigned upload URL) (3cb97bc )
add provider registry for Amazon S3 and Hetzner (caf5039 )
add pure diffListings sync core (95287f2 )
add putBucketCors and deleteBucketCors (bedc770 )
add putObjectLockConfig (set/clear default retention) (088298a )
add Result helpers for IPC boundary (6e56c58 )
add runSync (copy pool, server-side + streaming, cancel) (69d46ea )
add S3 client factory (117d452 )
add setObjectVisibility (canned ACL public-read/private) (fd96506 )
add settings repository (64fc9f2 )
add shell:openExternal IPC channel (cd58d3c )
add SQLite connection and migrations (2afb3ae )
add streaming download operation (c28978b )
add sync types, listAll, and planSync (b3e2564 )
add theme preference to app settings (4f1ad65 )
add typed app settings layer (read/write over settingsRepo) (c3c95b8 )
add upload-progress IPC event channel with uploadId correlation (b974bf8 )
add useTheme hook for resolving and applying theme (194b933 )
add walkDir + contentTypeFor for local sync (1994cad )
apply theme preference at app root (c81a5b5 )
apply theme to native chrome on setSettings (a7a09da )
configure tailwind class-based dark variant (7e819de )
cors: add AWS-standard JSON conversion module (fcb0536 )
cors: switch between form and editable JSON editor (dd35f01 )
dark mode styles for accent colors (a0e98f5 )
dark mode styles for chrome and layout (a13a212 )
dark mode styles for dialogs and buttons (9f10aff )
dark mode styles for screens and panels (cc7c78f )
define IPC channel contract (4be9207 )
download via injected native save dialog (renderer-driven, cancellable) (c47dd97 )
drive nativeTheme from persisted theme setting (cfe0c85 )
edit a connection from the Connections screen (4be1327 )
expose accounts.update and useUpdateAccount (ff61731 )
expose getDropPath (webUtils) for sandbox-safe drag-drop uploads (1e3b40e )
generate third-party license data at build time (cfc05d3 )
i18n: add de/fr/pl/nl/ro translation baselines (2423736 )
i18n: add i18next init and seed catalogs (5f00d0b )
i18n: add language preference to settings model (a09bf1a )
i18n: add Polish CLDR _other plural forms for completeness (547c724 )
i18n: apply language preference via useLanguage hook (240c12a )
i18n: initialize i18next in app and test setup (3e1055e )
i18n: localize accounts components (66ca9ef )
i18n: localize App shell strings (3cf9ae1 )
i18n: localize buckets components (2df2dc6 )
i18n: localize connections screen (e5e4c29 )
i18n: localize cors components (97e76c5 )
i18n: localize files feature components (e9a5b82 )
i18n: localize object lock editor (5f71c67 )
i18n: localize SectionNav (3a29d4c )
i18n: localize Settings screen and add language selector (b6dedae )
i18n: localize sync components (d78e093 )
i18n: localize transfer, dashboard, and shared ui (064a24c )
persist per-account forcePathStyle (cf2548a )
register custom S3-compatible provider (bfeddcf )
resolve custom endpoint and path-style in account handlers (3c80795 )
return AccountNotFound from accounts:update for unknown id (d8ff1cf )
show open source licenses in Settings (444ec13 )
ui: add + Create bucket button opening the create dialog (55a4744 )
ui: add account create/remove/test-connection mutations (34bef99 )
ui: add AccountSelect dropdown (f6e80b6 )
ui: add AccountsPane with list, select, remove, add (b3ca6cc )
ui: add AddAccountForm with inline connection test (0b34017 )
ui: add Breadcrumb (c99b81a )
ui: add BucketSelect dropdown with inline create (65f56db )
ui: add BucketsPane (9eec88e )
ui: add byte and timestamp formatters (07e0a6b )
ui: add ConfirmDialog (223e0ff )
ui: add CorsEditor (e9850ca )
ui: add CorsRuleCard (924cf19 )
ui: add CreateBucketDialog (0a08e85 )
ui: add dashboard AccountBreakdown (f8eaa62 )
ui: add dashboard SummaryCards (a2d69f7 )
ui: add Dashboard view (87f8e5e )
ui: add download/copy-url/delete actions to MetadataPanel (77e43e5 )
ui: add DropZone with drag overlay (c293e6f )
ui: add Edit metadata… button opening the metadata editor (c1006fe )
ui: add EndpointPicker (31069d7 )
ui: add file Rename/Move to MetadataPanel (73a49ed )
ui: add FileBrowser with folder navigation and load-more (6fabf53 )
ui: add FolderPicker (1f1e2cc )
ui: add full-screen ConnectionsScreen for account management (f5b4dc4 )
ui: add LocalFolderPicker (ec228d3 )
ui: add LocalSyncScreen (63a504c )
ui: add MetadataDialog (object metadata editor) (0b0a2dd )
ui: add MetadataPanel slide-over (cd13367 )
ui: add MoveDialog with folder picker (864b816 )
ui: add NameDialog (46bd0fb )
ui: add New folder + folder rename/move to FileBrowser (2d5844e )
ui: add ObjectLockEditor (8a338be )
ui: add parentPrefix/baseName key helpers (a8996da )
ui: add Permissions… button opening the ACL editor (7043cfc )
ui: add PermissionsDialog (per-grantee ACL editor) (accafc1 )
ui: add ProviderBadge (6b21cdc )
ui: add RetentionSection (per-object retention + legal hold) (ec1fdfa )
ui: add SectionNav (41ed574 )
ui: add SettingsScreen (f4d8938 )
ui: add setVisibility mutation to useObjectDetails (f96854b )
ui: add StringListEditor (6e4cf06 )
ui: add Sync mode toggle (bucket vs local) (2b43769 )
ui: add Sync section to the nav and App (ea0f5ef )
ui: add SyncRunProvider for app-level sync run state (7421303 )
ui: add SyncScreen (preview, run, progress, summary) (144aa7a )
ui: add SyncStatus sidebar indicator (ca01802 )
ui: add ToastProvider/useToast (d7e6e6e )
ui: add typed window.s3 global and Result unwrap helper (186f8d8 )
ui: add Upload link button to the file browser toolbar (835a713 )
ui: add UploadLinkDialog (presigned upload URL) (399870e )
ui: add UploadsPanel with progress bars (2e14362 )
ui: add useAccounts query hook (6a44d33 )
ui: add useAllBuckets fan-out hook (e3b0670 )
ui: add useBuckets query hook (2340754 )
ui: add useCors query + save/clear mutations (6dcfc61 )
ui: add useCreateBucket hook (7152ee2 )
ui: add useLocalSync hook (a98dcc7 )
ui: add useObjectAcl hook (fd4648a )
ui: add useObjectActions (download/copy-url/delete) with toasts + invalidation (327d03c )
ui: add useObjectDetails (metadata + visibility) hook (2b8d006 )
ui: add useObjectLock query + save/clear mutations (7a6ce4a )
ui: add useObjectMetadataEditor hook (cdcd9e5 )
ui: add useObjectRetention hook (7df1e6c )
ui: add useObjects infinite-query hook (2e90a5d )
ui: add useSettings hook (815bbba )
ui: add useSync hook (1aba0f5 )
ui: add useTransfer (createFolder/moveObject/moveFolder) (4155a68 )
ui: add useUploads queue with progress correlation (a088c97 )
ui: compose app shell with section nav and accounts pane (3e4b210 )
ui: copyPresignedUrl uses the configured default expiry (b67e167 )
ui: derive UI provider list from backend registry (51bb08c )
ui: drop-to-upload, uploads panel, and folder delete in FileBrowser (a3f9f43 )
ui: editable visibility toggle in the metadata panel (af8b710 )
ui: guard duplicate metadata keys; test save-error path (f979821 )
ui: mount SyncRunProvider at the app root (2eca100 )
ui: move account & bucket selection into sidebar dropdowns (9d87eab )
ui: React entry, Tailwind base, and app shell skeleton (2a85c97 )
ui: render the Settings screen for the settings section (0deb03a )
ui: reorder section nav, add divider and connections section type (e645dc0 )
ui: replace glyph buttons with Feather icons across components (bb4392b )
ui: show retention & legal hold in the metadata panel for lock-enabled buckets (f7590c3 )
ui: show the sync indicator in the sidebar (8043aea )
ui: unify all delete/remove actions on the trash icon (6c837fb )
ui: use Feather icons for object action buttons (8a95c11 )
ui: wire buckets pane, file browser, and metadata panel into Files view (906c37c )
ui: wire CorsEditor into the CORS section (d12b747 )
ui: wire Dashboard into App with click-through to Files (bf4875d )
ui: wire ObjectLockEditor into the Object Lock section (45a0fb6 )
ui: wrap app in ToastProvider for operation feedback (f3c81b2 )
update correct icons (07cdc34 )
wire CORS get/put/delete IPC channels (7aabe8b )
wire createBucket IPC channel (b3fc930 )
wire createFolder/moveObject/moveFolder IPC channels (b835489 )
wire local sync IPC channels + folder picker dialog (69c72f5 )
wire object ACL IPC channels (505056c )
wire Object Lock get/put IPC channels (4e3983b )
wire object metadata edit IPC channels (a22b6be )
wire per-object retention & legal hold IPC channels (0119b1c )
wire preload bridge and backend init into main process (f0ca853 )
wire s3:presignPut IPC channel (96fef4c )
wire s3:setObjectVisibility IPC channel (61e660b )
wire settings + app info IPC channels (626b859 )
wire sync:plan/run/cancel IPC channels + progress event (1f60b2d )
Bug Fixes
bundle node-sqlite3-wasm into packaged app (a92f555 )
cors: clear JSON editor state when bucket selection changes (c83fab5 )
cors: resync JSON textarea on refetch and add a11y attributes (9a85089 )
guard local-sync download against path traversal in object keys (b54b54c )
keep Sync mounted across navigation so a running sync's progress survives (71c7cc6 )
lint: resolve pre-existing ESLint errors blocking CI (5b2151d )
load renderer Vite config as ESM (.mts) so ESM-only Tailwind/React plugins load (431bae8 )
npm audit (e5494a3 )
pair remaining settings and icon surfaces with dark variants (2b4e464 )
replace better-sqlite3 with node-sqlite3-wasm (Electron 42 V8 incompatibility) (8147861 )
report accurate error when post-create versioning fails (c208085 )
set correct bundle name (e2fa030 )
ui: clear selected account when it is removed in Connections (f6c77fb )
ui: clear stale sync result when endpoints change (0c7f42c )
ui: reject consecutive-dot and IP-form bucket names in client validation (a5feb01 )
Refactor
AddAccountForm -> AccountForm with edit mode (69aa8ce )
cors: tighten parseCorsJson typing and add edge-case tests (c514c18 )
extract runPool into shared pool.ts (5915982 )
reuse get() in accountsRepo.update and tighten tests (1206cf5 )
ui: LocalSyncScreen reads run state from SyncRunProvider (0e99bd4 )
ui: make CorsEditor controlled by sidebar selection (2b9b1a5 )
ui: make ObjectLockEditor controlled by sidebar selection (1183f77 )
ui: SyncScreen reads run state from SyncRunProvider (6c0d393 )
ui: trim useSync/useLocalSync to the preview plan mutation (899bcb8 )
ui: use EditableMetadata as the metadata mutation arg type (61d8d69 )
Documentation
add backend foundation implementation plan (9194500 )
add bucket-to-bucket Sync design spec (6852a61 )
add bucket-to-bucket Sync implementation plan (d2280bb )
add CORS configuration design spec (a2cb48c )
add CORS configuration implementation plan (86db466 )
add CORS JSON editor design spec (27da486 )
add CORS JSON editor implementation plan (9c457ff )
add create bucket design spec (b43543d )
add create bucket implementation plan (7ee9be9 )
add dark mode design spec (cbdce0b )
add dark mode implementation plan (f583af0 )
add dashboard design spec (edaa416 )
add dashboard implementation plan (3c84b82 )
add global sync status indicator design spec (200330c )
add global sync status indicator implementation plan (cecbb91 )
add i18n design spec (1ade696 )
add i18n implementation plan (e93909b )
add local-bucket Sync design spec (0bd9b4b )
add local-bucket Sync implementation plan (6f704f3 )
add Move/Rename/Create-Folders design spec (b2654de )
add Move/Rename/Create-Folders implementation plan (bae85d3 )
add Object Lock (bucket default retention) design spec (0c757fb )
add Object Lock implementation plan (e44249e )
add object metadata editor design spec (9ea4e0c )
add object metadata editor implementation plan (983407a )
add object visibility editing (ACL) design spec (83b1d51 )
add object visibility editing implementation plan (581d693 )
add per-grantee object ACL editor design spec (70991b8 )
add per-grantee object ACL editor implementation plan (ab26e87 )
add per-object retention & legal hold design spec (514feb4 )
add per-object retention & legal hold implementation plan (01c8835 )
add Plan 2a (UI foundation, app shell, accounts) implementation plan (292c540 )
add Plan 2b-1 (Files view browsing) implementation plan (2e01ef2 )
add Plan 2b-2a (operations plumbing) implementation plan (3772f07 )
add Plan 2b-2b (operations UI) implementation plan (826785f )
add presigned upload (PUT) URLs design spec (48f5111 )
add presigned upload (PUT) URLs implementation plan (641ce80 )
add README and MIT LICENSE (056a0a8 )
add ROADMAP tracking the bucket list (00f3ca2 )
add S3 Manager foundation + File Manager MVP design spec (a361205 )
add Settings screen design spec (1bacbe0 )
add Settings screen implementation plan (ebc6941 )
design for custom S3-compatible provider (bf8d72b )
design for editing an account/connection (dcbf823 )
design for macOS signing + notarization (4fa4a41 )
design for open-source licenses acknowledgements screen (3ef8f60 )
design for sidebar account & bucket selectors (14f51c5 )
document macOS signing secrets and verification (deb8fb6 )
implementation plan for custom S3-compatible provider (5cb4d5a )
implementation plan for editing an account/connection (de62d81 )
implementation plan for macOS signing + notarization (52e171a )
implementation plan for open-source licenses (c2962b0 )
implementation plan for sidebar account & bucket selectors (15156e2 )
record backend foundation completion status and deferred items (7d98e35 )
record better-sqlite3 -> node-sqlite3-wasm swap and updated deferred items (3eb656f )
refine sidebar-selectors spec (sync nuance, controlled editors) (3e25853 )
remove supoerpowers (c1f73f2 )
Testing
add error-path test and clarify metadata clear-contract (b408d8b )
assert metadata IPC field pass-through; keep visibility pair adjacent (70a8dee )
avoid empty-function lint errors in matchMedia stub (912896c )
cors: activate JSON resync-after-save test with differing refetch (1311c2b )
cover ConnectionsScreen edit flow; use div for row actions (f72dbc9 )
cover custom forcePathStyle default and non-http endpoint rejection (47a0ca3 )
cover provider re-resolution on accounts:update (ba94ecb )
i18n: include language in settings IPC default assertion (62246e6 )
include custom provider in UI_PROVIDERS expectation (4553cc6 )
include theme field in register settings assertion (8457d44 )
read back persisted forcePathStyle from the DB (f6a4fc4 )
ui: cover account remove, list-error, and test-connection failure; add Space-key row activation (8d1b11c )
ui: cover CORS JSON preview reflects edits and save-error toast (97e8f80 )
ui: cover Object Lock inline query-error state (34c0327 )
ui: cover useObjects pagination/dedup; add MetadataPanel visibility error state (5ba13da )
Build System
add @electron-forge/maker-dmg dependency (e5ae749 )
add hardened-runtime entitlements for macOS signing (156b86c )
deps: bump the minor-and-patch group across 1 directory with 10 updates (#2 ) (7048742 )
document API key path and scope entitlements to main app (c7cd688 )
drop unused @electron-forge/maker-zip dependency (d5d9ad8 )
sign/notarize macOS app and build DMG via Electron Forge (59811b2 )
CI/CD
bump import-codesign-certs to v7 and clean up notarization key (de7dd7e )
drop obsolete macOS xattr workaround from release notes (351c328 )
release: push CHANGELOG to develop via RELEASE_TOKEN PAT (9377fe0 )
sign and notarize the macOS build in release workflow (ae58a5a )
surface signing/notarization progress to avoid premature cancels (51c5743 )
You can’t perform that action at this time.