develop
Links: Use canonical trailing-slash form for website URLs
Txt: Update stopwords.txt and stopwords.go
Backend: Call clip.Bytes directly and drop the txt.ClipBytes facade #5638
Backend: Refactor new enum package and yes/no matching #5191
Pkg: Apply "golangci-lint" recommendations to txt/... packages #5330
refactor: use b.Loop() to simplify the code and improve performance
Metadata: Update folder_test.go, photo_estimate_test.go, country_test.go
Backend: Move reusable packages to pkg/
Go: Apply go fix modernizations across backend packages
Metadata: Use Local time for file modification timestamps #4622 #4946
Test: Use PascalCase names for all Go subtests in /pkg
Search: Fix "unknown country" filter #3412
Security: Add gosec fixes with shared URL and fs validation helpers
Auth: Refactor cluster configuration and provisioning API endpoints #98
Search: Add support for numerical keywords like "2nd" or "80s" #3447
ACL: Generate CLI role & auth-provider help from role tables #5667
Auth: Session and ACL enhancements #98 #1746
Places: Improve state name normalization #1664
Clean: Add Yes/No/Bool funcs consistent with strconv.ParseBool() #5191
Lint: Resolve gosec findings and add embedding dist benchmark
Auth: Improve account management page and config options #98
Auth: Add CLI command to create access tokens for apps #782 #808 #3943
Search: Parse lat,lng string into float64 coordinates #4930 #4812
Places: Normalize US & CA state names #1664
Backend: Improve resilience #1544
Search: Default to photo names and keywords #1517 #1560
Download: Add Disabled, Originals, MediaRaw & MediaSidecar Flags #2234
Text: Do not capitalize "van" in names and titles #2672
Folders: Fix slug collision on long ASCII paths #5614 #5615
Places: Map "France métropolitaine" to empty string #1776
Go: Replace strings.Split() with strings.SplitSeq() #5337
UX: Add batch edit dialog and API endpoints #271 #5324