v0.77.1
Fix missing search info (activities and more) on macOS 27 and a spurious Photos.app warning on startup.
2026-09-23
Added
- Added new
SearchInfoproperties exposing additional search categories from Photos:times_of_day,week_part,home,areas_of_interest,country_code,region,continent,events,event_performers,event_types,pets,landmarks,sounds,human_actions,document_types, andtrip(Photos 8+), plusday_of_week,age_groups,photographic_style,file_type,captured_by_me,id_document_types, andid_document_names(macOS 27+ only). These are included inSearchInfo.asdict()and, except for the identity document fields, inSearchInfo.all(#2221). - Added search media types for cinematic, long exposure, live depth, and spatial photos (#2221).
Changed
SearchInfo.allandSearchInfo.asdict()(and therefore thesearch_infosection ofPhotoInfo.json()) now include the new search categories listed above.
Removed
Fixed
- Fixed
SearchInfo.activities(and{searchinfo.activity}) always being empty on macOS 27. Theleo.sqlitesearch database uses different category IDs thanpsi.sqlite, and the activity category (along with many others: venue types, venues, events, pets, landmarks, most media types, etc.) was not mapped. All knownleo.sqlitecategories are now mapped to their Photos 8+ equivalents (#2221, thanks @itsluisf for the detailed report and research). - Fixed venue types on macOS 27 being populated with internal Photos placeholder tokens (e.g.
PGPlaceParkSearchableText); these internal keys are now filtered out of search info (#2221). - Fixed spurious
Attempt to load executable of a type that cannot be dynamically loaded for CFBundle ... </System/Applications/Photos.app>warning printed on startup with pyobjc >= 10. Photos.app and Photos.framework share the bundle identifiercom.apple.Photos;photoscriptcompiles atell application "Photos"AppleScript on import, which registers Photos.app under that identifier, so pyobjc then tried to dynamically load the app before falling back to the framework. osxphotos now loads Photos.framework first (#2212, thanks @oPromessa for reporting).
Contributors
- @itsluisf @itsluisf for bug report and research
- @oPromessa @oPromessa for bug report
- @RhetTbull @RhetTbull for code