Thomas Camlong
f6a598b774
feat: config portability with generic entity resolver framework
...
Full configuration export/import system for Homarr with excellent DX:
- Export/import boards, apps, integrations (with re-encrypted secrets),
users (with bcrypt hashes), groups (with permissions and memberships),
search engines, and server settings
- Homepage services.yaml import with widget-type mapping
- Generic resolveEntities() utility eliminates per-entity boilerplate
- Declarative entity-fields.ts: adding a new user preference requires
only one line change (no export/import/schema edits needed)
- User schema uses .catchall(z.unknown()) for forward-compatible prefs
- groupByKey() utility replaces manual Map-building
- CONFIG_ENTITY_KEYS as single source of truth for entity metadata
- Reuse existing entities (apps by name+icon+href, integrations by
kind+name+url, users by email, groups by name, boards by name)
- Skip duplicates with warnings rather than failing
- Onboarding flow skips user creation step when config includes users
- Reuse existing admin group during onboarding after config import
2026-06-06 16:22:59 +02:00
Thomas Camlong
1f7b7f0516
Merge branch 'dev' into feat/config-portability
...
# Conflicts:
# apps/nextjs/src/app/[locale]/init/_steps/start/init-start.tsx
# apps/nextjs/src/app/[locale]/manage/tools/logs/terminal.tsx
# packages/api/src/router/docker/docker-router.ts
# packages/api/src/router/test/docker/docker-router.spec.ts
# packages/db/migrations/mysql/meta/0039_snapshot.json
# packages/db/migrations/mysql/meta/_journal.json
# packages/db/migrations/postgresql/meta/0005_snapshot.json
# packages/db/migrations/postgresql/meta/_journal.json
# packages/db/migrations/sqlite/meta/0037_snapshot.json
# packages/db/migrations/sqlite/meta/_journal.json
2026-06-06 09:32:41 +02:00
homarr-renovate[bot]
572d5fb5ec
chore(deps): update dependency vite@>=5.0.0 <=5.4.18 to >=8.0.15 ( #5877 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-06 07:01:54 +00:00
Thomas and homarr-releases[bot]
91a1858743
chore: merge main into dev
...
Co-authored-by: homarr-releases[bot] <175486441+homarr-releases[bot]@users.noreply.github.com>
2026-06-06 07:47:59 +02:00
homarr-renovate[bot]
f00d3627c9
chore(deps): update dependency @gfazioli/mantine-onboarding-tour to ^4.0.3 ( #5873 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-05 18:04:10 +00:00
homarr-releases[bot]
7760e01ccb
chore: update bug report template ( #5821 )
...
Co-authored-by: Releases Homarr <175486441+homarr-releases[bot]@users.noreply.github.com>
2026-06-05 17:47:57 +00:00
Thomas Camlong
efd37dca93
fix(db): log when UNSAFE_ENABLE_MOCK_INTEGRATION is enabled during seeding
...
Warn on startup seed when mock integration env flag is set, matching demo mode visibility.
2026-06-05 18:43:33 +02:00
Thomas Camlong
796c679140
chore: merge main into dev
2026-06-05 18:42:31 +02:00
homarr-update-contributors[bot]
76fd4c5fb1
chore: update contributors ( #5871 )
2026-06-05 18:08:47 +02:00
Thomas Camlong
68f24e34d5
fix: disable onboarding tours when demo mode is enabled
...
Return completed tour status in demo mode so board and manage tours do not start for demo users.
2026-06-05 18:02:08 +02:00
homarr-update-contributors[bot]
22d7ebab50
chore: update integrations list readme ( #5872 )
...
Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com>
2026-06-05 15:45:46 +00:00
Thomas Camlong
4f5f3e14a1
fix: sync docs sitemap and remove stale coolify ts-expect-error
2026-06-05 17:39:03 +02:00
Thomas and copilot-swe-agent[bot]
dbf021e04a
feat(docker): add container logs modal and stats columns ( #4807 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
2026-06-05 16:57:26 +02:00
Copilot and Thomas
cc24f070db
fix: redirect to login after credentials logout instead of crashing on current page ( #5819 )
...
Co-authored-by: Thomas <thomas@ajnart.fr >
2026-06-05 16:56:24 +02:00
Thomas
0b663a7fc6
feat(onboarding): guided management and board tours ( #5756 )
2026-06-05 16:54:50 +02:00
Afonso Jorge Ramos
0dc2558faf
feat: add PeaNUT integration and UPS monitoring widget ( #5862 )
2026-06-05 16:51:09 +02:00
Thomas
dd7a4908a3
feat(onboarding): enhance integration setup with Docker discovery and URL templating ( #5607 )
2026-06-05 16:50:35 +02:00
Thomas
0a6467979a
feat: add comprehensive demo mode with mock integrations ( #5870 )
2026-06-05 16:36:45 +02:00
Thomas and Meier Lukas
25d964a197
refactor(spotlight): registry-driven CMDK preferences ( #5817 )
...
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-06-05 16:26:48 +02:00
Thomas
3d3e3059a9
feat: media request search as first-class spotlight mode ( #5823 )
2026-06-05 16:09:14 +02:00
homarr-crowdin[bot] and Meier Lukas
9ae8cb2768
chore(lang): updated translations from crowdin ( #5863 )
...
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com >
2026-06-05 13:48:42 +02:00
Thomas
99346f288b
feat(widgets): add in-place app editing in widget edit modal ( #5809 )
2026-06-05 12:31:50 +02:00
Thomas
41fe5928f1
fix: add bookmark widget option to toggle card borders ( #5854 )
2026-06-04 11:07:31 +02:00
homarr-renovate[bot]
6eb59d6f53
chore(deps): update tiptap monorepo to v3.24.0 ( #5858 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-04 08:58:12 +00:00
Thomas Camlong
fb8721bd4e
feat: add config portability — full export/import, homepage import, docker label discovery
...
Add a dedicated Import/Export tool page with full configuration export/import
(v2.0 bundle with encrypted secrets), Homepage services.yaml import with env
variable resolution, and manual Docker label discovery (moved from cron job).
Support importing Homarr JSON during onboarding alongside legacy zip import.
New @homarr/board-portability package handles schema, serialization, compat
checks, and import planning. Shared preview UI reused across admin and onboarding.
Fix xterm.js crash by removing deprecated @xterm/addon-canvas (incompatible
with xterm v6). Fix Homepage env variable i18n and React 19 currentTarget bug.
See docs/config-portability.md for full changelog.
2026-06-04 10:56:42 +02:00
Afonso Jorge Ramos
2c6b7a818e
fix(immich): respect app color scheme in server-stats widget ( #5859 )
2026-06-04 09:50:02 +02:00
Thomas
fd10788838
fix(auth): relax password complexity requirements to suggestions-only ( #5764 )
2026-06-04 07:56:34 +02:00
Thomas
fe4598f722
fix(docker): restore container selection toolbar broken by Mantine v9 ( #5855 )
2026-06-03 10:03:37 +02:00
Thomas
a755692d81
fix(ui): restore pre-v9 light variant colors ( #5856 )
2026-06-03 06:49:38 +00:00
homarr-renovate[bot]
3ff0d72ba1
chore(deps): update dependency next-intl to v4.13.0 ( #5853 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-03 04:21:57 +00:00
homarr-renovate[bot]
a63a191203
chore(deps): update turbo monorepo to ^2.9.16 ( #5851 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-02 23:54:09 +00:00
homarr-renovate[bot]
1be906a0cd
chore(deps): update dependency isomorphic-dompurify to ^3.15.0 ( #5852 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-02 21:55:53 +00:00
homarr-renovate[bot]
63d8fa8c26
chore(deps): update dependency @ctrl/qbittorrent to ^9.12.2 ( #5834 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-02 18:47:29 +00:00
homarr-renovate[bot]
b5dd6ae8ef
chore(deps): update babel monorepo to >=7.29.7 ( #5830 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-02 14:11:26 +00:00
homarr-renovate[bot]
d540ad374a
chore(deps): update pnpm to v10.34.0 ( #5846 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-02 09:17:24 +00:00
homarr-renovate[bot]
6a971c1986
chore(deps): update mantine monorepo to ^9.2.2 ( #5844 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-02 04:13:28 +00:00
homarr-crowdin[bot]
d86fe3ddf0
chore(lang): updated translations from crowdin
...
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2026-06-02 02:23:34 +00:00
homarr-renovate[bot]
06db8960a7
chore(deps): update turbo monorepo to ^2.9.15 ( #5841 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-01 23:12:09 +00:00
homarr-renovate[bot]
a5719acf34
chore(deps): update dependency tmp@<=0.2.3 to >=0.2.7 ( #5848 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-01 21:06:21 +00:00
homarr-renovate[bot]
d1d597c8e1
chore(deps): update testcontainers-node monorepo to ^12.0.1 ( #5845 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-06-01 16:48:41 +00:00
homarr-renovate[bot]
657e42e4bb
chore(deps): update dependency mysql2 to v3.22.4 ( #5839 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-05-31 18:12:08 +00:00
homarr-renovate[bot]
256ebcb864
chore(deps): update dependency oxlint to ^1.67.0 ( #5837 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-05-31 16:18:04 +00:00
homarr-renovate[bot]
72e86dee01
chore(deps): update dependency ioredis to v5.11.0 ( #5838 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-05-31 14:53:18 +00:00
homarr-renovate[bot]
b7910b16e0
chore(deps): update dependency oxfmt to ^0.52.0 ( #5836 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-05-31 11:08:29 +00:00
homarr-renovate[bot]
5a83bb6e39
chore(deps): update dependency dayjs to ^1.11.21 ( #5835 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-05-31 08:54:20 +00:00
homarr-renovate[bot]
433b66582d
chore(deps): update dependency hono@<4.6.5 to >=4.12.23 ( #5828 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-05-30 09:25:22 +00:00
homarr-renovate[bot]
acbcb6818b
chore(deps): update dependency react-error-boundary to ^6.1.2 ( #5829 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-05-30 06:54:05 +00:00
homarr-crowdin[bot]
07d991a0a1
chore(lang): updated translations from crowdin
...
Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com>
2026-05-30 05:27:45 +00:00
homarr-renovate[bot]
92364e9574
chore(deps): update tanstack-query monorepo to ^5.100.14 ( #5813 )
...
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
2026-05-29 21:15:51 +00:00
Releases Homarr
ff1e4c1381
chore(release): 1.63.0 [skip ci]
v1.63.0
2026-05-29 21:07:15 +00:00