-
-
Notifications
You must be signed in to change notification settings - Fork 53
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
update change notes with migration instructions
- Loading branch information
Showing
2 changed files
with
13 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,10 @@ | ||
Retain Objective-C objects when creating Python wrappers and release them when the | ||
Python wrapped is garbage collected. | ||
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 such as: | ||
|
||
1. When implementing methods like ``copy`` that are supposed to create an object, if | ||
the returned object is not actually newly created. | ||
2. When dealing with side effects of methods like ``init`` that may release an object | ||
which is still referenced from Python. See for example | ||
https://github.com/beeware/toga/issues/2468. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
Rubicon no longer skips releasing an Objective-C objects when its Python wrapped 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. |