Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Notable changes to Latch.

## 0.18.0-beta.1
## 0.19.0-beta.1

### Recovery & Product Polish
- **Recently Deleted** — local-only recovery with 30-day default retention,
Expand All @@ -18,6 +18,20 @@ Notable changes to Latch.
- README/setup and recovery/sync policy documentation refreshed; device checks
documented separately from automated verification.

### Sharing & Smart Collections
- **Share to Latch** — receive files shared from other apps, review the
staged items, and import them into the vault in one flow.
- **Smart Collections** — save structured file filters as named
collections with live counts, reachable from the gallery drawer.
- Search, gallery filtering, and smart collections now share a single
file-filter model, including the consolidated filter sheet.

### Operation Progress
- Imports, deletions, and other vault mutations run through a shared
operation gate that reports progress and prevents overlapping work.
- SnackBars replaced with a custom `ToastHost` overlay for consistent
in-app feedback.

### Typography
- Replaced proprietary Product Sans with OFL-licensed **Google Sans Flex** in the
app and latchd web UI. The four regular/italic/bold/bold-italic faces are
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ curl -fsSL https://raw.githubusercontent.com/moss-apps/Latch/HEAD/scripts/instal
```

Installer overrides (environment variables): `LATCHD_BINDIR` (install
directory), `LATCHD_VERSION` (pin a release tag, e.g. `0.18.0-beta.1`),
directory), `LATCHD_VERSION` (pin a release tag, e.g. `0.19.0-beta.1`),
`LATCHD_REPO` (alternative fork).

**Windows** — download `latchd-windows-amd64.exe` from
Expand Down
2 changes: 1 addition & 1 deletion latchd/cmd/latchd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ const defaultDir = "latch-backup"
const defaultAddr = "127.0.0.1:7800"

// version is stamped at release time from the app-version tag:
// -ldflags "-X main.version=0.18.0-beta.1" (mirrors the mobile release).
// -ldflags "-X main.version=0.19.0-beta.1" (mirrors the mobile release).
var version = "dev"

func main() {
Expand Down
735 changes: 452 additions & 283 deletions latchd/web-src/package-lock.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion latchd/web-src/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
"radix-ui": "^1.6.7",
"react": "^19.3.0",
"react-dom": "^19.3.0",
"shadcn": "^4.21.1",
"tailwindcss": "^4.3.3",
"tw-animate-css": "^1.4.0"
},
Expand All @@ -27,6 +26,7 @@
"@types/react-dom": "^19.3.0",
"@vitejs/plugin-react": "^6.1.0",
"oxlint": "^1.86.0",
"shadcn": "^4.22.1",
"typescript": "~7.0.2",
"vite": "^8.3.2"
}
Expand Down
2 changes: 1 addition & 1 deletion latchd/windows-setup/latch.iss
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
; installer EULA and the web gate agree by construction (both from legal/).
;
; Built by CI (release-latchd.yml) or locally:
; cd latchd/windows-setup && python3 build-license.py && iscc latch.iss /DMyAppVersion=0.18.0-beta.1
; cd latchd/windows-setup && python3 build-license.py && iscc latch.iss /DMyAppVersion=0.19.0-beta.1
#define MyAppName "Latch"
#ifndef MyAppVersion
#define MyAppVersion "dev"
Expand Down
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ publish_to: "none"
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix.
version: 0.18.0-beta.1+25
version: 0.19.0-beta.1+26

environment:
sdk: ">=3.4.4 <4.0.0"
Expand Down
2 changes: 1 addition & 1 deletion scripts/install-latchd.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# Usage:
# curl -fsSL https://raw.githubusercontent.com/moss-apps/Latch/HEAD/scripts/install-latchd.sh | sh
#
# Overrides: LATCHD_REPO, LATCHD_VERSION (an app-version tag, e.g. 0.18.0-beta.1), LATCHD_BINDIR.
# Overrides: LATCHD_REPO, LATCHD_VERSION (an app-version tag, e.g. 0.19.0-beta.1), LATCHD_BINDIR.
set -eu

REPO="${LATCHD_REPO:-moss-apps/Latch}"
Expand Down
27 changes: 26 additions & 1 deletion whats_new.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,30 @@
{
"0.18.0-beta.1": [
"0.19.0-beta.1": [
{
"title": "New & Noteworthy",
"items": [
{
"icon": "auto_awesome_outlined",
"title": "Recently Deleted",
"description": "Deleted files stay recoverable for 30 days by default — restore them or remove them permanently whenever you like."
},
{
"icon": "folder_outlined",
"title": "Share to Latch",
"description": "Send photos and files from other apps straight into your vault, review them, and import in one step."
},
{
"icon": "filter_list",
"title": "Smart Collections",
"description": "Save the filters you use most as named collections with live file counts, ready from the gallery drawer."
},
{
"icon": "palette_outlined",
"title": "Google Sans Flex",
"description": "Latch now uses Google Sans Flex throughout the app, with a fully open-source font license."
}
]
},
{
"title": "Desktop Backup",
"items": [
Expand Down
Loading