- Convert birth_year_hijri and death_year_hijri to CharField and add age_at_death
- Introduce BookAuthorDate model linking BookAuthor with parsed YearValue records
- Add sync_author_dates and date formatting methods to BookAuthor
- Support century filtering via YearValue min/max ranges and prefetch author dates
- Expose live preview fields and canonical date validation in AdminBookAuthorSerializer
- Add migration 0056 to convert fields and populate BookAuthorDate records
- Introduce BookAuthorRutba model with title, slug, color, and description
- Link BookAuthor to BookAuthorRutba via rutba_status foreign key
- Update reference admin to manage BookAuthorRutba and assign rutba status
- Include rutba_detail in BookAuthorDetailSerializer and BookAuthorSyncSerializer
- Add migration 0054 to seed rutba records from existing authors
- Add utils/search_parser.py providing query parsing and Django Q construction for exact phrases, mandatory inclusions (+), excluded negations (-), and grouped OR conditions (()).
- Add auto-balancing and sanitization for unclosed quotes and parentheses.
- Seamlessly integrate all operator terms with Arabic and Persian search normalization.
- Update search querysets across Hadis, Transmitters, Book References, and Categories views.
- Add utils/text_normalizer.py providing robust Arabic and Persian orthographic normalization (diacritics/tashkeel removal, unification of Alef variants, Yeh/Alef Maksura, Kaf, Teh Marbuta, Waw Hamza, Tatweel, and digit normalization).
- Implement recursive text extraction from multilingual JSON structures and models.
- Add normalized_text shadow column across Hadis, HadisCorrection, HadisInterpretation, Transmitters, BookReference, and HadisCategory models with automated save-time synchronization.
- Apply database migrations (0048 and 0049).
- Add populate_normalized_search management command for backfilling existing records.
- Update search querysets in hadis, transmitter, book reference, and category views to filter using normalized text queries.
- Add comprehensive documentation in docs/ARABIC_SEARCH_NORMALIZATION_GUIDE.md.
update former serializers to be synced with new changes
create a new v2 api for new structure and lates changes of references page
new populated script added and run in commands