File: NEWS

package info (click to toggle)
sip-qt3 3.10.2-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 1,232 kB
  • ctags: 2,034
  • sloc: ansic: 10,532; yacc: 2,268; python: 2,017; cpp: 560; lex: 515; makefile: 77
file content (409 lines) | stat: -rw-r--r-- 22,357 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
v3.10.2 22nd May 2004
	The build system now supports MinGW.

v3.10.1 11th March 2004
	Bug fixes only - see the ChangeLog file for details.

v3.10 16th January 2004
	Added the asstring() method to the sip.voidptr type.

v3.9 7th December 2003
	Added the -w flag to sip to enable warning messages.  Added the -j flag
	to sip to concatanated source files.  %Import, %Include and
	%OptionalInclude can now take a relative (UNIX style) pathname.  The
	directory containing the file will also be searched for files that it
	itself includes or imports.  Added %MethodCode and deprecated
	%MemberCode.  Deprecated %Makefile and %ExportedHeaderCode.  Added
	%TypeHeaderCode as a synonym for the deprecated %HeaderCode in type
	definitions.  Added %ModuleHeaderCode as a synonym for the deprecated
	%HeaderCode in module definitions.  Added %ModuleCode as a synonym for
	the deprecated %C++Code in module definitions.  Added %TypeCode as a
	synonym for the deprecated %C++Code in type definitions.  Added
	%PostInitialisationCode as a synonym for the deprecated
	%PostInitialisationC++Code.  Added support for functions that return
	values via pointers and references.  Added support for structs within
	classes.  Added support for %AccessCode and deprecated %VariableCode.
	Added support for %VirtualCatcherCode and deprecated %VirtualCode.
	Added support for explicit C++ signatures.  Added the SIP_SLOT,
	SIP_QOBJECT, SIP_PYCALLABLE, SIP_PYTUPLE, SIP_PYLIST and SIP_PYDICT
	types.  Added /PreHook/ and /PostHook/ to ctors.  Added /TransferBack/
	for function results.  Added /AllowNone/ and /GetWrapper/ to arguments.
	Added sipTrace(), sipBadCatcherResult(), sipParseResult(),
	sipCallMethod(), sipGetWrapper(), sipTransfer(), sipClassName() and
	sipBuildResult() to the module API.  Added SIP_VERSION and SIP_BUILD to
	sip.h.  A new (configure.py) build system has been added which is
	independent of tmake and qmake and installs a sipconfig module.  The
	old (build.py) build system also installs a (different and
	incompatible) sipconfig module.  SIP is now licensed under a single
	Python-like license.

v3.8 17th August 2003
	Added the -k flag to build.py to build the SIP module as a static
	library.  Added support for the __cmp__(), __neg__(), __nonzero__() and
	__repr__() slots (thanks to Torsten Marek).  sip.h now defines
	SIP_VERSION_STR.

v3.7 5th July 2003
	Lazy attributes are now visible when using dir().  Added support for
	__setitem__ and __delitem__ slots.  SIP_SLICE is now deprecated (use
	SIP_PYSLICE instead).  Added sipBadLengthForSlice() to the API.  Added
	'L' to the sipParseArgs() format to handle Python lists.  Added
	support for %VirtualCode for virtual dtors.  Global %C++Code and
	%HeaderCode is now subject to version control.

v3.6 26th April 2003
	The %Module directive now takes an optional version number which is
	ignored (so that SIP v3 can handle .sip files written for SIP v4).
	sip.h now defines SIP_MAJOR_NR so that handwritten code can distinguish
	between SIP v3 and SIP v4.  Added support for /Factory/ and for
	/TransferThis/ in factory methods.  Added the -a flag to generate API
	files for use with Scintilla/QScintilla for call tips and
	auto-completion lists.  Added the 'e' format character to
	sipParseArgs() for enums.  Added the SIP_SLICE pseudo-type to represent 
	extended slices.  Changed the 'x' format character to handle only
	slices rather than slices or integer indices.  Removed the /NonLazy/
	tag as methods that need to be non-lazy (ie. Python slots) are now
	recognised automatically.  Many Python slots (ie. operators) now do not
	need %MemberCode. "true" and "false" can now be used as default values.
	Added the -e flag to enable support for exceptions (thanks to Oliver
	Kohlbacher).

v3.5 11th December 2002
	"unsigned int" is now supported.  Added the 'x' format character to
	sipParseArgs() to convert sequence indices.  Deprecated the 'C' format
	character to sipParseArgs().  Added the 'X' format character to
	sipParseArgs() as an extensible way of adding /Constrained/ support to
	more types.  Added /Constrained/ support to float and double types.
	Added sipConvertFromSequenceIndex().

v3.4 10th September 2002
	The -p flag now specifies the name of a consolidated C++ module rather
	than an alternate name of an individual C++ module.  Added the %License
	and %OptionalInclude keywords.  Added sipAddLicense() to the SIP
	module.  Added support for defining structs.  SIP is now licensed under
	several licenses including the GPL and a commercial license.

v3.3.2 12th July 2002
	Build system fixes.

v3.3.1 9th July 2002
	Support for Qt v3.0.5 added.

v3.3 7th July 2002
	The proxy header file is now moc-ed and linked separately.  This may
	require slightly different Makefile.am files for generated modules.
	Implemented a new build process based on tmake/qmake.  Code is now
	generated for pure virtual methods.  Removed the -f flag and added the
	-x and -z flags.  The helper program is no longer generated (use the
	new -x flag to specify disabled features).

v3.2.4 18th May 2002
	Bug fixes.  Removed MacOS X support - it will have to wait for SIP v4.

v3.2.3 13th May 2002
	Bug fix release only.

v3.2.2 11th May 2002
	Improved MacOS X support.

v3.2.1 5th May 2002
	Bug fix release only.

v3.2 5th May 2002
	Added support for modules registering sub-class convertors for use by
	the module that contains the base class.  Completely redid the thread
	support so that SIP has explicit support for classes that create new
	threads.  /ReleaseLock/ is no longer required.  /CreatesThread/ and
	/NewThread/ have been added.  Fixed the import/export handling for
	Windows to make it easier to use the generated .h files when embedding
	modules in applications.  Allow '!' to be applied to platforms.  Added
	support for SIP_PYOBJECT, including the new 'P' format character to
	sipParseArgs().  Added sipMapStringToClass() and sipMapIntToClass() as
	utility functions for %ConvertToSubClassCode.  Replaced PyCObject with
	sip.voidptr to make it much easier to convert to and from integers.
	configure will now search for Qt v3.0.4.

v3.1 23rd March 2002
	configure will now search for Qt v3.0.1, v3.0.2 and v3.0.3.  Replaced
	%SecondaryVersion with %Platforms and %Feature.  Removed
	%ImportWithTimeline.  Replaced SIP_ARRAY and SIP_UARRAY with /Array/.
	Replaced SIP_ARRAY_SIZE and SIP_ARRAY_USIZE with /ArraySize/.  %If now
	supports logical ors of platforms and/or features.  Replaced
	%VersionCode with %FeatureCode.  Added support for Qt/Embedded.  Added
	the -f switch to explicitly generate the helper program.  Added
	%ExportedFeaturesCode.  Added the $B and $H macros.  The SIP library
	now uses PyObject_Del() rather than PyMem_DEL() for Python v1.6 and
	later.  Class enums are now lazy.  The /AutoGen/ option now takes an
	optional feature name.  The SIP library is now a Python module.  SIP
	now handles protected static methods.  Added the /NonLazy/ option that
	means that all methods with that name in that class will be handles as
	conventional, non-lazy, class methods.  Added the 'n' format character
	to sipParseArgs() to handle non-lazy methods.  Removed all the special
	method handling. Ctors now support /ReleaseLock/.  The method and enum
	tables are now sorted and the SIP module does a binary, rather than
	linear, search.  Individual enum fields are now under version control.
	Upgraded to autoconf-2.53 and automake-1.6.

v3.0 17th November 2001
	The first parameter of sipConvertFrom_*() for a mapped type is no
	longer const.  Added the /AutoGen/ option for automatically generated
	methods.  Static and non-static class methods can now have the same
	name.  sipParseArgs() now returns the number of arguments parsed on a
	successful parse, as well as an unsuccessful one.  Removed the '-' and
	'I' and added the 'N', 'Q', 'q', 'Y', 'y', 'J', 'M', 'm', 'p' and 't'
	format flags to sipParseArgs() and changed the code generator to use
	the new flags.  The way of specifying Python special methods has
	changed slightly to allow ordinary methods to have leading and trailing
	"__".  Removed the %CanConvertTypeToCode directive.  Added the
	%PostInitialisationC++Code directive.  The runtime library now uses the
	C API for weak references for Python v2.2 and later.  configure now
	handles Qt-mt.  Upgraded to autoconf-2.52, automake-1.5 and
	libtool-1.4.1.

v2.5 11th August 2001
	Minor configuration changes.  Fixed problems when default arguments are
	function calls.  Added support for QObject.sender() to be able to be
	implemented properly.  Fixed problem with a slot disconnecting itself.
	Python signals are now blocked if Qt signals are blocked.  Added the
	/Constraint/ option to prevent Python converting integers to floats.
	className() and tr() methods are automatically generated for classes
	derived from QObject mimicing moc's behaviour.  Added support for
	C-style comments in .sip files (thanks to Wilken Boie).  Removed the
	dependency on getopts().  Some Windows portability changes.  The SIP
	code generator should now compile under Windows (thanks to Wilken
	Boie).  SIP should now compile under Windows with the Borland compiler
	(thanks to Simon Cusack).  configure now looks for Qt v2.3.1.  Removed
	the Version keyword so that it can be used as a class name.  Added
	support for namespaces and nested classes.  Added %MappedType so that
	more complicated types (particularly templates) can be mapped.  Added
	SIP_SIGNAL to specify a signal that is passed at run-time (needed by
	KToolBar).  Got rid of a lot of Py_XDECREF() calls by using "N" instead
	of "O" in calls to Py_BuildValue().  Replaced %Version and
	%PrimaryVersions with %Timeline and %SecondaryVersion.  Added
	%ImportWithTimeline.  sipConvertFrom_*() for mapped types no longer
	tests sipCpp for NULL and leaves it to the handwritten code to handle.

v2.4 22nd April 2001
	Fixed a bug sipCommonDtor() where it assumed it had the Python lock but
	might not have done. configure now uses the Python executable to
	determine where Python is installed.  Added support for Python 2.0
	in-place operators and Python 2.1 rich comparison operators.  The SIP
	library now tidies itself up when Py_Finalize() is called.  Starting
	with Python 2.1, Python slots are now wrapped in weak references which
	means that when the programmer forgets to keep a slot alive then it
	won't core dump.  Upgraded automake to v1.4d and libtool to v1.3d.
	configure now checks for Qt v2.3.0.

v2.3 4th February 2001
	Much improved error reporting when incorrect arguments are passed to
	wrapped functions and methods.  (This requires an incompatible change
	to sipParseArgs(), so any handwritten code needs updating.)  configure
	now checks for Qt 2.2.4 and Python 2.1.  Added pre- and post-hooks, and
	sipCallHook().  When ownership of an instance is transferred to C/C++,
	a reference to the Python object is also taken - this means that the
	Python object will stay alive, even if there is no explicit reference
	kept in the Python program.  Added the -p switch and the $m macro to
	allow the generated C++ module to have a different name than the Python
	module.

v2.2 6th November 2000
	Minor compile fixes for RedHat.  Added the %Copying directive for
	embedding license terms in generated code.  Clarified the license to
	try to make it even clearer that SIP imposes no restrictions on
	generated code.  Added the $P macro for embedded code.  Made the
	wrapper class dtor virtual to avoid compiler warnings.  Fixed proxy
	class generation for modules that don't define any new signals.

v2.1 18th October 2000
	Slots can be called expecting fewer arguments than a signal is
	providing.  Added the ability to provide handwritten code for dtors.
	Added sipGetThisWrapper().  A wrapped class instance is deleted only
	after all other instance variables have been deleted.  Other bug fixes
	(see ChangeLog).

v2.0.1 14th September 2000
	Fixed a problem where a moc file was being included with the
	distribution - more of a hack than a fix.

v2.0 14th September 2000
	Added TransferBack.  Fixed a code generation bug on big endian machines
	(thanks to Pete Ware).  Re-wrote the versioning system so that it is
	more restricted but much simpler to implement and actually works
	properly.  Removed %SecondaryVersions.  Enums are now implemented in
	C++ rather than Python and a class corresponding to the enum name is no
	longer created (this will generate incompatible bindings).  Added
	sipAddEnumInstances().  Added the -s switch to specify the suffix used
	for C++ source files.  Dropped support for C++ operators.  Added
	support for the __repr__, __str__, __cmp__, __hash__ and __call__
	methods.  Added support for the __add__, __sub__, __mul__, __div__,
	__mod__, __divmod__, __pow__, __neg__, __pos__, __abs__, __nonzero__,
	__invert__, __lshift__, __rshift__, __and__, __xor__, __or__,
	__coerce__, __int__, __long__, __float__, __oct__ and __hex__ numeric
	methods.  Added support for the __len__, __add__, __mul__, __getitem__,
	__setitem__, __getslice__, __setslice__ and __contains__ sequence
	methods.  Added support for the __len__, __getitem__ and __setitem__
	mapping methods.  The SIP library will now build under Windows.
	Changed the Makefile generation to be template based so that it no
	longer assumes an autoconf/automake based environment.  Added support
	for opaque structs.  Classes with private abstract functions cannot be
	created.  Global handwritten code can now be versioned.  Changes for
	Python 1.6 and 2.0.

v0.12 18th May 2000
	Added a run-time check for None being passed as an argument for a class
	pointer when we know that the pointer will be dereferenced.  Added the
	SIP_ARRAY, SIP_UARRAY,  SIP_ARRAY_SIZE and SIP_ARRAY_USIZE pseudo-types.
	Clarified the software license.

v0.11.1 1st April 2000
	Fixed the code generation so as not to discard consts without a cast.
	Fixed a bug when siplib re-sizes it's hash table.

v0.11 28th March 2000
	Changed the configuration to find Qt v2.x.  Added the --with-qt-dir
	option.  Fixed bug in siplib that caused an infinite loop when trying
	to wrap too many objects (thanks to Pieter Nagel).  Literal values can
	now be expressions.  Added support for simple static class variables.
	Added support for typedefs in classes.  Added version qualifiers to
	enums.  Added ctor calls as a type of value.  Abstract functions no
	longer have to be virtual.  Templates now support any types.  Signals
	can now be version dependent.  Slots no longer have to return void.
	Added %VersionCode and the generation of the sip_helper program.  Added
	%PrimaryVersions and %SecondaryVersions (probably only temporarily).
	Default copy ctors are automatically generated when needed.  C++
	addresses will be used if their class is a sub-class of the class being
	looked for.  Added TransferThis for ctor arguments.  Removed the
	caching of class variables.  The non-Qt parts of siplib are now C
	rather than C++.  Removed the %CompareWithClassCode directive.

v0.10.1 21st January 2000
	The Python/C++ hash table can now cope with multiple objects (of
	different class) with the same address.  The repr() function converts a
	a NULL pointer to None.

v0.10 19th December 1999
	Added the directories Red Hat puts Qt in to the list searched by
	configure.  Added the rpm .spec file.  Generated header files renamed
	so they can't clash with sipQt.h.  Implemented version dependent
	typedefs.  Added version qualifiers to classes.  Fixed a bug where the
	parser was changing modules too soon.  Changed the library API
	(sipClassDef and sipModuleDef structures, and sipRegisterClasses(),
	sipAddBoolInstances(), sipAddCharInstances(), sipAddClassInstances(),
	sipAddDoubleInstances(), sipAddFunctions(), sipAddLongInstances(),
	sipAddStringInstances()).  Renamed sipMapThisToCpp() to sipGetCppPtr().
	Added sipGetComplexCppPtr().  Made everything more resilient to C++
	instances being deleted while the Python wrapper still hangs around.
	Added support for void *.  Changed version qualifiers to use the
	%Version directive and %If...%End.  Added the %ExposedFunctions
	directive.  Added the ability to specify destructors (specifically
	non-public ones).  Fixed a bug where C++ instances returned from
	virtual functions were being deleted too soon - but now they aren't
	deleted at all.  Fixed a number of bugs related to enums.  Fixed a bug
	where slot proxies (and the Python objects they were proxying for)
	didn't get deleted (thanks to Toby J Sargeant).  Added Toby J
	Sargeant's hash table code to get rid of the dubious reference count
	fiddling with the old C++/Python mapping dictionary.  Changed the
	implementation of signals and slots to not use Python dictionaries and
	lists.  Changed the implementation of the method cache not to increase
	reference counts.  It is no longer necessary to get the format of
	signal/slot names exactly right (spaces are ignored).  Added support
	for quoted characters as default parameter values.  Added support for
	class instance to char * operators.  Allowed Python to C++ convertors
	to be specified for all classes, not just mapped ones.  The #line is
	restored after including handwritten code.  Fixed the format to
	sipParseArgs() for static member functions.  Some member renaming for
	IRIX.

v0.9 6th September 1999
	The SIP library is now a real library.  The -I switch can now be given
	any number of times.  If the -I switch isn't given then included files
	are assumed to be in the current directory rather than the directory
	containing the main module file.  Removed the -n, -p and -f switches.
	Added the -c and -m switches.  Changed the meaning of the -d switch.
	Removed %PostDoc, %DocFile and %Package.  Added %ExportedDoc, %Import,
	%PrePythonCode, %ExportedHeaderCode and %ConvertToSubClassCode.
	%HeaderCode can now be specified in class descriptions.  Re-structuring
	of the generated code to reduce its compile time.  Fixed a couple of
	bugs with virtual functions.  Allowed ctors to be private.  Added
	support for releasing the Python interpreter lock.  Fixed a bug where a
	lazy cached class attribute was being used in preference to a lazy
	non-cached instance attribute.  Added support for floating point
	default values.  Re-introduced SLOT() so that connections can be made
	directly to Qt slots.  Added support for disconnecting signals
	(including in generated code).

v0.8 29th May 1999
	No longer create copies of class instances if a reference is returned.
	NULL values returned by C++ are converted to None.  None values passed
	by Python are converted to NULL.  Replaced PyArg_ParseTuple() with
	sipParseArgs().  Removed support for (unsigned) char[].

v0.7.1 3rd May 1999
	Replaced %DocExtension with %DocFile.  Fixed bug where pointers to
	mapped classes returned from a function where deleted.  Re-did the
	way lazy class attributes are handled so that Class.Method(self,...)
	works again.  Fixed a problem with virtual loops.  Member functions'
	arguments are now parsed in the same order as they appear in the .sip
	file.  Functions that return char * have the return value checked for
	NULL and converted to None.

v0.7 16th April 1999
	Added the %DocExtension and %PostDoc directives.  Added support for
	class variables, and added the %CompareWithClassCode directive.
	Changed the way Python renaming is specified and generalised it to
	support other flags.  A bit of function renaming went on which might
	affect handwritten code.  Fixed a bug where if a previously wrapped
	object was being returned, then the object passed back to Python was
	"this" rather than "self".  Removed the %PostPythonCode directive.
	Moved to using __getattr__ for accessing member functions and static
	functions.  Static functions are now proper class builtins - but they
	cannot have the same name as ordinary member functions (one or the
	other must be renamed).  Added the ability to specify that ownership
	for a class instance (ie. who deletes it) is transferred to C++.  All
	slots must now be Python callable objects - SLOT() has been removed.
	The Python module dictionary is populated directly, rather than going
	through the C++ module dictionary.  Added support for const global
	variables.  Added version qualifiers to variables, constructors and
	member functions.  Added support for ordinary functions.

v0.6 20th February 1999
	No signal/slot support code is generated if signals/slots are not
	used.  Changed the -i switch to -I.  Fixed a memory leak where copies
	made of objects returned by C++ wouldn't be deleted.  Added support for
	automatic type conversions.  Added support for opaque classes.  Started
	to prepare for supporting layered bindings by putting the C++ code for
	a class in a file by itself.  Added the -d and -f switches.  The
	generated C++ functions are now called through other tables rather than
	appearing as module functions and methods.  Added the %PostPythonCode
	directive.  Added some macro processing (ie. $C) to handwritten code.
	Fixed serious problems with protected functions and casting pointers
	for classes that use multiple inheritance.  The signal proxy can now
	handle any argument types.  Added support for automatic generation of
	slot handling code.

v0.5 21st January 1999
	SIP is built with automake/autoconf.  SIP generates code that is
	expected to be built with automake/libtool/autoconfig.  Added the
	%Package and %Makefile directives.  Changed the handling of enums to
	be closer to C++ and allow unnamed enums.  Support global class
	instances and added the %GlobalCode directive.

v0.4 9th January 1999
	Some changes to the implementation of signals so that keyboard
	accelerators and menus work.  All C++ objects can now be wrapped late
	(though complex ones lose a little functionality).  Wrapper classes no
	longer need to be moc'ed (if they ever really did).

v0.3 9th December 1998
	First release to be publically announced.  The classes needed for all
	the Qt tutorials can now be generated (except for keyboard
	accelerators).  Fixed a problem with Python reference counts, and
	another where undefined classes weren't reported properly.

v0.2 5th December 1998
	Support for access to protected member functions, overloading in Python
	of virtual member functions, late wrapping of simple C++ objects.  Many
	other changes.

v0.1 1st November 1998
	First release.