2024-04-28 11:47:24 by Thomas Klausner | Files touched by this commit (3) | |
Log message:
enchant2: update to 2.7.2.
2.7.2 (April 27, 2024)
----------------------
This release fixes a bug introduced in version 2.7.0. when calling
providers’ check methods, that could cause a crash.
2.7.1 (April 25, 2024)
----------------------
This release fixes some build-system bugs that crept into 2.7.0. Thanks to
those who reported them and helped me diagnose them. In particular, building
without --enable-relocatable is fixed. Some minor long-standing bugs that
recently came to light with incorrect include paths were also fixed.
Detection of the user’s language has been updated to use a more modern and
standard method. This means that in particular the LANG environment variable
no longer overrides the LC_ALL and LC_MESSAGES environment variables, and
support is added for the LANGUAGE variable, which has highest priority. For
more details, see the documentation for the GLib function
g_get_language_names.
Minor code and documentation improvements were made.
2.7.0 (April 19, 2024)
----------------------
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!
|
2024-04-05 12:23:27 by Thomas Klausner | Files touched by this commit (2) | |
Log message:
enchant2: update to 2.6.9.
Release v2.6.9
This release implements user dictionaries for Nuspell, Voikko and Hspell.
Release v2.6.8
This release better documents the limited capabilities Enchant currently has for \
user-specified dictionaries.
|
2024-02-19 12:49:56 by Thomas Klausner | Files touched by this commit (2) | |
Log message:
enchant2: update to 2.6.7.
2.6.7 (February 8, 2024)
------------------------
This version fixes an error introduced in the previous version that caused the \
Hunspell provider to fail on startup. Apologies!
2.6.6 (February 4, 2024)
------------------------
This version fixes the implementation and documentation of system paths for
configuration files (enchant.ordering). Since version 2.6.4, the wrong path
was searched for pkgdatadir: not, for example /usr/share/enchant-2, as
documented, but the old path /usr/share/enchant. The enchant(5) man page
referred to “DATADIR” rather than the actual configured path. The sysconfdir
location, typically /etc, was not documented.
Hunspell users should note that, contrary to the NEWS entry for 2.6.5, the
DICPATH environment variable cannot be used to specify the location of
hunspell dictionaries to Enchant. That is because it only works with the
hunspell program (which Enchant does not use), not the hunspell library.
Additional debug logging has been added for developers trying to diagnose
problems with configuration files and providers, which can be enabled at
run-time by setting the environment variable G_MESSAGES_DEBUG to
‘libenchant’.
|
2024-01-14 21:24:32 by Thomas Klausner | Files touched by this commit (2) | |
Log message:
enchant2: update to 2.6.5.
2.6.5 (January 7, 2024)
-----------------------
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).
|
2023-12-26 14:36:35 by Tobias Nygren | Files touched by this commit (1) |
Log message:
enchant2: put back applespell lib
|
2023-12-26 14:33:48 by Tobias Nygren | Files touched by this commit (3) |
Log message:
enchant2: use PLIST.Darwin instead
|
2023-12-25 22:19:46 by Tobias Nygren | Files touched by this commit (2) |
Log message:
enchant2: fix PLIST
|
2023-12-17 23:31:22 by Thomas Klausner | Files touched by this commit (3) | |
Log message:
enchant2: update to 2.6.4.
2.6.3 (December 11, 2023)
-------------------------
This version makes pkgdatadir versioned by default.
|
2023-12-07 09:55:35 by Thomas Klausner | Files touched by this commit (2) | |
Log message:
enchant2: update to 2.6.3.
2.6.3 (December 2, 2023)
-----------------------
This version fixes a bug in the tests when pkgdatadir is set to a
non-default value, and clarifies the documentation for setting pkgdatadir.
|
2023-11-04 17:21:42 by Thomas Klausner | Files touched by this commit (2) | |
Log message:
enchant2: update to 2.6.2.
2.6.2 (October 28, 2023)
------------------------
This version documents exclude files: each personal word list is paired with
an exclude file that contains words the user considers invalid.
|