Skip to content

Releases: AbiWord/enchant

Release v2.7.3

04 May 11:37
Compare
Choose a tag to compare

This release contains only minor changes, and is mostly important because it uses a later version of the Vala compiler to generate C sources that have a workaround for stricter errors in GCC >= 14 and Clang >= 16.

Release v2.7.2

27 Apr 20:02
Compare
Choose a tag to compare

This release fixes a potential crash introduced in 2.7.0 when checking
words.

Release v2.7.1

25 Apr 12:31
Compare
Choose a tag to compare

This release fixes some build problems introduced by the rewrite of
libenchant into Vala in 2.7.0, as well as other minor fixes and
improvements (see NEWS for full details).

Release v2.7.0

21 Apr 10:42
Compare
Choose a tag to compare

This release marks a major improvement in Enchant’s maintainability: the
main library has been translated into Vala, a modern object-oriented
language with automatic memory management that, like Enchant, is based on
GLib.

Developers and packagers need not worry: this release is API and
ABI-compatible with previous releases (with some minor changes, noted below,
that is unrelated to the use of Vala), and you do not even need a Vala
compiler to build it, thanks to Automake, which distributes the C source
files generated by the Vala compiler. The build-time and run-time
dependencies therefore remain unchanged.

The library code is 33% smaller, and the total code-base has reduced
by 12%. Thanks in particular to Vala’s more modern string and collection
handling, I anticipate it being much easier to add functionality in future.
The use of Vala may also be extended in future to those provider back-ends
written in C.

The provider API is now declared private. No third-party providers have been
available for Enchant for many years to my knowledge, and the only new
provider in the last ten years, Nuspell, was implemented by Nuspell’s
authors in Enchant. The provider interface has changed in this release; and
of course all the current providers have been updated, including the
still-experimental Zemberek provider.

There is a small change to the semantics of dictionaries: in the past,
requesting a dictionary with the same language tag twice from a given
provider returned the same dictionary object. This is no longer the case.
This allows an application to have multiple active spelling sessions with
the same broker object in any given language. Applications that relied on
this functionality must in future keep track of the identity of spelling
sessions themselves. I do not regard this as an API/ABI change, since it was
only documented in a vague way by saying that dictionaries were
“reference-counted”. This language has been removed from the documentation.

Finally, a big thank-you to Eric Scott Albright, who wrote the test suite,
and SIL, for funding his work. Enchant has an excellent test suite; one of
my first contributions to the project was to get the test suite running on
all platforms, as it was originally written just for Windows. It’s an
impressive set of tests that covers a huge range of normal and edge cases,
and has often saved me before now; but it has never been more valuable than
when rewriting the entire core library. Hopefully it has kept the number of
new bugs I’ve introduced to a minimum!

Release v2.6.9

04 Apr 12:33
Compare
Choose a tag to compare

This release implements user dictionaries for Nuspell, Voikko and Hspell.

Release v2.6.8

22 Mar 18:30
Compare
Choose a tag to compare

This release better documents the limited capabilities Enchant currently has for user-specified dictionaries.

Release v2.6.7

08 Feb 17:22
Compare
Choose a tag to compare

This release fixes a bug introduced in 2.6.6 that would cause Enchant to crash when used with Hunspell. Apologies!

Release v2.6.6

04 Feb 20:01
Compare
Choose a tag to compare

This release fixes both behaviour and documentation around reading configuration files. See NEWS for details.

Release v2.6.5

08 Jan 19:13
Compare
Choose a tag to compare

This version permits error messages from spelling providers not to be valid
UTF-8. This allows error messages in particular about invalid UTF-8
characters in personal wordlists to be shown to the user. Developers take
note!

The --with-hunspell-dir configure option is removed (along with all the
other ---with-PROVIDER-dir options, which did nothing). Users who have
Hunspell dictionaries in non-standard locations should set the
Hunspell-specific environment variable DICPATH, or copy the dictionaries
into their user’s Enchant configuration directory (for example
~/.config/enchant/hunspell).

Doxygen API documentation is now included in the release tarball (it is also
now available online).

Release v2.6.4

11 Dec 19:45
Compare
Choose a tag to compare

This release includes no user-visible changes, but packagers take note:
‘pkgdatadir’ is now versioned by default. This is probably what you want! It
means it’s no longer necessary to set ‘pkgdatadir’ in a make command if you
want e.g. ‘/usr/share/enchant-2’ for a prefix of ‘/usr’.