- Update IVATAR_VERSION from 1.8.0 to 2.0 in config.py
- Update version in setup.cfg from 1.7.0 to 2.0
- Enhanced /deployment/version/ endpoint to include application_version
- Added /version/ alias endpoint for backward compatibility
- Updated OpenTelemetry documentation and configuration
This major version bump reflects the significant improvements made:
- Comprehensive OpenTelemetry instrumentation
- 270x performance improvements in avatar generation
- Enhanced security fixes and UI improvements
- Extensive test coverage and CI/CD enhancements
- Modern Django compatibility and code quality improvements
- Merge all robohash optimization approaches into ivatar/robohash.py
- Remove feature flags and make optimization the default behavior
- Eliminate multiple files (robohash_cached.py, robohash_optimized.py, robohash_fast.py)
- Simplify implementation while maintaining excellent performance
- Focus on result caching for maximum impact with minimal complexity
Performance achievements:
- 3.2x faster robohash generation overall (84ms → 26ms)
- 133x faster with cache hits (0.61ms average)
- 66.7% cache hit rate in typical usage
- Reduced maintenance overhead with single implementation file
- 100% visual compatibility maintained
This consolidation makes robohash optimization the standard behavior
without feature flags, providing significant performance improvements
while keeping the codebase clean and maintainable.
- Add FastRobohash class with result-based caching (3x performance improvement)
- Cache assembled robots by hash signature to avoid expensive regeneration
- Reduce average generation time from ~79ms to ~26ms (3x faster)
- Achieve 117x faster performance with cache hits (0.63ms average)
- Maintain 100% visual compatibility with original robohash implementation
- Update views.py to use fast robohash implementation by default
- Add ROBOHASH_FAST_ENABLED configuration option (default: enabled)
- Implement intelligent cache management with configurable size limits
Performance improvements:
- 3x faster robohash avatar generation overall
- 117x faster with cache hits (66.7% hit rate achieved)
- Reduced server CPU usage and improved scalability
- Better user experience with faster robot avatar loading
- Low memory overhead (caches final results, not individual parts)
This adds support for authenticating with Fedora's OpenID Connect (OIDC) provider.
Existing users will be matched by email address, they should be able to use the new authentication method transparently.
This requires getting a `client_id` and a `client_secret` from Fedora Infra, see `INSTALL.md`.
Signed-off-by: Aurélien Bompard <aurelien@bompard.org>
- Slight reformatting in some parts; Non-functional changes
- ugettext(_lazy) no longer available in Django > 4, changing to
gettext(_lazy)
- Since django-openid-auth doesn't work with Django > 4 yet, we need to
pin this project to Django < 4 until that issue is solved