commit 7baecb25e76357f8ec83b005ccbd79a7c2e6f1d8 (HEAD -> master) Author: Bastien Nocera Date: Sat Dec 26 14:54:28 2015 +0100 0.3.2 NEWS | 12 ++++++++++++ configure.ac | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) commit bd947a06e2346cf561aae9874b27ee15e585f4fa Author: Bastien Nocera Date: Sat Dec 26 18:25:21 2015 +0100 python: Fix distcheck Installation failed during distcheck as it tried to install in the system Python directories, which normal users can't install to. Makefile.am | 6 +++++- configure.ac | 16 ++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) commit 04dab4b07591854e7b760e9b3fa0abdc8f85eef7 (origin/master, origin/HEAD) Author: Pedro Albuquerque Date: Thu Sep 24 07:01:00 2015 +0000 Added Portuguese translation po/LINGUAS | 1 + po/pt.po | 212 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 213 insertions(+) commit 51eeff0ce27e2762c889fd106c4cd1bfb39e9fff Author: Tom Schoonjans Date: Mon Sep 7 18:03:48 2015 +0200 build: Don't build tests when tests are disabled --disable-glibtest should disable all the tests. As we do the equivalent of passing that flag when gdk-pixbuf is not available, make sure not to try and build tests when gdk-pixbuf is unavailable. In the future, we should just disable the gdk-pixbuf requiring test when it's not available, instead of disabling all the tests. https://bugzilla.gnome.org/show_bug.cgi?id=754694 tests/Makefile.include | 4 ++++ 1 file changed, 4 insertions(+) commit 65374efcb8f57347946bf20f33f3c8a7a65351f7 Author: Bastien Nocera Date: Tue Aug 25 15:38:52 2015 +0200 resource: Remove unused and leaked hashtable Spotted by Victor Toso. gom/gom-resource.c | 4 ---- 1 file changed, 4 deletions(-) commit f70f121c917343dc97c618cbb27b7784c0463b50 Author: Victor Toso Date: Wed Aug 12 17:03:11 2015 +0200 tests: Add migration with new table in version X https://bugzilla.gnome.org/show_bug.cgi?id=753563 tests/test-gom-migration.c | 270 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 270 insertions(+) commit 5ad762eaaba654d690ed53e6038aacce7358619d Author: Bastien Nocera Date: Tue Aug 25 00:06:02 2015 +0200 gom: Add support for creating new tables in a version To support creating new tables in a particular version of the database, we special case the primary key's "new in version" tag to create the table in that version. For example, if a table with 2 columns, one primary key, and one attribute, needs to be created in version 4 of the database, you'll need to tag both the primary key property as well as the attribute one as being new in version 4 of the database. Think of this as an easter egg, as you'd really be expected to create all the necessary tables in version 1, or to manually migrate your database otherwise. https://bugzilla.gnome.org/show_bug.cgi?id=753563 gom/gom-command-builder.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) commit 458a8ecdffe5f6c36ab08d0dde89f3d06a32b580 Author: Bastien Nocera Date: Mon Aug 24 22:32:16 2015 +0200 sorting: Fix compile-time warning gom/gom-sorting.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2315e28f7c798e16b6eb3a102afc71fd0c553dfb Author: Bastien Nocera Date: Tue May 26 16:29:16 2015 +0200 gom: Fix impossible pointer dereference gom-0.2.1/gom/gom-command-builder.c:849: check_after_deref: Null-checking "str" suggests that it may be null, but it has already been dereferenced on all paths leading to the check. gom-0.2.1/gom/gom-command-builder.c:762: check_after_deref: Null-checking "str" suggests that it may be null, but it has already been dereferenced on all paths leading to the check. gom/gom-command-builder.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) commit d9362b170ce6829e54a859d2bc8664b1b52ad30b Author: Ting-Wei Lan Date: Sat Aug 8 20:16:48 2015 +0800 gom: Fix return value error in gom_sorting_add https://bugzilla.gnome.org/show_bug.cgi?id=753381 gom/gom-sorting.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0e0ef51d5b379d64f044f4e69c02ee36060e2ba7 Author: Mathieu Bridon Date: Fri Aug 7 16:36:57 2015 +0200 Add a gom_filter_new_sql unit test https://bugzilla.gnome.org/show_bug.cgi?id=753353 tests/test-gom-find-specific.c | 48 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) commit 7d183492765609162501ed4f9a3c31dd45585a02 Author: Christian Hergert Date: Fri Aug 7 19:16:52 2015 +0200 filter: use a copy of the value array In GObject Introspection, we can't expect transfer of ownership of the array. So we will just make a copy of the array. gom/gom-filter.c | 39 +++++++++++++++++++++++++++++++-------- gom/gom-filter.h | 2 +- 2 files changed, 32 insertions(+), 9 deletions(-) commit 27b4d00a70468b5479c3c082724e88e634735b41 Author: Mathieu Bridon Date: Sat Aug 1 16:33:08 2015 +0200 python: Override the Sorting constructor In C, the gom_sorting_new constructor allows passing all the sorting arguments to the created GomSorting object. This allows doing exactly the same thing in Python as well, without having to first create the Gom.Sorting object, then adding all the sorting arguments. https://bugzilla.gnome.org/show_bug.cgi?id=753137 bindings/python/gi/overrides/Gom.py | 16 ++++++++++++++++ examples/gom.py | 3 +-- 2 files changed, 17 insertions(+), 2 deletions(-) commit ed722a3361e89ce3c71c3f6b930470aa93fdbd06 Author: Mathieu Bridon Date: Sat Aug 1 16:31:39 2015 +0200 python: Make ResourceGroup a sequence This is a simple GI overrides, which allows iterating directly over a Gom.ResourceGroup, accessing items as if it were a list, and getting its length, all in the natural Python way. https://bugzilla.gnome.org/show_bug.cgi?id=753137 bindings/python/gi/overrides/Gom.py | 20 ++++++++++++++++++++ examples/gom.py | 9 ++++----- 2 files changed, 24 insertions(+), 5 deletions(-) commit d3dac3f409ed381120aa2445b13a0d0ecae93503 Author: Mathieu Bridon Date: Sat Aug 1 16:26:55 2015 +0200 python: Prepare for adding some GI overrides This adds an optional build-time dependency on Python 3 and PyGObject. https://bugzilla.gnome.org/show_bug.cgi?id=753137 .gitignore | 1 + Makefile.am | 1 + bindings/python/Makefile.include | 4 ++++ bindings/python/gi/overrides/Gom.py | 22 ++++++++++++++++++++++ configure.ac | 27 +++++++++++++++++++++++++++ 5 files changed, 55 insertions(+) commit 975b7a7da85765f23fa95366d6913763c4a03a55 Author: Mathieu Bridon Date: Wed Jul 8 23:17:37 2015 +0200 python: Add a working example The example demonstrates how to use Gom from Python, connecting to a database, creating resource classes, inserting resource instances, fetching them back with or without filters, with or without ordering, synchronously or asynchronously, and then closing the connection. Some parts don't look very Pythonic, but it could be made better with GI overrides. https://bugzilla.gnome.org/show_bug.cgi?id=753137 Makefile.am | 1 + examples/Makefile.include | 1 + examples/gom.py | 85 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 87 insertions(+) commit 54b098ea26869e78911b74acb61b2487c06cea19 Author: Mathieu Bridon Date: Thu Aug 6 07:35:45 2015 +0200 sorting: Avoid SQL injections Other Gom objects, for example GomFilter, use a GParamSpec internally, which automatically sanitizes property identifiers, so that they won't contain any special characters like ";", "?", or other things which could cause SQL injections. https://bugzilla.gnome.org/show_bug.cgi?id=753049 gom/gom-sorting.c | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) commit 5133082d735da4800d7135e24a319d678ba4a83a Author: Marek Černocký Date: Wed Jul 22 02:06:51 2015 +0200 Updated Czech translation po/cs.po | 98 ++++++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 55 insertions(+), 43 deletions(-) commit 9b4ae7bcb59ea9ced6e792be8dfde913b0053ba7 Author: Balázs Úr Date: Fri Jul 17 14:08:03 2015 +0000 Updated Hungarian translation po/hu.po | 96 +++++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 55 insertions(+), 41 deletions(-) commit 32fc752f1115d337cc1ddb29d8b9805e46e854c5 Author: Daniel Mustieles Date: Tue Jul 14 09:55:33 2015 +0200 Updated Spanish translation po/es.po | 421 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 217 insertions(+), 204 deletions(-) commit fd5ea9493f3e99127a4cfae1127a51ada1805a4d Author: Piotr Drąg Date: Sun Jul 12 16:54:37 2015 +0200 Updated Polish translation po/pl.po | 96 ++++++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 54 insertions(+), 42 deletions(-) commit e7a8801109b1d361b7aab144c08eadaaba998605 Author: Mathieu Bridon Date: Wed Jul 8 23:05:06 2015 +0200 sorting: Allow adding sorting clauses to an existing GomSorting This allows another way to use GomSorting objects. In addition, it makes it possible to use GomSorting from GI-based bindings. As it turns out, GObject Introspection does not support variadic functions, so gom_sorting_new just isn't usable from GI-based bindings. But with this commit, GI-based bindings can now simply create a new, empty GomSorting object, then add their sorting clauses to it. https://bugzilla.gnome.org/show_bug.cgi?id=752141 gom/gom-sorting.c | 56 ++++++++++++++++++++++++++------- gom/gom-sorting.h | 4 +++ tests/test-gom-sorting.c | 82 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 131 insertions(+), 11 deletions(-) commit 38ec6584b12a0cd052cfe36c1d5caac50f25050b Author: Mathieu Bridon Date: Fri Jul 10 09:45:58 2015 +0200 sorting: Properly free the GomOrderByTerm We were leaking the property_name string. https://bugzilla.gnome.org/show_bug.cgi?id=752141 gom/gom-sorting.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) commit ab60def8a5f270fd66e26b34abbf5394287e9425 Author: Mathieu Bridon Date: Thu Jul 9 16:17:26 2015 +0200 sorting: Improve the gom_sorting_new documentation This adds language markup, and the proper # signs in front of types. https://bugzilla.gnome.org/show_bug.cgi?id=752141 gom/gom-sorting.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) commit 9d2bca5ab1f907eec319af8ecb340bcd72c19bd5 Author: Mathieu Bridon Date: Thu Jul 9 16:27:53 2015 +0200 doc: Add GomSorting to the documentation https://bugzilla.gnome.org/show_bug.cgi?id=752141 doc/gom-docs.sgml | 1 + 1 file changed, 1 insertion(+) commit 3835899db1835b9876bea6a56771a84843049a8d Author: Mathieu Bridon Date: Wed Jul 8 22:42:15 2015 +0200 sorting: Create the queue in init This is where it should have been from the start, otherwise using g_object_new() won't have the queue created. https://bugzilla.gnome.org/show_bug.cgi?id=752141 gom/gom-sorting.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 80cdd480306f79e8a2b7c631bd7f0a063cf04c18 Author: Mathieu Bridon Date: Wed Jul 8 21:02:25 2015 +0200 sorting: Fix the enum nicks When I wrote the sorting patches, I was at first using the nick strings as the string to insert in the SQL. As a result, I used "DESC" for the descending mode, and "" for the ascending mode, as for an ascending ORDER BY, you just don't add anything to the SQL. But then I realize it wasn't such a great idea to use the nick strings in this way, so the versions of the sorting patches that got merged don't do that any more. However I kept those nick strings in the enum. Turns out that GI-based bindings use the nick as the identifier for the enum member. For example, in Python, the descending mode would be: Gom.SortingMode.DESC Obviously, the empty string is not a great identifier. This commit fixes that, giving them proper nicks, which make things nicer to use in GI-based bindings. gom/gom-sorting.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit f6b9b84dc9be1d23dc09c62ae537fa2fa91cbb52 Author: Mathieu Bridon Date: Sat Jun 27 17:54:12 2015 +0200 sorting: Add an async method https://bugzilla.gnome.org/show_bug.cgi?id=730581 gom/gom-repository.c | 18 ++++++++- gom/gom-repository.h | 6 +++ tests/test-gom-sorting.c | 101 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 124 insertions(+), 1 deletion(-) commit 423e1dc364c4c031129a41f4f665eea4e9627125 Author: Mathieu Bridon Date: Sat May 16 15:28:07 2015 +0200 sorting: Support ordering queries https://bugzilla.gnome.org/show_bug.cgi?id=730581 .gitignore | 1 + gom/Makefile.include | 2 + gom/gom-command-builder.c | 48 +++++ gom/gom-repository.c | 36 ++++ gom/gom-repository.h | 6 + gom/gom-resource-group.c | 44 +++++ gom/gom-sorting.c | 226 +++++++++++++++++++++++ gom/gom-sorting.h | 68 +++++++ gom/gom.h | 1 + tests/Makefile.include | 6 + tests/test-gom-sorting.c | 453 ++++++++++++++++++++++++++++++++++++++++++++++ 11 files changed, 891 insertions(+) commit 18964de8711d47de43c2fffae71a111517d9942b Author: Mathieu Bridon Date: Sat May 16 12:46:05 2015 +0200 Ignore some new files https://bugzilla.gnome.org/show_bug.cgi?id=730581 .gitignore | 2 ++ 1 file changed, 2 insertions(+) commit a91010ac26bf2f698f052eba0626a84a734f7eb6 Author: Mathieu Bridon Date: Sun Jul 5 11:32:21 2015 +0200 repository: Add missing annotation The function allows the filter to be NULL. But without this annotation, not only is the documentation wrong, gobject-introspection will also refuse a None value when calling the function from Python. https://bugzilla.gnome.org/show_bug.cgi?id=751977 gom/gom-repository.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6183ad324e74633c2044fdd3700b9e4fd8edb3e6 (tag: 0.3.1)