From d6421f312ec1960425d934eadf8c8d10b174abc6 Mon Sep 17 00:00:00 2001 From: Reuben Thomas Date: Fri, 19 Apr 2024 17:42:54 +0200 Subject: [PATCH] NEWS: add news for 2.7.0 --- NEWS | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/NEWS b/NEWS index 3c113412..f34bd6ac 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,51 @@ +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! + + 2.6.9 (April 4, 2024) ---------------------