How to hook bundle create/read/update/delete events?
So here's the best I can find so far. It's not great.


Create: There's hook_field_attach_create_bundle, but it doesn't automatically get called any time a bundle is created. Seems that every module for every entity with bundles has to call field_attach_create_bundle($entity_type_name, $bundle_type_name); every time a bundle is going to be created/saved, else the hook doesn't know about it. It seems not to do anything except call the hooks - I've seen modules that forget to add this line.
Read: I can't find an equivalent here (no big deal I guess as it's not clear what 'reading' a bundle would mean - accessing info on it?)
Update: The closest I can find is hook_field_attach_rename_bundle. Not great.
Delete: There's hook_field_attach_delete_bundle. Like ..._create, it needs to be called in the code, so some modules' entities might not call it. But it appears that field_attach_delete_bundle() actually handles the deletion of field data, so it's less likely to be forgotten or overlooked.