Annif is nowadays used in production in at least four large institutions
(NatLibFi/FintoAI, Yle, ZBW, DNB). According to the Semantic Versioning
FAQ, "If your software is being used in production, it should probably
already be 1.0.0.".
So we should aim at releasing version 1.0.0 somewhere in the
not-so-distant future (during the year 2023). This will bring us into a
new era where we have to be more careful about backwards compatibility
and selecting version numbers for new releases in a way that follows the
Semantic Versioning principles.
I have opened a GitHub issue with thoughts about what kind of
commitments Annif could and should make when it comes to backwards
compatibility in releases beyond 1.0. I invite all Annif users,
particularly those involved in production installations, to comment on
In the shorter term, we have been working on changes to the way Annif
handles vocabularies internally. So far, Annif vocabularies have been
monolingual, but this will change in the next release 0.59, so that a
vocabulary can be multilingual in the SKOS way - concepts are
language-agnostic and can have labels in many languages. These changes
will be somewhat disruptive, e.g. vocabulary IDs should drop the
language suffix, and there will be a new CSV-based format for
vocabularies. But I think this is worth doing now that Annif is still in
the 0.x version era where changes like this are allowed and expected.
Apart from the better language support, this should also improve the
efficiency of Annif - less CPU and RAM needed! There are still details
to work out and careful testing is needed to verify that nothing
important has broken before we can release 0.59 with these changes, but
we're getting there!
D.Sc. (Tech), Information Systems Specialist
National Library of Finland
P.O. Box 15 (Unioninkatu 36)
00014 HELSINGIN YLIOPISTO
Tel. +358 50 3199529