@@ -3,6 +3,32 @@ Release History
3
3
4
4
.. towncrier release notes start
5
5
6
+ 0.4.3 (2022-12-05)
7
+ ==================
8
+
9
+ Features
10
+ --------
11
+
12
+ * Support for Python 3.11 has been added. (`#224
13
+ <https://github.com/beeware/rubicon-objc/issues/224> `__)
14
+ * Support for Python 3.12 has been added. (`#231
15
+ <https://github.com/beeware/rubicon-objc/issues/231> `__)
16
+
17
+ Bugfixes
18
+ --------
19
+
20
+ * Enforce usage of `argtypes ` when calling `send_super `. (`#220
21
+ <https://github.com/beeware/rubicon-objc/issues/220> `__)
22
+ * The check identifying the architecture on which Rubicon is running has been
23
+ corrected for x86_64 simulators using a recent Python-Apple-support releases.
24
+ (`#235 <https://github.com/beeware/rubicon-objc/issues/235 >`__)
25
+
26
+ Misc
27
+ ----
28
+
29
+ * #227, #228, #229, #232, #233, #234
30
+
31
+
6
32
0.4.2 (2021-11-14)
7
33
------------------
8
34
@@ -11,23 +37,23 @@ Features
11
37
12
38
* Added ``autoreleasepool `` context manager to mimic Objective-C
13
39
``@autoreleasepool `` blocks. (`#213
14
- <https://github.com/beeware/rubicon-objc/issues/213> `_ )
40
+ <https://github.com/beeware/rubicon-objc/issues/213> `__ )
15
41
16
42
* Allow storing Python objects in Objective-C properties declared with
17
43
``@objc_property ``. (`#214
18
- <https://github.com/beeware/rubicon-objc/issues/214> `_ )
44
+ <https://github.com/beeware/rubicon-objc/issues/214> `__ )
19
45
20
46
* Added support for Python 3.10. (`#218
21
- <https://github.com/beeware/rubicon-objc/issues/218> `_ )
47
+ <https://github.com/beeware/rubicon-objc/issues/218> `__ )
22
48
23
49
Bugfixes
24
50
^^^^^^^^
25
51
26
52
* Raise ``TypeError `` when trying to declare a weak property of a non-object
27
- type. (`#215 <https://github.com/beeware/rubicon-objc/issues/215 >`_ )
53
+ type. (`#215 <https://github.com/beeware/rubicon-objc/issues/215 >`__ )
28
54
29
55
* Corrected handling of methods when a class overrides a method defined in a
30
- grandparent. (`#216 <https://github.com/beeware/rubicon-objc/issues/216 >`_ )
56
+ grandparent. (`#216 <https://github.com/beeware/rubicon-objc/issues/216 >`__ )
31
57
32
58
33
59
0.4.1 (2021-07-25)
@@ -37,20 +63,20 @@ Features
37
63
^^^^^^^^
38
64
39
65
* Added official support for Python 3.9. (`#193
40
- <https://github.com/beeware/rubicon-objc/issues/193> `_ )
66
+ <https://github.com/beeware/rubicon-objc/issues/193> `__ )
41
67
42
68
* Added official support for macOS 11 (Big Sur). (`#195
43
- <https://github.com/beeware/rubicon-objc/issues/195> `_ )
69
+ <https://github.com/beeware/rubicon-objc/issues/195> `__ )
44
70
45
71
* Autorelease Objective-C instances when the corresponding Python instance is
46
- destroyed. (`#200 <https://github.com/beeware/rubicon-objc/issues/200 >`_ )
72
+ destroyed. (`#200 <https://github.com/beeware/rubicon-objc/issues/200 >`__ )
47
73
48
74
* Improved memory management when a Python instance is assigned to a new
49
75
``ObjCInstance `` attribute. (`#209
50
- <https://github.com/beeware/rubicon-objc/issues/209> `_ )
76
+ <https://github.com/beeware/rubicon-objc/issues/209> `__ )
51
77
52
78
* Added support to declare weak properties on custom Objective-C classes. (`#210
53
- <https://github.com/beeware/rubicon-objc/issues/210> `_ )
79
+ <https://github.com/beeware/rubicon-objc/issues/210> `__ )
54
80
55
81
Bugfixes
56
82
^^^^^^^^
@@ -59,25 +85,25 @@ Bugfixes
59
85
create a block with no arguments and using explicit types. This previously
60
86
caused an incorrect exception about missing argument types; now a no-arg block
61
87
is created as expected. (`#153
62
- <https://github.com/beeware/rubicon-objc/issues/153> `_ )
88
+ <https://github.com/beeware/rubicon-objc/issues/153> `__ )
63
89
64
90
* Fixed handling of type annotations when passing a bound Python method into
65
91
:class: `~rubicon.objc.api.Block `. (`#153
66
- <https://github.com/beeware/rubicon-objc/issues/153> `_ )
92
+ <https://github.com/beeware/rubicon-objc/issues/153> `__ )
67
93
68
94
* A cooperative entry point for starting event loop has been added. This corrects
69
95
a problem seen when using Python 3.8 on iOS. (`#182
70
- <https://github.com/beeware/rubicon-objc/issues/182> `_ )
96
+ <https://github.com/beeware/rubicon-objc/issues/182> `__ )
71
97
72
98
* Improved performance of Objective-C method calls and
73
99
:class: `~rubicon.objc.api.ObjCInstance ` creation in many cases. (`#183
74
- <https://github.com/beeware/rubicon-objc/issues/183> `_ )
100
+ <https://github.com/beeware/rubicon-objc/issues/183> `__ )
75
101
76
102
* Fix calling of signal handlers added to the asyncio loop with CFRunLoop
77
- integration. (`#202 <https://github.com/beeware/rubicon-objc/issues/202 >`_ )
103
+ integration. (`#202 <https://github.com/beeware/rubicon-objc/issues/202 >`__ )
78
104
79
105
* Allow restarting a stopped event loop. (`#205
80
- <https://github.com/beeware/rubicon-objc/issues/205> `_ )
106
+ <https://github.com/beeware/rubicon-objc/issues/205> `__ )
81
107
82
108
Deprecations and Removals
83
109
^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -101,7 +127,7 @@ Deprecations and Removals
101
127
an Objective-C collection as Python values, you can use
102
128
:func: `~rubicon.objc.api.py_from_ns ` to convert either single values (e. g.
103
129
``py_from_ns(arr[0]) ``) or the entire collection (e. g. ``py_from_ns(arr) ``).
104
- (`#183 <https://github.com/beeware/rubicon-objc/issues/183 >`_ )
130
+ (`#183 <https://github.com/beeware/rubicon-objc/issues/183 >`__ )
105
131
106
132
* Removed macOS 10.12 through 10.14 from our automatic test matrix,
107
133
due to pricing changes in one of our CI services (Travis CI).
@@ -114,7 +140,7 @@ Deprecations and Removals
114
140
basis, even though compatibility is no longer tested automatically. If you
115
141
encounter any bugs or other problems with Rubicon on these older macOS
116
142
versions, please report them! (`#197
117
- <https://github.com/beeware/rubicon-objc/issues/197> `_ )
143
+ <https://github.com/beeware/rubicon-objc/issues/197> `__ )
118
144
119
145
Misc
120
146
^^^^
@@ -133,66 +159,66 @@ Features
133
159
^^^^^^^^
134
160
135
161
* Added macOS 10.15 (Catalina) to the test matrix.
136
- (`#145 <https://github.com/beeware/rubicon-objc/issues/145 >`_ )
162
+ (`#145 <https://github.com/beeware/rubicon-objc/issues/145 >`__ )
137
163
* Added :pep: `517 ` and :pep: `518 ` build system metadata to pyproject.toml.
138
- (`#156 <https://github.com/beeware/rubicon-objc/issues/156 >`_ )
164
+ (`#156 <https://github.com/beeware/rubicon-objc/issues/156 >`__ )
139
165
* Added official support for Python 3.8.
140
- (`#162 <https://github.com/beeware/rubicon-objc/issues/162 >`_ )
166
+ (`#162 <https://github.com/beeware/rubicon-objc/issues/162 >`__ )
141
167
* Added a ``varargs `` keyword argument to
142
168
:func: `~rubicon.objc.runtime.send_message ` to allow calling variadic methods
143
- more safely. (`#174 <https://github.com/beeware/rubicon-objc/issues/174 >`_ )
169
+ more safely. (`#174 <https://github.com/beeware/rubicon-objc/issues/174 >`__ )
144
170
* Changed ``ObjCMethod `` to call methods using
145
171
:func: `~rubicon.objc.runtime.send_message ` instead of calling
146
172
:class: `~rubicon.objc.runtime.IMP `\s directly. This is mainly an internal
147
173
change and should not affect most existing code, although it may improve
148
174
compatibility with Objective-C code that makes heavy use of runtime
149
175
reflection and method manipulation (such as swizzling).
150
- (`#177 <https://github.com/beeware/rubicon-objc/issues/177 >`_ )
176
+ (`#177 <https://github.com/beeware/rubicon-objc/issues/177 >`__ )
151
177
152
178
Bugfixes
153
179
^^^^^^^^
154
180
155
181
* Fixed Objective-C method calls in "flat" syntax accepting more arguments than
156
182
the method has. The extra arguments were previously silently ignored.
157
183
An exception is now raised if too many arguments are passed.
158
- (`#123 <https://github.com/beeware/rubicon-objc/issues/123 >`_ )
184
+ (`#123 <https://github.com/beeware/rubicon-objc/issues/123 >`__ )
159
185
* Fixed :func: `ObjCInstance.__str__ <rubicon.objc.api.ObjCInstance.__str__> `
160
186
throwing an exception if the object's Objective-C ``description `` is ``nil ``.
161
- (`#125 <https://github.com/beeware/rubicon-objc/issues/125 >`_ )
187
+ (`#125 <https://github.com/beeware/rubicon-objc/issues/125 >`__ )
162
188
* Corrected a slow memory leak caused every time an asyncio timed event handler
163
- triggered. (`#146 <https://github.com/beeware/rubicon-objc/issues/146 >`_ )
189
+ triggered. (`#146 <https://github.com/beeware/rubicon-objc/issues/146 >`__ )
164
190
* Fixed various minor issues in the build and packaging metadata.
165
- (`#156 <https://github.com/beeware/rubicon-objc/issues/156 >`_ )
191
+ (`#156 <https://github.com/beeware/rubicon-objc/issues/156 >`__ )
166
192
* Removed unit test that attempted to pass a struct with bit fields into a C
167
193
function by value. Although this has worked in the past on x86 and x86_64,
168
194
:mod: `ctypes ` never officially supported this, and started generating an
169
195
error in Python 3.7.6 and 3.8.1
170
- (see `bpo-39295 <https://bugs.python.org/issue39295 >`_ ).
171
- (`#157 <https://github.com/beeware/rubicon-objc/issues/157 >`_ )
196
+ (see `bpo-39295 <https://bugs.python.org/issue39295 >`__ ).
197
+ (`#157 <https://github.com/beeware/rubicon-objc/issues/157 >`__ )
172
198
* Corrected the invocation of ``NSApplication.terminate() `` when the
173
199
:class: `~rubicon.objc.eventloop.CocoaLifecycle ` is ended.
174
- (`#170 <https://github.com/beeware/rubicon-objc/issues/170 >`_ )
200
+ (`#170 <https://github.com/beeware/rubicon-objc/issues/170 >`__ )
175
201
* Fixed :func: `~rubicon.objc.runtime.send_message ` not accepting
176
202
:class: `~rubicon.objc.runtime.SEL ` objects for the ``selector `` parameter.
177
203
The documentation stated that this is allowed, but actually doing so caused
178
- a type error. (`#177 <https://github.com/beeware/rubicon-objc/issues/177 >`_ )
204
+ a type error. (`#177 <https://github.com/beeware/rubicon-objc/issues/177 >`__ )
179
205
180
206
Improved Documentation
181
207
^^^^^^^^^^^^^^^^^^^^^^
182
208
183
209
* Added detailed :doc: `reference documentation </reference/index >` for all
184
210
public APIs of :mod: `rubicon.objc `.
185
- (`#118 <https://github.com/beeware/rubicon-objc/issues/118 >`_ )
211
+ (`#118 <https://github.com/beeware/rubicon-objc/issues/118 >`__ )
186
212
* Added a :doc: `how-to guide for calling regular C functions
187
213
</how-to/c-functions>` using :mod: `ctypes ` and :mod: `rubicon.objc `.
188
- (`#147 <https://github.com/beeware/rubicon-objc/issues/147 >`_ )
214
+ (`#147 <https://github.com/beeware/rubicon-objc/issues/147 >`__ )
189
215
190
216
Deprecations and Removals
191
217
^^^^^^^^^^^^^^^^^^^^^^^^^
192
218
193
219
* Removed the i386 architecture from the test matrix. It is still supported on
194
220
a best-effort basis, but compatibility is not tested automatically.
195
- (`#139 <https://github.com/beeware/rubicon-objc/issues/139 >`_ )
221
+ (`#139 <https://github.com/beeware/rubicon-objc/issues/139 >`__ )
196
222
* Tightened the API of :func: `~rubicon.objc.runtime.send_message `, removing
197
223
some previously allowed shortcuts and features that were rarely used, or
198
224
likely to be used by accident in an unsafe way.
@@ -240,16 +266,16 @@ Deprecations and Removals
240
266
arguments now has to exactly match the number of ``argtypes ``. Variadic
241
267
methods can still be called, but the varargs now need to be passed as a list
242
268
into the separate ``varargs `` keyword arugment.
243
- (`#174 <https://github.com/beeware/rubicon-objc/issues/174 >`_ )
269
+ (`#174 <https://github.com/beeware/rubicon-objc/issues/174 >`__ )
244
270
* Removed the ``rubicon.objc.core_foundation `` module. This was an internal
245
271
module with few remaining contents and should not have any external uses. If
246
272
you need to call Core Foundation functions in your code, please load the
247
273
framework yourself using ``load_library('CoreFoundation') `` and define the
248
274
types and functions that you need.
249
- (`#175 <https://github.com/beeware/rubicon-objc/issues/175 >`_ )
275
+ (`#175 <https://github.com/beeware/rubicon-objc/issues/175 >`__ )
250
276
* Removed the ``ObjCMethod `` class from the public API, as there was no good
251
277
way to use it from external code.
252
- (`#177 <https://github.com/beeware/rubicon-objc/issues/177 >`_ )
278
+ (`#177 <https://github.com/beeware/rubicon-objc/issues/177 >`__ )
253
279
254
280
Misc
255
281
^^^^
0 commit comments