2014-01-24  Martyn Russell  <martyn@lanedo.com>

	Release 0.17.1

2014-01-23  Reinout van Schouwen  <reinouts@gnome.org>

	Updated translation by Erwin Poeze

2014-01-23  Jürg Billeter  <j@bitron.ch>

	build: Require Vala >= 0.18.0
	Vala 0.16 has a bug in the g_dbus_message_get_body binding.

2014-01-22  Daniel Mustieles  <daniel.mustieles@gmail.com>

	Updated Spanish translation

2014-01-22  Piotr Drąg  <piotrdrag@gmail.com>

	Updated Polish translation

	Updated POTFILES.in

2014-01-21  Carlos Garnacho  <carlosg@gnome.org>

	Merge branch 'wip/passive-extraction'

	extract: Remove --disable-shutdown argument
	With tracker-extract being now a TrackerMiner (and hence long-lived),
	this argument does now nothing, so remove all traces of it.

	extract: Plug a leak
	If the string being processed is detected as UTF16, the "utf8"
	variable would already contain a malloc()'ed string, so the
	GString would be leaked altogether.

	Then, ensure the string is freed if already converted from UTF16,
	and spare the utf8 validation too, since we already know the string
	is valid utf8.

	extract,msoffice: call g_free() on the right pointer
	the "keyw" variable ends up pointing to chunks within the string
	that must be freed, so keep a pointer to the original string
	so it can be freed afterwards.

	extract,mp3: Plug a leak
	Those loops bail out because the variable word hasn't been found to
	contain non-blank characters, but it still may point out to strings
	like "", so ensure that memory is freed.

	extract,gst: Ensure GstDiscovererInfo structs aren't leaked
	gst_discoverer_discover_uri() may return a non-NULL error and
	a GstDiscovererInfo pointer, so ensure it is freed in case of
	error. The info was also being leaked on successful extraction,
	that is fixed too.

	extract,gif: Plug a leak
	In case of error, the filename was being leaked.

	extract: Ensure a task is added to priv->running_tasks just once
	If a tasks was iterated over multiple extraction modules, the task
	ended up inserted on priv->running_tasks more than once, but only
	removed once when the task finished, leaving dangling pointers in
	priv->running_tasks.

	extract: Do not leak info for unhandled files
	If no extraction module was found for a file, the corresponding
	TrackerExtractTask was being leaked.

	decorator: Do not leak TrackerDecoratorInfo structs
	Set the only reference to the decorator info as the GTask return
	value, so it is definitely destroyed when the GTask itself is
	unref()'ed.

	decorator: Plug a leak
	The values returned by g_variant_get() must be freed.

	decorator: do not estimate remaining time when 0 elements have been processed
	>0 processed items are needed in order to estimate time, otherwise division by
	0 happens.

2014-01-21  Martyn Russell  <martyn@lanedo.com>

	libtracker-miner: Updated documentation with TrackerDecorator* APIs

	libtracker-miner: Improved warnings in cases of failure t with mount events

	libtracker-miner, tracker-extract: Fix include order

	libtracker-miner: Clearer error message for decorator class ID failures

	libtracker-miner: Use g_slice_new0() instead of g_new0() where it makes sense
	Given we're reusing these struct sizes many times, it makes sense to use
	GSlice.

2014-01-21  Carlos Garnacho  <carlosg@gnome.org>

	tracker-extract: remove now nonexistent #include

	tracker-extract: Remove TrackerController
	It is now unused, and its role replaced by TrackerExtractDecorator

	ontology: set tracker:notify on nfo:Video
	This is to cover all basic classes that tracker-extract needs
	to do piggyback indexing.

	tracker-extract: Turn into a full-blown miner
	TrackerExtractDecorator is put in use, replacing TrackerController as
	the master of TrackerExtract. .service and .desktop files are added as
	appropriate so tracker-extract is recognized as a miner, handled by
	tracker-control, etc...

	tracker-extract: Add TrackerExtractDecorator
	This is a tracker-extract implementation of TrackerDecorator, that
	takes care of fetching files to be inspected, and forward these
	to the passed TrackerExtract object. Upon completion, the information
	is returned back to TrackerDecorator control so it is eventually
	committed.

	tracker-extract: Do not add statistics data if no module handled the file
	This prevents a crash when reporting the statistics later, as there is a
	NULL key that is expected to be a GModule.

	libtracker-miner: Add TrackerDecoratorFS
	This is a file-specific implementation of TrackerDecorator, that besides
	checks on initialization, it checks for previously known items not yet
	extracted on newly added volumes.

	libtracker-miner: Add TrackerDecorator
	This object is a TrackerMiner abstract implementation that instead of
	actively looking for information, it passively receives notifications
	through the tracker-store GraphUpdated DBus signal, and offers the
	possibility to fill in further information of newly added resources
	or older resources missing inspection by this miner.

	By default, this object receives information from all resources with
	tracker:notify true, the class-names property can tweak this so it
	only acts on events from a certain rdf:type.

	In order to know which elements are missing inspection, the miner
	relies on a nie:DataSource specific to each TrackerDecorator
	implementation. On startup, TrackerDecorator will check for the
	eligible elements missing that datasource to ensure those are checked.
	The data source can be set through the data-source property.

	ontologies: Add static nie:DataSource for tracker-extractor
	This nie:DataSource will be added to resource by tracker-extract,
	in order to mark files already inspected, and recognize the files
	that are still unprocessed if resuming is needed.

	miner-fs: Set relevant rdf:types on files
	This way, files will be recognized as promptly as possible as being
	of the correct type, even though tracker-extract hasn't gone through
	it yet. This information could also be used in tracker-extract itself
	in order to figure out the best extractor.

	miner-fs: Remove code that calls tracker extract
	Tracker-extract is going to be meant to listen for GraphUpdated
	signals, so no direct communication between tracker-miner-fs and
	tracker-extract would be necessary.

	tracker-extract: Set FallbackRdfTypes on all .rule files

	libtracker-extract: Read FallbackRdfTypes as a string list in .rule files
	FallbackRdfTypes (with an extra 's') is now a string list, so all rdf:types
	that apply to a mimetype can be specified.

2014-01-21  Sam Thursfield  <sam.thursfield@codethink.co.uk>

	Fix compile warnings in tracker-fts.c

	Fix fts:offsets()
	Since the fts4 branch was merged, the fts:offsets() function has been
	broken, because it assumed that properties were stored in the 'fts' table
	in ID order but this was no longer the case.

	The property names list is now created on init as static data, but this
	requires having the 'fulltext_indexed' property available in all cases
	where previously it has only been available if the ontologies were loaded
	directly rather than from the GVDB cache.

	tests/functional-tests/03-fts-functions.py has been improved to test the
	fts:offsets() function more thoroughly.

	https://bugzilla.gnome.org/show_bug.cgi?id=721880

2014-01-21  Aleksander Morgado  <aleksander@aleksander.es>

	libtracker-data: new 'tracker:unaccent' method
	https://bugzilla.gnome.org/show_bug.cgi?id=722254

	This method allows removing combining diacritical marks (accents) from strings
	used in SPARQL queries. It expects a single argument, the string to be
	unaccented.

	Note that the output string will also be NFKD-normalized.

	Example:

	1) First, insert a new element which has accents in the nie:title. In the
	example we insert the word 'école' which in UTF-8 NFC looks like
	"0xC3 0xA9 0x63 0x6F 0x6C 0x65":

	    $ tracker-sparql -u -q "
	        INSERT { <abc> a         nie:InformationElement .
	                 <abc> nie:title 'école' }"

	2) Second, get hexdump of querying nie:title, we should get the original string
	in UTF-8 and NFC normalization:

	    $ tracker-sparql -q "
	        SELECT ?title
	        WHERE { <abc> nie:title ?title }" | hexdump
	    0000000 6552 7573 746c 3a73 200a c320 63a9 6c6f
	    0000010 0a65 000a
	    0000013

	Or, without the hexdump...

	    $ tracker-sparql -q "
	        SELECT ?title
	        WHERE { <abc> nie:title ?title }"
	    Results:
	      école

	3) Last, apply the unaccenting method. The expected string should look like
	"0×65 0×63 0x6F 0x6C 0×65" (i.e. without the combining diacritical mark):

	    $ tracker-sparql -q "
	        SELECT tracker:unaccent(?title)
	        WHERE { <abc> nie:title ?title }" | hexdump
	    0000000 6552 7573 746c 3a73 200a 6520 6f63 656c
	    0000010 0a0a
	    0000012

	Or, without the hexdump...

	    $ tracker-sparql -q "
	        SELECT tracker:unaccent(?title)
	        WHERE { <abc> nie:title ?title }"
	    Results:
	      ecole

	libtracker-data: new 'tracker:normalize' method
	https://bugzilla.gnome.org/show_bug.cgi?id=722254

	This method allows normalizing the strings used in SPARQL queries. It expects
	two arguments: First, the string to be normalized, and second, one of "nfc",
	"nfd", "nfkc" or "nfkd" specifying the type of normalization to apply to the
	string.

	Example:

	1) First, insert a new element which has accents in the nie:title. In the
	example we insert the word 'école' which in UTF-8 NFC looks like
	"0xC3 0xA9 0x63 0x6F 0x6C 0x65":

	    $ tracker-sparql -u -q "
	        INSERT { <abc> a         nie:InformationElement .
	                 <abc> nie:title 'école' }"

	2) Second, get hexdump of querying nie:title, we should get the original string
	in UTF-8 and NFC normalization:

	    $ tracker-sparql -q "
	        SELECT ?title
	        WHERE { <abc> nie:title ?title }" | hexdump
	    0000000 6552 7573 746c 3a73 200a c320 63a9 6c6f
	    0000010 0a65 000a
	    0000013

	3) Third, now apply explicitly NFC normalization, we should get the same output:

	    $ tracker-sparql -q "
	        SELECT tracker:normalize(?title,'nfc')
	        WHERE { <abc> nie:title ?title }" | hexdump
	    0000000 6552 7573 746c 3a73 200a c320 63a9 6c6f
	    0000010 0a65 000a
	    0000013

	4) Last, apply a NFD decomposition, the expected decomposed string should look
	like "0×65 0xCC 0x81 0×63 0x6F 0x6C 0×65":

	    $ tracker-sparql -q "
	        SELECT tracker:normalize(?title,'nfkd')
	        WHERE { <abc> nie:title ?title }" | hexdump
	    0000000 6552 7573 746c 3a73 200a 6520 81cc 6f63
	    0000010 656c 0a0a
	    0000014

	libtracker-data: remove unneeded fallback methods to use glib as unicode support
	We already require either libunistring or libicu, so the glib-based fallback
	methods will actually never be used.

2014-01-20  Fran Diéguez  <fran.dieguez@mabishu.com>

	Updated Galician translations

2014-01-20  Ting-Wei Lan  <lantw44@gmail.com>

	tracker-ioprio, tracker-sched: Fix includes
	We need glib.h because of G_{BEGIN,END}_DECLS, and we do not need
	tracker-log.h.

	https://bugzilla.gnome.org/show_bug.cgi?id=722525

2014-01-19  Enrico Nicoletto  <liverig@gmail.com>

	Updated Brazilian Portuguese translation

2014-01-19  Rafael Ferreira  <rafael.f.f1@gmail.com>

	Revert "Updated Brazilian Portuguese translation"
	This reverts commit 6fdbaf57554ffe6d874d56e41b79b5ddc57b0db8.

	Updated Brazilian Portuguese translation

2014-01-18  Tong Hui  <tonghuix@gmmail.com>

	Update Chinese simplified translation

2014-01-17  Martyn Russell  <martyn@lanedo.com>

	Merge branch 'deprecated-g-test-trap-fork'

	tests: Removed all cases of g_test_trap_fork() which has been deprecated.
	Now we're using g_test_trap_subprocess() instead and that requires GLib 2.38.

	Tracker now depends on GLib 2.38.

2014-01-17  Marek Černocký  <marek@manet.cz>

	Updated Czech translation

2014-01-17  Martyn Russell  <martyn@lanedo.com>

	docs/tools/ttl2sgml: Don't error if we have nao:deprecated for namespaces
	Previously, this would error when generating the documentation with something
	like:

	(lt-ttl2sgml:4857): Tracker-ERROR **:
	'http://www.tracker-project.org/temp/mlo#' is not a class nor a property!?

	and

	../../../docs/tools/gen-doc.sh: line 52:  4857 Trace/breakpoint trap   (core
	dumped) $TTL2SGML -d $f -o $BUILD_DIR/$PREFIX-ontology.xml -f
	$BUILD_DIR/fts-properties.xml -e $ONTOLOGIES_INFO_DIR/$PREFIX/explanation.xml

	Given the entire namespace for MLO is deprecated, we have simply removed the
	g_error here.

	docs/reference/ontology: Make output cleaner when generating ontology docs

	docs/reference: Use gtkdocize --flavour no-tmpl to avoid -chmod issue
	Suggested in actual gtkdoc bugfix here:
	https://bugzilla.gnome.org/show_bug.cgi?id=701259

	docs/tools: make gen-doc.sh more portable, don't use /bin/bash
	https://bugzilla.gnome.org/show_bug.cgi?id=722353

	docs/tools: Improve output and checking for gen-doc.sh
	Used to generate ontology reference documentation

2014-01-13  Xavier Claessens  <xavier.claessens@collabora.co.uk>

	Remove marshallers
	Glib >= 2.30 already hard depend on libffi.

2014-01-13  Dimitris Spingos  <dmtrs32@gmail.com>

	Updated Greek translation

2014-01-12  Daniel Korostil  <ted.korostiled@gmail.com>

	Added uk translation

2014-01-10  Piotr Drąg  <piotrdrag@gmail.com>

	Updated Polish translation

2014-01-10  Daniel Mustieles  <daniel.mustieles@gmail.com>

	Updated Spanish translation

2014-01-10  Milo Casagrande  <milo@ubuntu.com>

	[l10n] Updated Italian translation.

2014-01-09  Sam Thursfield  <sam.thursfield@codethink.co.uk>

	functional-tests: Set up data directores like tracker-sandbox does
	To debug a functional test failure you can now replace the 'rm' at the
	bottom of 'test-runner.sh' with 'echo', and then call:

	    tracker-sandbox.py -i /tmp/tracker-test-XXXX/tracker-tests --shell

	sandbox: Use separate dirs for config, data, etc.
	It's not a good idea to set XDG_CONFIG_HOME, XDG_DATA_HOME, etc. to
	the same directory, because some software might store a file
	with the same name in two of those directories. DConf does it.

2014-01-09  Philip Van Hoof  <philip@codeminded.be>

	Add the rule file for libav

	Fixes after review for the libav support

2014-01-09  Andrew den Exter  <andrew.den.exter@jollamobile.com>

	Improve detection of media stream properties.
	Use the much more comprehensive avformat_stream_info to probe
	data from packetized data rather than directly trying to partially
	decode frames.

	Ensure video size is extracted by libav extractor.
	It may be necessary to parse the MPEG bitstream to get width and height
	from some videos so if the resolution isn't immediately available decode
	enough data to determine it.

	Fix uninitialized variable in libav extractor.
	And warning about passing NULL to an argument that takes an int in
	vorbis extractor.

	Add a libav based generic media extractor.

2014-01-09  Philip Van Hoof  <philip@codeminded.be>

	Fixes after review for GraphUpdated Delay feature

	Make it possible to configure the delay for GraphUpdated
	Helps fixing JB# 11570

	Fixes after review for Qt5 port

	Use minimal in Nemo for QGuiApplication for in case the compositor isn't running yet. Use QGuiApplication instead of QCoreApplication

2014-01-09  Andrew den Exter  <andrew.den.exter@jollamobile.com>

	Port to Qt5.

	Save folder media art for ogg files.

2014-01-09  Sam Thursfield  <sam.thursfield@codethink.co.uk>

	functional-tests: Avoid requiring --enable-maemo

2014-01-08  Daniel Mustieles  <daniel.mustieles@gmail.com>

	Updated Spanish translation

2014-01-07  Piotr Drąg  <piotrdrag@gmail.com>

	Updated Polish translation

2014-01-07  Martyn Russell  <martyn@lanedo.com>

	tracker-control: Added option --collect-debug-info
	Useful when debugging problems to diagnose the state of Tracker on
	your system. The data is output to stdout. Useful if bugs are filed
	against the project itself.

	Data collected includes Tracker version in use, disk space available,
	size of the databases on the disk, the configuration in use, states of
	the index (e.g. last filesystem crawl, data set locale, etc.) and
	finally statistics about the data in the database (e.g. how many
	nfo:FileDataObject resources exist).

2014-01-06  Ralph Boehme  <sloowfranklin@gmail.com>

	Add strnlen() compat function

2014-01-04  Marek Černocký  <marek@manet.cz>

	Updated Czech translation

2014-01-03  Rafael Ferreira  <rafael.f.f1@gmail.com>

	Updated Brazilian Portuguese translation

2014-01-02  Christian Kirbach  <christian.kirbach@gmail.com>

	Updated German translation

2013-12-30  Fran Diéguez  <fran.dieguez@mabishu.com>

	Updated Galician translations

2013-12-18  Debarshi Ray  <debarshir@gnome.org>

	libtracker-extract: Link against libicu when using it
	https://bugzilla.gnome.org/show_bug.cgi?id=720686

2013-12-07  甘露(Gan  Lu)  <rhythm.gan@gmail.com>

	Update Chinese simplified translation

2013-12-03  Carlos Garnacho  <carlosg@gnome.org>

	fts: Strengthen against sqlite failures in FTS functions
	function_weights() and function_property_names() (used respectively by
	SPARQL fts:rank and fts:offsets functions), initialize all data at first
	from the database, so it's available in memory for posterior runs,
	although currently those are being quite optimistic about the database
	return values in several ways, so:

	- Ensure no infinite loops happen on sqlite3_step() if the stmt trips
	  into some unexpected state. SQLITE_BUSY still does keep looping though.

	- As initialization here is a failable task, stop using g_once_init_*
	  and use an static GMutex so initialization can be tried later again
	  if it failed previously.

	- For the cases where initialization failed, propagate the error code
	  on the sqlite3_context.

	Based on work by Tim Waugh and Michael Catanzaro.
	https://bugzilla.redhat.com/show_bug.cgi?id=1026283

2013-11-29  Zeeshan Ali (Khattak)  <zeeshanak@gnome.org>

	extract-iso: Make use of OS variants
	Take the name of first variant as 'nie:title', if any.

	https://bugzilla.gnome.org/show_bug.cgi?id=719512

	extract-iso: Use osinfo_db_identify_media
	osinfo_db_guess_os_from_media is deprecated in newer libosinfo and
	is replaced by osinfo_db_identify_media.

	https://bugzilla.gnome.org/show_bug.cgi?id=719512

	Require libosinfo >= 0.2.9
	https://bugzilla.gnome.org/show_bug.cgi?id=719512

2013-11-29  Colin Walters  <walters@verbum.org>

	tracker-store.desktop: Add missing flags argument
	Sorry, forgot to rebase this.

	https://bugzilla.gnome.org/show_bug.cgi?id=715040

2013-11-28  Sam Thursfield  <sam.thursfield@codethink.co.uk>

	build: Add SQLite 3.8.1 to list of bad SQLite versions
	There is a bug in SQLite version 3.8.1 which causes incorrect query
	results. See the following links for more details:

	    https://mail.gnome.org/archives/tracker-list/2013-November/msg00021.html
	    https://bugzilla.redhat.com/show_bug.cgi?id=1034714

	The bug is fixed in SQLite master already so version 3.8.2 should be
	fine to use.

2013-11-25  Sam Thursfield  <sam.thursfield@codethink.co.uk>

	tests: Fix failure in tracker-sched-test under jhbuild
	jhbuild defaults to running under 'SCHED_IDLE'. The test asserts that
	the test is initially using 'SCHED_OTHER' -- this is a bad idea, we
	shouldn't be making assertions about the environment in which the user
	is running the tests.

	tests: Avoid invalid calls to g_source_remove().
	GLib now warns if removing a source that no longer exists.

	This was causing intermittent failure of tracker-file-notifier-test
	If the test timeout executed before the test's main loop exited, the
	following error would occur:

	        GLib-CRITICAL **: Source ID 130 was not found when attempting to
	        remove it

	The functional tests have also been fixed.

2013-11-25  Aleksander Morgado  <aleksander@lanedo.com>

	test,libtracker-fts: allow alternate number of expected words
	In ICU 50 the word splitting algorithm changed, so this test may get
	different results depending on the host environment. The test simply
	needs to verifying that word splitting works, so it should allow either
	value.

	As of November 2013 Ubuntu is still shipping an older version of ICU so
	it would be awkward to simply increase the version we depend on.

	https://bugzilla.gnome.org/show_bug.cgi?id=699412

2013-11-25  Colin Walters  <walters@verbum.org>

	Avoid starting tracker-store twice
	We install both of:

	/etc/xdg/autostart/tracker-store.desktop
	/usr/share/dbus-1/services/org.freedesktop.Tracker1

	If something else speaks to tracker via during login, what will happen
	is that dbus-daemon will spawn one, and gnome-session will also spawn
	one, and one of these will emit a critical message.

	To fix this, change the .desktop file merely use DBus (it'd be nice if
	there was an easier way to do this).

	Instead, maybe we could consider only dbus-activating tracker?  In
	other words, if nothing wants to talk to us, maybe we shouldn't be
	starting by default...

	https://bugzilla.gnome.org/show_bug.cgi?id=715040

2013-11-23  Carlos Garnacho  <carlosg@gnome.org>

	miner-fs: initialize timers as stopped
	This way timers are in agreement with their boolean guards,
	and will get continued when processing actually starts.

2013-11-22  Carlos Garnacho  <carlosg@gnome.org>

	Bump for 0.17.1