You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
363 lines
16 KiB
363 lines
16 KiB
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. |
|
|
|
v4.10.3 12th July 2010 |
|
- Added support for Q_SLOT, Q_SLOTS, Q_SIGNAL and Q_SIGNALS. |
|
- Added the /__len__/ function annotation. |
|
|
|
v4.10.2 16th April 2010 |
|
- A bug fix release. |
|
|
|
v4.10.1 17th March 2010 |
|
- Added the /NoCopy/ function and argument annotations. |
|
|
|
v4.10 14th January 2010 |
|
- Added the sip.voidptr.ascapsule() method. |
|
- Added the -P command line option to build modules with "protected" |
|
redefined to "public" if supported by the platform. This can result in |
|
significantly smaller modules. |
|
- Added the -o command line option to automatically generate docstrings. |
|
- Added the -k command line option and /KeywordArgs/ and /NoKeywordArgs/ |
|
function annotations to support keyword arguments. |
|
- Added the /Default/ exception annotation. |
|
- Added the /DocType/ argument, function, mapped type and variable |
|
annotation. |
|
- Added the /DocValue/ argument annotation. |
|
- Added the %Docstring directive to specify explicit docstrings for classes, |
|
functions and methods. |
|
- Added sipError to %MethodCode to allow user errors to be distinguished from |
|
interpreter errors. |
|
- Added sipBadCallableArg() to the C API. |
|
- Added support for configuring and building outside of the source tree. |
|
|
|
v4.9.3 23rd November 2009 |
|
- A bug fix release. |
|
|
|
v4.9.2 20th November 2009 |
|
- A bug fix release. |
|
|
|
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. |
|
|
|
v4.8.2 27th July 2009 |
|
- Added the /AllowNone/ class annotation. |
|
|
|
v4.8.1 16th June 2009 |
|
- Added support for defining a private assignment operator to suppress the |
|
possible generation of an assignment helper. |
|
|
|
v4.8 5th June 2009 |
|
- Added support for Python v3. |
|
- Added the %BIGetBufferCode and %BIReleaseBufferCode to support the buffer |
|
interface of Python v3. |
|
- Added the %DefaultMetatype directive and the /Metatype/ class annotation to |
|
allow the meta-type of a wrapped type to be changed. |
|
- Added the %DefaultSupertype directive and the /Supertype/ class annotation |
|
to allow the super-type of a wrapped type to be changed. |
|
- Added the sip.simplewrapper type to be used as a super-type for wrapped |
|
types that don't take part in parent/child relationships. |
|
- Added the %InitialisationCode directive. |
|
- Added the /KeepReference/ argument annotation. |
|
- Added the /Encoding/ argument, function, typedef and variable annotation. |
|
- super() now works as expected with wrapped types. |
|
- Added 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.) |
|
|
|
v4.7.9 17th November 2008 |
|
- A bug fix release. |
|
|
|
v4.7.8 8th November 2008 |
|
- 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. |
|
|
|
v4.7.7 8th August 2008 |
|
- C++ structs are now properly handled as a class with a default public |
|
section. |
|
- sip.dump() now includes the object's first child wrapper. |
|
|
|
v4.7.6 20th May 2008 |
|
- Added the -s flag to configure.py to specify the SDK directory to use when |
|
building universal binaries on MacOS/X. |
|
- Added support for MSVC 2008 to the build system. |
|
- Added support for v10.x of the Intel compiler and removed support for |
|
earlier versions. |
|
- MSVC 2008 is the default platform when using Python v2.6. |
|
|
|
v4.7.5 13th May 2008 |
|
- The sip.voidptr type has an optional size associated with it and supports |
|
const void *. If a size is associated then it also supports Python's |
|
buffer protocol. |
|
- Added sipConvertToVoidPtr() to the SIP API. |
|
- Added sipConvertFromConstVoidPtr(), sipConvertFromConstVoidPtrAndSize(), |
|
sipConvertFromVoidPtr() and sipConvertFromVoidPtrAndSize() to the SIP API. |
|
- Added the /ResultSize/ argument annotation to specify the size of a block |
|
of memory returned as a void * or const void *. |
|
- Added the /NoArgParser/ function annotation to give %MethodCode complete |
|
responsibility for argument parsing. |
|
- Added the /NoRelease/ mapped type annotation to specify that the |
|
sipReleaseMappedType() function is not supported. |
|
- The /ArraySize/ annotation now supports arrays with more than 2^31 |
|
elements. |
|
- %GetCode and %SetCode for class attributes now have access to the |
|
referencing type object. |
|
- Any object that supports the Python buffer protocol can now be passed as a |
|
char or char * argument. |
|
|
|
v4.7.4 12th February 2008 |
|
- The build system handles the directory structure used by Leopard's Python |
|
installation. |
|
- Added support for /Transfer/ as a constructor annotation. |
|
|
|
v4.7.3 6th December 2007 |
|
- Added support for automatically generating missing complementary |
|
comparision operators. Note that this introduces a potential compatibility |
|
problem - see the documentation for details. |
|
|
|
v4.7.2 5th December 2007 |
|
- Added the /SingleShot/ argument annotation. |
|
- Added the /TransferThis/ function annotation. |
|
|
|
v4.7.1 28th September 2007 |
|
- A bug fix release. |
|
|
|
v4.7 30th July 2007 |
|
- Added %PickleCode to allow handwritten code to pickle a wrapped C++ |
|
instance or C structure. |
|
- Added %CompositeModule to create modules that are composites of ordinary |
|
modules. |
|
- Added %ConsolidatedModule (and the -p command line option) to create |
|
modules that contain all the wrapper code on behalf of ordinary modules. |
|
- Added the dump() function to the sip module. |
|
- Added sipTransferBreak() to the SIP API. |
|
- Added support for /Transfer/ as a function annotation. |
|
|
|
v4.6 10th April 2007 |
|
- Added support for wchar_t. |
|
- The -g command line option releases the GIL whenever a call is made to the |
|
wrapped library. |
|
- Added the /HoldGIL/ annotation to explicitly retain the GIL when calling a |
|
particular function in the wrapped library. |
|
- Added sipFindClass() and sipFindNamedEnum() to the public API. |
|
- /TransferThis/ may be specified more than once. |
|
- Added support for __truediv__ and __itruediv__. |
|
- The SIP code generator and module may be built as universal binaries under |
|
MacOS/X using the -n command line option to configure.py. |
|
|
|
v4.5.2 9th December 2006 |
|
- A bug fix release. |
|
|
|
v4.5.1 9th December 2006 |
|
- Added the SIP_SSIZE_T type to help write PEP 353 compliant handwritten |
|
code. |
|
|
|
v4.5 4th November 2006 |
|
- Added support for Python v2.5. |
|
- Added sip_config_args to sipconfig.py. |
|
- sip.voidptr now implements __hex__(). |
|
- Added sip.delete() to call a C++ instance's destructor, or return a C |
|
structure to the heap. |
|
- Added sip.isdeleted() to check if a C++ instance or C structure has been |
|
destroyed or returned to the heap. |
|
- Added sip.setdeleted() to mark that a C++ instance or C structure has been |
|
destroyed or returned to the heap. |
|
- Added support for pure virtual destructors. |
|
- Added the __dtor__() method to allow Python code to be called from a C++ |
|
destructor. |
|
- Added the /NoDefaultCtors/ class annotation. |
|
- The generated API files are now more complete and use Python types rather |
|
than C/C++ types. |
|
- Added support for embedding manifests for MSVC 2005. |
|
|
|
v4.4.5 10th June 2006 |
|
- A bug fix release. |
|
|
|
v4.4.4 8th June 2006 |
|
- Added %ExportedHeaderCode and %UnitCode. |
|
- Added sipExportSymbol() and sipImportSymbol() to the public API. |
|
|
|
v4.4.3 27th April 2006 |
|
- A bug fix release. |
|
|
|
v4.4.2 23rd April 2006 |
|
- A bug fix release. |
|
|
|
v4.4.1 3rd April 2006 |
|
- A bug fix release. |
|
|
|
v4.4 24th March 2006 |
|
- The major number of the internal API has changed so it will be necessary |
|
to regenerate all modules. |
|
- This release introduces small incompatibilities that may affect handwritten |
|
code. See the documentation for the details. |
|
- Module names specified with %Module and %CModule can now include periods to |
|
denote a Python package structure. |
|
- Namespaces can be split across multiple Python modules. |
|
- Class templates are now supported and instantiated using "typedef". |
|
- Mapped type templates are now supported and instantiated automatically. |
|
- Global operators are now supported. |
|
- Operator casts in classes are now supported. |
|
- C/C++ signed char type is now treated as a separate type to char. |
|
- C/C++ long and unsigned long types are now wrapped as Python long objects |
|
rather than Python integer objects. |
|
- C/C++ long long and unsigned long long types are now supported. |
|
- unsigned short and unsigned int are now implemented as long objects instead |
|
of integer objects. |
|
- Classes can now be declared using the /External/ annotation and be defined |
|
in another, unspecified, module. |
|
- /TransferThis/ can now be used in non-factory methods to change the |
|
ownership to a different C++ instance or to change it to Python. |
|
- /Constrained/ can now be used with booleans. |
|
- Added support for Python's buffer interface, %BIGetCharBufferCode, |
|
%BIGetReadBufferCode, %BIGetSegCountCode and %BIGetWriteBufferCode. |
|
- The "user" member has been added to the sipWrapper structure and can be |
|
used for any purpose by handwritten code. |
|
- Function argument names are now parsed, but otherwise ignored. |
|
- The "explicit" keyword is now parsed, but otherwise ignored. |
|
- Added the /DelayDtor/ class annotation which given more control over the |
|
order in which instances are deleted when an application terminates. |
|
- Added support for the SIP_PYTYPE pseudo-type that represents a Python |
|
type object. |
|
- Added support for ellipsis (ie. "...") in function arguments. Any |
|
remaining arguments will be gathered as a Python tuple. |
|
- Add support for the /NoDerived/ annotation for Python class constructors |
|
that have no C/C++ equivalent. |
|
- The sipSelfWasArg boolean is now available to the %MethodCode of |
|
non-abstract, virtual methods to indicate whether the class implementation |
|
of the method rather than the virtual implementation should be called. |
|
%MethodCode for non-abstract, virtual, protected methods must now call the |
|
sipProtectVirt wrapper (rather than sipProtect). |
|
- sipCanConvertToInstance(), sipConvertToInstance(), |
|
sipForceConvertToInstance(), sipReleaseInstance(), |
|
sipConvertFromInstance(), sipConvertFromNewInstance(), |
|
sipCanConvertToMappedType(), sipConvertToMappedType(), |
|
sipForceConvertToMappedType(), sipReleaseMappedType(), |
|
sipConvertFromMappedType() and sipFindMappedType() have been added to the |
|
SIP API. |
|
- sipLong_AsUnsignedLong() has been added, primarily as a workaround for a |
|
bug in Python v2.3.x and earlier. |
|
- Added the 't', 'u', 'C' and 'D' format characters to sipParseResult(). |
|
- Added the 't', 'u', 'B', 'C' and 'D' format characters to sipBuildResult(). |
|
- Responsibility for interpreting and implementing the /Transfer/ and |
|
/TransferBack/ annotations has been pushed down to %ConvertToTypeCode and |
|
%ConvertFromTypeCode. The generated type convertors sipForceConvertTo_*() |
|
and sipConvertFrom_*() have been deprecated. |
|
- Added the %SIPNoEmitters directive for PyQt4. |
|
- Added support for the __hash__ Python special method. |
|
- The __getitem__ Python special method no longer requires %MethodCode. |
|
- All of the calls to Qt have been moved out of the sip module and into PyQt. |
|
The generated sipconfig.py file no longer contains any Qt specific |
|
information. These changes mean that SIP can support PyQt v3 and v4 at the |
|
same time. |
|
- Static methods can now be defined as Qt slots. |
|
- Removed SIP_BUILD from sip.h. |
|
- The -c, -l, -q and -x flags to configure.py have been removed. |
|
- Added the PythonModuleMakefile class to the build system for installing |
|
pure Python modules. |
|
- Added the create_wrapper() function to the build system for creating |
|
platform dependent executable wrappers for Python scripts. |
|
- Added Configuration.platform to the build system. |
|
|
|
v4.3.2 14th November 2005 |
|
- The sipdistutils.py script has contributed by Giovanni Bajo that enables |
|
SIP extension modules to be built with distutils. |
|
|
|
v4.3.1 10th September 2005 |
|
- A bug fix release. |
|
|
|
v4.3 30th August 2005 |
|
- The major number of the internal API has changed so it will be necessary |
|
to regenerate all modules. |
|
- C structures can now have constructors and a destructor defined so that |
|
they can be made to behave more Pythonically. |
|
- %TypeHeaderCode can now be used in namespaces. |
|
- Added sip.SIP_VERSION_STR. |
|
- Added support for Python's cyclic garbage collector, %GCTraverseCode and |
|
%GCClearCode. |
|
- Deprecated sipTransfer() and sip.transfer(). |
|
- Added sipTransferTo, sipTransferBack(), sip.transferto() and |
|
sip.transferback(). |
|
- Added support for sipCppRet in %ConvertSubClassCode. |
|
- Added support for %GetCode and %SetCode for instance variables and |
|
structure members. |
|
- Added support for %Exception and %RaiseCode. |
|
- Added support for __pos__ and __abs__. |
|
- sip.voidptr instances can now be created from Python. |
|
- The ascobject() method has been added to sip.voidptr. |
|
- Added the -c flag to configure.py to explicitly specify the location of |
|
the qconfig.h file. |
|
|
|
v4.2.1 6th March 2005 |
|
- Restored the pre-4.2 behaviour of Python exceptions raised in virtual |
|
re-implementations. |
|
- %Timeline can now be used more than once in a module. |
|
|
|
v4.2 19th February 2005 |
|
- The /PyName/ annotation can now be applied to classes, namespaces, |
|
enums, enum members and variables. |
|
- Added the %PreInitialisationCode directive and is subject to version |
|
control. %PostInitialisationCode is now subject to version control. |
|
- Named enums now have distinct types and so can be differentiated from |
|
integers in function signatures. |
|
- The handling of Qt signals has changed so that "foreign" signals (ie. |
|
those raised by ActiveX controls) can be handled. |
|
- The voidptr, wrapper and wrappertype types are now exposed in the sip |
|
module. |
|
- Virtual and abstract operators are now supported. |
|
- The __call__ slot no longer requires %MethodCode. |
|
- Any Python exceptions raised in virtual re-implementations are now |
|
detected when they occur. |
|
- sip.cast() can now cast downwards as well as upwards. |
|
- Added sip.SIP_VERSION. |
|
- The -k flag to configure.py can now be used to build modules as builtins |
|
to custom interpreters. |
|
- The build system now strips modules and only exports the module |
|
initialisation function by default (when supported by the platform). |
|
|
|
v4.1.1 24th September 2004 |
|
- A bug fix release. |
|
|
|
v4.1 20th September 2004 |
|
- Added the cast() method to the sip module. |
|
- Added limited support for protected classes. |
|
- Added the /Abstract/ class annotation. |
|
- Added support for typedefs that define pointers to functions. |
|
- The SIP_PYCALLABLE type now supports the /AllowNone/ annotation. |
|
- Added support for MSVC.NET to the build system. |
|
|
|
v4.0.1 6th July 2004 |
|
- A bug fix release. |
|
|
|
v4.0 23rd June 2004 |
|
- The release of SIP v4.
|
|
|