🚀 UpSnap 5.0.0
Warning
Important: Update Your Device Cron Expressions!
All device cron expressions must be updated to follow the new 5-6 digit format, where the first digit (seconds) is optional. If not updated, cron may behave unexpectedly or stop working.
A new form validation will help you verify if your cron expression will work as expected:

⭐ Almost 3,000 GitHub stars! Thank you for your support! If you find Upsnap useful, consider giving it a ⭐️!
This update brings new features, bug fixes and a smaller binary.
✨ What's New?
🎨 UI & Styling
- Updated to Svelte 5 for better performance
- DaisyUI 5 and Tailwind 5 for improved styling
- 3 New Themes for more customization (caramellatte, abyss, silk)
🔍 Features & Improvements
- Search Input for Devices to quickly find devices on your dashboard
🌍 New Languages
- Bahasa Indonesia 🇮🇩
- Polish 🇵🇱
📉 Performance & Optimizations
- 25% Smaller Binary Size with PocketBase 26.0
- Switched to inlang/paraglide-js for translations
Changelog
Features
- ce42d06: feat: add
<pre>
tags for cron explaination (@seriousm4x) - 33c5601: feat: add keyboard shortcut to search bar (@seriousm4x)
- c2f5744: feat: add more test cases (@seriousm4x)
- 77147f0: feat: add search bar (@seriousm4x)
- cbbd187: feat: bahasa indonesia translation (#1007) (@yogaardiansyah)
- 2e64e85: feat: custom timeouts for wake and shutdown (@seriousm4x)
- b22ca45: feat: daisyUI 5, tailwind 4, design adjustments (@seriousm4x)
- cee1669: feat: improve cron syntax validation and force 6 digits with seconds (@seriousm4x)
- 3dcc3fb: feat: improve cross platform ping (@seriousm4x)
- f53b93a: feat: replace typesafe-i18n with inlang/paraglide-js (@seriousm4x)
- f13e127: feat: search for mac address (@seriousm4x)
- 59926b8: feat: validate cron with backend, show next cron date (@seriousm4x)
Bug fixes
- 0eaff40: fix: add search placeholder to pl (@seriousm4x)
- b7811db: fix: better err msg formatting (@seriousm4x)
- 40226c2: fix: change logger warning msg (@seriousm4x)
- 3c0ec63: fix: dropdown on safari (@seriousm4x)
- de4a469: fix: formatting (@seriousm4x)
- 65be53b: fix: goreleaser deprecation warning (@seriousm4x)
- e4a12c5: fix: improve welcome screen logic (@seriousm4x)
- 75d47fc: fix: indonesian emoji and date-fns #1007 (@seriousm4x)
- 76c6797: fix: keep description at top (@seriousm4x)
- b779ca3: fix: localeCompare will use $localStore and sort numeric (@seriousm4x)
- 543424a: fix: make input a fieldset (@seriousm4x)
- 184d933: fix: max width for ports (@seriousm4x)
- f410caa: fix: order button joint-item border (@seriousm4x)
- 00f82f2: fix: order tooltip (@seriousm4x)
- 07f9bb5: fix: readme link (@seriousm4x)
- ce98a34: fix: remove btn outline (@seriousm4x)
- ebe28b4: fix: remove debug prints (@seriousm4x)
- 5f2ff2d: fix: rename messages to translations (@seriousm4x)
- 56e7c23: fix: replace $page with new page store (@seriousm4x)
- a136785: fix: save account avatar (@seriousm4x)
- f008efb: fix: save new group with enter key (@seriousm4x)
- 3626319: fix: search input mobile layout (@seriousm4x)
- 4060ee4: fix: seconds optional for wake and shutdown crons (@seriousm4x)
- 681d75d: fix: sol password and shutdown cmd (@seriousm4x)
- 88f69ee: fix: store order in localStorage (@seriousm4x)
- 7b89476: fix: trim inputs (@seriousm4x)
- cbf8e8d: fix: ts type (@seriousm4x)
- 169ecf5: fix: update components to comply with daiysUI v5 (@seriousm4x)
- 604c720: fix: use https url for packge (@seriousm4x)
- 7d5cfff: fix: use temp pr branch for svelte-french-toast (@seriousm4x)
Others
- efe3b03: Merge pull request #969 from majabojarska/i18n-add-pl-PL (@seriousm4x)
- f149c25: add pl i18n (@majabojarska)
- 2a3c426: change default light and dark themes (@seriousm4x)
- fe406c5: gp-dep: use go 1.24, bump deps (@seriousm4x)
- 4d24e7a: make screenshots bigger (@seriousm4x)
- c70efd0: pnpm format (@seriousm4x)
- 2c48ee7: replace home screenshot (@seriousm4x)
- c6f8bed: update deps (@seriousm4x)
- 66cc629: update screenshots (@seriousm4x)
Go dependencies
- 59647c6: go-dep: bump github.com/pocketbase/pocketbase in /backend (@dependabot[bot])
- 5ebbc33: go-dep: bump github.com/pocketbase/pocketbase in /backend (@dependabot[bot])
- b35beeb: go-dep: bump github.com/pocketbase/pocketbase in /backend (@dependabot[bot])
- 08741d0: go-dep: bump github.com/pocketbase/pocketbase in /backend (@dependabot[bot])
- 41b7c08: go-dep: bump github.com/pocketbase/pocketbase in /backend (@dependabot[bot])
- 6c5e09c: go-dep: bump github.com/pocketbase/pocketbase in /backend (@dependabot[bot])
- f82747d: go-dep: bump github.com/pocketbase/pocketbase in /backend (@dependabot[bot])
- 08892f5: go-dep: bump github.com/pocketbase/pocketbase in /backend (@dependabot[bot])
- 4a9c010: go-dep: bump github.com/pocketbase/pocketbase in /backend (@dependabot[bot])
- d7ba7d8: go-dep: bump golang.org/x/sys from 0.29.0 to 0.30.0 in /backend (@dependabot[bot])
- 697e9fe: go-dep: bump golang.org/x/sys from 0.30.0 to 0.31.0 in /backend (@dependabot[bot])
- 583bf21: go-dep: update (@seriousm4x)
- 540278b: go-dep: update (@seriousm4x)
- f2bcf0d: go-dep: update (@seriousm4x)
Npm dependencies
- 4944134: npm-dep: bump @eslint/compat from 1.2.5 to 1.2.6 in /frontend (@dependabot[bot])
- bd0519d: npm-dep: bump @eslint/compat from 1.2.6 to 1.2.7 in /frontend (@dependabot[bot])
- 957ad71: npm-dep: bump @eslint/js from 9.18.0 to 9.19.0 in /frontend (@dependabot[bot])
- b62e73a: npm-dep: bump @eslint/js from 9.19.0 to 9.20.0 in /frontend (@dependabot[bot])
- 596b41c: npm-dep: bump @eslint/js from 9.20.0 to 9.21.0 in /frontend (@dependabot[bot])
- a8181ee: npm-dep: bump @sveltejs/kit from 2.17.1 to 2.17.2 in /frontend (@dependabot[bot])
- 87312e5: npm-dep: bump @sveltejs/kit from 2.17.2 to 2.17.3 in /frontend (@dependabot[bot])
- b8df1d8: npm-dep: bump @tailwindcss/postcss from 4.0.1 to 4.0.3 in /frontend (@dependabot[bot])
- bba23e1: npm-dep: bump @tailwindcss/postcss from 4.0.3 to 4.0.4 in /frontend (@dependabot[bot])
- 31d246e: npm-dep: bump @tailwindcss/postcss from 4.0.4 to 4.0.5 in /frontend (@dependabot[bot])
- 930295e: npm-dep: bump @tailwindcss/postcss from 4.0.5 to 4.0.6 in /frontend (@dependabot[bot])
- 2a69725: npm-dep: bump @tailwindcss/postcss from 4.0.6 to 4.0.7 in /frontend (@dependabot[bot])
- ea0236e: npm-dep: bump @tailwindcss/postcss from 4.0.7 to 4.0.8 in /frontend (@dependabot[bot])
- 99e897b: npm-dep: bump @tailwindcss/postcss from 4.0.8 to 4.0.9 in /frontend (@dependabot[bot])
- cef3612: npm-dep: bump daisyui from 5.0.0-beta.2 to 5.0.0-beta.5 in /frontend (@dependabot[bot])
- fa040c3: npm-dep: bump daisyui from 5.0.0-beta.5 to 5.0.0-beta.6 in /frontend (@dependabot[bot])
- f83d23c: npm-dep: bump daisyui from 5.0.0-beta.6 to 5.0.0-beta.7 in /frontend (@dependabot[bot])
- c2e4476: npm-dep: bump daisyui from 5.0.0-beta.7 to 5.0.0-beta.8 in /frontend (@dependabot[bot])
- 163f9c8: npm-dep: bump daisyui from 5.0.0-beta.8 to 5.0.0-beta.9 in /frontend (@dependabot[bot])
- 3be50f1: npm-dep: bump daisyui from 5.0.0-beta.9 to 5.0.0 in /frontend (@dependabot[bot])
- f88b7a4: npm-dep: bump eslint from 9.18.0 to 9.19.0 in /frontend (@dependabot[bot])
- c0bef1b: npm-dep: bump eslint from 9.19.0 to 9.20.0 in /frontend (@dependabot[bot])
- a5b9761: npm-dep: bump eslint from 9.20.0 to 9.20.1 in /frontend (@dependabot[bot])
- 8c19e13: npm-dep: bump eslint from 9.20.1 to 9.21.0 in /frontend (@dependabot[bot])
- 9534fe2: npm-dep: bump globals from 15.14.0 to 15.15.0 in /frontend (@dependabot[bot])
- 3095c7b: npm-dep: bump pocketbase from 0.25.1 to 0.25.2 in /frontend (@dependabot[bot])
- ee1c513: npm-dep: bump postcss from 8.5.1 to 8.5.2 in /frontend (@dependabot[bot])
- 54aefad: npm-dep: bump postcss from 8.5.2 to 8.5.3 in /frontend (@dependabot[bot])
- ce1283c: npm-dep: bump prettier from 3.4.2 to 3.5.0 in /frontend (@dependabot[bot])
- 9c56c17: npm-dep: bump prettier from 3.5.0 to 3.5.1 in /frontend (@dependabot[bot])
- f8230f1: npm-dep: bump prettier from 3.5.1 to 3.5.2 in /frontend (@dependabot[bot])
- 58a55e2: npm-dep: bump prettier from 3.5.2 to 3.5.3 in /frontend (@dependabot[bot])
- d1158df: npm-dep: bump prettier-plugin-tailwindcss in /frontend (@dependabot[bot])
- 9741037: npm-dep: bump svelte from 5.19.10 to 5.20.0 in /frontend (@dependabot[bot])
- 60d5093: npm-dep: bump svelte from 5.19.5 to 5.19.6 in /frontend (@dependabot[bot])
- 83dfa54: npm-dep: bump svelte from 5.19.7 to 5.19.8 in /frontend (@dependabot[bot])
- 052d69a: npm-dep: bump svelte from 5.19.8 to 5.19.9 in /frontend (@dependabot[bot])
- be1db1f: npm-dep: bump svelte from 5.19.9 to 5.19.10 in /frontend (@dependabot[bot])
- a3a0dcd: npm-dep: bump svelte from 5.20.0 to 5.20.1 in /frontend (@dependabot[bot])
- 40b01fa: npm-dep: bump svelte from 5.20.1 to 5.20.2 in /frontend (@dependabot[bot])
- 2021dc5: npm-dep: bump svelte from 5.20.2 to 5.20.4 in /frontend (@dependabot[bot])
- ed13604: npm-dep: bump svelte from 5.20.4 to 5.20.5 in /frontend (@dependabot[bot])
- 8d6f5da: npm-dep: bump svelte from 5.20.5 to 5.21.0 in /frontend (@dependabot[bot])
- 4c6aafa: npm-dep: bump tailwindcss from 4.0.1 to 4.0.3 in /frontend (@dependabot[bot])
- 0191187: npm-dep: bump tailwindcss from 4.0.3 to 4.0.4 in /frontend (@dependabot[bot])
- 85b9bc0: npm-dep: bump tailwindcss from 4.0.4 to 4.0.5 in /frontend (@dependabot[bot])
- fb4ae2d: npm-dep: bump tailwindcss from 4.0.5 to 4.0.6 in /frontend (@dependabot[bot])
- d381145: npm-dep: bump tailwindcss from 4.0.6 to 4.0.7 in /frontend (@dependabot[bot])
- 0563c7c: npm-dep: bump tailwindcss from 4.0.7 to 4.0.8 in /frontend (@dependabot[bot])
- 07c6788: npm-dep: bump tailwindcss from 4.0.8 to 4.0.9 in /frontend (@dependabot[bot])
- 9107e4f: npm-dep: bump typescript-eslint from 8.21.0 to 8.22.0 in /frontend (@dependabot[bot])
- 31fb7c6: npm-dep: bump typescript-eslint from 8.23.0 to 8.24.0 in /frontend (@dependabot[bot])
- 86a616b: npm-dep: bump typescript-eslint from 8.24.0 to 8.24.1 in /frontend (@dependabot[bot])
- dc05678: npm-dep: bump typescript-eslint from 8.24.1 to 8.25.0 in /frontend (@dependabot[bot])
- aba417b: npm-dep: bump typescript-eslint from 8.25.0 to 8.26.0 in /frontend (@dependabot[bot])
- 0c68342: npm-dep: bump vite from 5.4.12 to 5.4.14 in /frontend (@dependabot[bot])
- d24eabf: npm-dep: bump vite from 6.0.11 to 6.1.0 in /frontend (@dependabot[bot])
- e21cb3e: npm-dep: bump vite from 6.1.0 to 6.1.1 in /frontend (@dependabot[bot])
- edc8022: npm-dep: bump vite from 6.1.1 to 6.2.0 in /frontend (@dependabot[bot])
- e182f1b: npm-dep: update (@seriousm4x)
- edd7689: npm-dep: use svelte-french-toast 2.0.0-alpha.0 (@seriousm4x)