- Add date_engine utility for parsing exact, range, circa, before, after, and #context dates
- Introduce YearValue and NarratorDate models to index and translate narrator dates
- Add description field to OpinionStatus and TransmitterReliability models
- Register DovodiYearValueViewSet and DovodiBookAuthorRutbaViewSet admin endpoints
- Add parse-preview action for validating and translating date inputs
- Add migration 0055 to populate YearValue and NarratorDate from existing transmitters
- Create ScholarlyOpinion model for standalone reusable scholarly opinions with status and multilingual text
- Add foreign key link from TransmitterOpinion to ScholarlyOpinion with automatic backward sync
- Create data migration 0053 to populate ScholarlyOpinion records from existing transmitter opinions
- Expose DovodiScholarlyOpinionViewSet and register route /dovodi-opinions/ in admin router
- Update TransmitterOpinion serializers and views to prioritize linked ScholarlyOpinion data
- Add GenderChoices (male/female) field to Transmitters model with migration 0052
- Include gender across public and admin transmitter serializers
- Expose gender in TransmittersAdmin filter and list display
- Propagate transmitter gender in HadisCategoryXMindView flowchart payload
- Add split_transmitters_gender management command
- Optimize HadisSyncSerializer: remove unused number, address_details, and book descriptions
- Separate sync serializers for corrections and interpretations (omitting redundant hadis_info and category_info)
- Add HadisDatabaseVersion model and migration for tracking offline SQLite DB
- Add export_hadis_sqlite management command with gzip compression and single-file overwrite
- Add GET /api/hadis/sync/database/ endpoint and enhance version serializers
- Automatically trigger background SQLite database export on version increment in admin
- Return raw, unlocalized translation list in HadisSyncSerializer for Flutter offline multi-language support
- Enable hadis signals in HadisConfig.ready() to load cache invalidation listeners
- Add ContentRelease to TARGET_MODELS and implement invalidate_hadis_cache helper
- Trigger explicit cache invalidation in AdminContentReleaseViewSet upon version increment and CRUD
- Update HadisSyncView swagger documentation example
- Eliminate N+1 queries in hadis serializers by using in-memory prefetch cache instead of .first() and .order_by()
- Add select_related for hadis and category in HadisSyncView prefetches
- Apply cached_view (Redis 2h + Accept-Language) to HadisSyncView and public hadis endpoints
- Enable GZipMiddleware in Django settings to compress large API responses
Replace direct calls to `request.build_absolute_uri` with a centralized
`absolute_https_url` utility across account and hadis modules. This
ensures consistent enforcement of HTTPS for all absolute media URLs
(avatars, thumbnails, and images) in serializers and views.rl
update corrections , interpretations and original text models to connect to new logic of our references models
made a new api for detail pages of these references