Ahh, those are both being taken care of! I’ve been diligently keeping the python313 branch up to date with the latest django and python (ok, technically a version behind on both, since there’s some compatibility issues with python 3.14 and django 5 will log everybody out), but I’m been delaying getiting to launched because I know it’ll be painful when I do.
main ← python313
opened 07:45PM - 14 Jan 26 UTC
## Summary
Upgrade NewsBlur from Python 3.9 to Python 3.13 with Django 4.2 LTS, … including comprehensive CI improvements.
## Changes
### Python 3.13 / Django 4.2 Upgrade
- Update base Docker image to Python 3.13.11
- Update dependencies in `config/requirements.txt` for Python 3.13/Django 4.2 compatibility
- Vendor `django-typogrify` to `vendor/typogrify/` (not compatible with Django 4.2)
- Add `DEFAULT_AUTO_FIELD` setting to silence Django warnings
### Test Suite Fixes (436 tests passing)
- Fix parameter mismatches in POST tests (reset_fetch, tagline, story_hash)
- Widen story count assertions for test stability
- Handle MongoEngine map_reduce compatibility issues with newer PyMongo
- Add missing fixture users (popular user for social tests)
- Fix TypeError handling in newsletter and oauth tests
- Remove Twitter tests (API discontinued)
- Fix Facebook disconnect test setup
- Update numpy test for version compatibility
- Remove debug assert in statistics slow view
### CI Improvements
- Add Elasticsearch 8.17.0 support in CI with proper health checks
- Create `docker-compose.ci.yml` overlay to handle ES 8.x permission requirements
- Remove ARM-specific JVM flags (`UseSVE=0`) that broke x86 CI runners
- Add `--keepdb` flag to prevent test database cleanup errors
- Wait for all services (PostgreSQL, MongoDB, Redis, Elasticsearch) before running tests
### Infrastructure
- MongoDB stays at 4.0 (matches production)
- Elasticsearch 8.17.0 with CI-specific data path override
## Test plan
- [x] All 436 tests passing in CI
- [x] Elasticsearch working in CI
- [x] MongoDB 4.0 compatible with production
- [ ] Manual verification of core functionality
---
🤖 Generated with [Claude Code](https://claude.ai/code)
I’ll get that launched soon, I hope.