1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349
|
GNU Dico NEWS -- history of user-visible changes. 2024-12-31
See the end of file for copying conditions.
Please send Dico bug reports to <bug-dico@gnu.org.ua>
Version 2.12, 2024-12-31
* The gcide module
** idxgcide skips duplicated headwords
** Fixed some gcide entities, introduced missing ones
** Fixed Ancient Greek transliteration
** New option: "watch"
When supplied, the module will watch for modifications in the
dictionary corpus files and rebuild the index file when necessary.
** HTML output
HTML output is enabled by the "html" module option. It is produced
only after "OPTION MIME" command command.
* Input conversions
The argument to DEFINE or MATCH command can optionally be modified
before being used in actual search. This allows, for example, to
input search terms in transliteration instead of in the actual script.
Conversions are implemented by loadable modules and are associated
with individual databases.
This version is shipped with the new module "greek_kbd", which
implements Greek transliteration.
* Dicoweb
** Switch to Python 3.11+ with type hints
** Upgrade Django to version 4.2
** Improve desktop and mobile views using HTML5
** Implement a dark mode
** Use Poetry and pyproject.toml
** Integrate Pylint and Mypy for development
** Implement various fixes and improvements
* pcre module now requires libpcre2
Support for obsolescent libpcre has been withdrawn.
* Bugfixes
** GCIDE indexer
** Fix premature freeing of search argument in Python iterators
https://puszcza.gnu.org.ua/bugs/?595
Version 2.11, 2021-04-27
* Bugfixes in the gcide module
* Fix searches in the gcider utility
* Support for Python 2 has been withdrawn
Version 2.10, 2020-09-04
* Fix compilation with gcc 10
* Restore po files
Version 2.9, 2019-04-24
* New configuration variable DEFAULT_PIDFILE_NAME
Use it to alter the default pidfile location, e.g.:
./configure DEFAULT_PIDFILE_NAME=/var/dico/dicod.pid
* Fix compilation on 32-bit systems
Version 2.8, 2019-02-26
* Fix out-of-boundary memory access in metaphone2 encoder
* Fix eventual access to freed memory block
* Rewrite utf8_iterator to work with non zero terminated strings.
* Fix the build on OpenBSD
Version 2.7, 2018-09-25
* Support for virtual databases
Virtual database is a collection of regular databases defined
in the dicod configuration. Virtual databases can be used to group
databases by languages, or to select the format of the DEFINE
responses depending on whether OPTION MIME has been requested.
Example of defining a virtual database:
database {
name "English Translating Database";
info "Translations from English to other languages";
handler "virtual";
database "en-sw";
database "en-no";
database "en-pl";
}
See the GNU dico manual, subsection 4.3.12.2 "Virtual Databases" for a
detailed discussion.
* Support for building with WordNet on Debian-based systems
Debian-based systems provide a package "wordnet-dev", which installs
a shared wordnet library. However, this library is named "libwordnet.so",
instead of the expected "libWN.so". Due to this change, previous
versions of dico were unable to locate the library and build the
wordnet database module. To fix this. the --with-libWN configure
option was introduced. Argument to this option is the base name of the
shared libWN library, without suffix. Optionally, the "lib" prefix
is allowed. For example, to configure on Debian:
./configure --with-libWN=wordnet
* Dicoweb: graceful handling of unsupported content types.
New setting ONERROR allows the administrator to configure actions to
take on certain types of errors. In particular,
ONERROR['UNSUPPORTED_CONTENT_TYPE'] defines what to do when a DEFINE
request returns article in unsupported content type.
* The dictorg module improved
The code has been thorougly revisited to ensure correct handling of
databases in dictd database format. Testsuite is included.
* Default m4 quoting characters changed to [ ]
Version 2.6, 2018-08-27
* Support for Guile 2.2.0
* Support for Python 3
Version 2.5, 2018-01-28
* Support for four-column index files in dictorg databases
Version 2.4, 2016-11-21
* dico accepts UNIX socket name as argument to the open command
* Fix coredump in gcide module
* Update translations
Version 2.3, 2016-08-09
* IPv6 support
* Guile 2.x support
* New matching strategy: metaphone2
The metaphone2 strategy implements the Double Metaphone phonetic
encoding algorithm.
* Implement info and description for gcide dictionary
* Fixed bugs in idxgcide
* Added manpages
Version 2.2, 2012-03-04
* Configuration changes
** load-module
The load-module form allows for a statement use, e.g.:
load-module word;
The above statement is equivalent to:
load-module word {
command "word";
}
Either string or list of strings is accepted as argument. The latter
is useful for loading several modules with a single statement, e.g.:
load-module (stratall,substr,word);
* New modules
** gcide
This module provides support for GNU Collaborative International
Dictionary of English.
** wordnet
This module provides support for WordNet, a lexical database for the
English language developed in the Princeton University and distributed
under a BSD style license.
** word
This module provides the following strategies:
word "Match separate words within headwords"
first "Match the first word within headwords"
last "Match the last word within headwords"
** nprefix
Provides the nprefix strategy. It is similar to prefix but returns the
specified range of matches. For example
MATCH <dict> nprefix <skip>#<count>#<string>
returns at most <count> headwords whose prefix matches <string>,
skipping first <skip> unique matches.
** pcre
Provides matching strategy based on Perl regular expressions.
** pam
Implements PAM authentication.
* New utility: gcider
"Gcider" is a window-based application for browsing the GNU
Collaborative International Dictionary of English (see
http://www.gnu.org/software/gcide).
Version 2.1, 2010-07-07
* Normalize exit codes.
The dicod server uses exit codes from sysexits.h.
* Replies to MATCH command.
The dictorg backend filters out duplicate entries from MATCH replies.
Only the first one from a sequence of such duplicates is retained.
* New configuration statements.
** prepend-load-path
Acts much the same as module-load-path, but adds directories at front
of the default Dico module directory.
* Strategies
** All
The `all' strategy has been re-implemented as a loadable module. To
enable this strategy in daemon, load the `stratall' module:
load-module stratall {
command "stratall";
}
** Substr
New strategy `substr' matches a substring anywhere in the headword.
To enable this strategy, load the `substr' module:
load-module substr {
command "substr";
}
* LDAP
Dicod now supports LDAP as an underlying mechanism for storing
user databases. The LDAP support is loaded as a module:
load-module ldap {
command "ldap";
}
See the documentation, subsection 3.3.3.2 "LDAP Databases", for
a detailed description.
* Dicoweb
Improved handling of databases without a descriptive name (previous
version would throw exception for such cases).
The file settings.py renamed to settings-sample.py.
The file static/opensearch.xml has been moved to templates. If
you are upgrading from an earlier version, you may safely remove it.
* Bugfixes:
** Fixed improper handling of conversion errors in levenshtein.c
(debian #582692)
** Removed the use of fixed-size buffer in dictorg.c (fixes debian
#582708)
Version 2.0, 2009-03-29
Initial version.
=========================================================================
Copyright information:
Copyright (C) 2008-2024 Sergey Poznyakoff
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
copyright notice and this permission notice are preserved,
thus giving the recipient permission to redistribute in turn.
Permission is granted to distribute modified versions
of this document, or of portions of it,
under the above conditions, provided also that they
carry prominent notices stating who last changed them.
Local variables:
mode: outline
paragraph-separate: "[ ]*$"
eval: (add-hook 'write-file-hooks 'time-stamp)
time-stamp-start: "changes. "
time-stamp-format: "%:y-%02m-%02d"
time-stamp-end: "\n"
end:
|