v5.0.0
Tasking Manager v5.0 – FastAPI, Performance & More ⏩
We’re excited to announce the release of Tasking Manager v5.0, a major upgrade that modernizes the foundation of the platform. The highlight of this release is the migration to FastAPI, replacing the older Flask-based backend.
This migration was a big lift and it brings a more performant architecture to Tasking Manager, setting the stage for future innovation and scalability. Alongside it, we’ve fixed bugs, improved error handling, updated frontend components, and enhanced the CI/CD and infrastructure layers.
To validate the improvements, we ran a 5-minute load test comparing the legacy Flask API with the new FastAPI setup. Here’s what we found:
🟢 Requests handled:
~3,000 via Flask → ~7,500 via FastAPI
→ That’s 2.5x more capacity in the same time window.
🟢 Response time:
FastAPI cut the average response time nearly in half, and maintained much more stable performance throughout the test.
🟢 Success rate:
FastAPI retained a near-perfect success rate under higher load.
Big shoutout to @prabinoid and @kaditya97 for leading this work and the whole team for their contributions! 🙌
A huge thanks to @robsavoye @eternaltyro @spwoodcock @mahesh-naxa @nischalstha9 @royallsilwallz @dakotabenjamin @manjitapandey @petya-kangalova @LeenDhondt @kshitijrajsharma @omranlm @emi420 @RAytoun @SColchester @martien-176 @nicolelaine @adiatmad @Pseudorandom-Pseudonym and all amazing volunteers who made this possible 💪🌍
What’s Changed in v5.0.0
⚙️ Backend Enhancements & Refactors
- FastAPI migration and improvements
- Tasking Manager FastAPI Implementation #6649
- Rework with banner exception response, editor fixes, and migration setup #6791
- Fix crash when country field is missing in API #6768
- Set country info using WKB centroid #6745
- Organisation made optional in Project DTO #6758
- Update task stats project dict to record object #6797
- Exception and error handling improvements
- Query and permission fixes
- Misc backend updates
🧪 Dev & CI/CD Improvements
- Refactor CI for new infrastructure #6782
- Add Terragrunt multi-module setup #6776
- Add develop environment for Terragrunt config #6787
- Freeze versioning in infra modules #6788
- Lowercase default tags in Terragrunt config #6796
🖼️ Frontend & UI Updates
- Persist Grid/List toggle through route URL in Projects page #6779
- Fix: error message display on Create Project page #6799
- Remove client_secret from OSM auth config #6794
📝 Content, Config & Cleanup
- Team role name in summary, TTL set for stats cache #6746
- Organisation list sorted by name, org/team fetch by slug #6781
- Update example env, Docker compose includes frontend, Sentry DNS optional #6783
- Fix over-indent check in pre-commit #6778
⬆️ Dependency Updates