Skip to content

Commit 79d3dcf

Browse files
Deprecate PyObjCTools.Signals
1 parent 14d95be commit 79d3dcf

File tree

2 files changed

+107
-4
lines changed

2 files changed

+107
-4
lines changed

docs/changelog.rst

Lines changed: 100 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ An overview of the relevant changes in new, and older, releases.
66
Version 8.0b1
77
-------------
88

9+
* PyObjC 8 only ships with source archives and "univeral2" binary
10+
wheels (Python 3.? and later). There are no longer "x86_64" binary wheels.
11+
912
Backward incompatible changes
1013
.............................
1114

@@ -22,9 +25,40 @@ Backward incompatible changes
2225
due to lack of the required runtime API, and that will now result in a crash
2326
because PyObjC no longer checks for availability of that runtime API.
2427

28+
* #371: Remove manual bindings for a number of old CoreGraphics APIs
29+
30+
The following functions are no longer available:
31+
32+
* ``CGDataProviderCreate``
33+
34+
* ``CGDataProviderCreateDirectAccess``
35+
36+
These functions were removed as a public API in macOS 10.8, but were still
37+
available through PyObjC through old backward compatiblity code. That code has
38+
now been removed.
39+
40+
Upcoming incompatible changes
41+
.............................
42+
43+
* The module :mod:`PyObjCTools.Signals` is deprecated and will be removed
44+
in PyObjC 9.
45+
2546
Other changes
2647
.............
2748

49+
* #374: Use pyupgrade to modernize the code base
50+
51+
Also added to the pre-commit configuration to ensure I don't regress.
52+
53+
* The *AVFoundation* bindings (in ``pyobjc-framework-AVFoundation``) now have
54+
an install dependency on the *CoreAudio* bindings (``pyobjc-framework-CoreAudio``).
55+
56+
This is needed for a new API introduced in macOS 12.
57+
58+
* #371: Link extensions in the Quartz bindings to the Quartz frameworks
59+
60+
A number of C extensions in the Quartz bindings package were not
61+
linked to a framework. Those now link to the Quartz framework.
2862

2963
* Creating protocols that contain methods that have a method signature containing
3064
PyObjC custom type encodings now works (those encodings are translated to
@@ -79,35 +113,89 @@ Other changes
79113
OS release but always uses the actual platform version, even
80114
when Python was compiled using an old SDK.
81115

116+
* Adjusted PyObjC testcases to check for 11.0 instead of 10.16
117+
now that testsupport uses the real platform version.
82118

83-
* Updated framework bindings for Xcode 13 beta 1
84-
85-
[INCOMPLETE]
119+
* Updated framework bindings for Xcode 13 beta 5
86120

87121
New:
88-
- LocalAuthenticationUIView
122+
- AudioVideoBridging (introduced in macOS 10.8)
123+
- DataDetection
124+
- IntentsUI
125+
- LocalAuthenticationEmbeddedUI
126+
- MailKit
127+
- MetricKit
89128
- ShazamKit
90129

91130
Updated:
92131
- iTunesLibrary
132+
- Accessibility
133+
- AddressBook
134+
- AuthenticationServices
135+
- AVFAudio
136+
- AVFoundation
137+
- AVPlayer
93138
- ClassKit
139+
- CloudKit
140+
- Contacts
141+
- CoreAudioTypes
142+
- CoreAudio
143+
- CoreBluetooth
144+
- CoreData
145+
- CoreFoundation
146+
- CoreGraphics
147+
- CoreHaptics
148+
- CoreImage
149+
- CoreMedia
150+
- CoreMediaIO
151+
- CoreMIDI
94152
- CoreSpotlight
153+
- CoreVideo
95154
- CoreWLAN
155+
- EventKit
156+
- FileProvider
157+
- Foundation
158+
- GameController
159+
- GameKit
96160
- ImageIO
97161
- IOSurface
98162
- JavaScriptCore
99163
- LinkPresentation
164+
- MetalPerformanceShaders
165+
- MetalPerformanceShadersGraph
166+
- MLCompute
100167
- ModelIO
168+
- OpenDirectory
101169
- OSLog
170+
- PassKit
171+
- PDFKit
172+
- Photos
102173
- PhotosUI
174+
- QuickLookUI
103175
- ReplayKit
176+
- SceneKit
177+
- SoundAnalysis
178+
- StoreKit
179+
- SystemExtensions
104180
- UniformTypeIdentifiers
181+
- UserNotifications
182+
- VideoToolbox
183+
- Virtualization
184+
- Vision
185+
- WebKit
105186

106187
Unchanged metadata:
107188
- Accounts (The entire framework is deprecated)
189+
- ApplicationServices
190+
- AutomaticAssessmentConfiguration
108191
- CallKit
109192
- Carbon
193+
- CFNetwork
194+
- CoreLocation
110195
- CoreML
196+
- CoreMotion
197+
- CoreServices
198+
- CoreText
111199
- CryptoTokenKit
112200
- DeviceCheck
113201
- FileProviderUI
@@ -116,12 +204,20 @@ Other changes
116204
- LocalAuthentication
117205
- MapKit
118206
- MediaAccessibility
207+
- MediaPlayer
208+
- NetworkExtension
209+
- PencilKit
210+
- QuickLook
211+
- Quartz
212+
- QuartzCore
119213
- QuickLookThumbnailing
120214
- SafariServices
121215
- ServiceManagement
122216
- Speech
123217
- SpriteKit
124218
- SyncServices
219+
- SystemConfiguration
220+
- UserNotificationsUI
125221
- VideoSubscriberAccount
126222

127223

pyobjc-core/Lib/PyObjCTools/Signals.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,16 @@
2323
import os
2424
import signal
2525
import traceback
26+
import warnings
2627

2728
__all__ = ["dumpStackOnFatalSignal", "resetFatalSignals"]
2829

30+
warnings.warn(
31+
"PyObjCTools.Signals is deprecated and will be removed in PyObjC 9",
32+
DeprecationWarning,
33+
)
34+
35+
2936
originalHandlers = None
3037

3138

0 commit comments

Comments
 (0)