Changelog
v2.3.0v2.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