- Added support for PEP 465 (__matmul__ and __imatmul__).
- Added support for PEP 492 (__aenter__, __aexit__, __await__, __aiter__
and __anext__).
- Added support for MSVC 2015 to the build system.
- Bug fixes.
v4.16.2 3rd July 2014
- Deprecated the %ConsolidatedModule directive as it won't be supported in
SIP v5.
- Bug fixes.
v4.16.1 9th June 2014
- Bug fixes.
v4.16 26th May 2014
- Added the /NoSetter/ variable annotation.
- Added the -B option to sip.
- Changed the handling of timelines (introducing a potential incompatibility)
so that later versions of wrapped libraries can be wrapped so long as they
are compatible with known versions.
- Added support for the 'no_receiver_check' argument to connect() in PyQt
v4.11.
- Added the --configuration option to configure.py.
- Added the --sysroot option to configure.py.
- Added the --target-py-version option to configure.py.
- Added the --no-tools option to configure.py.
- Added the --use-qmake option to configure.py.
- Bug fixes.
v4.15.5 14th March 2014
- The use_arch argument of sipconfig.create_wrapper() can now specify a space
separated set of architectures.
- Bug fixes.
v4.15.4 8th January 2014
- Added SIP_SSIZE_T_FORMAT to the C API.
- Bug fixes (specifically for PyQt5).
v4.15.3 16th October 2013
- Bug fixes (specifically for PyQtChart).
v4.15.2 14th September 2013
- sipConvertToArray() will now optionally take ownership of the array memory.
- Added support for char, unsigned char, short, int, float and double as
array types.
- Bug fixes.
v4.15.1 23rd August 2013
- Fixes a regression in the handling of hidden virtual methods.
v4.15 21st August 2013
- Added the call_super_init argument to the %Module directive to specify that
classes should support cooperative multi-inheritance.
- Added the %FinalisationCode directive.
- Added the /Mixin/ class annotation.
- Added the /NoScope/ enum annotation.
- Added sipConvertFromNewPyType() to the C API.
- Added sipConvertToArray() and sipConvertToTypedArray() to the C API.
- Added sipRegisterProxyResolver() to the C API.
- Bug fixes.
either because they themselves are not ready or because a
dependency isn't. This is annotated by
PYTHON_VERSIONS_INCOMPATIBLE= 33 # not yet ported as of x.y.z
or
PYTHON_VERSIONS_INCOMPATIBLE= 33 # py-foo, py-bar
respectively, please use the same style for other packages,
and check during updates.
Use versioned_dependencies.mk where applicable.
Use REPLACE_PYTHON instead of handcoded alternatives, where applicable.
Reorder Makefile sections into standard order, where applicable.
Remove PYTHON_VERSIONS_INCLUDE_3X lines since that will be default
with the next commit.
Whitespace cleanups and other nits corrected, where necessary.
This fixes a regression in v4.15 related to the handling of hidden
virtual methods.
(hopefully fixes the build problem with py-qt3 reported by Greg Oster)
v4.14.7 16th June 2013
- The internal API version is increased to 10.0 requiring the regeneration of
all modules.
- Added the /Sequence/ function annotation.
- %ConvertFromTypeCode can now be specified for classes.
- Added sipEnableAutoconversion() to the C API.
- Added sipSetDestroyOnExit() to the C API.
- Bug fixes.
Bump coming (for first point).
* /KeepReference/ can now be applied to global functions and static methods.
* %TypeCode can now be specified in a %MappedType directive.
* Mapped types for templates no longer require the template arguments to be
fully defined.
* Build system changes required by PyQt v4.8 and Qt v4.7.
changes:
added the %UnitPostIncludeCode directive
/KeepReference/ will now accept a key to track when the same object
is passed to more than one method
operator() and __call__() can now accept keyword arguments
added support for Python v3.2
pkgsrc note: runtime API changed, client pkgs need to be rebuilt
v4.10.5 16th July 2010
- A bug fix release for Python v3 and Python v2.7.
v4.10.4 15th July 2010
- Use capsules when being built for Python v2.7 to work around an apparent
bug in the support for PyCObject.
changes: added some methods and options
pkgsrc note: this changes the API revision compiled into
the runtime library, so updates of py-qt* must be enforced
will not be compatible anymore
(noticed by Dennis den Brok, see mail to tech-pkg)
bump the API requirement
being here, update to 4.9.3 which brings another little bugfix
v4.9.1 23rd October 2009
- A bug fix release.
v4.9 26th September 2009
- Added support for __iter__ and __next__. (__next__ is used for Python v2
as well as v3.)
- Added the %API directive.
- Added the /API/ annotation.
- Added sipIsAPIEnabled() to the C API.
- Added sip.getapi() and sip.setapi() to the Python API.
- Added sip.ispyowned() to the Python API.
- Mapped types can now act as a namespace for enums and static methods.
- The /Array/ annotation can now be applied to classes and mapped types.
- The /NoArgParser/ annotation can now be applied to methods as well as
functions.
- Added the --arch flag to configure.py to specify which MacOS/X
architectures are built.
- SIP is now also licensed under the GPL v2 and v3.
* Fixed the reference count handling of a module in the error paths when
initialising it.
* Added support for (vaguely) defining private assignment operators to
suppress the generation of PyQt4 assignment helpers.
* Fixed a regression in the creation of new exceptions.
* Various changes (including bumping the major version number of the C API)
to accomodate the design of the API selection support. The implementation
should not need any further data structure changes.
* Fixed a code generation bug when an /ArraySize/ argument was typedef'ed.
* Fixed sipResolveTypedef().
SIP v4.8 has been released. The highlights of this release include
support for Python v3, the ability to supply alternate super-types
and meta-types for wrapped objects, and documentation built using
Sphinx.
The major new features are:
* support for Python v3
* the %BIGetBufferCode and %BIReleaseBufferCode to
support the buffer interface of Python v3
* the %DefaultMetatype directive and the
/Metatype/ class annotation to allow the
meta-type of a wrapped type to be changed
* the %DefaultSupertype directive and the
/Supertype/ class annotation to allow the
super-type of a wrapped type to be changed
* the sip.simplewrapper type to be used as a
super-type for wrapped types that don't take
part in parent/child relationships
* the %InitialisationCode directive
* the /KeepReference/ argument annotation
* the /Encoding/ argument, function, typedef and
variable annotation
* super() now works as expected with wrapped types
* support for __floordiv__, __ifloordiv__,
__truediv__, __itruediv__ and __index__
* __bool__ is a synonym for __nonzero__
* Sphinx is now used for the documentation
* many additions and deprecations in the API to
eliminate the differences between classes and
mapped types. (See the documentation for the
details.)
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
SIP v4.7.9 has been released.
This is a bug fix release needed to build PyKDE v3.16.2.
SIP v4.7.8 has been released.
* Added the /Deprecated/ class and function annotation (based on
a patch from Lorenzo Berni).
* Templates now support instance variables and enums.
* A Python int object can now be used whenever an enum is expected
without needing to explicitly cast it using the enum's constructor.
The /Constrained/ argument annotation can be used to suppress this
behaviour.
* typedef type names are now used in string representations of
types (e.g. in the names of mapped types) to reflect what the
programmer sees rather than what the compiler sees. The /NoTypeName/
typedef annotation can be used to suppress this behaviour.