Skip to content

v2026.4.2

Choose a tag to compare

@jeffdc jeffdc released this 02 Apr 17:51
· 89 commits to main since this release

What's New

  • Fixed the identification tool's Family filter dropping valid results when gall genera are nested under tribes or subfamilies (e.g., filtering by Cynipidae now correctly returns Andricus and Cynips galls)
  • Fixed the About page undercounting gall and host families when intermediate taxonomy ranks exist
  • Fixed family cascade delete to properly find and remove all genera, sections, and intermediates — previously left orphaned records
  • The intermediate delete confirmation modal now accurately describes what will happen (children re-parented) instead of incorrectly saying data will be permanently deleted
  • Fixed the admin host range review page showing blank family names for plants in genera with intermediate parents
  • Fixed the API genus endpoint (/api/v2/genera/:id) returning the wrong taxonomy level as the family when intermediate ranks exist
  • Gall range can now be curated even when hosts have no range data (e.g., genus-level placeholder hosts like "Sanicula sp.")

Technical Changes

  • Added Tree.genus_ids_for_family/1 as a shared recursive CTE helper for walking family→genus through intermediates
  • Removed dead code: Lineage.from_genus/1, Lineage.from_section/2, Tree.list_sections_for_family/1
  • Bumped API version to 1.0.5
  • Genus-level host placeholder spec (matter 53cb)

Full Changelog: v2026.4.1...v2026.4.2