commit 0d2e797812ab4e1a745ef97559104691dbb6b824 Author: Simon Feltman Date: Thu Aug 14 18:33:06 2014 -0700 Fix invalid unref after getting callable container Don't unref the results of g_base_info_get_container() because it is transfer-none. This was causing an attempted unref on an invalid object when setting up callback caches for signals. https://bugzilla.gnome.org/show_bug.cgi?id=727004 gi/pygi-cache.c | 2 -- 1 file changed, 2 deletions(-) commit 654c28faffc8d956bd31987adca092fa014cc897 Author: Simon Feltman Date: Thu Aug 14 21:31:33 2014 -0700 tests: Silence valgrindlog and valgrindxml output from forked procs This is needed to properly diff valgrind runs between commits. tests/Makefile.am | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 57070585a5d5dbc5f42d6fa6d2c309b36f38dfdc Author: Simon Feltman Date: Wed Aug 13 10:27:01 2014 -0700 Remove ffi wrapped destroy notify used for closure cleanup Remove global ffi wrapper for _pygi_invoke_closure_free() and instead use a pointer to _pygi_invoke_closure_free() directly. There is no need to wrap a known single use function with an ffi closure. Originally introduced in commit 610dd1eec87f. gi/pygi-closure.c | 49 +------------------------------------------------ 1 file changed, 1 insertion(+), 48 deletions(-) commit 3f9b5f890ad1292f12eba1e545084de80b76dab7 Author: Simon Feltman Date: Tue Aug 12 22:19:24 2014 -0700 tests: Update tests for static binding protection to check AttributeErrors tests/test_import_machinery.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit e674340db90c29c556b45e0a8f8b2da72661b738 Author: Simon Feltman Date: Mon Aug 11 23:12:38 2014 -0700 Use AttributeError for static binding protection Replace usage of RuntimeError with AttributeError in the dummy module protecting importing of static bindings. This is needed so we don't break modules like inspect which is used by ipython. gi/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 86fb12b3e9b7558000d100f8f212e970ae8c4fd2 Author: Simon Feltman Date: Mon Aug 11 22:47:14 2014 -0700 Add deprecation warning for connect_object() with non-GObject argument GObject.connect_object() accepts any Python object and holds a strong reference to it in the closure defeating the purpose of connect_object(). Add a warning so we can eventually limit connect_object() to GObject arguments use the underlying g_signal_connect_object() which holds a weak reference. https://bugzilla.gnome.org/show_bug.cgi?id=688064 gi/pygobject.c | 9 +++++++++ 1 file changed, 9 insertions(+) commit 9c54bb9defb681316841158cc63df0b0b85c12f0 Author: Simon Feltman Date: Mon Aug 11 22:39:13 2014 -0700 tests: Add tests for connect_object() Add tests for both introspected and non-introspected signals making use of connect_object() and connect_object_after() in combination with GObject and Python object swap data. https://bugzilla.gnome.org/show_bug.cgi?id=727004 tests/test_signal.py | 139 +++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 117 insertions(+), 22 deletions(-) commit 581acc4c56be127b3a724df504bb46a40959fdd9 Author: Simon Feltman Date: Mon Aug 11 21:21:42 2014 -0700 Add Python implementation of Object.connect_data() Add GObject.Object.connect_data() which takes an optional "connect_flags" keyword argument accepting GObject.ConnectFlags enum values. This is for supporting user data swapping (ConnectFlags.SWAPPED). https://bugzilla.gnome.org/show_bug.cgi?id=701843 gi/overrides/GObject.py | 37 ++++++++++++++++ tests/test_signal.py | 109 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 146 insertions(+) commit b1caef95c4b68b65f3f159563162afde5a0b0939 Author: Simon Feltman Date: Sat Aug 9 02:14:23 2014 -0700 tests: Add failing tests which verify exceptions raised in property getters https://bugzilla.gnome.org/show_bug.cgi?id=575652 tests/test_properties.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) commit 19cdbee5a89009da0eb366b9c698a860a7aa92b8 Author: Garrett Regier Date: Fri Aug 8 10:08:23 2014 -0400 Cleanup input args when marshaling in closures The cleanup must happen before setting the out args otherwise the args that cleanup would free are the just set args, not the original ones. https://bugzilla.gnome.org/show_bug.cgi?id=727004 gi/pygi-closure.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7742fab42de5b1f4f8161237fc3cef91fd98791c Author: Simon Feltman Date: Fri Aug 8 02:47:11 2014 -0700 tests: Fix Python 2 build for newly added test_array_parm() Use @unittest.skip() with a string argument as required by Python 2. tests/test_signal.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3165c17a455652de9a61439428fa40f30120dc6a Author: Simon Feltman Date: Fri Aug 8 02:46:26 2014 -0700 Remove incorrect and unused casts from tp_free calls Arguments to Py_TYPE() do not need to be cast since the macro always casts to a PyObject* internall. gi/pygi-boxed.c | 2 +- gi/pygi-ccallback.c | 2 +- gi/pygi-info.c | 2 +- gi/pygi-struct.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) commit 74dfec27c6008968cc66a13792dfb02b29c231b6 Author: Simon Feltman Date: Fri Aug 8 02:33:51 2014 -0700 Fix GCallback Python wrapper leak The PyObject wrapper for GCallbacks was not calling tp_free in the custom tp_dealloc class method. https://bugzilla.gnome.org/show_bug.cgi?id=695130 gi/pygi-ccallback.c | 2 ++ 1 file changed, 2 insertions(+) commit dcf9111a86e01d66943909a0c9f21a181ccc38a6 Author: Martin Pitt Date: Fri Aug 8 01:55:21 2014 -0700 tests: Add failing test for marshalling an array of GValues through signals https://bugzilla.gnome.org/show_bug.cgi?id=669496 tests/test_signal.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit d689d24f271c30612c6a86b5c51d50a1179aedad Author: Simon Feltman Date: Thu Aug 7 17:52:35 2014 -0700 tests: Add tests for GApplication local command line handling Add various tests which override Gio.Appliction.do_command_line and do_local_command_line. https://bugzilla.gnome.org/show_bug.cgi?id=690851 tests/test_gio.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) commit 59c257ebc47fa725750344dd50dd8eb522536d3c Author: Garrett Regier Date: Thu Aug 7 12:25:59 2014 -0400 Add test for a callback with an inout array This was broken until the closures used the caches for marshaling. https://bugzilla.gnome.org/show_bug.cgi?id=702508 tests/test_everything.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) commit 9d0c43b2b9f92fff4249e4eb296f00ea73b15af3 Author: Garrett Regier Date: Thu Aug 7 12:06:30 2014 -0400 Fix raising an error in a constructor It should raise a Python exception instead of warnings about a constructor returning NULL. https://bugzilla.gnome.org/show_bug.cgi?id=727004 gi/pygi-cache.c | 6 +++--- tests/test_gi.py | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) commit d7b9ef0f5411ebcbb2597c16b221fd3482c535e4 Author: Garrett Regier Date: Wed Aug 6 15:30:58 2014 -0400 Use the caches for marshaling the arguments in closures Changes to object marshaling when the calling context is from C was required to correctly keep the correct floating status. The array cache has been modified to set to/from_py_marshaller for the length arg cache. This is required for closures which include the length arg for backwards compatibility. The closure cache takes care to change the length arg cache's meta type so it gets marshalled for closures. https://bugzilla.gnome.org/show_bug.cgi?id=727004 gi/pygi-array.c | 5 +- gi/pygi-basictype.c | 4 +- gi/pygi-basictype.h | 36 +++-- gi/pygi-cache.c | 30 +++- gi/pygi-closure.c | 403 ++++++++++++++++++++++++++++------------------------ gi/pygi-invoke.c | 3 +- 6 files changed, 271 insertions(+), 210 deletions(-) commit 9337acf98d783777c94d4bcb912a185ba6791efb Author: Garrett Regier Date: Wed Aug 6 12:14:27 2014 -0400 Specialize GObject marshaling when called from C These are needed otherwise the floating status of the GObject will not be kept. https://bugzilla.gnome.org/show_bug.cgi?id=727004 gi/pygi-object.c | 86 +++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 72 insertions(+), 14 deletions(-) commit cf295f636b6324a46abbaf329cd6d92c04155d9d Author: Garrett Regier Date: Wed Aug 6 11:59:09 2014 -0400 Move special handling of GObject from Python when calling from C This will soon be used in the GObject arg cache marshaling when the calling context is C. https://bugzilla.gnome.org/show_bug.cgi?id=727004 gi/pygi-argument.c | 21 +-------------------- gi/pygi-object.c | 30 ++++++++++++++++++++++++++++++ gi/pygi-object.h | 5 +++++ 3 files changed, 36 insertions(+), 20 deletions(-) commit 0d09234ea0399d756ee3fb0d358fab5b0a145657 Author: Garrett Regier Date: Wed Aug 6 11:53:39 2014 -0400 Always pass along the callable cache to the arg cache constructors This will be needed in a future patch which requires that the callable cache is always available. https://bugzilla.gnome.org/show_bug.cgi?id=727004 gi/pygi-array.c | 20 ++++++++++++-------- gi/pygi-array.h | 9 +++++---- gi/pygi-cache.c | 34 ++++++++++++++++++++-------------- gi/pygi-cache.h | 7 ++++--- gi/pygi-hashtable.c | 31 +++++++++++++++++-------------- gi/pygi-hashtable.h | 9 +++++---- gi/pygi-list.c | 30 +++++++++++++++++++----------- gi/pygi-list.h | 9 +++++---- gi/pygi-object.c | 25 ++++++++++++++----------- gi/pygi-object.h | 3 ++- 10 files changed, 103 insertions(+), 74 deletions(-) commit 203fef99205ce0c46b1530b0d480021ee8b8e325 Author: Garrett Regier Date: Tue Aug 5 10:42:46 2014 -0400 Set the correct meta type for GErrors when marshaling to Python Otherwise we do not pass the GError into python callbacks and we also want to convert these into Python Exceptions. https://bugzilla.gnome.org/show_bug.cgi?id=727004 gi/pygi-error.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2e92809258d04e91c9d22f2fc0de09db2e60c962 Author: Garrett Regier Date: Tue Aug 5 10:37:58 2014 -0400 Pass the GIArgument to the closure assign functions This will be required once we use the caches for marshaling. https://bugzilla.gnome.org/show_bug.cgi?id=727004 gi/pygi-closure.c | 102 ++++++++++++++++++++++++++---------------------------- 1 file changed, 50 insertions(+), 52 deletions(-) commit ca3579db14df278923674c294d07481a7255510f Author: Garrett Regier Date: Tue Aug 5 10:25:40 2014 -0400 Use the caches for closures, but not yet for marshaling the arguments Instead of using the various GI functions we use the data from the caches. This also fixes generating an arg cache for a closure as it was missing some data or simply setting incorrect data. Also, always included the GITypeInfo until the closures no longer need it for marshaling the arguments. https://bugzilla.gnome.org/show_bug.cgi?id=727004 gi/pygi-cache.c | 33 +++++++- gi/pygi-cache.h | 4 + gi/pygi-closure.c | 245 +++++++++++++++++++++++++----------------------------- gi/pygi-closure.h | 2 + 4 files changed, 150 insertions(+), 134 deletions(-) commit 6a21dab89b59db0afc6d6a22272028ee949b52ad Author: Garrett Regier Date: Tue Aug 5 10:16:45 2014 -0400 Correctly set the destroy notify for callbacks in closures https://bugzilla.gnome.org/show_bug.cgi?id=727004 gi/pygi-closure.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e6d48b4eadbeb1014c4eb140317b579e69eb8d88 Author: Garrett Regier Date: Fri Aug 1 11:40:08 2014 -0400 Split the callable cache into the different types Instead of doing different things based on the various function types this adds vfuncs for generate_args_cache() and invoke() which are then specialized for the various function types. Also add a calling context to the callable cache which is then used to determine the direction when generating the arg caches. This is in preparation for adding closure caches. https://bugzilla.gnome.org/show_bug.cgi?id=727004 gi/pygi-cache.c | 514 +++++++++++++++++++++++++++++++----------- gi/pygi-cache.h | 96 +++++--- gi/pygi-ccallback.c | 16 +- gi/pygi-info.c | 3 +- gi/pygi-invoke-state-struct.h | 2 - gi/pygi-invoke.c | 244 ++++++++------------ gi/pygi-invoke.h | 4 + gi/pygi.h | 2 +- 8 files changed, 564 insertions(+), 317 deletions(-) commit 18341f27a5a9770d8caf3192a75737ab2bc06b1e Author: Ignacio Casal Quinteiro Date: Wed Aug 6 08:27:43 2014 +0200 Generate .dll libraries on windows https://bugzilla.gnome.org/show_bug.cgi?id=734288 configure.ac | 8 ++++++++ tests/Makefile.am | 8 ++++---- 2 files changed, 12 insertions(+), 4 deletions(-) commit d70403357d6b510356dd375304fb97e458fd12b2 Author: Simon Feltman Date: Tue Aug 5 22:45:46 2014 -0700 Add protection against attempts at importing static bindings Clobber gobject, gio, glib, gtk, and gtk.gdk in sys.modules upon importing gi with dummy modules which produce an error upon access. https://bugzilla.gnome.org/show_bug.cgi?id=709183 gi/__init__.py | 25 ++++++++++++++++++++++--- tests/test_import_machinery.py | 24 ++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 3 deletions(-) commit 5ca4d25eac0efcc12b02fe53f379ee41e69bf1d2 Author: Simon Feltman Date: Tue Dec 31 16:15:04 2013 -0800 Update and deprecate gi.overrides.keysyms Replace manually assigned keysyms with a dynamically generated version pulling names and values from Gdk via GI. Add a runtime warning when this module is imported. https://bugzilla.gnome.org/show_bug.cgi?id=721295 gi/overrides/keysyms.py | 1490 +------------------------------------------- pygtkcompat/pygtkcompat.py | 14 +- 2 files changed, 27 insertions(+), 1477 deletions(-) commit 9eaeba9079c23d7e2837f62e8ed2b26c018351b6 Author: Alexey Pavlov Date: Tue Aug 5 19:03:38 2014 -0700 Use -no-undefined for building on Windows See LT_INIT([win32-dll]): http://www.gnu.org/software/libtool/manual/html_node/LT_005fINIT.html Additionally add PYTHON_LIBS to testhelper.la linking. https://bugzilla.gnome.org/show_bug.cgi?id=734284 tests/Makefile.am | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 5737a9ec4bf4d9d07a7e3994d91abf9077b342cc Author: Alexey Pavlov Date: Tue Aug 5 18:40:53 2014 -0700 Use python-config for libs when available https://bugzilla.gnome.org/show_bug.cgi?id=734289 m4/python.m4 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 093abb4ed052c768f51c90324c2e40063aa6b9b9 Author: Alexey Pavlov Date: Tue Aug 5 18:20:25 2014 -0700 Link gi.so with FFI_LIBS https://bugzilla.gnome.org/show_bug.cgi?id=734286 gi/Makefile.am | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 9df54d23a15b871fd71c994b97ffe847ff3b9eb5 Author: Alexey Pavlov Date: Tue Aug 5 15:45:04 2014 +0200 Include math headers also on mingw https://bugzilla.gnome.org/show_bug.cgi?id=734287 gi/pygi-basictype.c | 2 -- 1 file changed, 2 deletions(-) commit 964ced98e03c704074d10cc362abfa14c00457ba Author: Garrett Regier Date: Thu Jul 31 10:16:47 2014 -0400 Added args_offset to the cache instead of checking the function type gi/pygi-array.c | 6 ++---- gi/pygi-cache.c | 6 +++--- gi/pygi-cache.h | 3 +++ gi/pygi-closure.c | 4 +--- 4 files changed, 9 insertions(+), 10 deletions(-) commit 9943d876059201cbee87f072a84234ed774ed932 Author: Simon Feltman Date: Thu Jul 31 21:51:00 2014 -0700 doap: Update homepage URL and email address pygobject.doap | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit afef1020a43d91014c34ffcd5a5f66281f2e7cc9 Author: Simon Feltman Date: Thu Jul 31 21:46:37 2014 -0700 Change maintainer in PKG-INFO to self PKG-INFO.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 10c4d66574e35cc84bed3c3057b68ad98613d839 Author: Andre Klapper Date: Thu Jul 31 21:28:12 2014 +0200 doap: add pygobject.doap | 2 ++ 1 file changed, 2 insertions(+) commit f30001f2b01896577a2b4d956bc4658350e56b8d Author: Simon Feltman Date: Wed Jul 30 00:29:01 2014 -0700 Add GClosure marshalling cleanup Add marshalling cleanup for Python callables and boxed GClosures passed as arguments. Make sure the marshaller owns a reference until clean. Fix transfer everything case by adding a new reference. Remove unused header declaration: pygi_arg_gclosure_from_py_marshal https://bugzilla.gnome.org/show_bug.cgi?id=695128 gi/pygi-struct-marshal.c | 46 ++++++++++++++++++++++++++++++++++++++-------- gi/pygi-struct-marshal.h | 4 ---- 2 files changed, 38 insertions(+), 12 deletions(-) commit cf4e830f1b613736ef9586562eb6c0b354165925 Author: Simon Feltman Date: Wed Jul 30 12:42:15 2014 -0700 Remove decrementing argument index for failed marshalling cleanup Remove index decrement when cleanup function is called for failed argument marshalling. The decrement is incorrect and causes the failed argument cleanup to be skipped. The decrement also causes cleanup for arguments prior to the failed argument to receive "was_successful" as FALSE, which is also incorrect. https://bugzilla.gnome.org/show_bug.cgi?id=695128 gi/pygi-invoke.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 662a4421125d126a11ca163c362d205f0c2147c4 Author: Simon Feltman Date: Wed Jul 30 12:46:18 2014 -0700 Use cleanup data for argument marshalling failures Use state->args_cleanup_data when cleaning up failed argument marshalling. This was overlooked when cleanup data tracking was implemented (commit 7407367f). https://bugzilla.gnome.org/show_bug.cgi?id=695128 gi/pygi-marshal-cleanup.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) commit 39746a3b4f307974d8b3f98f7ba2aefe06d897a3 Author: Olav Vitters Date: Wed Jul 30 20:41:37 2014 +0200 doap category core pygobject.doap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 36caa74a276972eee2b18162ac09edc83c30a3cb Author: Simon Feltman Date: Mon Jul 28 23:51:19 2014 -0700 tests: Move object property reference count tests to test_properties Move and consolidate tests for object property reference counts from tests_object_marshaling to test_properties. https://bugzilla.gnome.org/show_bug.cgi?id=726999 tests/test_object_marshaling.py | 68 ----------------------------------------- tests/test_properties.py | 36 ++++++++++++++++++++++ 2 files changed, 36 insertions(+), 68 deletions(-) commit 15b795354ca5a8f436779ee5d81936af8961acb5 Author: Simon Feltman Date: Mon Jul 28 22:20:44 2014 -0700 tests: Move test_everything.TestProperties into test_properties Consolidate property tests found in test_everything into test_property removing redundant tests already found in test_property. https://bugzilla.gnome.org/show_bug.cgi?id=726999 tests/test_everything.py | 69 +----------------------------------------------- tests/test_properties.py | 59 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 68 deletions(-) commit c691d86c6f5f073f7c1e1e6ddd4311ed27431747 Author: Simon Feltman Date: Mon Jul 28 21:32:44 2014 -0700 tests: Add tests for get/set_property() Re-use the new CPropertiesTestBase class for testing get/set_property() methods. https://bugzilla.gnome.org/show_bug.cgi?id=726999 tests/test_properties.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) commit 115bc88ad5eb85e0a1821fa4fa2cad5c6df87dcc Author: Simon Feltman Date: Mon Jul 28 21:32:00 2014 -0700 tests: Break TestPropertiesObject up for re-use Refactor TestPropertiesObject into a base class which abstracts get/set property methods. This will allow re-use for testing both get/set_property() and the props accessor. https://bugzilla.gnome.org/show_bug.cgi?id=726999 tests/test_properties.py | 221 +++++++++++++++++++++++++---------------------- 1 file changed, 118 insertions(+), 103 deletions(-) commit bf0a5c3345e65b6a7475fada4ea240dbe0049a26 Author: Simon Feltman Date: Mon Jul 28 19:32:00 2014 -0700 tests: Move test_gi.TestPropertiesObject into test_properties Move all property testing code into the test_properties module. https://bugzilla.gnome.org/show_bug.cgi?id=726999 tests/test_gi.py | 233 ---------------------------------------------- tests/test_properties.py | 235 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 235 insertions(+), 233 deletions(-) commit 4941691264970b19b81d435cd58ab18ef6bac9a5 Author: Simon Feltman Date: Fri Jul 25 18:33:15 2014 -0700 pyflakes: Fix legacy print and exception usage under Python 3 Fix print statements and legacy exception usage in examples. https://bugzilla.gnome.org/show_bug.cgi?id=731042 examples/properties.py | 12 ++++++------ tests/runtests-windows.py | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) commit c3d3cd2f798cbae7f66d8e57e191b5f9569a713b Author: Simon Feltman Date: Fri Jul 25 17:49:57 2014 -0700 tests: Ignore warnings for GtkAlignment This was causing unittests to bail. Even though this is deprecated, we still need to test its usage in the context of pygtkcompat. tests/compat_test_pygtk.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) commit 804b89447ae2748c88ad5efe5e6e37d949681b9e Author: Simon Feltman Date: Fri Jul 25 17:40:36 2014 -0700 tests: Remove usage of deprecated "schema" property in GSettings creation Use new and new_with_path instead as the schema property was causing a hard warning which fails the test suite. tests/test_gio.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 6b806137825891cc6bdad82a68cf3deb087feb70 Author: Simon Feltman Date: Fri Jul 25 17:35:06 2014 -0700 tests: Ignore stock-id usage warnings Add ignore_glib_warnings context manager for easily ignoring warnings caused by stock-id usage. Even though stock-id is deprecated, we still need to test the related Python binding overrides. tests/test_overrides_gtk.py | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) commit 6b944c4e215a34bc4181c7c708b6d6f2d4898c15 Author: Simon Feltman Date: Mon Jun 23 15:55:57 2014 -0700 configure.ac: post release version bump to 3.13.4 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 58198b6ae426448cde82cad7304018c7c770c0ea Author: Simon Feltman Date: Mon Jun 23 15:53:03 2014 -0700 release 3.13.3 NEWS | 8 ++++++++ 1 file changed, 8 insertions(+)