Revision history for Perl extension Inline::Python. 0.57 Sun Sep 18 13:20:00 CEST 2022 (Stefan Seifert) - Try to detect more object types. - Further tighten the "is it a dict or object" check - Also skip List and Tuple when checking for python object - Unify "is this an object" checks into a macro to fix method calls on strange objects - Define PY_MAJOR_VERSION automatically - Search for and prefer python3 when building - Pass ASCII strings as <class 'str'> in Python 3 - Fix segfault on Python 3.10 by calling Py_Initialize() before calling PyBytes_FromString() - Process rss information not supported by Proc::ProcessTable on Windows 0.56 Fri Aug 04 15:30:00 CEST 2017 (Stefan Seifert) - Fix floating point related test failures on some machines. 0.55 Tue Jul 03 09:30:00 CEST 2017 (Stefan Seifert) - Pass Python floats as floats to Perl, not as string. 0.54 Tue Jun 13 08:40:00 CEST 2017 (Stefan Seifert) - Fix object stringification crashing on Perl < 5.16 (RT #122082) 0.53 Fri Jun 02 12:10:00 CEST 2017 (Stefan Seifert) - Better support for serializing booleans with JSON - Support calling Perl objects with overloaded code dereferencing - Support overloaded stringification of Perl objects 0.52 Thu Dec 01 20:31:00 CET 2016 (Stefan Seifert) - Fix test failing on lots of machines by Linas Valiukas 0.51 Thu Nov 09 08:45:00 CET 2016 (Stefan Seifert) - Fix memory leak when passing dict with Unicode keys to Perl by Linas Valiukas 0.50 Thu Jun 30 14:30:00 CEST 2016 (Stefan Seifert) - Fix memory corruption after passing a dict with a non-string key to Perl 0.49 Tue Apr 21 08:30:00 CEST 2015 (Stefan Seifert) - Fix crash during perl's shutdown when env variables were modified by Python 0.48 Sat Jan 24 10:00:00 CET 2015 (Stefan Seifert) - Fix compatibility with perl < 5.14 - Allow shutting down Python 0.47 Thu Jan 22 19:35:00 CET 2015 (Stefan Seifert) - Translate Perl exceptions into Python exceptions and make them catchable. - fix some POD errors by Gregor Herrmann 0.46 Sun Dec 07 12:30:00 CET 2014 (Stefan Seifert) - Python 3 support by Laurent Mazuel! - Correcting KeyError to AttributeError in __getattr__ by Laurent Mazuel 0.45 Sat Sep 06 10:30:00 CEST 2014 (Stefan Seifert) - Support implementing __cmp__ in Perl - Skip test requiring Parse::RecDescent if the module is not installed 0.44 Tue Sep 02 11:00:00 CEST 2014 (Stefan Seifert) - Fix memory corruption introduced with boolean support - Document the usage of Inline::Python::Boolean - Minor doc fixes by Zakariyya Mughal - Allow non-interactive installation in Makefile.PL - Add links to the github repo by mohawk2 0.43 Thu Sep 12 23:00:00 CEST 2013 (Stefan Seifert) - Fixed converting floats from Perl to Python with different locale - Fixed RT #87962 0.42 Fri May 31 20:20:00 CEST 2013 (Stefan Seifert) - Python booleans passed through Perl make it back to Python as Booleans instead of Integers. - Fix segfaults on Perl 5.18.0 caused by uninitialized fields in a data structure. Should help performance as well. 0.41 Thu Nov 08 20:15:00 CET 2012 (Stefan Seifert) - Fixed installation on systems only having a shared libpython - Code cleanup 0.40 Fri Jul 29 16:30:00 CEST 2011 (Stefan Seifert) - Finally fixed t/06dict.t allowing installation on many more machines 0.39 Wed Mar 09 13:00:00 CET 2011 (Stefan Seifert) - Added py_is_tuple and made Pl2Py recognize an array ref that has been a tuple before in Python. - Fixed memory corruption on a Python function calling a Perl function that changed the stack pointer. - Fixed several memory leaks (scalars and dict keys). - Fixed wrong refcount of return values in py_eval (RT #48081) - Fixed accessing Unicode keys in a dict passed from Perl. - Fixed compatability of t/30floats.t with Python 2.7. 0.38 Thu Dec 02 14:00:00 CEST 2010 (Stefan Seifert) - Fix Perl assertion fail if __getitem__ called multiple times - Fix "Attempt to free unreferenced scalar" sometimes happening when calling a Perl sub with named parameters from Python. - Fix several memory leaks found using valgrind - Add py_finalize to be able to shut down the Python interpreter. 0.37 Thu Sep 30 09:30:00 CEST 2010 (Stefan Seifert) - Added line numbers to Python exception messages. - Fixed passing of a perl code ref through Python space. - Allow passing references to methods from Python to Perl. - Implemented py_has_attr complementing py_get_attr. - We now support stringification of Python objects via __str__ methods. - Fixed segfault when accessing a Python object's attributes throws an exception. - Fixed some problems with the test suite, hopefully making installation work on more machines. - Fixed compilation on Win32, linking still seems broken though :( 0.36 Mon Jun 23 12:45:00 CEST 2010 (Stefan Seifert) - Fixed a segfault when passing dicts with Unicode keys to Perl - Pass Python exceptions to Perl instead of just printing to STDERR 0.35 Wed Mar 31 11:00:00 CET 2010 (Stefan Seifert) - Fixed floats sometimes getting converted to int when transfered from Perl to Python. Thanks to John McCullough for a great bug report. 0.34 Fri Mar 12 12:20:00 CET 2010 (Stefan Seifert) - Fixed refcounting of positional arguments in named argument calls to Perl subs. 0.33 Mon Feb 22 10:30:00 CET 2010 (Stefan Seifert) - Added support for named arguments for Perl subs 0.32 Fri Jan 29 20:00:00 CET 2010 (Stefan Seifert) - Perl UTF-8 strings now get converted to Python Unicode strings and vice versa. This could potentially lead to incompatibilities with existing code. - Return lists of Perl subs no longer get reversed before passing to Python. 0.31 Sun Dec 06 15:30:00 CET 2009 (Stefan Seifert) - Implement access to Inline::Python::Object data 0.30 Sun Nov 29 19:45:00 CET 2009 (Stefan Seifert) - Convert Perl arrays to Python arrays instead of tuples - First look for methods before looking for attributes in PerlObj_getattr 0.29 Tue Jul 07 17:00:00 CEST 2009 (Stefan Seifert) - Implemented passing of subroutine references and lambda expressions from Python to Perl space. - Implemented Python's __getitem__ protocol for perl objects. Perl objects can thus be used like dictionaries if they support a __getitem__ sub. - Fixed a bug in Pl2Py sometimes segfaulting on undefs in arrays. 0.28 Tue Dec 16 19:00:00 CET 2008 (Stefan Seifert) - Fixed pushing integers from Python to Perl space. They now retain their integer-ness instead of silently converting them to strings. - PerlObj objects now have a comparison function which asserts if the _same_ perl object is contained. - implemented Python's __getattr__ protocol for perl objects. Attributes can now be accessed with my_perl_object.my_attribute same as Python objects. The perl object just has to implement a __getattr__ sub. - __getattr__ now raises a KeyError if a PerlObj object does not have the requested attribute instead of silently assuming that a method is being called. - Added testcases for all these and for the Unicode fix in 0.27 0.27 Thu Nov 20 19:00:00 CET 2008 (Stefan Seifert) - Fixed a segfault in py2pl.c when converting Unicode strings from Python to Perl. - Attempt to check for Python.h in Makefile.pl to make it more visible to the user. 0.26 Mon Nov 10 13:20:00 CET 2008 (Stefan Seifert) - Fixed compatibility with Python 2.5: all tests run successfully. - Documented the --enable-shared requirement 0.25 Thu Oct 02 22:20:00 CEST 2008 (Stefan Seifert) - Added missing changes and updated documentation to reflect current status. No code changes. 0.24 Thu Oct 02 22:05:00 CEST 2008 (Stefan Seifert) - fixed many wrong refcounts leading to memory leaks and too early freed objects. Most notably when returning more than one result from a perl sub to python. - fixed segfaults in perlSub_getattr and perlSub_setattr for invalid attribute names on non-methods. - added many testcases for refcounting 0.23 Mon Sep 29 11:50:00 CEST 2008 (Stefan Seifert) - fixed segfault when returing perl objects from python functions and methods - fixed uninitialized member variables of perl subs - updated documentation to reflect new co-maintainer 0.22 Sun Jan 9 22:29:54 PST 2005 [Bug reported by David Dyck] - removed some declarations after statements - newer versions of gcc seem to accept this by default, while older versions just croak. Of course, the older versions also don't support -Wdeclaration-after-statement. 0.21 Mon Jul 26 13:40:57 CDT 2004 [Patch from Eric Wilhelm] - Added support for 'new-style' python classes which subtype builtin types per PEP's 252 and 253. 0.20 Mon Jul 9 16:46:56 PDT 2001 - Made the Makefile.PL more clever about how it picks debugging information. It accepts an optional argument, too, so it's easy to correct the mistakes. 0.20 Wed Jun 20 16:27:23 PDT 2001 - Lots of testing with different versions of Perl & Python - Makefile.PL auto-detects configuration for python >= 2.0 0.20 Sun Jun 17 19:57:18 PDT 2001 - Made eval_python return results of running code - py_bind_class(), py_bind_function(), and py_study_package() - py_eval() and py_call_function() - py_new_object() and py_call_method() - Many new test cases - Updated documentation - New language alias 'PYTHON' for Inline::Files support - 'FILTERS' Config option - Removed 'PRIVATE_PRIFIXES' Config option - Added new base class Inline::Python::Object for all objects. 0.15 Sun Jun 10 18:39:23 PDT 2001 - Ported to Inline 0.42. 0.14 Thu Mar 22 08:50:33 PST 2001 - Added support for passing binary strings between Python & Perl. 0.13 Sun Mar 4 22:09:35 PST 2001 - Added Win32 code to search for Python installations on Win32 - Eliminated GNU-specific preprocessor macro syntax 0.10 Thu Nov 23 16:46:27 PST 2000 - Created Inline::Python.