2026-09-30 - 2026-10-30
Overview
3 Releases published by 1 user
Published
v1.0.0-rc3
Published
v1.0.0-rc2
Published
v1.0.0-rc1
45 Pull requests merged by 1 user
Merged
#232 README: the close() sentence split in two (closes #231)
Merged
#230 README: four sentences fixed for the documents gate (closes #229)
Merged
#228 README.md rewritten sentence by sentence (closes #219)
Merged
#227 quak helper fix-missing-thumbnails --file on an empty cache stops fetching collections once it finds every file (closes #223)
Merged
#226 quak get and get-thumb on an empty cache stop fetching collections once they find the file (closes #222)
Merged
#225 quak files COLLECTION fetches that collection's files alone (closes #217)
Merged
#220 A file's JSON holds keywords in place of its CLIP embedding (closes #218)
Merged
#134 next → main: Photo save path, download and EXIF; version from git; example script
Merged
#216 -v raises the log level per repeat; -q prints only fatal errors
Merged
#215 quak files takes the collection ID as an optional argument
Merged
#213 Names quak builds from server data fit in 255 bytes
Merged
#214 quak collections reads the collection list alone
Merged
#208 ML data that does not decrypt is recorded with its reason (closes #198)
Merged
#209 --verify keeps a mismatched original until a matching copy replaces it (closes #199)
Merged
#204 An album whose folder cannot be made no longer stops the backup (closes #197)
Merged
#207 The binary make install builds retries a refused or unresolvable connection (closes #206)
Merged
#203 A network failure is printed and recorded with its reason (closes #196)
Merged
#202 README says that make install needs nix (closes #200)
Merged
#192 quak backup works on up to the content pool's limit of originals at once (closes #182)
Merged
#195 TODO.md's Next Step names the open issues, not a closed one (closes #194)
Merged
#193 A backup whose lock is lost stops with one line, not a stack trace (closes #184)
Merged
#188 One album or file quak cannot decrypt no longer stops a refresh or a backup (closes #181)
Merged
#190 quak backup no longer refreshes its library on a timer (closes #183)
Merged
#191 Test quak backup end to end against a fake Ente server (closes #186)
Merged
#189 An ID on the command line is decimal digits only (closes #185)
Merged
#180 README: running quak backup from cron, and its exit codes (closes #170)
Merged
#179 quak backup --verify re-hashes stored originals and downloads again any that do not match (closes #168)
Merged
#178 quak backup refuses to run while another backup of the same directory runs, exit 2 (closes #169)
Merged
#177 quak backup writes each original's EXIF, XMP and dimensions into its JSON (closes #167)
Merged
#173 An expired session exits 3 with one line saying to run quak login (closes #164)
Merged
#174 quak backup retries failed requests for longer (closes #165)
Merged
#176 Re-vendor the canonical files from sneak/prompts at dd4027b
Merged
#175 quak backup writes the account and album records backup-metadata writes
Merged
#172 quak backup writes each file's ML data into its JSON (closes #163)
Merged
#161 Download-albums example test no longer depends on the disk's free space (closes #160)
Merged
#157 docker build . stamps the git tag or short commit, not dev (closes #154)
Merged
#159 exif() returns every EXIF tag in the file (closes #156)
Merged
#158 Thumbnail test on main: re-encode a small image so it cannot time out (closes #153)
Merged
#152 Remove the content cache's handling of an earlier version's live-photo ZIP (closes #151)
Merged
#155 Thumbnail test: re-encode a small image so it cannot time out (closes #153)
Merged
#150 Example script: download every album's photos and metadata (closes #144)
Merged
#149 Photo: one async method per EXIF field (closes #148)
Merged
#146 Save path ./photos/YYYY/YYYY-MM/YYYY-MM-DD/YYYY-MM-DD.fileID.ext; download() from the cache first (closes #143)
Merged
#147 exif(): read HEIF/HEIC originals with exifreader (closes #145)
Merged
#142 Photo: save path, is-local, content bytes, metadata and EXIF getters (closes #141)
1 Pull request proposed by 1 user
Proposed
#221 next into main
47 Issues closed from 2 users
Closed
#231 README: one sentence fails the second documents gate
Closed
#229 README: five sentences fail the documents gate
Closed
#219 Rewrite README.md and the other prose documents sentence by sentence, on Fable
Closed
#223 quak helper fix-missing-thumbnails --file fetches every collection to find the files named
Closed
#222 quak get and quak get-thumb fetch every collection to find one file
Closed
#217 pulls all collection data when listing files for a single collection
Closed
#218 clip ml metadata embeddings are useless
Closed
#201 1.0: v1.0.0-rc2 is a release candidate
Closed
#212 -v/--verbose raises the log level per repeat; -q/--quiet prints only fatal errors
Closed
#211 Mandatory arguments are positional; quak files with no argument lists every file
Closed
#205 Names quak builds from server data can be over 255 bytes: backup-metadata album folders, quak get defaults, long extensions in a save path
Closed
#210 quak collections hangs with no output on a live account
Closed
#198 ML data that does not decrypt is treated as absent, and the reason is lost
Closed
#199 --verify removes a mismatched original before its replacement has been downloaded
Closed
#197 An album whose folder cannot be made stops the run before the other albums and before failures.json is saved
Closed
#206 The binary make install builds does not retry a connection that fails, or record it as transient
Closed
#196 A network failure is logged and recorded as fetch failed, with the reason dropped
Closed
#200 README: make install needs nix, which the cron section does not say
Closed
#182 quak backup downloads one original at a time
Closed
#194 TODO.md says the cache design waits on sneak's review; that issue is closed
Closed
#184 A backup whose lock is lost dies with a stack trace
Closed
#181 One file or album quak cannot decrypt stops every refresh, so quak backup stores nothing
Closed
#183 quak backup asks the server for changes every 3 seconds for its whole run
Closed
#186 Test quak backup end to end against a fake of the Ente HTTP API
Closed
#185 ID arguments accept 0x10, 1e3, 1.5 and an empty string, and --file drops IDs it cannot read
Closed
#162 One cron-safe command that mirrors the whole account, ML data and metadata included
Closed
#170 README: running quak backup from cron, and its exit codes
Closed
#168 quak backup --verify re-hashes stored originals and downloads again any that do not match
Closed
#169 quak backup refuses to run while another backup of the same directory runs, exit 2
Closed
#167 quak backup writes each original's EXIF, XMP and dimensions into its JSON file
Closed
#164 An expired session fails with one line saying to run quak login, exit 3
Closed
#165 quak backup retries for longer, with the budget set in the library
Closed
#171 Re-vendor the canonical files from sneak/prompts at dd4027b
Closed
#166 quak backup writes the account and album records backup-metadata writes
Closed
#163 quak backup writes each file's ML data into its JSON file
Closed
#160 Make next green: the download-albums example test fails on a disk with under 50 GiB free
Closed
#36 Design for review: a cache layer (SQLite metadata + on-disk content/thumbnail store) and a crash-safe backup on it
Closed
#154 docker build . stamps dev, not the git tag or short commit
Closed
#148 Photo: one async accessor per EXIF field, each calling exif()
Closed
#156 exif() returns every EXIF tag in the file, not only the thirteen
Closed
#153 Make main and next green: a thumbnail test times out on the first test pass
Closed
#151 Remove the content cache's handling of an earlier version's live-photo ZIP
Closed
#144 Example script: download every album's photos and metadata to the filesystem
Closed
#143 Default save path ./photos/YYYY/YYYY-MM/YYYY-MM-DD/YYYY-MM-DD.photoid.ext; downloads to it come from the cache when cached
Closed
#145 exif(): read HEIF/HEIC originals, not only JPEG
Closed
#140 Document high-level API usage; assess fluent album/photo chain against current API shape
Closed
#141 Photo: save path, is-local, content bytes, and common metadata and EXIF getters
47 Issues created by 1 user
Opened
#140 Document high-level API usage; assess fluent album/photo chain against current API shape
Opened
#141 Photo: save path, is-local, content bytes, and common metadata and EXIF getters
Opened
#143 Default save path ./photos/YYYY/YYYY-MM/YYYY-MM-DD/YYYY-MM-DD.photoid.ext; downloads to it come from the cache when cached
Opened
#144 Example script: download every album's photos and metadata to the filesystem
Opened
#145 exif(): read HEIF/HEIC originals, not only JPEG
Opened
#148 Photo: one async accessor per EXIF field, each calling exif()
Opened
#151 Remove the content cache's handling of an earlier version's live-photo ZIP
Opened
#153 Make main and next green: a thumbnail test times out on the first test pass
Opened
#154 docker build . stamps dev, not the git tag or short commit
Opened
#156 exif() returns every EXIF tag in the file, not only the thirteen
Opened
#160 Make next green: the download-albums example test fails on a disk with under 50 GiB free
Opened
#162 One cron-safe command that mirrors the whole account, ML data and metadata included
Opened
#163 quak backup writes each file's ML data into its JSON file
Opened
#164 An expired session fails with one line saying to run quak login, exit 3
Opened
#165 quak backup retries for longer, with the budget set in the library
Opened
#166 quak backup writes the account and album records backup-metadata writes
Opened
#167 quak backup writes each original's EXIF, XMP and dimensions into its JSON file
Opened
#168 quak backup --verify re-hashes stored originals and downloads again any that do not match
Opened
#169 quak backup refuses to run while another backup of the same directory runs, exit 2
Opened
#170 README: running quak backup from cron, and its exit codes
Opened
#171 Re-vendor the canonical files from sneak/prompts at dd4027b
Opened
#181 One file or album quak cannot decrypt stops every refresh, so quak backup stores nothing
Opened
#182 quak backup downloads one original at a time
Opened
#183 quak backup asks the server for changes every 3 seconds for its whole run
Opened
#184 A backup whose lock is lost dies with a stack trace
Opened
#185 ID arguments accept 0x10, 1e3, 1.5 and an empty string, and --file drops IDs it cannot read
Opened
#186 Test quak backup end to end against a fake of the Ente HTTP API
Opened
#187 Check quak against a live Ente account
Opened
#194 TODO.md says the cache design waits on sneak's review; that issue is closed
Opened
#196 A network failure is logged and recorded as fetch failed, with the reason dropped
Opened
#197 An album whose folder cannot be made stops the run before the other albums and before failures.json is saved
Opened
#198 ML data that does not decrypt is treated as absent, and the reason is lost
Opened
#199 --verify removes a mismatched original before its replacement has been downloaded
Opened
#200 README: make install needs nix, which the cron section does not say
Opened
#201 1.0: v1.0.0-rc2 is a release candidate
Opened
#205 Names quak builds from server data can be over 255 bytes: backup-metadata album folders, quak get defaults, long extensions in a save path
Opened
#206 The binary make install builds does not retry a connection that fails, or record it as transient
Opened
#210 quak collections hangs with no output on a live account
Opened
#211 Mandatory arguments are positional; quak files with no argument lists every file
Opened
#212 -v/--verbose raises the log level per repeat; -q/--quiet prints only fatal errors
Opened
#217 pulls all collection data when listing files for a single collection
Opened
#218 clip ml metadata embeddings are useless
Opened
#219 Rewrite README.md and the other prose documents sentence by sentence, on Fable
Opened
#222 quak get and quak get-thumb fetch every collection to find one file
Opened
#223 quak helper fix-missing-thumbnails --file fetches every collection to find the files named
Opened
#229 README: five sentences fail the documents gate
Opened
#231 README: one sentence fails the second documents gate