History

0.9.1 (Unreleased)

  • Fix shared library paths in macOS pyinstaller package + DMG

  • Fix bug resulting in incorrect XMP coordinates for Eastern hemisphere

  • Fix shell autocomplete setup (nt setup shell) for non-Linux platforms

  • Fix Tools > Reset database and add progress spinner

0.9.0 (2026-03-01)

UI:

  • Add details to observation page: identifications, comments, annotations, observation fields, and tags

  • Startup:

    • Add welcome dialog for first launch to show observation download progress

    • Add (optional) locale selection to welcome dialog

    • Improve UI responsiveness and stability while background tasks are running

    • Improve performance of loading observations (both background download and UI updates)

    • Resume previously interrupted observation downloads

  • Menus:

    • Add menu item to open app data/config dir (Tools > Open App Directory)

    • Add menu item to check for newer stable release (Help > Check for Updates)

    • Add menu item to submit a bug report (Help > Bug Report)

  • QoL:

    • Add collapsible side panel for taxonomy search

    • Add icon on thumbnails to indicate pending/unwritten tags available

    • Add colored indicators on thumbnail metadata icons to show specific types of pending metadata changes (taxonomy/observation/geo/embedded tags/sidecar)

    • Update layout and scaling to accommodate smaller screens

    • Default to dark mode

    • Re-read settings.yml if manually changed on disk before opening settings menu

  • Error handling:

    • Add icon and error text tooltip for images + metadata that failed to load (typically corrupt files)

    • Add global error handler hook to show dialog for unhandled exceptions

CLI:

  • Add progress bars for tag and refresh commands

  • Suppress exiv2 warnings about corrupt EXIF thumbnails (except in verbose mode)

Packaging/Setup:

  • Data & dependencies:

    • Include locale data in PyInstaller packages

    • Update packaged taxonomy db with iNaturalist data from March 2026

    • Include database migrations for future SQLite db updates

    • Upgrade to Qt 6.10

  • Artifacts:

    • Build pacman package for Arch Linux

    • Build AppImage package for other Linux distros not covered by other formats (replaces snap package)

    • Include wheel in GitHub release artifacts (for pre-release testing)

    • Automate Windows installer build with Inno Setup (replaces Actual Installer)

  • Packaging bugfixes:

    • Fix an issue recovering from a failed db setup

    • Fix issue with first-time installation on Windows

    • Fix PyPI package with unresolvable constraints when installed with pip

    • Fix Gatekeeper-related issues with macOS DMG image (but may still require manual un-quarantining; see installation guide)

Other Bugfixes:

  • Fix several multithreading issues potentially leading to segfaults

  • Fix cancelling queued background tasks on app exit (observation/taxon/image downloads, etc.)

  • Fix issue with canceling other background tasks when canceling taxonomy load

  • Fix missing common name at root of hierarchical keywords

  • Fix missing subspecies in hierarchical keywords

  • Fix handling malformed file:// URIs where path is parsed as netloc

0.8.1 (2025-01-02)

  • Minor fixes for packaging and first-time setup

0.8.0 (2024-10-10)

UI:

  • Add tab for browsing user’s observations

  • When an observation is selected, show a summary of basic observation details on main screen

  • Display observation count and leaf taxon count on taxon info cards

  • Add support for displaying and searching common names in any language supported by iNaturalist.org

    • Uses the locale setting from settings menu

    • The packaged taxon DB only contains english names, but a full version can be downloaded here

  • Add dialog to prompt for username on first startup

CLI:

  • Split CLI into subcommands:

    • tag: Main tagging features

    • refresh: Refresh tags for previously tagged images

    • setup: install shell completion + taxonomy database

  • Add 3 verbosity levels (nt -v[vv])

  • Update nt tag -p to accept directories and glob patterns

  • Add support for alternate XMP sidecar path format, if it already exists

  • Support selecting a sidecar file directly (instead of via an associated image file)

  • Support selecting any file type with an associated sidecar (e.g., for RAW image files)

    • Works with individual paths or glob patterns, but not for directories

Metadata:

  • Add support for GPS positional accuracy

  • Add support for alternate XMP sidecar path format, if it already exists (basename.ext.xmp instead of basename.xmp)

  • In refresh mode, check for taxonomy changes and update tags with the new taxon (1:1 changes only)

Database:

  • Update packaged taxonomy db with iNaturalist data from June 2024

  • Include data for most commonly observed taxa with PyInstaller packages and platform-specific installers

  • Pre-compute ancestor IDs, child IDs, iconic taxon, observation count, and leaf taxon count based on RG observations from GBIF export

  • Preserve photo order when loading observations from db

  • When updating taxon record from API, don’t overwrite pre-computed stats with null values

  • Add menu button to reset database (Tools > Reset database)

0.7.0 (2022-07-29)

  • Rebuilt UI from scratch using Qt

  • Build local taxon and observation database for partial online access and better performance

  • Build local taxon text search database for fully offline (and much faster) taxon autocomplete

  • Add CLI taxon autocomplete search

  • Add fullscreen image viewer

  • Add full bi-directional conversion between iNat API results and Darwin Core XMP metadata

  • Add recent and favorite image directories

  • Build Windows installer, macOS .dmg, and PyInstaller artifacts for all platforms

  • Add GPS metadata

  • Many performance improvements, bugfixes, etc.

0.6.0 (2021-06-16)

  • Improved image drag-and-drop, and support recursively adding images from subdirectories

  • Initial packaging with PyInstaller

  • Add tab for user-observed taxa

  • CLI improvements and options

  • Add more data models and move these to pyinaturalist

  • Add caching improvements and merge into requests-cache

  • Add progress bar for loading taxon data and images

  • Multithreading for better performance with loading taxon data and images

  • Update to Kivy 2

  • Improvements for docs, CI/project config, bugfixes, etc.

0.5.0 (2020-06-03)

  • Add a full taxon search with filters and search results tab

  • Add tabs for recently viewed, frequently, viewed, and favorite taxa

  • Add context menus for local images

  • Add keyboard shortcuts

  • Add a thumbnail atlas

  • Add a Taxon data model

  • Performance improvements, bugfixes, etc.

0.4.0 (2020-05-25)

  • Add scrollable list of taxon children and ancestors

  • Add caching for API requests and thumbnails

  • UI cleanup, bugfixes, docs

0.3.0 (2020-05-24)

  • Add a taxon info display

  • Add a basic taxon name search with autocomplete

0.2.0 (2020-05-19)

  • Add a basic GUI made with Kivy

0.1.0 (2020-05-14)

  • Initial release; CLI tool with basic tagging functionality