Releases: Mangatsu/server
Releases · Mangatsu/server
v0.8.1
v0.8.0
Added
- Crop gallery covers to fit the aspect ratio of the thumbnail (2:3) better. Also, when it comes to multipage images, Mangatsu tries to find the cover.
- Returning the total count (TotalCount) of galleries when fetching (helps with pagination)
- meta_title_hash column to save the hash of the gallery title. Helps to save time and resources when parsing titles for metadata
- MTSU_FUZZY_SEARCH_SIMILARITY environmental variable to set the similarity threshold for fuzzy search. Default is 0.7 (70%)
- MTSU_LTR environmental variable. For now used for the default to crop gallery covers when needed. Otherwise, the language of the gallery title is used to determine it
- fuzzy (true|false) query parameter to enable or disable fuzzy search when starting metadata task
Fixed
- Shuffling not working when fetching grouped galleries
- Paging when shuffling enabled (was returning the same first page)
- Various issues with updating galleries
- Crash when trying to count images of an archive that could not be opened
- A rare error when DB UPDATE was rollbacked
- DB lock when creating thumbnails with semaphore
Changed
- Improve performance when fetching galleries by constructing SQL filters only once
- Return OrderedMap ({ []uuid, []{uuid: gallery} }) instead of a normal mapped results ([]{uuid: gallery}) for grouped galleries
- Store page thumbnails in thumbnails/[gallery uuid]/p/ directory instead of thumbnails/[gallery uuid]/. Cover is stored as thumbnails/[gallery uuid]/cover.[ext]
- Refactored the way galleries are fetched, updated and deleted
- Better gallery validation when updating
- Improve metadata parsing logic and performance
- Improve gallery update and fetch logic
Docs
- Changed NEXT_INTERNAL_MANGATSU_API_URL to NEXT_PUBLIC_INTERNAL_MANGATSU_API_URL
v0.7.5
Added
- MTSU_THUMBNAIL_FORMAT environmental variable. Currently only supports webp
- AVIF to supported gallery images
Fixed
- A rare occurrence if thumbnail generation failing
- Checking file and dir path more reliably
- Fetching random galleries with a seed did not return the same result
Changed
- Go to 1.22
- Updated dependencies
- math/rand to math/rand/v2
Docs
- Updated README, example docker-compose.yml files and example.env
v0.7.4
Fixed
- Server crash (nil pointer dereference) when trying to login anonymously without cookie age
v0.7.3
Added
- Super admin role for the initially created user
Changed
- Allow deleting admin, but not super admin users
v0.7.2
Added
- Automatically migrating bcrypt passwords to argon2
- Username, password, session name, cookie age validations
Changed
- Bcrypt to Argon2id for hashing passwords
v0.7.1
Added
- Return expiredIn value (unix time) for anonymous login as well
- On logout, clear the cookie even if the token is incorrect
- Status gone (410) to errorHandler
Fixed
- Regression where restricted/anonymous access was not working
- A bug with returning 401 when not needed
- Setting thumbnail count when generating thumbnails
Changed
- Updated dependencies
v0.7.0
Added
- Endpoint to return task status
/status
- Query param "meta" to read the metadata without having to read the gallery itself
- Return current session ID on login
deleted
andpage_thumbnails
column to gallery table- tif (tiff) and heif image extensions to supported extensions
Fixed
- Error message casing
- Regression where the API would return an error when a gallery was not found
Changed
- Minimum Go version to 1.21
- Updated dependencies
- Enabled Profile-guided optimization (go.dev/doc/pgo)
- Regenerated jet models
- Deprecated rand.Seed to rand.New
- Deprecated ioutil.ReadDir to os.ReadDir
Docs
- Instructions to install goose and jet tools
v0.6.1
Released packages also on GHCR (GitHub Container Registry) alongside DockerHub:
Added
- More secure logic to handle CORS
- An env
MTSU_STRICT_ACAO
('true' or 'false') to disable or enable it
- An env
Changed
- Update JWT package to v5