neon
2065af41f9
feat(server): add swagger setup for public api documentation
...
Introduces Swagger and OpenAPI documentation generation for the
backend API. Configures bearer authentication globally while
allowing explicit bypasses for public endpoints. Exports nested
DTO classes across several modules so the NestJS Swagger plugin
can correctly reflect their schema definitions.
Closes #399
2026-06-29 01:52:30 +00:00
neon
2143b00cc5
fix(scanner): handle watched moves across docker libraries
...
Emit transfer events when watcher reconciliation moves a book between libraries. Keep file-as-book and folder-as-book watcher paths consistent across Docker, direct runs, and delayed copy-delete moves.
Closes #386
2026-06-21 19:15:39 +00:00
neon
920aa3b477
build(deps): refresh client and server dependencies
...
Keep the dependency baseline current after the release window, and adapt the icon and zip integrations to current package APIs.
2026-06-21 06:00:55 +00:00
neon
825e39a3ad
chore(deps): bump node dependencies across monorepo
...
Updates various client, server, and root packages to their latest versions.
2026-06-20 22:15:12 +00:00
neon
c4ab4a9153
feat: add in-app release notes viewer
...
Introduces a new feature to fetch, parse, and display app release notes
and update highlights directly within the UI.
- Backend: Adds the `release-notes` module to fetch GitHub releases
and parse markdown highlight sections.
- Frontend: Adds the `WhatsNew` dialog and view, including custom
markdown rendering and an image lightbox for update media.
- Tools: Adds validation scripts (`whats-new-lint`, `whats-new-preview`)
to ensure release content parses correctly before publication.
2026-06-18 03:37:53 +00:00
dependabot[bot]
2bb3b6e5d9
chore(deps): bump the production-dependencies group across 1 directory with 15 updates ( #366 )
...
Bumps the production-dependencies group with 15 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [@embedpdf/vue-pdf-viewer](https://github.com/embedpdf/embed-pdf-viewer/tree/HEAD/viewers/vue ) | `2.14.3` | `2.14.4` |
| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite ) | `4.3.0` | `4.3.1` |
| [@tanstack/vue-virtual](https://github.com/TanStack/virtual/tree/HEAD/packages/vue-virtual ) | `3.13.28` | `3.13.29` |
| [dompurify](https://github.com/cure53/DOMPurify ) | `3.4.8` | `3.4.11` |
| [reka-ui](https://github.com/unovue/reka-ui ) | `2.9.9` | `2.9.10` |
| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss ) | `4.3.0` | `4.3.1` |
| [vue](https://github.com/vuejs/core ) | `3.5.35` | `3.5.38` |
| [@nestjs/common](https://github.com/nestjs/nest/tree/HEAD/packages/common ) | `11.1.24` | `11.1.27` |
| [@nestjs/core](https://github.com/nestjs/nest/tree/HEAD/packages/core ) | `11.1.24` | `11.1.27` |
| [@nestjs/platform-fastify](https://github.com/nestjs/nest/tree/HEAD/packages/platform-fastify ) | `11.1.24` | `11.1.27` |
| [@nestjs/platform-socket.io](https://github.com/nestjs/nest/tree/HEAD/packages/platform-socket.io ) | `11.1.24` | `11.1.27` |
| [@nestjs/websockets](https://github.com/nestjs/nest/tree/HEAD/packages/websockets ) | `11.1.24` | `11.1.27` |
| [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser ) | `5.8.0` | `5.9.2` |
| [mysql2](https://github.com/sidorares/node-mysql2 ) | `3.22.4` | `3.22.5` |
| [sharp](https://github.com/lovell/sharp ) | `0.34.5` | `0.35.1` |
Updates `@embedpdf/vue-pdf-viewer` from 2.14.3 to 2.14.4
- [Release notes](https://github.com/embedpdf/embed-pdf-viewer/releases )
- [Changelog](https://github.com/embedpdf/embed-pdf-viewer/blob/main/viewers/vue/CHANGELOG.md )
- [Commits](https://github.com/embedpdf/embed-pdf-viewer/commits/v2.14.4/viewers/vue )
Updates `@tailwindcss/vite` from 4.3.0 to 4.3.1
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases )
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.1/packages/@tailwindcss-vite )
Updates `@tanstack/vue-virtual` from 3.13.28 to 3.13.29
- [Release notes](https://github.com/TanStack/virtual/releases )
- [Changelog](https://github.com/TanStack/virtual/blob/main/packages/vue-virtual/CHANGELOG.md )
- [Commits](https://github.com/TanStack/virtual/commits/@tanstack/vue-virtual@3.13.29/packages/vue-virtual )
Updates `dompurify` from 3.4.8 to 3.4.11
- [Release notes](https://github.com/cure53/DOMPurify/releases )
- [Commits](https://github.com/cure53/DOMPurify/compare/3.4.8...3.4.11 )
Updates `reka-ui` from 2.9.9 to 2.9.10
- [Release notes](https://github.com/unovue/reka-ui/releases )
- [Commits](https://github.com/unovue/reka-ui/compare/v2.9.9...v2.9.10 )
Updates `tailwindcss` from 4.3.0 to 4.3.1
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases )
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.1/packages/tailwindcss )
Updates `vue` from 3.5.35 to 3.5.38
- [Release notes](https://github.com/vuejs/core/releases )
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md )
- [Commits](https://github.com/vuejs/core/compare/v3.5.35...v3.5.38 )
Updates `@nestjs/common` from 11.1.24 to 11.1.27
- [Release notes](https://github.com/nestjs/nest/releases )
- [Commits](https://github.com/nestjs/nest/commits/v11.1.27/packages/common )
Updates `@nestjs/core` from 11.1.24 to 11.1.27
- [Release notes](https://github.com/nestjs/nest/releases )
- [Commits](https://github.com/nestjs/nest/commits/v11.1.27/packages/core )
Updates `@nestjs/platform-fastify` from 11.1.24 to 11.1.27
- [Release notes](https://github.com/nestjs/nest/releases )
- [Commits](https://github.com/nestjs/nest/commits/v11.1.27/packages/platform-fastify )
Updates `@nestjs/platform-socket.io` from 11.1.24 to 11.1.27
- [Release notes](https://github.com/nestjs/nest/releases )
- [Commits](https://github.com/nestjs/nest/commits/v11.1.27/packages/platform-socket.io )
Updates `@nestjs/websockets` from 11.1.24 to 11.1.27
- [Release notes](https://github.com/nestjs/nest/releases )
- [Commits](https://github.com/nestjs/nest/commits/v11.1.27/packages/websockets )
Updates `fast-xml-parser` from 5.8.0 to 5.9.2
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases )
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md )
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.8.0...v5.9.2 )
Updates `mysql2` from 3.22.4 to 3.22.5
- [Release notes](https://github.com/sidorares/node-mysql2/releases )
- [Changelog](https://github.com/sidorares/node-mysql2/blob/master/Changelog.md )
- [Commits](https://github.com/sidorares/node-mysql2/compare/v3.22.4...v3.22.5 )
Updates `sharp` from 0.34.5 to 0.35.1
- [Release notes](https://github.com/lovell/sharp/releases )
- [Commits](https://github.com/lovell/sharp/compare/v0.34.5...v0.35.1 )
---
updated-dependencies:
- dependency-name: "@embedpdf/vue-pdf-viewer"
dependency-version: 2.14.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@tailwindcss/vite"
dependency-version: 4.3.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@tanstack/vue-virtual"
dependency-version: 3.13.29
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: dompurify
dependency-version: 3.4.11
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: reka-ui
dependency-version: 2.9.10
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: tailwindcss
dependency-version: 4.3.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: vue
dependency-version: 3.5.38
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@nestjs/common"
dependency-version: 11.1.27
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@nestjs/core"
dependency-version: 11.1.27
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@nestjs/platform-fastify"
dependency-version: 11.1.27
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@nestjs/platform-socket.io"
dependency-version: 11.1.27
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@nestjs/websockets"
dependency-version: 11.1.27
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: fast-xml-parser
dependency-version: 5.9.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: mysql2
dependency-version: 3.22.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: sharp
dependency-version: 0.35.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: neon <18559658+neonsolstice@users.noreply.github.com >
2026-06-17 13:55:50 -06:00
neon
329d1b6643
feat(metadata): add Kobo metadata provider
...
Add Kobo as a first-class metadata source so books can keep Kobo IDs across fetch, edit, import, scoring, and file-write flows. Provide the Python cloudscraper setup needed for production fetches while keeping local setup explicit.
Closes #247
2026-06-06 18:16:47 +00:00
dependabot[bot]
642a8a5075
chore(deps): bump the production-dependencies group with 4 updates ( #244 )
...
Bumps the production-dependencies group with 4 updates: [@tanstack/vue-virtual](https://github.com/TanStack/virtual/tree/HEAD/packages/vue-virtual ), [dompurify](https://github.com/cure53/DOMPurify ), [reka-ui](https://github.com/unovue/reka-ui ) and [nodemailer](https://github.com/nodemailer/nodemailer ).
Updates `@tanstack/vue-virtual` from 3.13.26 to 3.13.28
- [Release notes](https://github.com/TanStack/virtual/releases )
- [Changelog](https://github.com/TanStack/virtual/blob/main/packages/vue-virtual/CHANGELOG.md )
- [Commits](https://github.com/TanStack/virtual/commits/@tanstack/vue-virtual@3.13.28/packages/vue-virtual )
Updates `dompurify` from 3.4.7 to 3.4.8
- [Release notes](https://github.com/cure53/DOMPurify/releases )
- [Commits](https://github.com/cure53/DOMPurify/compare/3.4.7...3.4.8 )
Updates `reka-ui` from 2.9.8 to 2.9.9
- [Release notes](https://github.com/unovue/reka-ui/releases )
- [Commits](https://github.com/unovue/reka-ui/compare/v2.9.8...v2.9.9 )
Updates `nodemailer` from 8.0.9 to 8.0.10
- [Release notes](https://github.com/nodemailer/nodemailer/releases )
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md )
- [Commits](https://github.com/nodemailer/nodemailer/compare/v8.0.9...v8.0.10 )
---
updated-dependencies:
- dependency-name: "@tanstack/vue-virtual"
dependency-version: 3.13.28
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: dompurify
dependency-version: 3.4.8
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: reka-ui
dependency-version: 2.9.9
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: nodemailer
dependency-version: 8.0.10
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: neon <18559658+neonsolstice@users.noreply.github.com >
2026-06-05 09:42:45 -06:00
dependabot[bot]
fc6d4fec83
chore(deps): bump the production-dependencies group with 12 updates ( #139 )
...
Bumps the production-dependencies group with 12 updates:
| Package | From | To |
| --- | --- | --- |
| [@tanstack/vue-virtual](https://github.com/TanStack/virtual/tree/HEAD/packages/vue-virtual ) | `3.13.25` | `3.13.26` |
| [dompurify](https://github.com/cure53/DOMPurify ) | `3.4.5` | `3.4.7` |
| [reka-ui](https://github.com/unovue/reka-ui ) | `2.9.7` | `2.9.8` |
| [vue](https://github.com/vuejs/core ) | `3.5.34` | `3.5.35` |
| [vue-router](https://github.com/vuejs/router ) | `5.0.7` | `5.1.0` |
| [@nestjs/common](https://github.com/nestjs/nest/tree/HEAD/packages/common ) | `11.1.23` | `11.1.24` |
| [@nestjs/core](https://github.com/nestjs/nest/tree/HEAD/packages/core ) | `11.1.23` | `11.1.24` |
| [@nestjs/platform-fastify](https://github.com/nestjs/nest/tree/HEAD/packages/platform-fastify ) | `11.1.23` | `11.1.24` |
| [@nestjs/platform-socket.io](https://github.com/nestjs/nest/tree/HEAD/packages/platform-socket.io ) | `11.1.23` | `11.1.24` |
| [@nestjs/websockets](https://github.com/nestjs/nest/tree/HEAD/packages/websockets ) | `11.1.23` | `11.1.24` |
| [mysql2](https://github.com/sidorares/node-mysql2 ) | `3.22.3` | `3.22.4` |
| [nodemailer](https://github.com/nodemailer/nodemailer ) | `8.0.7` | `8.0.9` |
Updates `@tanstack/vue-virtual` from 3.13.25 to 3.13.26
- [Release notes](https://github.com/TanStack/virtual/releases )
- [Changelog](https://github.com/TanStack/virtual/blob/main/packages/vue-virtual/CHANGELOG.md )
- [Commits](https://github.com/TanStack/virtual/commits/@tanstack/vue-virtual@3.13.26/packages/vue-virtual )
Updates `dompurify` from 3.4.5 to 3.4.7
- [Release notes](https://github.com/cure53/DOMPurify/releases )
- [Commits](https://github.com/cure53/DOMPurify/compare/3.4.5...3.4.7 )
Updates `reka-ui` from 2.9.7 to 2.9.8
- [Release notes](https://github.com/unovue/reka-ui/releases )
- [Commits](https://github.com/unovue/reka-ui/compare/v2.9.7...v2.9.8 )
Updates `vue` from 3.5.34 to 3.5.35
- [Release notes](https://github.com/vuejs/core/releases )
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md )
- [Commits](https://github.com/vuejs/core/compare/v3.5.34...v3.5.35 )
Updates `vue-router` from 5.0.7 to 5.1.0
- [Release notes](https://github.com/vuejs/router/releases )
- [Commits](https://github.com/vuejs/router/compare/v5.0.7...v5.1.0 )
Updates `@nestjs/common` from 11.1.23 to 11.1.24
- [Release notes](https://github.com/nestjs/nest/releases )
- [Commits](https://github.com/nestjs/nest/commits/v11.1.24/packages/common )
Updates `@nestjs/core` from 11.1.23 to 11.1.24
- [Release notes](https://github.com/nestjs/nest/releases )
- [Commits](https://github.com/nestjs/nest/commits/v11.1.24/packages/core )
Updates `@nestjs/platform-fastify` from 11.1.23 to 11.1.24
- [Release notes](https://github.com/nestjs/nest/releases )
- [Commits](https://github.com/nestjs/nest/commits/v11.1.24/packages/platform-fastify )
Updates `@nestjs/platform-socket.io` from 11.1.23 to 11.1.24
- [Release notes](https://github.com/nestjs/nest/releases )
- [Commits](https://github.com/nestjs/nest/commits/v11.1.24/packages/platform-socket.io )
Updates `@nestjs/websockets` from 11.1.23 to 11.1.24
- [Release notes](https://github.com/nestjs/nest/releases )
- [Commits](https://github.com/nestjs/nest/commits/v11.1.24/packages/websockets )
Updates `mysql2` from 3.22.3 to 3.22.4
- [Release notes](https://github.com/sidorares/node-mysql2/releases )
- [Changelog](https://github.com/sidorares/node-mysql2/blob/master/Changelog.md )
- [Commits](https://github.com/sidorares/node-mysql2/compare/v3.22.3...v3.22.4 )
Updates `nodemailer` from 8.0.7 to 8.0.9
- [Release notes](https://github.com/nodemailer/nodemailer/releases )
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md )
- [Commits](https://github.com/nodemailer/nodemailer/compare/v8.0.7...v8.0.9 )
---
updated-dependencies:
- dependency-name: "@tanstack/vue-virtual"
dependency-version: 3.13.26
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: dompurify
dependency-version: 3.4.7
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: reka-ui
dependency-version: 2.9.8
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: vue
dependency-version: 3.5.35
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: vue-router
dependency-version: 5.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: "@nestjs/common"
dependency-version: 11.1.24
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@nestjs/core"
dependency-version: 11.1.24
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@nestjs/platform-fastify"
dependency-version: 11.1.24
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@nestjs/platform-socket.io"
dependency-version: 11.1.24
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@nestjs/websockets"
dependency-version: 11.1.24
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: mysql2
dependency-version: 3.22.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: nodemailer
dependency-version: 8.0.9
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-28 21:36:32 -06:00
neon
78b99d0b78
fix(settings): accept socket postgres urls in DATABASE_URL validation
...
Validate DATABASE_URL with pg's connection-string parser so unix-socket DSNs with empty authority hosts pass while malformed/non-postgres values are rejected.
Closes #106
2026-05-26 01:48:24 +00:00
dependabot[bot]
81a1691939
chore(deps): bump the production-dependencies group with 12 updates ( #80 )
...
Bumps the production-dependencies group with 12 updates:
| Package | From | To |
| --- | --- | --- |
| [@embedpdf/vue-pdf-viewer](https://github.com/embedpdf/embed-pdf-viewer/tree/HEAD/viewers/vue ) | `2.14.2` | `2.14.3` |
| [@tanstack/vue-virtual](https://github.com/TanStack/virtual/tree/HEAD/packages/vue-virtual ) | `3.13.24` | `3.13.25` |
| [@types/howler](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/howler ) | `2.2.12` | `2.2.13` |
| [dompurify](https://github.com/cure53/DOMPurify ) | `3.4.3` | `3.4.5` |
| [echarts](https://github.com/apache/echarts ) | `6.0.0` | `6.1.0` |
| [vue-virtual-scroller](https://github.com/Akryum/vue-virtual-scroller ) | `3.0.3` | `3.0.4` |
| [@nestjs/common](https://github.com/nestjs/nest/tree/HEAD/packages/common ) | `11.1.21` | `11.1.23` |
| [@nestjs/core](https://github.com/nestjs/nest/tree/HEAD/packages/core ) | `11.1.21` | `11.1.23` |
| [@nestjs/platform-fastify](https://github.com/nestjs/nest/tree/HEAD/packages/platform-fastify ) | `11.1.21` | `11.1.23` |
| [@nestjs/platform-socket.io](https://github.com/nestjs/nest/tree/HEAD/packages/platform-socket.io ) | `11.1.21` | `11.1.23` |
| [@nestjs/websockets](https://github.com/nestjs/nest/tree/HEAD/packages/websockets ) | `11.1.21` | `11.1.23` |
| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg ) | `8.20.0` | `8.21.0` |
Updates `@embedpdf/vue-pdf-viewer` from 2.14.2 to 2.14.3
- [Release notes](https://github.com/embedpdf/embed-pdf-viewer/releases )
- [Changelog](https://github.com/embedpdf/embed-pdf-viewer/blob/main/viewers/vue/CHANGELOG.md )
- [Commits](https://github.com/embedpdf/embed-pdf-viewer/commits/v2.14.3/viewers/vue )
Updates `@tanstack/vue-virtual` from 3.13.24 to 3.13.25
- [Release notes](https://github.com/TanStack/virtual/releases )
- [Changelog](https://github.com/TanStack/virtual/blob/main/packages/vue-virtual/CHANGELOG.md )
- [Commits](https://github.com/TanStack/virtual/commits/@tanstack/vue-virtual@3.13.25/packages/vue-virtual )
Updates `@types/howler` from 2.2.12 to 2.2.13
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/howler )
Updates `dompurify` from 3.4.3 to 3.4.5
- [Release notes](https://github.com/cure53/DOMPurify/releases )
- [Commits](https://github.com/cure53/DOMPurify/compare/3.4.3...3.4.5 )
Updates `echarts` from 6.0.0 to 6.1.0
- [Release notes](https://github.com/apache/echarts/releases )
- [Commits](https://github.com/apache/echarts/compare/6.0.0...6.1.0 )
Updates `vue-virtual-scroller` from 3.0.3 to 3.0.4
- [Release notes](https://github.com/Akryum/vue-virtual-scroller/releases )
- [Changelog](https://github.com/Akryum/vue-virtual-scroller/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Akryum/vue-virtual-scroller/compare/v3.0.3...v3.0.4 )
Updates `@nestjs/common` from 11.1.21 to 11.1.23
- [Release notes](https://github.com/nestjs/nest/releases )
- [Commits](https://github.com/nestjs/nest/commits/v11.1.23/packages/common )
Updates `@nestjs/core` from 11.1.21 to 11.1.23
- [Release notes](https://github.com/nestjs/nest/releases )
- [Commits](https://github.com/nestjs/nest/commits/v11.1.23/packages/core )
Updates `@nestjs/platform-fastify` from 11.1.21 to 11.1.23
- [Release notes](https://github.com/nestjs/nest/releases )
- [Commits](https://github.com/nestjs/nest/commits/v11.1.23/packages/platform-fastify )
Updates `@nestjs/platform-socket.io` from 11.1.21 to 11.1.23
- [Release notes](https://github.com/nestjs/nest/releases )
- [Commits](https://github.com/nestjs/nest/commits/v11.1.23/packages/platform-socket.io )
Updates `@nestjs/websockets` from 11.1.21 to 11.1.23
- [Release notes](https://github.com/nestjs/nest/releases )
- [Commits](https://github.com/nestjs/nest/commits/v11.1.23/packages/websockets )
Updates `pg` from 8.20.0 to 8.21.0
- [Changelog](https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md )
- [Commits](https://github.com/brianc/node-postgres/commits/pg@8.21.0/packages/pg )
---
updated-dependencies:
- dependency-name: "@embedpdf/vue-pdf-viewer"
dependency-version: 2.14.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@tanstack/vue-virtual"
dependency-version: 3.13.25
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@types/howler"
dependency-version: 2.2.13
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: dompurify
dependency-version: 3.4.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: echarts
dependency-version: 6.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: vue-virtual-scroller
dependency-version: 3.0.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@nestjs/common"
dependency-version: 11.1.23
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@nestjs/core"
dependency-version: 11.1.23
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@nestjs/platform-fastify"
dependency-version: 11.1.23
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@nestjs/platform-socket.io"
dependency-version: 11.1.23
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@nestjs/websockets"
dependency-version: 11.1.23
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: pg
dependency-version: 8.21.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: neon <18559658+neonsolstice@users.noreply.github.com >
2026-05-21 22:41:37 -06:00
neon
1fc04f8af6
fix(books): downgrade archiver to v7 to restore zip export ( #41 )
...
archiver v8 switched to pure ESM with no default export and a
completely different API, breaking every zip export request with
TypeError: (0 , _archiver.default) is not a function. The NestJS
SWC build produces CJS output, which cannot import the new ESM-only
package at runtime.
Downgrade to ~7.0.1 (the last CJS release) and add a Dependabot
ignore rule for archiver major bumps so this cannot recur silently.
Fixes #31
2026-05-18 15:48:46 -06:00
neon
eb9b714ecb
feat: add full-stack achievements system
...
- add achievement schema, migrations, evaluators, APIs, and backfill support on the server
- add achievements UI, composables, toast utilities, and tests on the client
- add shared achievement/auth/notification type updates
2026-05-16 15:50:42 +00:00
dependabot[bot]
2eb6ee4cee
chore(deps): bump the development-dependencies group with 19 updates ( #14 )
...
* chore(deps): bump the development-dependencies group with 19 updates
Bumps the development-dependencies group with 19 updates:
| Package | From | To |
| --- | --- | --- |
| [@semantic-release/release-notes-generator](https://github.com/semantic-release/release-notes-generator ) | `14.1.0` | `14.1.1` |
| [@types/jsdom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsdom ) | `28.0.1` | `28.0.3` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `25.6.0` | `25.8.0` |
| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8 ) | `4.1.5` | `4.1.6` |
| [@vitest/eslint-plugin](https://github.com/vitest-dev/eslint-plugin-vitest ) | `1.6.16` | `1.6.17` |
| [eslint](https://github.com/eslint/eslint ) | `10.2.1` | `10.3.0` |
| [eslint-plugin-oxlint](https://github.com/oxc-project/eslint-plugin-oxlint ) | `1.62.0` | `1.64.0` |
| [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue ) | `10.9.0` | `10.9.1` |
| [jiti](https://github.com/unjs/jiti ) | `2.6.1` | `2.7.0` |
| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint ) | `1.62.0` | `1.64.0` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) | `8.0.10` | `8.0.13` |
| [vite-plugin-vue-devtools](https://github.com/vuejs/devtools/tree/HEAD/packages/vite ) | `8.1.1` | `8.1.2` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest ) | `4.1.5` | `4.1.6` |
| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc ) | `3.2.7` | `3.2.9` |
| [@nestjs/testing](https://github.com/nestjs/nest/tree/HEAD/packages/testing ) | `11.1.19` | `11.1.21` |
| [@swc/core](https://github.com/swc-project/swc/tree/HEAD/packages/core ) | `1.15.32` | `1.15.33` |
| [globals](https://github.com/sindresorhus/globals ) | `17.5.0` | `17.6.0` |
| [tsx](https://github.com/privatenumber/tsx ) | `4.21.0` | `4.22.0` |
| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint ) | `8.59.1` | `8.59.3` |
Updates `@semantic-release/release-notes-generator` from 14.1.0 to 14.1.1
- [Release notes](https://github.com/semantic-release/release-notes-generator/releases )
- [Commits](https://github.com/semantic-release/release-notes-generator/compare/v14.1.0...v14.1.1 )
Updates `@types/jsdom` from 28.0.1 to 28.0.3
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jsdom )
Updates `@types/node` from 25.6.0 to 25.8.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `@vitest/coverage-v8` from 4.1.5 to 4.1.6
- [Release notes](https://github.com/vitest-dev/vitest/releases )
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.6/packages/coverage-v8 )
Updates `@vitest/eslint-plugin` from 1.6.16 to 1.6.17
- [Release notes](https://github.com/vitest-dev/eslint-plugin-vitest/releases )
- [Commits](https://github.com/vitest-dev/eslint-plugin-vitest/compare/v1.6.16...v1.6.17 )
Updates `eslint` from 10.2.1 to 10.3.0
- [Release notes](https://github.com/eslint/eslint/releases )
- [Commits](https://github.com/eslint/eslint/compare/v10.2.1...v10.3.0 )
Updates `eslint-plugin-oxlint` from 1.62.0 to 1.64.0
- [Release notes](https://github.com/oxc-project/eslint-plugin-oxlint/releases )
- [Commits](https://github.com/oxc-project/eslint-plugin-oxlint/compare/v1.62.0...v1.64.0 )
Updates `eslint-plugin-vue` from 10.9.0 to 10.9.1
- [Release notes](https://github.com/vuejs/eslint-plugin-vue/releases )
- [Changelog](https://github.com/vuejs/eslint-plugin-vue/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vuejs/eslint-plugin-vue/compare/v10.9.0...v10.9.1 )
Updates `jiti` from 2.6.1 to 2.7.0
- [Release notes](https://github.com/unjs/jiti/releases )
- [Changelog](https://github.com/unjs/jiti/blob/main/CHANGELOG.md )
- [Commits](https://github.com/unjs/jiti/compare/v2.6.1...v2.7.0 )
Updates `oxlint` from 1.62.0 to 1.64.0
- [Release notes](https://github.com/oxc-project/oxc/releases )
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md )
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.64.0/npm/oxlint )
Updates `vite` from 8.0.10 to 8.0.13
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v8.0.13/packages/vite )
Updates `vite-plugin-vue-devtools` from 8.1.1 to 8.1.2
- [Release notes](https://github.com/vuejs/devtools/releases )
- [Commits](https://github.com/vuejs/devtools/commits/v8.1.2/packages/vite )
Updates `vitest` from 4.1.5 to 4.1.6
- [Release notes](https://github.com/vitest-dev/vitest/releases )
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.6/packages/vitest )
Updates `vue-tsc` from 3.2.7 to 3.2.9
- [Release notes](https://github.com/vuejs/language-tools/releases )
- [Changelog](https://github.com/vuejs/language-tools/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vuejs/language-tools/commits/v3.2.9/packages/tsc )
Updates `@nestjs/testing` from 11.1.19 to 11.1.21
- [Release notes](https://github.com/nestjs/nest/releases )
- [Commits](https://github.com/nestjs/nest/commits/v11.1.21/packages/testing )
Updates `@swc/core` from 1.15.32 to 1.15.33
- [Release notes](https://github.com/swc-project/swc/releases )
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md )
- [Commits](https://github.com/swc-project/swc/commits/v1.15.33/packages/core )
Updates `globals` from 17.5.0 to 17.6.0
- [Release notes](https://github.com/sindresorhus/globals/releases )
- [Commits](https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0 )
Updates `tsx` from 4.21.0 to 4.22.0
- [Release notes](https://github.com/privatenumber/tsx/releases )
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs )
- [Commits](https://github.com/privatenumber/tsx/compare/v4.21.0...v4.22.0 )
Updates `typescript-eslint` from 8.59.1 to 8.59.3
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.3/packages/typescript-eslint )
---
updated-dependencies:
- dependency-name: "@semantic-release/release-notes-generator"
dependency-version: 14.1.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: "@types/jsdom"
dependency-version: 28.0.3
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: "@types/node"
dependency-version: 25.8.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development-dependencies
- dependency-name: "@vitest/coverage-v8"
dependency-version: 4.1.6
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: "@vitest/eslint-plugin"
dependency-version: 1.6.17
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: eslint
dependency-version: 10.3.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development-dependencies
- dependency-name: eslint-plugin-oxlint
dependency-version: 1.64.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development-dependencies
- dependency-name: eslint-plugin-vue
dependency-version: 10.9.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: jiti
dependency-version: 2.7.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development-dependencies
- dependency-name: oxlint
dependency-version: 1.64.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development-dependencies
- dependency-name: vite
dependency-version: 8.0.13
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: vite-plugin-vue-devtools
dependency-version: 8.1.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: vitest
dependency-version: 4.1.6
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: vue-tsc
dependency-version: 3.2.9
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: "@nestjs/testing"
dependency-version: 11.1.21
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: "@swc/core"
dependency-version: 1.15.33
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: globals
dependency-version: 17.6.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development-dependencies
- dependency-name: tsx
dependency-version: 4.22.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development-dependencies
- dependency-name: typescript-eslint
dependency-version: 8.59.3
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
* fix(server): narrow fs stat type for strict typecheck
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: neon <18559658+neonsolstice@users.noreply.github.com >
2026-05-14 22:21:12 -06:00
dependabot[bot]
7cf1679756
chore(deps): bump opentype.js from 1.3.5 to 2.0.0 ( #15 )
...
Bumps [opentype.js](https://github.com/opentypejs/opentype.js ) from 1.3.5 to 2.0.0.
- [Release notes](https://github.com/opentypejs/opentype.js/releases )
- [Commits](https://github.com/opentypejs/opentype.js/compare/1.3.5...2.0.0 )
---
updated-dependencies:
- dependency-name: opentype.js
dependency-version: 2.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: neon <18559658+neonsolstice@users.noreply.github.com >
2026-05-14 21:54:18 -06:00
dependabot[bot]
4566a22512
chore(deps): bump the production-dependencies group with 15 updates ( #13 )
...
Bumps the production-dependencies group with 15 updates:
| Package | From | To |
| --- | --- | --- |
| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite ) | `4.2.4` | `4.3.0` |
| [dompurify](https://github.com/cure53/DOMPurify ) | `3.4.2` | `3.4.3` |
| [reka-ui](https://github.com/unovue/reka-ui ) | `2.9.6` | `2.9.7` |
| [tailwind-merge](https://github.com/dcastil/tailwind-merge ) | `3.5.0` | `3.6.0` |
| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss ) | `4.2.4` | `4.3.0` |
| [vue](https://github.com/vuejs/core ) | `3.5.33` | `3.5.34` |
| [vue-router](https://github.com/vuejs/router ) | `5.0.6` | `5.0.7` |
| [vue-virtual-scroller](https://github.com/Akryum/vue-virtual-scroller ) | `3.0.2` | `3.0.3` |
| [@nestjs/common](https://github.com/nestjs/nest/tree/HEAD/packages/common ) | `11.1.19` | `11.1.21` |
| [@nestjs/core](https://github.com/nestjs/nest/tree/HEAD/packages/core ) | `11.1.19` | `11.1.21` |
| [@nestjs/platform-fastify](https://github.com/nestjs/nest/tree/HEAD/packages/platform-fastify ) | `11.1.19` | `11.1.21` |
| [@nestjs/platform-socket.io](https://github.com/nestjs/nest/tree/HEAD/packages/platform-socket.io ) | `11.1.19` | `11.1.21` |
| [@nestjs/websockets](https://github.com/nestjs/nest/tree/HEAD/packages/websockets ) | `11.1.19` | `11.1.21` |
| [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser ) | `5.7.2` | `5.8.0` |
| [zod](https://github.com/colinhacks/zod ) | `4.4.1` | `4.4.3` |
Updates `@tailwindcss/vite` from 4.2.4 to 4.3.0
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases )
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/@tailwindcss-vite )
Updates `dompurify` from 3.4.2 to 3.4.3
- [Release notes](https://github.com/cure53/DOMPurify/releases )
- [Commits](https://github.com/cure53/DOMPurify/compare/3.4.2...3.4.3 )
Updates `reka-ui` from 2.9.6 to 2.9.7
- [Release notes](https://github.com/unovue/reka-ui/releases )
- [Commits](https://github.com/unovue/reka-ui/compare/v2.9.6...v2.9.7 )
Updates `tailwind-merge` from 3.5.0 to 3.6.0
- [Release notes](https://github.com/dcastil/tailwind-merge/releases )
- [Commits](https://github.com/dcastil/tailwind-merge/compare/v3.5.0...v3.6.0 )
Updates `tailwindcss` from 4.2.4 to 4.3.0
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases )
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/tailwindcss )
Updates `vue` from 3.5.33 to 3.5.34
- [Release notes](https://github.com/vuejs/core/releases )
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md )
- [Commits](https://github.com/vuejs/core/compare/v3.5.33...v3.5.34 )
Updates `vue-router` from 5.0.6 to 5.0.7
- [Release notes](https://github.com/vuejs/router/releases )
- [Commits](https://github.com/vuejs/router/compare/v5.0.6...v5.0.7 )
Updates `vue-virtual-scroller` from 3.0.2 to 3.0.3
- [Release notes](https://github.com/Akryum/vue-virtual-scroller/releases )
- [Changelog](https://github.com/Akryum/vue-virtual-scroller/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Akryum/vue-virtual-scroller/compare/v3.0.2...v3.0.3 )
Updates `@nestjs/common` from 11.1.19 to 11.1.21
- [Release notes](https://github.com/nestjs/nest/releases )
- [Commits](https://github.com/nestjs/nest/commits/v11.1.21/packages/common )
Updates `@nestjs/core` from 11.1.19 to 11.1.21
- [Release notes](https://github.com/nestjs/nest/releases )
- [Commits](https://github.com/nestjs/nest/commits/v11.1.21/packages/core )
Updates `@nestjs/platform-fastify` from 11.1.19 to 11.1.21
- [Release notes](https://github.com/nestjs/nest/releases )
- [Commits](https://github.com/nestjs/nest/commits/v11.1.21/packages/platform-fastify )
Updates `@nestjs/platform-socket.io` from 11.1.19 to 11.1.21
- [Release notes](https://github.com/nestjs/nest/releases )
- [Commits](https://github.com/nestjs/nest/commits/v11.1.21/packages/platform-socket.io )
Updates `@nestjs/websockets` from 11.1.19 to 11.1.21
- [Release notes](https://github.com/nestjs/nest/releases )
- [Commits](https://github.com/nestjs/nest/commits/v11.1.21/packages/websockets )
Updates `fast-xml-parser` from 5.7.2 to 5.8.0
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases )
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md )
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.7.2...v5.8.0 )
Updates `zod` from 4.4.1 to 4.4.3
- [Release notes](https://github.com/colinhacks/zod/releases )
- [Commits](https://github.com/colinhacks/zod/compare/v4.4.1...v4.4.3 )
---
updated-dependencies:
- dependency-name: "@tailwindcss/vite"
dependency-version: 4.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: dompurify
dependency-version: 3.4.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: reka-ui
dependency-version: 2.9.7
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: tailwind-merge
dependency-version: 3.6.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: tailwindcss
dependency-version: 4.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: vue
dependency-version: 3.5.34
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: vue-router
dependency-version: 5.0.7
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: vue-virtual-scroller
dependency-version: 3.0.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@nestjs/common"
dependency-version: 11.1.21
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@nestjs/core"
dependency-version: 11.1.21
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@nestjs/platform-fastify"
dependency-version: 11.1.21
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@nestjs/platform-socket.io"
dependency-version: 11.1.21
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: "@nestjs/websockets"
dependency-version: 11.1.21
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: fast-xml-parser
dependency-version: 5.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: zod
dependency-version: 4.4.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: neon <18559658+neonsolstice@users.noreply.github.com >
2026-05-14 21:44:19 -06:00
neon
266b57c38a
chore: reorganize docs, improve README, and add FOSS project hygiene
2026-05-13 15:05:04 +00:00
dependabot[bot]
c30522d0e3
chore(deps): bump archiver from 7.0.1 to 8.0.0 ( #6 )
...
Bumps [archiver](https://github.com/archiverjs/node-archiver ) from 7.0.1 to 8.0.0.
- [Release notes](https://github.com/archiverjs/node-archiver/releases )
- [Changelog](https://github.com/archiverjs/node-archiver/blob/master/CHANGELOG.md )
- [Commits](https://github.com/archiverjs/node-archiver/compare/7.0.1...8.0.0 )
---
updated-dependencies:
- dependency-name: archiver
dependency-version: 8.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-12 00:51:03 -06:00
neon
4a53a9250e
fix(audio): replace npm ffprobe/ffmpeg installers with system binaries to fix Alpine/musl incompatibility in Docker
2026-05-11 00:43:44 +00:00
neon
57d91ebea1
feat(cover,metadata): ffprobe extraction, cover placeholders, grid refresh, and audiobook search
...
- Replace music-metadata and mediainfo with @ffprobe-installer for all audio metadata extraction; remove mediainfo dependency
- Show BookCoverPlaceholder in all missing-cover locations: Similar/Series/Author Books carousel, cover editor panel, metadata search result cards, and metadata diff panel
- Extend BookRecommendation and SeriesBookRecommendation shared types with hasCover and authors; update recommendation and book repositories to supply them via parallel queries
- Fix cover refresh not updating in grid: BookCoverCard now merges refreshed BookDetail into the local BookCard and emits update:book; VirtualBookGrid forwards the event; Home, Series, Author, and Collection views wire the handler so covers update without a page reload
- Add audiobook covers checkbox to the Online Search drawer so users can toggle between square and portrait cover searches; result thumbnails and loading skeletons adapt their aspect ratio to match the selection
2026-05-11 00:06:05 +00:00
neon
e6a18c0b50
feat(settings): add custom font upload with family grouping
2026-04-28 12:21:54 -06:00
neon
2b99684d7e
chore(deps): bump production dependencies across 10 packages
...
Bumps the production-dependencies group with 10 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [@vueuse/core](https://github.com/vueuse/vueuse/tree/HEAD/packages/core) | `14.2.1` | `14.3.0` |
| [dompurify](https://github.com/cure53/DOMPurify) | `3.4.1` | `3.4.2` |
| [pdfjs-dist](https://github.com/mozilla/pdf.js) | `5.6.205` | `5.7.284` |
| [vue](https://github.com/vuejs/core) | `3.5.32` | `3.5.33` |
| [vue-router](https://github.com/vuejs/router) | `5.0.4` | `5.0.6` |
| [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) | `5.7.1` | `5.7.2` |
| [jose](https://github.com/panva/jose) | `6.2.2` | `6.2.3` |
| [mysql2](https://github.com/sidorares/node-mysql2) | `3.22.2` | `3.22.3` |
| [nodemailer](https://github.com/nodemailer/nodemailer) | `8.0.5` | `8.0.7` |
| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.1` |
Updates `@vueuse/core` from 14.2.1 to 14.3.0
- [Release notes](https://github.com/vueuse/vueuse/releases)
- [Commits](https://github.com/vueuse/vueuse/commits/v14.3.0/packages/core)
Updates `dompurify` from 3.4.1 to 3.4.2
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.4.1...3.4.2)
Updates `pdfjs-dist` from 5.6.205 to 5.7.284
- [Release notes](https://github.com/mozilla/pdf.js/releases)
- [Commits](https://github.com/mozilla/pdf.js/compare/v5.6.205...v5.7.284)
Updates `vue` from 3.5.32 to 3.5.33
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.32...v3.5.33)
Updates `vue-router` from 5.0.4 to 5.0.6
- [Release notes](https://github.com/vuejs/router/releases)
- [Commits](https://github.com/vuejs/router/compare/v5.0.4...v5.0.6)
Updates `fast-xml-parser` from 5.7.1 to 5.7.2
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.7.1...v5.7.2)
Updates `jose` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/panva/jose/releases)
- [Changelog](https://github.com/panva/jose/blob/main/CHANGELOG.md)
- [Commits](https://github.com/panva/jose/compare/v6.2.2...v6.2.3)
Updates `mysql2` from 3.22.2 to 3.22.3
- [Release notes](https://github.com/sidorares/node-mysql2/releases)
- [Changelog](https://github.com/sidorares/node-mysql2/blob/master/Changelog.md)
- [Commits](https://github.com/sidorares/node-mysql2/compare/v3.22.2...v3.22.3)
Updates `nodemailer` from 8.0.5 to 8.0.7
- [Release notes](https://github.com/nodemailer/nodemailer/releases)
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodemailer/nodemailer/compare/v8.0.5...v8.0.7)
Updates `zod` from 4.3.6 to 4.4.1
- [Release notes](https://github.com/colinhacks/zod/releases)
- [Commits](https://github.com/colinhacks/zod/compare/v4.3.6...v4.4.1)
---
updated-dependencies:
- dependency-name: "@vueuse/core"
dependency-version: 14.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: dompurify
dependency-version: 3.4.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: fast-xml-parser
dependency-version: 5.7.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: jose
dependency-version: 6.2.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: mysql2
dependency-version: 3.22.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: nodemailer
dependency-version: 8.0.7
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: pdfjs-dist
dependency-version: 5.7.284
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
- dependency-name: vue
dependency-version: 3.5.33
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: vue-router
dependency-version: 5.0.6
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-dependencies
- dependency-name: zod
dependency-version: 4.4.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
...
2026-04-25 21:30:37 -06:00
neon
eec2b30b95
chore(deps): bump the development-dependencies group with 7 updates
...
Bumps the development-dependencies group with 7 updates:
| Package | From | To |
| --- | --- | --- |
| [@vue/test-utils](https://github.com/vuejs/test-utils) | `2.4.6` | `2.4.10` |
| [eslint-plugin-oxlint](https://github.com/oxc-project/eslint-plugin-oxlint) | `1.61.0` | `1.62.0` |
| [jsdom](https://github.com/jsdom/jsdom) | `29.0.2` | `29.1.1` |
| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.61.0` | `1.62.0` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.0.9` | `8.0.10` |
| [@swc/core](https://github.com/swc-project/swc/tree/HEAD/packages/core) | `1.15.30` | `1.15.32` |
| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.59.0` | `8.59.1` |
Updates `@vue/test-utils` from 2.4.6 to 2.4.10
- [Release notes](https://github.com/vuejs/test-utils/releases)
- [Commits](https://github.com/vuejs/test-utils/compare/v2.4.6...v2.4.10)
Updates `eslint-plugin-oxlint` from 1.61.0 to 1.62.0
- [Release notes](https://github.com/oxc-project/eslint-plugin-oxlint/releases)
- [Commits](https://github.com/oxc-project/eslint-plugin-oxlint/compare/v1.61.0...v1.62.0)
Updates `jsdom` from 29.0.2 to 29.1.1
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Commits](https://github.com/jsdom/jsdom/compare/v29.0.2...v29.1.1)
Updates `oxlint` from 1.61.0 to 1.62.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.62.0/npm/oxlint)
Updates `vite` from 8.0.9 to 8.0.10
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.0.10/packages/vite)
Updates `@swc/core` from 1.15.30 to 1.15.32
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/swc-project/swc/commits/v1.15.32/packages/core)
Updates `typescript-eslint` from 8.59.0 to 8.59.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.1/packages/typescript-eslint)
---
updated-dependencies:
- dependency-name: "@vue/test-utils"
dependency-version: 2.4.10
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: eslint-plugin-oxlint
dependency-version: 1.62.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development-dependencies
- dependency-name: jsdom
dependency-version: 29.1.1
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development-dependencies
- dependency-name: oxlint
dependency-version: 1.62.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development-dependencies
- dependency-name: vite
dependency-version: 8.0.10
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: "@swc/core"
dependency-version: 1.15.32
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: typescript-eslint
dependency-version: 8.59.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
...
2026-04-25 18:40:08 -06:00
neon
cfc3672a6c
refactor: rename book-bucket to book-dock and lens to smart-scope
2026-04-20 22:57:27 -06:00
neon
dd9fd205d6
feat: add bulk tag update and improve selection action bar
2026-04-15 00:58:50 -06:00
neon
67ec10f703
feat: implement security audit fixes SEC-001 through SEC-031
2026-04-12 16:15:03 -06:00
neon
c4a2cbc4d8
chore: update dependencies to latest minor and patch versions
2026-04-10 11:53:58 -06:00
neon
a8b203ef4a
chore: optimize docker image and scanner performance
2026-04-08 20:31:38 -06:00
neon
ef82cb5d00
fix: patch Trivy CRITICAL/HIGH findings in container image
...
- apk upgrade in runtime stage to fix OpenSSL CVEs (CVE-2025-15467 CRITICAL, CVE-2025-69419 HIGH)
- remove npm from runtime image to eliminate npm-bundled CVEs
- update fastify to 5.8.5 and force via pnpm override (CVE-2026-33806 HIGH)
- switch vitest pool to threads to fix flaky audio extractor tests
- simplify unit test setup with direct instantiation
2026-04-07 07:30:07 -06:00
neon
70e76600e0
feat(server): add Booklore migration with source adapter and executor
2026-04-03 20:48:11 -06:00
neon
6e999ccaa8
ci: standardize E2E naming across workflows and scripts
2026-04-02 05:25:00 -06:00
neon
4d58418b93
test(auth): add end-to-end coverage for authentication flows
2026-03-30 03:58:27 -06:00
neon
db30a45782
test(scanner): bootstrap scanner E2E test infrastructure
2026-03-30 01:18:32 -06:00
neon
af9424f04a
feat: add audiobook progress and refactor metadata extraction
2026-03-28 07:39:23 -06:00
neon
1418957b6f
chore: cleanup project structure and resolve client type errors
...
- resolve all 69 client type-checking errors for stricter TS compliance
- remove obsolete type-check baseline scripts and files
- overhaul project root with updated README.md and new DEVELOPMENT.md
- migrate to unified baseline migration strategy and cleanup docker configs
- remove redundant production and dev-specific shell scripts
2026-03-25 07:14:51 -06:00
neon
f847cc1d22
fix(metadata): use per-provider keys and extract relevance scoring
...
- replace shared 'providerId' key in pickedSources with provider-specific
field names (googleBooksId, goodreadsId, etc.) so each provider's ID
pick is independent and not overwritten when switching tabs
- extract candidate relevance scoring into candidate-relevance.ts with
Levenshtein-based title/author scoring, ISBN exact match, and junk
title filtering; remove duplicate inline scoring from goodreads provider
2026-03-24 09:23:01 -06:00
neon
391fa46b27
chore(deps): upgrade major server dependencies
2026-03-23 02:23:17 -06:00
neon
473459b854
chore(deps): update workspace dependencies
2026-03-23 01:58:44 -06:00
neon
2117b729d5
feat(reader): add audiobook reader with narrator and Audible metadata
...
- add audiobook reader with playback queue, progress tracking, and audio settings
- add narrator support with DB schema, module, and metadata extraction
- add Audible and Audnexus metadata providers with mappers and tests
- improve scanner with file classification, walk utilities, and file-event processing
- extend upload validator and processor for audio formats
2026-03-21 16:14:55 -06:00
neon
9d61ded2ff
chore: add OSS readiness files and contributor docs
2026-03-20 00:34:07 -06:00
neon
a7df587c1e
feat: implement reading session tracking for epub, pdf, and cbz readers
2026-03-19 20:18:09 -06:00
neon
069fa1488c
feat: add user-level statistics pipeline and dashboard charts
2026-03-19 18:05:22 -06:00
neon
9ef641e650
feat: add audit logging system
...
- audit_log table with action, resource, resourceId, description, ip, countryCode, meta
- AuditEventsService (EventEmitter), AuditRepository, AuditService, AuditInterceptor
- @Auditable decorator wired on all mutating endpoints across every controller
- auth events (login, logout, register, password change, failed login) emitted directly in AuthService with IP capture
- geoip-lite for offline IP-to-country resolution
- nightly retention cleanup via cron with configurable audit_retention_days setting
- superuser-only GET /audit-log endpoint with userId, action, resource, date range filters
- AuditLogPage.vue with table, filters, pagination, and failed-auth row highlighting
- regenerated baseline migration to include audit_log in 0000_baseline.sql
2026-03-18 11:34:13 -06:00
neon
aa2456fbf8
feat(authors): add auto-enrichment queue, worker safety, and live status
2026-03-13 08:14:45 -06:00
neon
b64aa519ef
chore: migrate server tests from Jest to Vitest
2026-03-11 13:07:31 -06:00
neon
a3579ac57f
ci: overhaul CI workflows for reliability and maintainability
...
- add CODEOWNERS assigning .github/ to @neonsolstice
- configure automated updates for npm, docker, and github-actions ecosystems
- replace custom change-detection bash script with dorny/paths-filter@v4
- consolidate lint, typecheck, and test into a single checks matrix job
- gate per-package change detection via has-changes step (matrix unavailable in job-level if)
- fix duplicate actions/setup-node call in setup-node-pnpm composite action
- scope pnpm store cache key by pnpm version to prevent stale cross-version cache hits
- pin all action references to commit SHAs
- fix container-image concurrency group to use commit SHA across all trigger types
- add timeout-minutes to all jobs
- document fail-fast: false rationale and checks: write trade-off
2026-03-07 18:14:36 -06:00
neon
91dddc6740
test: add backend coverage and related service updates
2026-03-06 12:08:22 -06:00
neon
891cd19f46
chore: implement local quality foundation
2026-03-06 09:08:15 -06:00
neon
f60584cf16
feat(books): add icon tooltips, book export, and bulk book actions
...
- add tooltips to all header icons (search, upload, appearance, settings, theme toggle, sidebar trigger)
- fix appearance popover by moving Tooltip outside Popover
- add POST /api/books/export endpoint to zip and download books
- add POST /api/books/bulk-refresh-metadata and bulk-re-extract-cover endpoints
- add BulkBookIdsDto and ExportBooksDto
- add archiver dependency for zip streaming
- update theme CSS variables and component styles across client
2026-03-01 10:55:31 -06:00
neon
51dd3d30f3
chore: backend infrastructure improvements
...
- add URI versioning: global prefix changed to api/v1, all frontend call sites updated
- add AbortSignal.timeout to all outbound fetch calls (10s API, 15s scrapers)
- add X-Request-Id response header and requestId field in error payloads
- add response compression via @fastify/compress (gzip + brotli)
- add security headers via @fastify/helmet with CSP for the Vite SPA
- tune pg pool: max 20, idle/connection/statement timeouts on app and migration pools
- add GET /api/v1/health endpoint via @nestjs/terminus with DB connectivity check
2026-02-28 16:02:15 -06:00