2015-07-13  Carlos Garnacho  <carlosg@gnome.org>

	Release 1.5.0

	distcheck fixes

	tracker-extract: Remove ModulePath from comic/ebook rules
	These relied on the dummy extractor, removing the ModulePath is a similar
	silent shortcut since commit 06f7d4a1a.

	extract-gstreamer: Rely better on the GstDiscoverer than mimetype sniffing
	There's mimetypes that easily fool mimetype detection (eg. OGG videos with
	.ogg extension instead of .ogv will be detected as audio/ogg), the
	GstDiscoverer will however find out correctly whether there's audio and/or
	video information, so we should rely on it as a last resort, rather than
	(weaker) mimetype sniffing.

	This prevents .ogg suffixed videos from being played by gnome-music (oddly,
	with success, in a separate window).

2015-07-13  Daniel Mustieles  <daniel.mustieles@gmail.com>

	Updated Spanish translation

2015-07-12  Carlos Garnacho  <carlosg@gnome.org>

	libtracker-extract: Accept rules with no ModulePath
	This will enable us to make dummy rules for files that must have some RDF
	type(s), but don't have an extractor module.

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

2015-07-12  Gilles Dartiguelongue  <eva@gentoo.org>

	build: Fix AM_CONDITIONAL position HAVE_{GSTREAMER,LIBAV} definition
	https://bugzilla.gnome.org/show_bug.cgi?id=750368

2015-07-06  Carlos Garnacho  <carlosg@gnome.org>

	tracker-extract-gstreamer: Fallback to preview image for album art
	Some files don't provide a cover image, but just a preview image, we can
	use that as albumart.

	This commit reuses code from a fallback which looks bogus nowadays, since
	it just does the same than the while loop above. If we reached there, it
	would fail again for sure.

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

2015-07-06  Pedro Albuquerque  <palbuquerque73@gmail.com>

	Updated Portuguese translation

2015-07-06  Philip Withnall  <philip.withnall@collabora.co.uk>

	libtracker-miner: Keep a monitor on root index tree files on deletion
	If Tracker is running with some index-recursive-directories set (for
	example, ~/Music), and one of those directories is moved, then the file
	monitor watching for its existence is deleted. This means that if it is
	then moved back to the location listed in index-recursive-directories,
	its renewed existence is not detected, and its contents are not
	re-indexed.

	Fix this by keeping a monitor around on a directory if that directory is
	listed as an index tree root, even if the directory is deleted.

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

2015-07-06  Ville Skyttä  <ville.skytta@iki.fi>

	tracker-sparql.1: Man page syntax fix
	https://bugzilla.gnome.org/show_bug.cgi?id=751723

	docs: Spelling fixes
	https://bugzilla.gnome.org/show_bug.cgi?id=751724

2015-07-05  Carlos Garnacho  <carlosg@gnome.org>

	tracker-miner-fs: Reset retry counter when we need to prepend parents
	The situation where a parent directory has to be prepended in order to
	process the current file is rare, mainly reserved to IndexFile calls
	on files out of watched dirs.

	This is a corner situation, but it is a legit place where we have to
	put the file back again in the queue, and thus we shouldn't increase
	the retry counter.

	This nominally fixes the indexing of gnome-documents-getting-started.pdf
	on a fresh-out tracker DB, as requested by gnome-shell.

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

	tracker-preferences: Use the new command line tool
	We resort to the tracker CLI for restart/reindex, the calls have
	changed to use Posix.system() as there's some operations that are
	now mutually exclusive in the CLI tool (eg. reset and start daemons)
	and still need to be performed in a single step here.

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

	tracker-preferences: Remove needless prints
	These won't tell a lot, since we're killing the whole thing.

2015-07-05  Sam Thursfield  <sam@afuera.me.uk>

	Fix tracker-encoding-test
	After commit ede17cc22b0c6245c030 this was failing to compile.

2015-07-05  Carlos Garnacho  <carlosg@gnome.org>

	cli: Improve bash completion script
	We now autocomplete files where it applies (various -f/--file options,
	tracker info) and '-' prefixed switches.

	cli: Mark missing strings for translation
	The help strings in the sql subcommand weren't marked as translated

	extract-mp3: Bail out on encoding detection if confidence is too low
	Libicu encoding detection is able to tell the confidence it got on
	the detection, we should be using that in case the confidence is
	too low, as that means the returned encoding is probably bogus, and
	we have an encoding to fallback on.

	This fixes detection on the file reported on bug #735515, where
	a couple of 'ï' chars (valid ISO-8859-1) make libicu detect UTF-16BE,
	although with an extremely low confidence.

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

	libtracker-extract: initialize value
	ucsdet_open() expects an status set to 0, otherwise it will bail out
	early. With uninitialized memory we might or might not get that.

2015-07-05  Philip Withnall  <philip.withnall@collabora.co.uk>

	vala: Ensure all .vapi files contain GIR namespace CCode attributes
	Ensure all .vapi files exported by Tracker contain gir_namespace and
	gir_version CCode attributes, otherwise Vala code compiled against them
	will hit this warning:

	tracker-sparql-1.0.vapi:4.2-4.17: warning: Namespace Sparql does not
	have a GIR namespace and version annotation
		namespace Sparql {

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

2015-07-04  Marcus Meissner  <meissner@suse.de>

	configure: Save LDFLAGS
	There's places where CFLAGS is modified/restored while LDFLAGS is left
	untouched, both should be saved/restored at the same time.

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

2015-07-04  Carlos Garnacho  <carlosg@gnome.org>

	libtracker-data: Trigger rebuild of FTS tokens on parser changes
	Whenever there's a change in the implementation of our tokenizers, we'll
	trigger a rebuild of the FTS table. This allows for live updates to our
	tokenizers without the need to redo the database from scratch.

	The FTS rebuild is also triggered on locale changes.

	libtracker-data: Add functions to maintain a "parser sha1" stamp file
	We'll keep a ~/.cache/tracker/parser-sha1.txt file, containing the sha1 of
	the last commit that affected libtracker-common/tracker-parser*, which
	Tracker will compare against its compiled-in one. This will help trigger
	automatic FTS token rebuild on parser changes.

	libtracker-data: Add TrackerDBInterfaceSqlite method to rebuild FTS tokens
	Not a lot going on here, we just punch the hole so it can be used on
	tracker-data-manager.c

	tracker-fts: Add method to rebuild the FTS tokens
	This may be useful on locale changes or tokenizer updates, as our
	FTS table uses external content (the fts_view view we create for that
	purpose), All text content is external to it, so we can safely rebuild
	all tokens from scratch.

	libtracker-common: generate sha1 for the current parser incarnation
	This is created out of the last git commit sha1 from the relevant
	parser files. It may be used in order to rebuild the FTS table tokens
	after we perform changes in the tokenizers themselves.

	docs: Ensure ontology properties can be looked up through devhelp
	The devhelp index generation relies on specific roles set in the
	docbook XML, we were setting none for ontology properties though.

2015-07-04  Philip Withnall  <philip.withnall@collabora.co.uk>

	tracker-miner-fs: Fix a completion check when removing the final task
	Depending on how mining goes, this path might be the last one taken
	before the miner is ready to go idle again. However, the check on the
	task pool size is guaranteed to be false because the task which
	item_add_or_update_continue() was called on has not yet been removed
	from the pool — that’s done directly below.

	Fix that by removing the task from the task pool before checking whether
	the pool is empty.

	This fixes stalls in tracker-miner-fs where `tracker-control -S` would
	show the following for ever (when running with
	index-recursive-directories set to a non-empty list):
	   1%  File System - Crawl finished for directory 'blah'

	Previously, the only way to fix this was to pause and then resume the
	miner.

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

	tracker-thumbnailer: Output debug information about supported MIME types
	https://bugzilla.gnome.org/show_bug.cgi?id=751654

	build: Add missing files to .gitignore files
	https://bugzilla.gnome.org/show_bug.cgi?id=751052

2015-07-04  Iain Lane  <iain@orangesquash.org.uk>

	functions-tracker: Fix collate order
	Somewhere between sqlite 3.8.7 and 3.8.10.2, sqlite seemed to fix
	a bug on ORDER BY SOMESTRINGFUNCTION() clauses, where it would
	invariably apply the BINARY collator, despite tracker specifying
	its own one.

	This is something that 2 libtracker-data tests were indirectly
	testing, where queries are sorted by tracker:coalesce(), these now
	happen to fail because the stored results inadvertently had the wrong
	order.

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

2015-07-03  Carlos Garnacho  <carlosg@gnome.org>

	extract-mp3: Stop processing after finding padding
	ID3v2[0-4] Allows the possibility of some padding at the end of an
	ID3 block, defined to be filled with 0x00, just in case later tag
	additions don't cause a full rewrite of the file. This means there's
	nothing for us when we hit this.

	ID3v2.4 also defines the existence of "ID3 footers", those always
	start as "3ID", and should be skipped for our purposes, as those
	are basically a mirror of the ID3 block.

	This most notably avoids a bunch of "Ignoring unknown frame ''"
	spew on -v 3 logs, as padding is fairly common.

	extract-mp3: Account for the tag header size in calculations
	In the parsing of id3v2[0-4] tags, we calculate offsets in base
	of the size we get in the header, which according to id3 specs,
	doesn't include the 10 bytes of the header itself.

	This means there's a disparity of 10 bytes between our 0-based
	offsets, and our 10-based fetched size, we must account for this
	when iterating through frames.

	Also, we were possibly (and mistakenly) iterating till the end
	of the file (comparing against size instead of tsize(+header) in
	the while loops), we only have to parse one id3 block at a time.
	If the former bug could conceivable make us miss the last frame,
	this one would overcompensate for it.

	Less importantly, this fixes the incorrect "position +
	content size > tag size, not processing any more frames" debug
	spew I was seeing on many mp3s with -v 3.

	extract-mp3: Return false if we find no frame headers
	This means we're probably not dealing with an mp3 file, even if
	we thought so. This makes it possible to bail out into more generic
	modules (eg. gstreamer) that might catch what the file is for real.

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

	tracker-extract: Check the return value from TrackerExtractMetadataFunc
	Extract modules might fail mid-processing, when the TrackerSparqlBuilder
	has been partially written, we should bail out and move on to the next
	extract module, as we can't guarantee its validity.

2015-07-01  Carlos Garnacho  <carlosg@gnome.org>

	Merge branch 'decorator-memory-reduction'

	tracker-miner-fs: Delete nie:dataSources on update
	Decorators should be updating again all relevant information, so ensure
	their nie:dataSource is deleted for these to kick in again.

	This used to be unnecessary because updated items just went to the
	internal decorator queue, without further checks. Now that the decorators
	query the database for the next items missing that dataSource, it is
	crucial to do this somewhere.

	tracker-extract: tell what the error really means
	The current one is not really intuitive.

	libtracker-miner: Reduce TrackerDecorator file cache size
	Instead of keeping all items in memory, a small cache is kept of upcoming
	files to be processed, querying the database again for files missing the
	nie:dataSource when the cache has been flushed. When no further items are
	processed, the miner is stopped. Whenever the prioritized rdf:types list
	changes, the cache is dropped, just to query again with the new order kept
	into account.

	This reduces the potential memory usage of tracker-extract, it would
	previously would grow linearly with the number of files left to be
	inspected, which might bring in some memory pressure on certain scenarios.

	On the downside, this obviously makes the decorator a little bit slower,
	due to more queries happening (as opposed to a huge one), and at times the
	decorator is idle waiting to know what else to do.

	tracker-extract: Keep ref on recovery files
	The hashtable expects its own ref here, otherwise we get critical
	warnings after processing that item.

	docs: delete xml folder before regenerating ontology docs
	Otherwise it simply fails if there happens to be stale data

2015-06-30  Carlos Garnacho  <carlosg@gnome.org>

	distcheck fix

	update docs .gitignore

	docs: Delete dia diagrams, and pre-generated PNGs
	Those weren't that much clear nor useful, those are deleted in
	a separate commit in case we want to rescue and rework them
	someday.

	docs: Delete ontology graph tool
	This is now unused, so remove the tool, and the configure.ac check
	for fdp.

	docs: Rework ontology docs generation entirely
	Ontology docs weren't in a much good shape, besides many ontologies
	being seriously underdocumented (something which should improve
	separately), the generated docs were little more than a data dump,
	and the diagrams shown were broken, confusing, or both. This all
	amounts to quite counter-productive developer docs.

	So the ontology docs have been refurbished, the per-ontology
	descriptions are still useful, but have been stripped of all images,
	and the docs overall are now completely class-centric, per
	rdfs:Resource subclass we now get:

	- Ascii diagram of its local hierarchy, up to all its ancestors and
	  down to all its direct children.
	- All properties that affect the specific class. This is notably
	  more intuitive now as there's properties defined on one ontology
	  that are in the domain of classes in another ontology, something
	  which you couldn't get at a glance in the previous docs
	- It clearly states which properties supersede which superproperties,
	  which again makes it easier if those apply for the class at hand.

	The result feels quite neater, and will indeed be more resembling
	to other gtk-doc generated API docs.

2015-06-30  Pedro Albuquerque  <palbuquerque73@gmail.com>

	Updated Portuguese translation

2015-06-23  Balázs Úr  <urbalazs@gmail.com>

	Updated Hungarian translation

2015-06-20  Ralph Boehme  <slow@samba.org>

	configure: fix conditional AM_CONDITIONAL

2015-06-16  Piotr Drąg  <piotrdrag@gmail.com>

	Updated Polish translation

2015-05-31  Iain Lane  <iain@orangesquash.org.uk>

	libtracker-miner: Set inotify limits for 'GInotifyFileBackend' too
	As of GLib 2.45.1, the inotify monitor backend is called this.

2015-05-31  Philip Withnall  <philip.withnall@collabora.co.uk>

	libtracker-common: Don’t fail statvfs() on a missing directory
	If $XDG_CACHE_HOME/tracker doesn’t exist on startup, the statvfs() call
	to determine how much space is left will fail with ENOENT. However, the
	code currently interprets this as being out of space, and will cause the
	rest of Tracker to shut down, even if there is actually plenty of space
	left on the disk.

	Avoid this by traversing up the directory hierarchy until statvfs() does
	not fail with ENOENT.

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

2015-05-28  Daniel Mustieles  <daniel.mustieles@gmail.com>

	Updated Spanish translation

2015-05-26  Daniel Mustieles  <daniel.mustieles@gmail.com>

	Updated Spanish translation

2015-05-23  Michael Biebl  <biebl@debian.org>

	Move bash-completion to new location
	Rename the bash completion script after the binary and move it to
	/usr/share/bash-completion/completions. This way the completions can be
	loaded on demand.

2015-05-21  Dušan Kazik  <prescott66@gmail.com>

	Updated Slovak translation

2015-05-20  Christian Kirbach  <Christian.Kirbach@gmail.com>

	Updated German translation

2015-05-18  Jordi Mas  <jmas@softcatala.org>

	Fixes to Catalan translation

2015-05-17  Martin Srebotnjak  <miles@filmsi.net>

	Updated Slovenian translation

2015-05-09  Alexander Shopov  <ash@kambanaria.org>

	Added Bulgarian translation

2015-04-26  Cheng-Chia Tseng  <>

	Updated Chinese (Taiwan) translation

2015-04-25  Marek Černocký  <marek@manet.cz>

	Updated Czech translation

2015-04-24  Philip Withnall  <philip.withnall@collabora.co.uk>

	tracker-extract: Only extract media art if artist or title is known
	media_art_process_*() require at least one of the track’s artist and
	title to be specified, and will fail an assertion precondition if both
	are NULL.

	Other tracker-extract-*.c media backends already do this check, but it
	was missing from the GStreamer extractor.

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

2015-04-09  Carlos Garnacho  <carlosg@gnome.org>

	tracker-extract-epub: Ensure we only have one nie:identifier
	This property has maxCardinality=1, we are however possibly adding
	multiple values there, either in both UUID/ISBN forms, or as multiple
	UUIDs in faulty epubs.

	ISBN should probably be its own rdf:Property, in the mean time, stick
	to the first nie:identifier found, and ignore the rest.

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

2015-04-02  Piotr Drąg  <piotrdrag@gmail.com>

	Slightly improve new strings

	Updated POTFILES.in

2015-04-01  Kunaal  <kunaalus@gmail.com>

	tracker-needle: use gsettings
	Added gsettings for tracker-needle.
	Store the last view selected by user in tracker-needle before closing.

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

2015-04-01  Martyn Russell  <martyn@lanedo.com>

	tracker: Fixed execution bit of tracker-compat, which is broken by sed
	https://bugzilla.gnome.org/show_bug.cgi?id=746939

2015-03-28  Antoine Jacoutot  <ajacoutot@gnome.org>

	openbsd: implement tracker_process_get_uid_for_pid()
	https://bugzilla.gnome.org/show_bug.cgi?id=697719

2015-03-24  Daniel Mustieles  <daniel.mustieles@gmail.com>

	Updated Spanish translation

2015-03-24  Milo Casagrande  <milo@ubuntu.com>

	Updated Italian translation

2015-03-24  Marek Černocký  <marek@manet.cz>

	Updated Czech translation

2015-03-24  Piotr Drąg  <piotrdrag@gmail.com>

	Updated Polish translation

2015-03-24  Enrico Nicoletto  <liverig@gmail.com>

	Updated Brazilian Portuguese translation

2015-03-23  Kunaal  <kunaalus@gmail.com>