Changelog

v2.3.0
A history of updates, improvements, and fixes to Districtr.

v2.4.0

October 2026

New features

  • Freedom to Vote test in the evaluation panel: scores each plan's seat-vote disproportionality across the two most recent Presidential and Senate elections
  • Adjustable competitiveness band (±2 to ±10 points), with swing and sweep districts highlighted on the map on hover
  • Upload up to 10 CSVs at once, each with its own status card
  • Super Draw break mode: Break moves straight to the next unit you click, while Paint and Erase stay inside the broken unit

UI polish

  • Faster district label placement with no lag while panning; population labels no longer draw under district badges
  • Paint, Erase and Break are disabled while painted districts are hidden, and the Inspector works anywhere on the map in that state
  • Removed the right-click "Break to Blocks" menu; the Break tool covers it
  • Uploader page layout fixes

Reliability and bug fixes

  • Compactness scores (Polsby-Popper, Reock) now use each state's UTM zone instead of a national equal-area projection, matching GerryChain
  • Fixed browser out-of-memory crashes, especially on mobile, when breaking geographies in large states
  • The map no longer stays locked when breaking a geography fails
  • Fixed stats timeouts when two requests rebuild the same plan's stats, and evaluation metrics no longer compute twice under concurrent requests
  • Imported legacy CMS pages with line breaks now open in the page editor

Developer and ops

  • Upgraded to MapLibre GL 6, react-map-gl 8 and PMTiles 4
  • Graphs are npz-only and store all edge data in index space; dropped the unused parentchildedges table
  • Architecture Decision Records in docs/adr/
  • Faster CI, plus CLI typing fixes and tests for 12 previously untested commands

v2.3.0

August 2026

Districtr v2 is now live at districtr.org! The original Districtr remains available at legacy.districtr.org.

New features

  • Map modules for all 52 geographies: 50 states, DC, and Puerto Rico
  • Draw and Super Draw edit modes
  • Continuous choropleth scales for demographic and election shading
  • City boundaries as an optional overlay layer
  • Check for unassigned units while zoomed out
  • Site architecture revamp with a surfaced guide page and contextual help across the map editor

Reliability and bug fixes

  • CSV importer now infers map modules correctly and prefers customizable-district maps
  • Hotkeys no longer allow assigning district 0
  • Fixed a memory issue with voting age population overlays
  • Gentler zoom animations

Security

  • Cloudflare Turnstile integration to protect map creation
  • Completed a security audit

v2.2.6

July 8, 2026

UI polish

  • Population panel scrolls with many districts
  • Users stay on their current tool after break/shatter
  • Draggable toolbar keeps its position across sessions
  • Improved county boundary layer styling and visibility

Reliability and bug fixes

  • District labels now update when erasing disconnected components
  • Fixed local caching when a user's last action is an undo
  • Improved undo/redo interaction with map sync

Developer and ops

  • Production stress-testing harness and fixed a race condition in concurrent map evaluation

v2.2.5

June 30, 2026

New features

  • Export overhaul
  • Simplified CSV and block assignment imports: automatic map inference and string zone label remapping
  • Dedicated manage maps page and better saved maps
  • Improved uploader workflow
  • Navigation and UX enhancements, with user flows centralized on the main site
  • Under-construction page manageable from the CMS

Reliability and bug fixes

  • Undoing a paint on broken geometries now triggers healing correctly

Developer and ops

  • Migrated hosting to AWS with infrastructure as code and automated deploy workflows
  • Daily audits of map graph data completeness
  • New test suites for data pipeline graph transforms
  • Per-PR preview deployments

v2.2.4

June 3, 2026

New features

  • Evaluation view and metrics

Reliability and bug fixes

  • Improved performance identifying unassigned units
  • Optimized assignments format using MessagePack for getting assignments and editing assignments
  • Fixed an issue relating to painting via click after shattering a parent unit

v2.2.3

June 3, 2026

Reliability and bug fixes

  • Hotfix for connection leak

v2.2.2

May 2026

New features

  • Evaluation view backend April

Reliability and bug fixes

  • Limits timeouts on queries
  • Adds Grafana integration
  • Fixes graph memory leak issue

Developer and ops

  • Centralize constants

v2.2.1

April 2026

New features

  • Community of Interest (COI) mapping mode
  • Coalition builder allows users to view stats about combined demographic groups
  • Per-district descriptions and comments on draft plans
  • Public read-only views for shared plans

Reliability and bug fixes

  • Fixed various data integrity edge cases
  • Cleaned up moderation pipeline and implementation for comments

UI polish

  • Save and Revert no longer appear on public views
  • Public plan loads now show a spinner instead of a blank map
  • Improved accessibility for geocode search (keyboard nav, ARIA)
  • Streamlined community-mode UI, create map list dropdown, and display-name editing

Performance

  • Demography updates guard against race conditions on rapid navigation
  • Removed duplicate assignment inserts on no-op saves

Developer and ops

  • Playwright E2E testing harness and VS Code dev containers
  • Pinned dev Docker images, Sentry, and Fly deploy actions
  • Comment-length and count CLI flags now flow through correctly

v2.2.0

January 14, 2026

  • Added changelog page with MDX support
  • Optimized map saving speed for plans with many shattered precinsts

v1.0.0

Initial Release

  • Original Districtr application
  • Basic district mapping functionality
  • Community of interest mapping tools
Copyright 2025, Data and Democracy Lab. All rights reserved.Admin Login