Re: [Tracker] Fwd: tracker 1.11.2



On Sat, 2016-12-10 at 16:36 +0100, Carlos Garnacho wrote:


[cut]

I however think going from "odd minor number is unstable" to semver
versioning with minor!=0 is going to be confusing...

Yes, changing it in the middle of a major release number is perhaps not
the brightest idea. True.

 I will suggest the following plan:

- Finish this 1.11.x/1.12 cycle
- Sticking to 1.12.x for as long it's needed while
- Gearing to a Tracker 2.x that switches to using semver approach to
communicate API/ABI changes.

This makes a lot of sense to me.

If communicated properly, that'd at least allow us to have a single
last/current stable release to care about most often, and the window
to accumulate backwards compatible changes can be made variable based
on urgency (situations like this don't come up often but you never
know...),

Well, yes. Usually are security bugfixes just patch increments. But in
this case you solved the situation by adding sandboxing as a feature.

And then semver states that 'you added or changed functionality and or
APIs but didn't break backwards API compatibility' = minor increment.

I wouldn't mind that this unstable window is still made to
roughly match the 6 months gnome schedule though, and maybe release
2.[x+1] with whatever might accumulate in that period.

Sure. I would however not withhold from doing interim releases, and
assign one of those to the 6 month gnome release.

Not being a monorepo or monolithic architecture liker, I also don't
think that having a cadans dictated by something like gnome is
necessarily a good idea. But that clearly is just an opinion.

I think every project should be independent.

How does that sound to you?

But yes, makes sense.

I'll also take the opportunity to introduce to the ML the "roadmap"
that's been shaping up in my head for 2.x:

- Getting as close to supporting the full sparql 1.1 spec as possible
in libtracker-data:
  * property paths: last weekend got halfway with this \o/
  * graph management: for DROP GRAPH I think triggers will perform

Did ever something happen to cleaning up anonymous nodes of deleted
subjects/context, and or do reference counting on them (and clear them
once they reach zero references)?

If not then we are still leaking those in the db afaik. We always wanted
to do something about that.

just fine, CREATE is also easy, for LOAD/MOVE/ADD it looks like we can
unroll into specific updates.
  * the VALUES clause
  * the MINUS filter
  * CONSTRUCT/ASK/DESCRIBE
  * Removing or limiting the extensions we've gained on the way and
are addressed in 1.1 (eg. accepting "AS var" as good, property paths
greatly reduce the need for our property functions,... other
extensions like FTS must stay of course)

- Double checking ontology migration code, ensure it can handle weird
ontology changes more or less elegantly.

You will have a lot, a lot of fun with that code :-)


- Library-fying tracker-store, and separating ontology for good, so
eg. an irc client wanting to store conversation logs privately can eg.
do:

Yes! :) Want!

connection_manager = tracker_open (".../.cache/my-app/private-store",
"/usr/share/ontologies/nepomuk/nmo.ontology", cancellable, &error);

And it gets a local database with just the relevant classes from the
specified ontology. This might need a hardcoded basis though,
xsd/rdf/nrl/dc/tracker at least. As long as that is properly
documented I'm fine with it.

nod

- And of course, keep dbus-based implementations around, I guess we
can't move too far from nepomuk there, as it's already the implicit
contract between miners and all the surrounding ecosystem.

nod

However would be great to have the tracker-store executable be more
generic, so you can make it claim a different dbus name, write to a
different location, construct the database using a different
ontology...

Does this sound sensible? matches reasonably with your own "Tracker as
generic SPARQL endpoint" ideas?

Totally.


Philip



Sandboxing sounds to me like a new feature. Not just a bugfix.

As Tracker gets used in ever increasing use-cases, ie. not only
desktops, I think our users want a clear version numbering policy. The
semver rules offer just that, and are compatible with API and ABI
changes and packaging formats like Debian and RedHat's.

  * tracker-miner-fs: Fixed high CPU use when receiving many writeback
    notifications at once.
  * tracker-extract, libtracker-sparql, libtracker-miner: plug leaks
  * tests: cleanups and improvements

Those two are worthy of a 1.11.2, yes. So I would have released a 1.12.0
containing the sandboxing, and a 1.11.2 with these two.

Translations: hu

1.11.2


Now, I understand that 1.10.1 was in need of a upgrade too, and
incrementing its version number to 1.11.0 would have conflicted with
existing releases under 1.11.x.

What to do in that case, in my opinion, is to release a 1.12.0 coming
from 1.10.1 (instead of 1.10.2). And a 1.13.0 coming from 1.11.1
(instead of a 1.11.2). The release numbering just jumps over the
existing ones.

I also think that, given that you are maintaining +3 simultaneous
releases, a gitflow setup could be useful (develop, master, hotfix/*,
release/* and feature/*).

That is not by choice, believe me :), I would be more than happy if I
had to maintain one single stable branch, then some distros stick to
outdated stuff :(.

Cheers,
  Carlos

PS. I haven't forgotten the "big rip" thread, nor the "Resource table
fills up with UUIDs" from further in the past, need to get back to
those...

Attachment: signature.asc
Description: This is a digitally signed message part



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]