One thing that seems a bit buggy, as far as i can see, is that if you only need the year filter, you need to add an extra exposed filter option to create the exposed form that you subsequently alter.
You also might consider adding a hook_exposed_entity_delete - to do mostly the same as the hook_exposed_views_pre_build - to invalidate cache-tags when a node is deleted.
Thanx - great example!
One thing that seems a bit buggy, as far as i can see, is that if you only need the year filter, you need to add an extra exposed filter option to create the exposed form that you subsequently alter.
You also might consider adding a hook_exposed_entity_delete - to do mostly the same as the hook_exposed_views_pre_build - to invalidate cache-tags when a node is deleted.