-----------
* The project has moved from Bitbucket to Github
* Remove most remnants of Python 2 support
* Clean up code quality issues found using flake8
* Add pre-commit hook to run black on all Python code.
* :issue:`290`: Fix protocol conformance testing when explicitly implementing a protocol
Before this bugfix a class explicitly conforming to a protocol could not
implement any method that wasn't declared in the protocol, the bridge would
erroneously raise an exception when checking the additional method.
Issue reported by Georg Seifert.
* :issue:`289`: Fix Python 3 issues in ``PyObjCTools.Conversion``
Reported by vinolin asokan.
* ``PyObjCTools.Conversio.propertyListFromPythonCollection`` didn't
recursively convert members of lists and tuples.
* ``PyObjCTools.Conversio.propertyListFromPythonCollection`` and
``PyObjCTools.Conversio.pythonCollectionFromPropertyList`` now
support sets.
* Update metadata for Xcode 11.4 (beta 2)
* Added bindings for framework ``AutomaticAssessmentConfiguration.framework``
introduced in macOS 10.15.4
* :issue:`298`: In some cases the compiler uses the type encoding "^{NSObject=}"
instead of "".
Reported by Georg Seifert.
* :issue:`264`: Added bindings for the Metal framework (new in macOS 10.11)
* Most framework bindings now use the limited ABI for the included C extensions,
reducing the number of wheels that are needed. The exception are
the bindings for Cocoa, Quartz and libdispatch, those use functionality not
available in the limited ABI.
The bridge itself (pyobjc-core) still uses the full CPython API.
The CoreAudio bindings also don't use the limited ABI for now, those
need more work to work with that ABI.