From ac512566155e3ab3d051184431c11029e716b6a7 Mon Sep 17 00:00:00 2001 From: Sinuhe Tellez Date: Sat, 11 Jul 2026 18:48:04 -0400 Subject: [PATCH 1/2] docs: update CHANGELOG and README for v1.10.1 metadata features Document EPUB description, series, and subject extraction in CHANGELOG and update README flag description to include all extracted metadata fields. --- CHANGELOG.md | 8 ++++++++ README.md | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c8abc93..120a78b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.10.1] - 2026-07-11 + +### Added + +- **EPUB description extraction** — `` metadata is now extracted and emitted as `` in acquisition feeds, enabling richer book previews in OPDS clients. +- **EPUB series metadata extraction** — `calibre:series` and `calibre:series_index` are extracted and emitted as `` and ``, enabling reading order views in supporting clients. +- **EPUB subject/category extraction** — `` tags are extracted and emitted as `` elements, enabling genre/subject browsing. + ## [1.10.0] - 2026-07-11 ### Added diff --git a/README.md b/README.md index 298a69b..71aefd0 100644 --- a/README.md +++ b/README.md @@ -107,7 +107,7 @@ dir2opds -dir /path/to/books -port 8080 | `-dir` | Directory with books (default: `./books`) | | `-enable-cache` | Enable ETag/Last-Modified headers for conditional requests (bandwidth optimization) | | `-enable-html` | Enable web-friendly HTML view for browsers | -| `-extract-metadata` | Extract title/author from EPUB and PDF, and covers from EPUB (default: `true`) | +| `-extract-metadata` | Extract title/author/description/series/subjects from EPUB, title/author from PDF, and covers from EPUB (default: `true`) | | `-gzip` | Enable gzip compression for responses (reduces bandwidth) | | `-hide-dot-files` | Hide files whose names start with a dot (default: `true`) | | `-host` | Listen address (default: `0.0.0.0`) | From 60216a7dd6bf637fc236864c4181296c014f6350 Mon Sep 17 00:00:00 2001 From: Sinuhe Tellez Date: Sat, 11 Jul 2026 19:24:56 -0400 Subject: [PATCH 2/2] docs: update CHANGELOG, README, and INSTALLATION for v1.10.1 - Add PDF metadata extraction (#63) to CHANGELOG v1.10.1 section - Bump README Docker quick start version to v1.10.1 - Bump all INSTALLATION.md version references to v1.10.1 --- CHANGELOG.md | 1 + INSTALLATION.md | 18 +++++++++--------- README.md | 4 ++-- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 120a78b..c4d0f2b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **EPUB description extraction** — `` metadata is now extracted and emitted as `` in acquisition feeds, enabling richer book previews in OPDS clients. - **EPUB series metadata extraction** — `calibre:series` and `calibre:series_index` are extracted and emitted as `` and ``, enabling reading order views in supporting clients. - **EPUB subject/category extraction** — `` tags are extracted and emitted as `` elements, enabling genre/subject browsing. +- **PDF metadata extraction** — Replaced regex-based PDF metadata scanner with proper `rsc.io/pdf` parser. Now extracts Title, Author, Subject (→ ``), and Keywords (→ ``). ## [1.10.0] - 2026-07-11 diff --git a/INSTALLATION.md b/INSTALLATION.md index 7072823..3401b71 100644 --- a/INSTALLATION.md +++ b/INSTALLATION.md @@ -9,7 +9,7 @@ Download binaries for Linux, macOS, Windows, and other platforms from the [Relea ## Docker ```bash -docker pull ghcr.io/dubyte/dir2opds:v1.10.0 +docker pull ghcr.io/dubyte/dir2opds:v1.10.1 ``` ```bash @@ -20,17 +20,17 @@ docker run \ -p 8080:8080 \ -v ./books:/books \ --name dir2opds \ - ghcr.io/dubyte/dir2opds:v1.10.0 + ghcr.io/dubyte/dir2opds:v1.10.1 ``` -Use a specific [release](https://github.com/dubyte/dir2opds/releases) tag instead of `v1.10.0` if needed. Thanks to [rockavoldy](https://hub.docker.com/u/rockavoldy) for the run example. +Use a specific [release](https://github.com/dubyte/dir2opds/releases) tag instead of `v1.10.1` if needed. Thanks to [rockavoldy](https://hub.docker.com/u/rockavoldy) for the run example. ## Podman **Pre-built image:** ```bash -podman pull ghcr.io/dubyte/dir2opds:v1.10.0 +podman pull ghcr.io/dubyte/dir2opds:v1.10.1 ``` **Build from source:** @@ -49,7 +49,7 @@ podman run \ -p 8080:8080 \ -v ./books:/books \ --name dir2opds \ - ghcr.io/dubyte/dir2opds:v1.10.0 + ghcr.io/dubyte/dir2opds:v1.10.1 ``` **Rootless** (e.g. non-root user, SELinux): use a bind mount with the `Z` option and keep the user namespace: @@ -64,7 +64,7 @@ podman run \ -p 8080:8080 \ -v /data/Books:/books:Z \ --name dir2opds \ - ghcr.io/dubyte/dir2opds:v1.10.0 + ghcr.io/dubyte/dir2opds:v1.10.1 ``` Add `-debug` for request logging, e.g. `... ghcr.io/dubyte/dir2opds:v1.10.0 /dir2opds -debug`. @@ -73,9 +73,9 @@ Add `-debug` for request logging, e.g. `... ghcr.io/dubyte/dir2opds:v1.10.0 /dir ```bash cd && mkdir dir2opds && cd dir2opds -# Replace v1.10.0 and the asset name with the release that matches your system -wget https://github.com/dubyte/dir2opds/releases/download/v1.10.0/dir2opds_1.10.0_linux_armv7.tar.gz -tar xvf dir2opds_1.10.0_linux_armv7.tar.gz +# Replace v1.10.1 and the asset name with the release that matches your system +wget https://github.com/dubyte/dir2opds/releases/download/v1.10.1/dir2opds_1.10.1_linux_armv7.tar.gz +tar xvf dir2opds_1.10.1_linux_armv7.tar.gz sudo nano /etc/systemd/system/dir2opds.service # Paste the unit below, then set the full path of your books folder in -dir diff --git a/README.md b/README.md index 71aefd0..90ddfa6 100644 --- a/README.md +++ b/README.md @@ -57,10 +57,10 @@ dir2opds is ideal for anyone who wants a **self-hosted digital library** without ## Quick start -Using Docker (replace `v1.10.0` with the [latest release](https://github.com/dubyte/dir2opds/releases) if desired): +Using Docker (replace `v1.10.1` with the [latest release](https://github.com/dubyte/dir2opds/releases) if desired): ```bash -docker run -d -p 8080:8080 -v ./books:/books --name dir2opds ghcr.io/dubyte/dir2opds:v1.10.0 +docker run -d -p 8080:8080 -v ./books:/books --name dir2opds ghcr.io/dubyte/dir2opds:v1.10.1 ``` ```