Commit Graph

636 Commits

Author SHA1 Message Date
Leendert de Borst
c2177d0c8d Fix notes content migration key (#1539) 2026-01-30 23:38:16 +00:00
Leendert de Borst
728e699cc2 Update minimum client version to block older apps due to faulty migration (#1539) 2026-01-30 23:38:16 +00:00
Leendert de Borst
3d9312d12d Fix 1.7.0 migration by disabling foreign key constraint check during TOTP and passkey migration (#1539) 2026-01-30 23:38:16 +00:00
Leendert de Borst
e149fb5b2f Make folders show in both grid and table view modes in web app (#1537) 2026-01-30 22:54:06 +00:00
Leendert de Borst
f9d4b611ff New Crowdin updates (#1528)
* New translations unlock.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations createnewidentitywidget.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations addfieldmenu.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations itemtypeselector.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations delete.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations register.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations totpcodes.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations totpviewer.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations emailmodal.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations emailpreview.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations emailrow.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations recentemails.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations delete.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations view.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations resetvault.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Russian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Russian)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations deletefoldermodal.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations deletefoldermodal.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations foldermodal.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations foldermodal.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations editablefieldlabel.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations editablefieldlabel.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations addfieldmenu.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations addfieldmenu.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations folderselector.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations itemtypeselector.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations recentlydeleted.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations resetvaultsection.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Swedish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Swedish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Swedish)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations folderselector.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations itemtypeselector.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Russian)
Update translations from Crowdin [ci skip]
2026-01-30 23:52:17 +01:00
Leendert de Borst
aec40a4d03 Add major version bump to vault version to prevent runtime errors in older unsupported clients (#1535) 2026-01-30 22:47:34 +00:00
Leendert de Borst
adae6ebe2f Update Dockerfile to only compile Rust once on amd64 (#1531) 2026-01-30 22:47:17 +00:00
Leendert de Borst
46d7195928 Update notes rendering 2026-01-30 21:05:59 +01:00
Leendert de Borst
382e2e96fa Improve email viewer content rendering 2026-01-30 21:05:59 +01:00
Leendert de Borst
ae103349f3 Start 0.27.0-alpha development 2026-01-29 12:35:02 +01:00
Leendert de Borst
a6eb73d3d5 New Crowdin updates (#1504)
* New translations sharedresources.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations emailpreview.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations createnewidentitywidget.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations deletefoldermodal.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations foldermodal.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations editablefieldlabel.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations addfieldmenu.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations folderselector.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations itemtypeselector.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations recentlydeleted.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Romanian)
Update translations from Crowdin [ci skip]

* New translations mobileunlockmodal.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations mobilelogin.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations createnewidentitywidget.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations topmenu.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations delete.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations resetvault.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations deletefoldermodal.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations folderselector.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations unlock.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations start.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations view.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations deleteaccount.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Romanian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Romanian)
Update translations from Crowdin [ci skip]

* New translations deletefoldermodal.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations foldermodal.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Finnish)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Hebrew)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Turkish)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations infoplist.strings (Swedish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Swedish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations register.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations passwordstep.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations passwordchangesection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations start.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations changepassword.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations addfieldmenu.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations passwordstep.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations start.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations unlock.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations deleteaccount.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations enable2fa.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations resetvault.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations clipboardcountdownbar.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations login.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations register.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations termsandconditionsstep.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations usernamestep.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations emailmodal.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations emailpreview.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations emailrow.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations recentemails.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Finnish)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations searchwidget.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations start.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations view.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations apps.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations general.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations welcome.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations apierrors.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations deleteaccount.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations resetvaultsection.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations deletefoldermodal.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations addfieldmenu.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations passwordstep.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations passwordchangesection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations quickvaultunlocksection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations recentlydeleted.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations unlock.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations welcome.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations apierrors.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations changepassword.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations login.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations passwordstep.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations termsandconditionsstep.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations usernamestep.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]
2026-01-29 10:29:31 +01:00
Leendert de Borst
3cc1a150ae Add Italian language dictionaries to the identity generator (#1524) 2026-01-28 22:07:18 +00:00
Leendert de Borst
fc082aea00 Update tests 2026-01-28 20:38:41 +01:00
Leendert de Borst
9396a1b0c3 Add wait for debounce to browser extension tests 2026-01-28 20:17:25 +01:00
Leendert de Borst
c7f142de7e Add confirm dialog to admin when stopping services (#1520) 2026-01-28 11:17:49 +00:00
Leendert de Borst
0a42a62655 Use sanitizedEmail for email retrieve call (#1518) 2026-01-28 09:42:44 +00:00
Leendert de Borst
ff61397d0d Merge pull request #1515 from aliasvault/1449-feature-request-non-persona-aliases
Add random string generator for email aliases when login item has no alias fields
2026-01-27 21:41:16 +00:00
Leendert de Borst
3160db12b9 Add email deduplication test (#1459) 2026-01-27 21:40:51 +00:00
Leendert de Borst
1e8ee2f168 Add email deduplication based on sanitize method before creating new claims (#1459) 2026-01-27 21:40:51 +00:00
Leendert de Borst
ab5fc29bc1 Merge branch 'main' into 1449-feature-request-non-persona-aliases 2026-01-27 21:40:31 +00:00
Leendert de Borst
cb90dc1199 Fix AliasVault.Client issue when creating new item when already on the item AddEdit page 2026-01-27 22:21:07 +01:00
Leendert de Borst
215835340a Add NordPass import method (#1474) 2026-01-27 19:26:47 +00:00
Leendert de Borst
d44319feaf Add mime type detection to item icon AliasVault.Client (#1477) 2026-01-27 16:36:47 +00:00
Leendert de Borst
d4398e54a4 Update reset vault to also delete cached logos (#1477) 2026-01-27 16:36:47 +00:00
Leendert de Borst
6c14cfd3a8 Update test assets 2026-01-27 15:01:50 +01:00
Leendert de Borst
aaecc5b32d New Crowdin updates (#1487)
* New translations apierrors.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations totpcodes.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations emailpreview.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations defaultpasswordsettings.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations activesessionssection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations deleteaccountsection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations passwordchangesection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations quickvaultunlocksection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations recentauthlogssection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations twofactorauthenticationsection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations unlock.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations general.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations welcome.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations deleteaccount.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations enable2fa.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations resetvaultsection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Romanian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Romanian)
Update translations from Crowdin [ci skip]

* New translations pendingmigrations.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Romanian)
Update translations from Crowdin [ci skip]

* New translations folderselector.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations emailmodal.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations emailpreview.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations passwordsettingspopup.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations passwordchangesection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations quickvaultunlocksection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations createnewidentitywidget.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations delete.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations view.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations apps.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations changepassword.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations resetvault.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations resetvaultsection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Romanian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Romanian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Romanian)
Update translations from Crowdin [ci skip]

* New translations clipboardcountdownbar.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations addfieldmenu.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations termsandconditionsstep.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations usernamestep.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations recentemails.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations quickvaultunlocksection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations createnewidentitywidget.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations searchwidget.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations logout.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations unlock.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations sync.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations mobilelogin.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations termsandconditionsstep.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations usernamestep.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations recentemails.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations quickvaultunlocksection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations createnewidentitywidget.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations searchwidget.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations forgotpassword.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations logout.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations start.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations unlock.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations view.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations creating.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations errorvaultdecrypt.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations vaultdecryptionprogress.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations apierrors.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations deleteaccount.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations resetvault.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations disable2fa.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Romanian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Romanian)
Update translations from Crowdin [ci skip]

* New translations pendingmigrations.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Romanian)
Update translations from Crowdin [ci skip]

* New translations mobilelogin.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations emailpreview.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations createnewidentitywidget.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations topmenu.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations delete.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations view.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations resetvault.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Spanish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Spanish)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations deletefoldermodal.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations foldermodal.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations editablefieldlabel.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations addfieldmenu.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations folderselector.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations itemtypeselector.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations recentlydeleted.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations recentemails.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations passwordchangesection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations quickvaultunlocksection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations footer.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations unlock.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations security.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations apierrors.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations changepassword.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations mobileunlockmodal.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations mobilelogin.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations itemtypeselector.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations start.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations delete.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Polish)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations deletefoldermodal.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations topmenu.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations resetvault.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Finnish)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Hebrew)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Turkish)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations register.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations forgotpassword.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations unlock.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations apps.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations general.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations creating.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations welcome.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations apierrors.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations deleteaccount.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations enable2fa.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations validationmessages.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations resetvault.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations resetvaultsection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations pendingmigrations.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations recentlydeleted.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations addfieldmenu.en.resx (Romanian)
Update translations from Crowdin [ci skip]
2026-01-27 13:11:37 +01:00
Leendert de Borst
314fc0da56 Tweak email domain mode switching logic (#1449) 2026-01-26 23:52:00 +01:00
Leendert de Borst
098fb30759 Add random prefix email generation for login type to web app (#1449) 2026-01-26 23:40:27 +01:00
Leendert de Borst
60e5c40696 Add generateRandomEmailPrefix to identity generator, update all libs (#1449) 2026-01-26 22:39:49 +01:00
dependabot[bot]
4a09f22d2c Bump esbuild
Bumps the npm_and_yarn group with 1 update in the /apps/server/AliasVault.Client directory: [esbuild](https://github.com/evanw/esbuild).


Updates `esbuild` from 0.24.2 to 0.25.0
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2024.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.24.2...v0.25.0)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-version: 0.25.0
  dependency-type: direct:development
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-26 14:50:56 +00:00
Leendert de Borst
0130d80554 Add NPM to Docker build steps for AliasVault.Client JS bundler (#1493) 2026-01-26 14:48:07 +00:00
Leendert de Borst
ad19256d00 Add JS bundler to AliasVault.Client (#1493) 2026-01-26 14:48:07 +00:00
Leendert de Borst
81e425633d Add file upload expanded window link for Firefox (#1491) 2026-01-25 20:49:51 +00:00
Leendert de Borst
deb31b36df Merge pull request #1482 from aliasvault/1481-feature-request-add-folder-support-to-import-methods
Update importers to detect folders and optionally new item types
2026-01-25 20:30:19 +00:00
Leendert de Borst
ed320750c1 Update SecurityController.cs (#1489) 2026-01-25 20:21:01 +00:00
Leendert de Borst
6461ff4e10 Merge branch 'main' into 1481-feature-request-add-folder-support-to-import-methods 2026-01-25 18:29:19 +00:00
Leendert de Borst
de5926dc6e Tweak OOBE when all items are in folders on all clients (#1481) 2026-01-25 19:23:42 +01:00
Leendert de Borst
4a5e223566 Update import service card loading UI (#1481) 2026-01-25 18:29:51 +01:00
Leendert de Borst
aaa3b4b19c Remove folders during vault import/export reset (#1481) 2026-01-25 11:53:36 +01:00
Leendert de Borst
2061a77ec4 Update import UI (#1481) 2026-01-25 10:30:20 +01:00
Leendert de Borst
4c02656c84 Add Romanian language option (#1485) 2026-01-24 23:06:08 +00:00
Leendert de Borst
4d691bf133 Cleanup 2026-01-24 23:28:19 +01:00
Leendert de Borst
14c991d995 New Crowdin updates (#1472)
* New translations recentlydeleted.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations infoplist.strings (Romanian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Romanian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Romanian)
Update translations from Crowdin [ci skip]

* New translations login.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations register.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations passwordstep.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations termsandconditionsstep.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations usernamestep.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations totpcodes.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations totpviewer.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Romanian)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations deletefoldermodal.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations foldermodal.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations emailmodal.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations emailpreview.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations emailrow.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations recentemails.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations editemailformrow.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations activesessionssection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations deleteaccountsection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations passwordchangesection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations quickvaultunlocksection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations recentauthlogssection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations showrecoverycodes.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations twofactorauthenticationsection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations changepassword.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations deleteaccount.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations enable2fa.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations resetvault.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations resetvaultsection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations disable2fa.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations editablefieldlabel.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations addfieldmenu.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations folderselector.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations itemtypeselector.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations defaultpasswordsettings.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations passwordsettingspopup.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations createnewidentitywidget.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations searchwidget.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations footer.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations topmenu.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations apierrors.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations validationmessages.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations clipboardcountdownbar.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations mobilelogin.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations forgotpassword.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations logout.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations setup.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations start.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations unlock.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations delete.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations view.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations apps.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations general.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations security.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations emailpreview.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations createnewidentitywidget.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations resetvaultsection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations mobileunlockmodal.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations mobilelogin.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations recentlydeleted.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations recentemails.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations apps.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations general.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations creating.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations errorvaultdecrypt.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations vaultdecryptionprogress.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations sync.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations welcome.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations apierrors.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations deleteaccount.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations resetvaultsection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Romanian)
Update translations from Crowdin [ci skip]

* New translations pendingmigrations.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Finnish)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Hebrew)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Turkish)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Finnish)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Hebrew)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Turkish)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Finnish)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Hebrew)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Turkish)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Finnish)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Hebrew)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Turkish)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Finnish)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Hebrew)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Turkish)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations createnewidentitywidget.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations delete.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations view.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations resetvault.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations deletefoldermodal.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations foldermodal.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations editablefieldlabel.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations addfieldmenu.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations folderselector.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations itemtypeselector.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations recentlydeleted.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Romanian)
Update translations from Crowdin [ci skip]
2026-01-24 23:22:19 +01:00
Leendert de Borst
cc4b482ea1 Include new Rust core libraries for Docker image builds (#1483) 2026-01-24 22:14:02 +00:00
Leendert de Borst
9734589175 Update folder pill UI for light mode 2026-01-24 23:13:47 +01:00
Leendert de Borst
5dbff6cf1d Update tests (#1481) 2026-01-24 23:13:37 +01:00
Leendert de Borst
a27d1285f0 Update importers to detect folders and optionally new item types (#1481) 2026-01-24 22:27:43 +01:00
Leendert de Borst
69b43d51b5 Fix vault mutate tests (#1473) 2026-01-24 16:13:34 +01:00
Leendert de Borst
9c8543c361 Refactor tests (#1473) 2026-01-23 23:28:19 +01:00
Leendert de Borst
c122eeb243 Refactor logging (#1473) 2026-01-23 22:26:08 +01:00