[libvoikko] Schedule for libvoikko 3.0 + applications

Harri Pitkänen hatapitk at iki.fi
Mon Feb 8 20:20:44 EET 2010

Libvoikko 3.0 will be released by the end of June this year. It could be 
released earlier but not later unless something really unexpected happens.

The reason for this fixed schedule is that a major limitation in our current 
design (only one open dictionary at a time) is starting to become a real 
problem now that people have started to use Voikko in more exotic applications 
that just OOo, Firefox and Thunderbird. Removing this limitation is going to 
be the most important goal of our next release.

Fixing this requires changes to our API. Now that we are changing the API (for 
the first time after version 0.4 which was released almost four years ago) a 
few other issues will be fixed as well. At least hyphenator will be changed, 
maybe grammar checker too.

I intend to make the changes in such way that existing symbol names will not 
be reused for something different. This will allow the library to remain 
compatible with the old API and ABI. You should be able to replace older 
libraries with libvoikko 3.0 without breaking anything or recompiling the 
applications. Additionally there will be no changes to our dictionary format 
in this release. Ideally the transition plan to libvoikko 3.0 could look 
something like this for the Linux distributors:

- Upload libvoikko 3.0 as soon as it is released. No additional conflicts or 
package name changes are needed.

- Upload new versions of mozvoikko, openoffice.org-voikko, tmispell and 
Enchant when they are released. If the versions use the new APIs from 
libvoikko 3.0 they should depend on the appropriate version of the library, 
nothing else needs to be changed.

- In some future version of libvoikko (maybe 3.1 but it could be later, 
perhaps never?) the compatibility APIs will be removed. At that point you need 
to rename the binary packages and -dev packages and change the depending 
packages to build against the new version. Since the depending packages were 
already changed to use the new APIs you do not need to modify the actual 
source, just rebuild.

In practice there will be a few changes to the behaviour of the old API in 
libvoikko 3.0:

- Option VOIKKO_INTERSECT_COMPOUND_LEVEL will no longer have any effect. We 
discussed this in December and nobody supported maintaining this option 
anymore. I still do not know of any application that needs it. Programs using 
this option can be built and run but they will behave as if the option was not 

- Option VOIKKO_OPT_ENCODING will no longer have any effect. This option has 
been deprecated since libvoikko 2.0 and the documentation has never specified 
what the allowed values for the option are (they were platform dependent). It 
would have technically been correct to always reject other values than the 
default (UTF-8). As far as I know, our test programs "voikkospell" and 
"voikkohyphenate" were the only applications that ever used this option with 
non-default values.

The new API should have some support for languages other than Finnish. This 
support will be experimental so that we can avoid introducing new dictionary 
format version in this release. Depending on when the issues with HFST will be 
resolved we will release with an actual implementation for some language 
(maybe English) or just the API.


More information about the Libvoikko mailing list