Skip to content

0.14.0

Latest

Choose a tag to compare

@keven1024 keven1024 released this 05 Sep 04:04

0.14.0

Added

  • Refactored the share data model to a 1-to-many relationship between shares and files. RedisShareInfo was restructured from a single Data (file ID) + FileName field into a Files []ShareFileData array (each entry containing Id and FileName). The legacy Data and FileName fields are now deprecated, and text shares use a dedicated Text field.
  • Multiple files now share a single share link. Uploading several files creates only one share link; share creation validates that all files exist and are in the uploaded state.
  • Related operations use a Redis lock (RedisLockKey) for concurrency safety.
  • Added single-file download and multi-select archive download. The download endpoint now accepts a file_ids parameter to download only the selected files; a single file is downloaded directly, while multiple files are packed into an archive supporting zip, tar.gz, tar.zst, tar.s2, and tar.snappy formats (defaulting to zip). Temporary archives are cleaned up automatically after download.
  • Refactoring a share management page for unified management of file and text shares, displaying share info cards (pickup code, expiration time, etc.).
  • Added a delete share feature with a confirmation dialog, backed by a new DELETE /share/:id endpoint.
  • Enhanced share validation with expiration checks, a permission-denied error (ErrPermissionDenied), and an invalid share file data error (ErrInvalidShareFileData).
  • Added unit tests for file compression and slice handling, and for share data conversion (JsonShareInfoToDomain).

Improved

  • Optimized Docker deployment: added Caddy support to the Dockerfile and adjusted port configuration, added the gcompat dependency to the worker image, and streamlined the build process.
  • Improved the loading state UI on share pages with enhanced skeleton layouts.
  • Improved file compression functions and download error handling, and standardized error message formatting.
  • Improved the worker's RunCommand error logging and share task deletion logic.
  • Updated the README to reflect Nuxt 4 and the latest feature descriptions.

Dependencies

  • Updated frontend dependencies including Tiptap, Vue, axios, dayjs, pixi.js, reka-ui, shadcn, vitest, and vue-tsc.
  • Updated Go dependencies including golang.org/x/sys, golang.org/x/text, and related backend/worker modules.
  • Added skills-lock.json for skill management.

截屏2026-09-05 11 57 11 截屏2026-09-05 11 58 09 截屏2026-09-05 11 57 44

Full Changelog: 0.13.0...0.14.0