Skip to content

Releases: rupor-github/sync2kindle

v1.5.1

06 Mar 16:56
700b4d9

Choose a tag to compare

Maintenance - move to go1.26.1 with full dependencies update

Full Changelog: v1.5.0...v1.5.1

v1.5.0

25 Feb 16:12
56ab08f

Choose a tag to compare

Debug reporter improvements

  • Ported debug reporter enhancements from fb2cng: proper temp file cleanup on errors,
    atomic rename on close, and improved error handling throughout the report lifecycle.
  • Added unit tests for reporter (5 tests covering creation, data storage, close, and error paths).

History subcommand enhancements

  • Expanded history command with 6 sub-subcommands: list, steps, objects, diff, stats, orphans.
  • list — shows short database ID (8 hex chars), path, last step, and identifiers for each history DB.
  • steps — tabular listing of all sync steps with timestamps, source/destination, and object counts.
  • objects — lists objects in the latest (or specified via --step) sync step with path, size, modified time, and hash.
  • diff — shows added/removed/changed objects between two steps (--from/--to, defaults to last two).
  • stats — aggregate statistics: file/directory counts, total size, date range, breakdown by extension.
  • orphans — identifies history databases with missing source directories or stale last sync (>180 days).

Full Changelog: v1.4.2...v1.5.0

v1.4.2

17 Feb 23:24
f2b912c

Choose a tag to compare

Replace github.com/disintegration/imaging with standard library

(removing long standing CVE with parsing malicious TIFF files)

Dropped the disintegration/imaging dependency by implementing equivalent
thumbnail functionality using golang.org/x/image/draw (which was already
present as a transitive dependency). The two operations previously provided
by imaging — scale-to-fill with center-crop (imaging.Thumbnail) and
JPEG encoding (imaging.Encode) — are now handled by helpers in the
thumbs/imgutils package.

  • Added imgutils.Thumbnail — resizes and center-crops using CatmullRom
    resampling (comparable quality to Lanczos).
  • Added imgutils.EncodeJPEG — encodes to JPEG with specified quality and
    applies the JFIF APP0 DPI fixup required by Kindle.
  • Unexported SetJpegDPI, JpegDPIType, and Dpi* constants since they
    are now only used internally by EncodeJPEG.
  • Updated thumbs/kfx and thumbs/mobi readers to use the new helpers.

Fix KFX parser failing on newer KFX files

The KFX entity table parser was too strict and used an outdated symbol
table, causing it to reject valid KFX files with entity IDs above 843.

  • Bumped largestKnownSymbol from 834 to 851, adding 17 missing
    YJ_symbols (shapes/geometry: ellipse, rectangle, line, polygon, etc.)
    to match the set known to the fb2cng parser.
  • Removed strict FindByID validation from indexTableEntry.readFrom,
    keeping only the bounds check. Entity IDs referencing local document
    symbols beyond the known YJ_symbols range are now accepted, preventing
    future breakage when Amazon extends the format.

Add thumbnail extraction tests

  • thumbs/imgutils/thumb_test.go — unit tests for Thumbnail (output
    dimensions across various aspect ratios, invalid inputs, pixel content)
    and EncodeJPEG (valid JPEG output, JFIF APP0 header with 300 DPI).
  • thumbs/kfx/reader_test.go — end-to-end test parsing _Test.azw8,
    extracting a thumbnail, and verifying a valid 330×470 JPEG with JFIF
    header is produced.
  • thumbs/mobi/reader_test.go — end-to-end test parsing _Test.azw3,
    extracting a thumbnail, and verifying a valid 330×470 JPEG with JFIF
    header is produced.

Full Changelog: v1.4.1...v1.4.2

v1.4.1

12 Feb 00:07
66ef320

Choose a tag to compare

Switching to go1.26.0 with full dependencies update.

Full Changelog: v1.4.0...v1.4.1

v1.4.0

08 Feb 20:10
b30c828

Choose a tag to compare

Fixing multiple issues - both Linux and Windows.
Switching to go1.25.7 with full dependencies update.

NOTE: hashing algorithm to derive history database name has changed to avoid potential name collisions, so old history will be ignored after update!

Full Changelog: v1.3.0...v1.4.0

v1.3.0

17 Dec 20:45
951c46c

Choose a tag to compare

When using "mail" try to use epub metadata rather than file name.
Switch to go1.25.5 and dependencies update.

Full Changelog: v1.2.9...v1.3.0

v1.2.9

17 Sep 20:28
578ce41

Choose a tag to compare

Maintenance: go1.25.1 with dependencies, new official taskfile task in the pipeline.

Full Changelog: v1.2.8...v1.2.9

v1.2.8

01 Aug 20:30
592b701

Choose a tag to compare

Migrating to go 1.24.5 and urfave/cli/v3 with full dependencies update.

Full Changelog: v1.2.7...v1.2.8

v1.2.7

23 May 15:27
f6da230

Choose a tag to compare

Switching to go1.24.3 with full dependencies update.

Full Changelog: v1.2.6...v1.2.7

v1.2.6

22 Mar 16:55
642f294

Choose a tag to compare

Switching to go1.24.1 and updating ALL dependencies.

Full Changelog: v1.2.5...v1.2.6