- Always write JSON/YAML metadata even when media download fails
- Handle download errors (e.g. 410 Gone) gracefully in single-photo export instead of crashing
- Retry 410 Gone photo downloads using a URL constructed from
getInfofields (server,originalsecret)
- Add
versionandhelpcommands to help output - Retry transient Flickr API errors ("service not currently available") with backoff, instead of crashing
- Truncate very long slugs to prevent
Errno::ENAMETOOLONGon filenames exceeding 255 bytes
- Add
flickarr version/-v/--versioncommand - Show version header in help output
- Check for gem updates: always on
versionandstatus, periodically (daily) after other commands
- Retry transient network errors (connection reset, timeouts, HTML-instead-of-JSON) up to 3 times with backoff
- Fix crash on photos with partial location data (e.g. coordinates but no locality)
- Fix repo URLs in the gem/gemspec, so that rubygems.org links to the correct place
flickarr init— create config directory and stub config fileflickarr auth— authenticate with Flickr via OAuthflickarr config/flickarr config <key>— show configurationflickarr config:set key=value— set configuration valuesflickarr export/flickarr export:posts— export all posts (photos + videos)flickarr export URL— export a single post by Flickr URLflickarr export:photos— export only photosflickarr export:videos— export only videosflickarr export:sets/flickarr export:albums— export photosets/albumsflickarr export:collections— export collections (groups of albums)flickarr export:profile— export Flickr profile (avatar, metadata, social links)flickarr status— show archive summary with local/upstream countsflickarr open— open archive folder in Finderflickarr path— print archive path (for scripting)flickarr errors— print path to _errors.logflickarr help/-h/--help— show help
- Post/Photo/Video model hierarchy with delegated media behavior
- Full metadata sidecars (JSON + YAML) with EXIF, geo, tags, license, owner, sizes, URLs
- License model mapping Flickr IDs to human-readable names and Creative Commons URLs
- Profile data merged from people.getInfo and profile.getProfile
- Video support with poster frame download
- Fallback to smaller video sizes when original is unavailable on CDN
- Rate limiter (1 req/sec) on all Flickr API calls
- Resume state: saves last page per media type, resumes on next run
- Fast skip: checks file existence from list data before per-post API calls
- Graceful Ctrl+C: saves progress and exits cleanly
- Failed exports logged to _errors.log with post URL and timestamp
--limit Ncounts actual downloads, not skips--overwriteto re-download existing files; default skips them--overwriteonstatusbusts cached upstream totals- Smart URL routing:
export URLauto-detects post, set/album, collection, or profile URLs - Single post/set/collection export by URL
- Client with query object API:
client.photo(id:).info,client.profile(user_id:).info