Skip to content

Releases: Mangatsu/server

v0.8.1

30 Apr 06:24
Compare
Choose a tag to compare

Added

  • MTSU_SECURE option to allow enabling and disabling forced SSL

Changed

  • Unified response props to start with capital letter

v0.8.0

23 Mar 11:05
Compare
Choose a tag to compare

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

21 Mar 11:36
Compare
Choose a tag to compare

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

22 Jan 17:13
Compare
Choose a tag to compare

Fixed

  • Server crash (nil pointer dereference) when trying to login anonymously without cookie age

v0.7.3

21 Jan 17:23
Compare
Choose a tag to compare

Added

  • Super admin role for the initially created user

Changed

  • Allow deleting admin, but not super admin users

v0.7.2

21 Jan 16:17
Compare
Choose a tag to compare

Added

  • Automatically migrating bcrypt passwords to argon2
  • Username, password, session name, cookie age validations

Changed

  • Bcrypt to Argon2id for hashing passwords

v0.7.1

20 Jan 19:47
Compare
Choose a tag to compare

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

08 Jan 18:26
Compare
Choose a tag to compare

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 and page_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

30 May 10:12
Compare
Choose a tag to compare

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

Changed

  • Update JWT package to v5

v0.6.0

29 May 05:04
Compare
Choose a tag to compare

Added

  • MTSU_ENV environmental: development or production
  • MTSU_LOG_LEVEL environmental: debug, info, warn or error

Changed

  • Replace logrus with zap
    • and refactor accordingly