| Below are the changes for the current release. |
| See the CHANGES file for changes in older releases. |
| See the RELEASENOTES file for a summary of changes in each release. |
| |
| Version 3.0.8 (31 Dec 2015) |
| =========================== |
| |
| 2015-12-30: wsfulton |
| The pdf documentation is now generated by wkhtmltopdf and has colour |
| for the code snippets just like the html documentation! |
| |
| 2015-12-23: ahnolds |
| [Python] Fixes for conversion of signed and unsigned integer types: |
| |
| No longer check for PyInt objects in Python3. Because PyInt_Check |
| and friends are #defined to the corresponding PyLong methods, this |
| had caused errors in Python3 where values greater than what could be |
| stored in a long were incorrectly interpreted as the value -1 with |
| the Python error indicator set to OverflowError. This applies to |
| both the conversions PyLong->long and PyLong->double. |
| |
| Conversion from PyLong to long, unsigned long, long long, and |
| unsigned long long now raise OverflowError instead of TypeError in |
| both Python2 and Python3 for PyLong values outside the range |
| expressible by the corresponding C type. This matches the existing |
| behavior for other integral types (signed and unsigned ints, shorts, |
| and chars), as well as the conversion for PyInt to all numeric |
| types. This also indirectly applies to the size_t and ptrdiff_t |
| types, which depend on the conversions for unsigned long and long. |
| |
| 2015-12-19: wsfulton |
| [Python] Python 2 Unicode UTF-8 strings can be used as inputs to char * or |
| std::string types if the generated C/C++ code has SWIG_PYTHON_2_UNICODE defined. |
| |
| 2015-12-17: wsfulton |
| Issues #286, #128 |
| Remove ccache-swig.1 man page - please use the CCache.html docs instead. |
| The yodl2man and yodl2html tools are no longer used and so SWIG no |
| longer has a dependency on these packages which were required when |
| building from git. |
| |
| 2015-12-16: zturner/coleb |
| [Python] Fix Python3.5 interpreter assertions when objects are being |
| deleted due to an existing exception. Most notably in generators |
| which terminate using a StopIteration exception. Fixes #559 #560 #573. |
| If a further exception is raised during an object destruction, |
| PyErr_WriteUnraisable is used on this second exception and the |
| original exception bubbles through. |
| |
| 2015-12-14: ahnolds/wsfulton |
| [Python] Add in missing initializers for tp_finalize, |
| nb_matrix_multiply, nb_inplace_matrix_multiply, ht_qualname |
| ht_cached_keys and tp_prev. |
| |
| 2015-12-12: wsfulton |
| Fix STL wrappers to not generate <: digraphs. |
| For example std::vector<::X::Y> was sometimes generated, now |
| corrected to std::vector< ::X::Y >. |
| |
| 2015-11-25: wsfulton |
| [Ruby] STL ranges and slices fixes. |
| |
| Ruby STL container setting slices fixes: |
| |
| Setting an STL container wrapper slice better matches the way Ruby |
| arrays work. The behaviour is now the same as Ruby arrays. The only |
| exception is the default value used when expanding a container |
| cannot be nil as this is not a valid type/value for C++ container |
| elements. |
| |
| Obtaining a Ruby STL container ranges and slices fixes: |
| |
| Access via ranges and slices now behave identically to Ruby arrays. |
| The fixes are mostly for out of range indices and lengths. |
| - Zero length slice requests return an empty container instead of nil. |
| - Slices which request a length greater than the size of the container |
| no longer chop off the last element. |
| - Ranges which used to return nil now return an empty array when the |
| the start element is a valid index. |
| |
| Ruby STL container negative indexing support improved. |
| |
| Using negative indexes to set values works the same as Ruby arrays, eg |
| |
| %template(IntVector) std::vector<int>; |
| |
| iv = IntVector.new([1,2,3,4]) |
| iv[-4] = 9 # => [1,2,3,9] |
| iv[-5] = 9 # => IndexError |
| |
| 2015-11-21: wsfulton |
| [Ruby, Python] Add std::array container wrappers. |
| |
| These work much like any of the other STL containers except Python/Ruby slicing |
| is somewhat limited because the array is a fixed size. Only slices of |
| the full size are supported. |
| |
| 2015-10-10: wsfulton |
| [Python] #539 - Support Python 3.5 and -builtin. PyAsyncMethods is a new |
| member in PyHeapTypeObject. |
| |
| 2015-10-06: ianlancetaylor |
| [Go] Don't emit a constructor function for a director |
| class with an abstract method, since the function will |
| always panic. |
| |
| 2015-10-01: wsfulton |
| Fix %shared_ptr support for private and protected inheritance. |
| - Remove unnecessary Warning 520: Derived class 'Derived' of 'Base' |
| is not similarly marked as a smart pointer |
| - Do not generate code that attempts to cast up the inheritance chain in the |
| type system runtime in such cases as it doesn't compile and can't be used. |
| Remove unnecessary warning 520 for %shared_ptr when the base class is ignored. |
| |
| 2015-10-01: vkalinin |
| Fix #508: Fix segfault parsing anonymous typedef nested classes. |
| |
| 2015-09-26: wsfulton |
| [Ruby] Add shared_ptr support |
| |
| 2015-09-13: kkaempf |
| [Ruby] Resolve tracking bug - issue #225. |
| The bug is that the tracking code uses a ruby hash and thus may |
| allocate objects (Bignum) while running the GC. This was tolerated in |
| 1.8 but is invalid (raises an exception) in 1.9. |
| The patch uses a C hash (also used by ruby) instead. |
| |
| 2015-09-09: lyze |
| [CFFI] Extend the "export" feature in the CFFI module to support |
| exporting to a specified package. |
| |
| 2015-09-04: olly |
| [Python] Fix docstrings for %callback functions. |
| |
| 2015-09-03: demi-rluddy |
| [Go] Removed golang stringing for signed/unsigned char |
| |
| Changed default handling of signed char* and unsigned char* to be |
| opaque pointers rather than strings, similarly to how other |
| languages work. |
| |
| Any existing code relying on treating signed char* or unsigned |
| char* as a string can restore the old behavior with typemaps.i by |
| using %apply to copy the [unchanged] char* behavior. |
| |
| *** POTENTIAL INCOMPATIBILITY *** |
| |
| 2015-08-07: talby |
| [Perl] tidy -Wtautological-constant-out-of-range-compare warnings when building generated code under clang |
| |
| 2015-08-07: xantares |
| [Python] pep257 & numpydoc conforming docstrings: |
| - Mono-line module docsstring |
| - Rewrite autodoc parameters section in numpydoc style: |
| https://github.com/numpy/numpy/blob/master/doc/HOWTO_DOCUMENT.rst.txt |
| - One line summary should end with "." |
| - Adds a blank line after class docstring |
| |
| 2015-08-05: vadz |
| [Java] Make (char* STRING, size_t LENGTH) typemaps usable for |
| strings of other types, e.g. "unsigned char*". |