Dynamic document expiration based on metadata

We are needing to set expiration dates for various documents (DOT driver reviews, Insurance, Licenses, etc…) and due dates for various documents that need filed (IFTA, IRP, taxes). We would like to be sent reminders that a document is expiring or due one month before, two weeks before, one week before, and daily three days before. Then a document expired or past due message that is persistent daily until transitioned to renewed or filed. I see there is an old plugin in gitlab called version_lifespans, has something like this been built into 4.5? Any help on this is appreciated.

All of this can be achieved using workflows. Version 4.3 added support workflow state escalations/expirations: Version 4.3 — Mayan EDMS 4.5.6 documentation

These can be used to transition a document or as an clock source to create an oscillating workflow to loop events.

Escalations coupled with the workflow user message workflow action provide the elements you need for your use case.

The version_lifespans app was a third party attempt to create document versions that deleted themselves when expired. This too can be achieved using workflows now.