You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Retain Objective-C objects when creating Python wrappers and release them when the Python wrapped is garbage collected. This means that manual retain calls and subsequent release or autorelease calls from Python are no longer needed with very few exceptions, for example when writing implementations of copy that return an existing object. (#256)
Protection was added against a potential race condition when loading methods defined on a superclass. (#473)
A workaround for python/cpython#81061 is now conditionally applied only for the Python versions that require it (Python 3.9 and earlier). (#517)
Backward Incompatible Changes
Manual calls to release or autorelease no longer cause Rubicon to skip releasing an Objective-C object when its Python wrapper is garbage collected. This means that fewer retain than release calls will cause segfaults on garbage collection. Review your code carefully for unbalanced retain and release calls before updating. (#256)
Python 3.8 is no longer a supported platform. (#529)
Documentation
Building Rubicon ObjC's documentation now requires the use of Python 3.12. (#496)