- The installed-package page updates in place when the package changes instead of blanking to a spinner; opening a different package still shows one (#814)
- The installed-package page no longer reloads on a timer: with autosync on it used to refetch every 30 s whether or not anything had changed, flashing a spinner and clearing the file selection to redraw the view already on screen. It now refreshes only when the package's state actually changes (#813)
- Files ticked for download on the installed-package page are no longer cleared when the package changes underneath you; the app bar's Refresh still starts clean (#814)
- "Select all" shows a dash when only some files are ticked, instead of looking empty (#814)
- Role switcher: Settings → Auth shows your active role per host and lets you change it (only when you hold more than one), taking effect on the next read or write instead of waiting for the previous role's credentials to expire — including a role you switched in the web catalog (#807)
- Pull now preserves non-conflicting local work instead of refusing on any local change: the Pull button shows up front whether pulling is safe or which files conflict (with commit → merge as the way out), and autosync pulls behind packages while keeping local edits, pausing with conflict guidance only on a real conflict (#800)
- A bucket your active role cannot reach now says so wherever it surfaces — naming the role and offering to switch it, rather than showing a raw storage error or asking you to sign in again; commit is disabled up front instead of failing halfway, and autosync pauses the package until you switch role instead of retrying forever
- QuiltSync shows a revision's commit message instead of its top-hash on the version-mismatch banner (full hash on hover) (#781)
- Usage analytics and crash reports now record which Quilt deployment an action concerned, so activity can be read per stack, and opening a folder is reported as three distinct actions (a package's directory, the sync home, the app data directory) instead of one event that could not tell them apart; actions that concern no deployment record none rather than an inherited one (#811)
- Updated from v0.33.0 to v0.34.0 (see quilt-rs/CHANGELOG.md)
- Updated from v0.3.0 to v0.4.0 (see quilt-uri/CHANGELOG.md)
- Workflow selection in the commit dialog: the bucket's configured workflows appear in a catalog-parity dropdown (by name) instead of a free-text id field, with "Open in catalog" links to the workflow config and the selected workflow's schemas; the dialog validates the message, metadata, and package name against the selected workflow as you type (advisory inline errors); with no workflow chosen it applies the bucket's default (the per-user "Default workflow" setting acting as an override); and a warning-coloured note flags when that default-wins preselection differs from the previous revision's workflow (#743, #746, #756, #758, #770)
- Workflow selection in the Set-remote dialog: pick the workflow for a package's first push, with a warning when the bucket default can't be resolved, a malformed bucket config distinguished from a transient load failure, and a note that saving creates a new revision (#748, #755, #767)
- Committing, publishing, or setting a remote for a package that fails its bucket's workflow is refused with the reason — in the commit and Set-remote dialogs and in notifications — and autosync pauses the namespace as a conflict instead of retrying (#753)
- The installed packages list marks packages that need attention — a remote error or an autosync-paused workflow conflict — in red with an inline reason (#764)
- Settings lists Autosync before Commit and Push, and the "Edit commit defaults" popup warns that these settings apply to every bucket when a workflow override or default metadata is set (#759)
- Logging out now immediately drops the in-memory S3 credential cache, so reads and writes stop working right away instead of lingering until the cached credentials expire (#766)
- Committing or publishing with an empty metadata field now preserves the package's existing metadata instead of silently dropping it (#734)
- Updated from v0.32.0 to v0.33.0 (see quilt-rs/CHANGELOG.md)
- Tray icon with status indicator and
Close to traysetting in Settings → Autosync — keeps autosync running on the closed-window cadence when enabled (default off) (#693)
- Autosync: pull cadence and push quiet window are now independent — the popup shows two inputs (Pull interval and Wait after last edit before publishing), and autopush now waits a constant 5 min after the last edit (new key
idle_timeout_secs, default 300 s) instead of the previous 30 s / 120 s window-dependent wait (#690)
- Autosync: a unified background loop (formerly "Autopull") that pulls remote-tracking packages and, once the working tree has been quiet for a tick, commits and pushes mapped packages with local changes. Settings expose pull and push as independent checkboxes (existing
autopull_settings.jsonmigrates toautosync_settings.jsonwithpush_enabled: false, so adopters do not silently opt into autopush). An optional filesystem watcher refreshes local status on disk changes. Workflow / push failures pause the namespace and emit a newautosync-pausedTauri event — the list shows a toast for unexpected errors and the detail page shows a persistent banner, re-hydrated on navigation via the newget_autosync_snapshotcommand (#675, #676, #682)
- Renamed the
Diverged-state entry button from "Merge" to "Resolve conflict", relabeled the on-page actions to "Promote my revision" / "Overwrite local with remote", and clarified in the intro that Quilt does not merge file contents — pick which side's revision wins; the other is discarded (#677) - Rewrote the detail-page "behind" banner: "The remote has newer revisions" (was "Your commits are behind the remote", which asserted commits the user might not have), and inlined the "commit or discard your local changes to pull" action when working-tree changes block the pull (#682)
- Updated from v0.31.1 to v0.32.0 (see quilt-rs/CHANGELOG.md)
- Edit or view a package's remote (host + bucket) from the toolbar before push, with bucket validated at save time; UI standardized on "remote" terminology (#640)
- Catalog HTTPS links are now formatted on demand by the UI instead of pre-built by the backend (#642)
- Migrated to the Rust 2024 edition; building from source now requires Rust 1.85+ (#646)
- Clicking outside a notification now dismisses it (#636)
- Updated from v0.30.0 to v0.30.1 (see quilt-rs/CHANGELOG.md)
- Added v0.1.0, shared with the Leptos UI (see quilt-uri/CHANGELOG.md)
- New
[Commit and Push]action that commits local changes (if any) and pushes in a single step — available as a one-click button on the Installed Packages List, as a primary CTA on the Commit form alongside the existing[Commit], and on the Installed Package page's bottom action bar alongside[Create new revision](#634) - Commit and Push defaults under Settings: message template (supports
{date}/{time}/{datetime}/{namespace}/{changes}placeholders with a live preview), default workflow picker, and default metadata (#634)
- Updated from v0.29.0 to v0.30.0 (see quilt-rs/CHANGELOG.md)
- New
flow::publish_packagethat composes commit + push in a single call - Error enum split into focused domain enums
- Automatic retry with exponential backoff and request timeouts for HTTP calls;
ExpiredTokenS3 errors fixed via per-request credential refresh with single-flight per-host deduplication
- New
- Replace Askama templates, TypeScript, and npm with a Leptos WASM client-side rendered frontend (#606)
- Reorganize button components into a
buttonssubmodule withButtonKindenum,IconButtonandButtonCtabase components, and specific button components for every UI button (#613) - Update logo to Quilt.bio branding (#612)
- Disable Commit button on commit page when message is empty (#619)
- Highlight Commit link as primary on packages list when package has uncommitted changes (#619)
- Disable Pull button with popover when package has uncommitted local changes (#619)
- Extract popover CSS into shared
.qui-popovercomponent (#619) - Render packages list instantly from cached lineage, then refresh status per-package in background (#622)
- Fix updater log spam by prioritizing HubSpot endpoint
- Updated from v0.28.1 to v0.29.0 (see quilt-rs/CHANGELOG.md)
- Always certify latest on first push, fixing incorrect "Behind" status after pushing a local package with the same name as an existing remote package
- Show a notification instead of an error when the installed package version differs from the requested one or is local-only (#605)
- Add
.quiltignoreaffordance: junk file detection badges, ignore/un-ignore popups, and server-side entry filtering via URL fragment parameters (#593) - Add create local package UI with optional source directory picker and set remote popup for first-push workflow (#596)
- Show release notes in an in-app popup instead of linking to private GitHub releases page (#603)
- Updated from v0.27.4 to v0.28.0 (see quilt-rs/CHANGELOG.md)
.quiltignoresupport, junk file detection- Local-only package creation and first-push workflow
PackageLineage.remoteis now optional
- Collect diagnostic logs from the Settings page and send them via Sentry (with zip attachment) or email (#581, #583)
- Replace debug toolbar with a dedicated Settings page accessible from the app bar (#581)
- Simplify app initialization: remove
Globalsstruct andAppAssetstrait, use fallibleApp::create()(#581) - Login from a package error state now redirects back to that package instead of the packages list (#585)
- Browser-based OAuth 2.1 login via
quilt://deep link callback with code-based login as a fallback for stacks that do not support OAuth (#539) - Add
flowfield ("oauth"or"legacy") to theUserLoggedIntelemetry event to track which login path was used (#562)
- Reject unsolicited
quilt://auth/callbackdeep links with a clear error instead of falling back to the legacy code-based login (#570) - Show a proper error page instead of an infinite spinner when OAuth login fails, reusing the generic error page with a "Login failed" title (#569)
- Fix silent navigation failure after OAuth login:
navigate_after_loginnow accepts a typedroutes::Pathsinstead of a raw string; on an unexpected redirect value anerror!-level log is emitted and the user is sent to the default page rather than being left on the login screen (#568) - Return
Errinstead ofOk(None)when an OAuth state entry has expired intake_params, preventing a timed-out callback from bypassing PKCE+CSRF verification (#567) - Evict expired OAuth state entries (TTL: 10 min) to prevent unbounded memory growth in long-running sessions (#558)
- URL-encode host in OAuth redirect URI to handle special characters correctly (#560)
- Flatten
navigate_after_loginfrom four nestedmatchblocks to early-return style; missing main window now returnsErr(Error::Window)instead of silently succeeding (#564)
- Updated from v0.27.2 to v0.27.4 (see quilt-rs/CHANGELOG.md)
- OAuth 2.1 Authorization Code flow with PKCE and Dynamic Client Registration
- Redact secrets (
access_token,refresh_token, etc.) from debug logs via customDebugimpls Authnow holdsArc<S>instead ofS, removing theClonebound onStorage- Replace
read_file/write_fileinStoragewithread_byte_stream/write_byte_stream; writes are now atomic (temp file + rename)
- Replace
window.promptwith inline form for setting catalog origin, fixing broken prompt on macOS in Tauri (#529)
- Show update notification with Download/Dismiss buttons instead of auto-installing updates (#520)
- Gracefully handle packages without catalog origin: show "Set origin" button instead of failing, remove bogus open.quilt.bio fallback (#523)
- Updated from v0.27.1 to v0.27.2
(see quilt-rs/CHANGELOG.md)
- Add
UpstreamState::Errorvariant andInstalledPackage::set_origin()for packages without catalog origin
- Add
- Upgrade Azure code signing action to v1 (Artifact Signing) (#513)
- Add Windows code signing for release installers (#484)
- Commit page now pre-fills the message field with an auto-generated summary of changed files (#504)
- Fixed deep link handler failing on macOS/Linux
due to
tauri://scheme not matchinghttpcheck (#491)
- Updated from v0.27.0 to v0.27.1
(see quilt-rs/CHANGELOG.md)
- Fixed stale Parquet manifest cache preventing app startup (#492)
- Updated to use quilt-rs v0.27.0 with JSONL manifest format migration (#476)
- Updated from v0.26.0 to v0.27.0
(see quilt-rs/CHANGELOG.md)
- Migrated manifest format from Parquet to JSONL for improved performance and compatibility
- Fixed redirect after package pull to avoid 'package already installed' error (#459)
- Updated from v0.25.0 to v0.26.0
(see quilt-rs/CHANGELOG.md)
- Fixed commit logic to respect crc64Checksums configuration from host config
- Fixed Windows deep link navigation issue when app is launched via deep link (#455)
- Bumped patch release version to test auto-updater functionality (#454)
- Minor dependency updates
- Added auto-updater functionality for seamless application updates (#447)
This version increment consolidates many small changes from previous patch releases.
- Auto-select all checkboxes on page load for file installation (#437)
- Add autofocus to commit message input field (#436)
- Fixed handling of macOS deep links on first application start (#433)
v0.9.9 - 2025-01-07
- Handle S3 package URIs with tags that don't have explicit hashes (#429)
- Updated from v0.24.0 to v0.25.0
(see quilt-rs/CHANGELOG.md)
- Support for timestamp tags in package URIs
- Export
Tagenum andLATEST_TAGconstant
v0.9.8 - 2025-12-30
- Mixpanel analytics tracking:
- More verbose debug logs for failed post-login redirects (https://github.com/quiltdata/QuiltSync/pull/372)
- Deep link navigation when app hasn't started yet (https://github.com/quiltdata/QuiltSync/pull/372)
- macOS startup deep link handler - now properly handles deep links on app launch (https://github.com/quiltdata/QuiltSync/pull/394)
- Better detailed error handling for route parsing (https://github.com/quiltdata/QuiltSync/pull/392)
- Updated from v0.21.1 to v0.24.0
(see quilt-rs/CHANGELOG.md)
- Fixed
quilt+s3://URL parsing with:tagsyntax - Fixed hash mismatch for packages with diacritic characters
- Support for reading manifest with CRC64/NVMe checksums
- Support for creating packages with CRC64/NVMe object hashes
- Fixed
- Updated macOS build target from macos-13 to macos-15 (https://github.com/quiltdata/QuiltSync/pull/393)
- Can now pass
HostConfigargument to commands, requesting specific checksums (crc64 or sha256) - Updated GitHub Actions workflows (https://github.com/quiltdata/QuiltSync/pull/370)
- Minor dependency updates:
v0.9.7 - 2025-11-11
- Add Quilt+S3 URI resolver in the header
- Integrate Sentry error tracker
v0.9.6 - 2025-11-03
- Improve error handling
- Make writing logs more robust
- Minor updates of dependencies
v0.9.5 - 2025-10-22
- Update quilt-rs
- Minor updates of dependencies
- Make metadata editor UI more consistent with the other input fields
v0.9.4 - 2025-04-14
- Show progressbar, make it consistent with the theme
- Reload page after downloading files
- Fixed
parcelbuild watcher
v0.9.3 - 2025-04-10
- Migrate from
maudtoaskamafor templating
v0.9.2 - 2025-04-02
- Login button on S3 or Auth error
v0.9.1 - 2025-04-01
- Minor improvements in Metadata editor
v0.9.0 - 2025-04-01
- Mark the minor version change as it contains many fixes in previous patches
- Show buttons "Add object"/"Add array"
- Make metadata editor styles consistent with the rest of the app
v0.8.6 - 2025-03-31
- quilt_rs: sort keys recursively in metadata
- Log files end with
.logextension - Don't pre-set commited message
v0.8.5 - 2025-03-31
- Minor UI improvements
- quilt_rs: Fix serialization/deserialization of the workflow:
- metadata schema is optional
- metadata id can be different from workflow id
v0.8.4 - 2025-03-27
- quilt_rs: Fix sorting files entries in manifest
- Fix checkbox handler for installing specific files
- Pre-set home directory
v0.8.3 - 2025-03-26
- quilt_rs: Fix uploading modified files during push
- Don't open empty package folder if no files were installed
v0.8.2 - 2025-03-25
- Set Home directory for mutable files first time application starts
- Open the file with default application if deep link has path
- On deep link redirect to installed package if it exists
- Refactor UI: make it wider, move primary buttons to the bottom, add metadata editor
- Update quilt_rs with fixes for hashing
{ "message": null, "user_meta": null }
v0.8.1 - 2025-03-03
Update quilt_rs to 0.9.1
- Fix wrong hash calculation during caching manifest (won't affect users) via
quilt_rs
- Add button to open
.quiltdirectory on Error page
v0.8.0 - 2025-02-27
Consolidate the vast majority of "patch" changes into a single "minor" release.
v0.7.10 - 2025-02-27
- Remove
Settingspage: use&catalogURI parameter as a source of truth for the catalog origin. - Rotate logs daily and keep last 10 files only
- Fix/remove redirect on failed commit
- Make "workflow" field editable during commit
- Simplify and straighten the JS API
v0.7.9 (2025-02-20)
- Add authentication based on
&catalogURI parameter - Add logs in
~/user-data-dir/com.quiltdata.quilt-sync/logs - Fixed duplication of deep link handling
v0.7.8 (2025-02-07)
- Update
quilt_rs - Fix aarch builds
v0.7.7 (2025-01-24)
- Fix duplication of commands
- Rewrite frontend:
htmx→typescript - Fix linux builds
v0.7.6 (2025-01-20)
v0.7.5 (2025-01-02)
- Update quilt-rs with
&catalogURI parameter support - Fix Github release workflow
v0.7.3 (2024-06-20)
- Update quilt-rs
- Minor updates of dependencies
v0.7.2 (2024-05-13)
- Update quilt-rs
- Minor updates of dependencies
v0.7.1 (2024-04-25)
- Use
macos-12for Intel builds, andmacos-latest(14) for ARM builds
v0.7.0 (2024-04-25)
- Update quilt-rs (v0.7.0) with fixed checksums
v0.6.14 (2024-04-24)
- Update quilt-rs with major refactoring https://github.com/quiltdata/QuiltSync/pull/123
- Minor update of dependencies
v0.6.13 (2024-03-25)
- https://github.com/quiltdata/QuiltSync/pull/116
- Fix JS-imports
- Fix calculating checksums by updating quilt-rs
v0.6.12 (2024-03-05)
- Update minor deps
- Fix build crash by removing tauri-cli installation with
postInstallhttps://github.com/quiltdata/QuiltSync/pull/105
v0.6.11 (2024-03-04)
- Update quilt_rs to 0.5.6
- https://github.com/quiltdata/QuiltSync/pull/99
- https://github.com/quiltdata/QuiltSync/pull/101
- Chunksums support and fixes
- Bugfixes, improvements, and refactoring
v0.6.10 (2024-02-24)
- https://github.com/quiltdata/QuiltSync/pull/98 Bugfixes
- Fix inability to select checkboxes outside viewport
- Don't throw exception when Quilt URI path is directory
- Improve scroll UX
- Move Commit and Merge pages under installed package breadcrumb
- Hide "Select all" when nothing to install
v0.6.9 (2024-02-23)
- https://github.com/quiltdata/QuiltSync/pull/97 Refactor UI action buttons
- https://github.com/quiltdata/QuiltSync/pull/96 Update
quilt-rswith new S3 checksums support
v0.6.8 (2024-02-22)
- https://github.com/quiltdata/QuiltSync/pull/94
- Show "disabled" and "in-progress" states
- Fix scrolling entries list and improve checkbox layout
- Use warning/error colors
v0.6.7 (2024-02-21)
- https://github.com/quiltdata/QuiltSync/pull/93
- Use inline importmaps to please Microsoft Edge
- Improve installing paths UX and edge cases
v0.6.6 (2024-02-20)
- https://github.com/quiltdata/QuiltSync/pull/92 Select and bulk install paths
- https://github.com/quiltdata/QuiltSync/pull/86 Show deleted files
- https://github.com/quiltdata/QuiltSync/pull/91
- Hide additional actions in menu: for app toolbar, and file entry
- Enable DevTools
- https://github.com/quiltdata/QuiltSync/pull/90 Notarize Mac builds
0.6.5 (2024-02-16)
- https://github.com/quiltdata/QuiltSync/pull/82: Add "Open Catalog" link to the installed packages list page
- https://github.com/quiltdata/QuiltSync/pull/85 Sign Mac apps
0.6.4 (2024-02-15)
- https://github.com/quiltdata/QuiltSync/pull/81:
- Increase tests coverage
- Bugfix: prevent submitting form on Enter
0.6.3 (2024-02-14)
- https://github.com/quiltdata/QuiltSync/pull/80 Increase tests coverage, remove temp_dir and manage to not touch real I/O in unit tests
0.6.2 (2024-02-13)
- https://github.com/quiltdata/QuiltSync/pull/70 Update crate
tokioto 1.36.0 - https://github.com/quiltdata/QuiltSync/pull/79 Update "Golden path" to CONTRIBUTING.md
0.6.1 (2024-02-13)
- https://github.com/quiltdata/QuiltSync/pull/76
- https://github.com/quiltdata/QuiltSync/pull/77
- https://github.com/quiltdata/QuiltSync/pull/78
0.6.0 (2024-02-09)
0.5.7 (2024-02-08)
0.5.6 (2024-02-08)
0.5.4 (2024-02-02)
0.5.3 (2024-01-30)
0.5.2 (2024-01-26)
0.5.1 (2024-01-23)
0.5.0 (2024-01-25)
0.4.15 (2024-02-18)
- Pure HTMX
- Mockup UI in HTML
- Add Styling
- Add Git Tag
- Fix release workflow
- Set identifier; with "-" instead of "_"
- Update Tauri version / non-Draft release
- Add lib, integration tests
- Replace direct JavaScript with HTMX
- create-tauri-app
- Quilt icons
- Detailed README
- cargo init
- CHANGELOG
- GitHub Actions
- Dependent crates
- Internal name to quilt_sync (snake_case)