Version 2.0.59
[idzebra-moved-to-github.git] / NEWS
1 --- 2.0.59 2014/04/17
2
3 Fix 0 ptr reference (crash) during search that occurred due to slightly
4 different behavior of YAZ 5.0.22 / YAZ 5.0.23.
5
6 --- 2.0.58 2014/03/06
7
8 Update OAI example README and allow Bib-1 attribute searches.
9
10 Fix ICU indexing test. The code was not really broken, but the test
11 program was.
12
13 --- 2.0.57 2014/02/28
14
15 Deb/RPM/Win Zebra packages uses libyaz5 (rather than libyaz4). This adds
16 SRU 2.0 support for Zebra.
17
18 --- 2.0.56 2013/11/04
19
20 Updates for YAZ 5. Zebra compiles fine with YAZ 4 still.
21
22 --- 2.0.55 2013/06/24
23
24 Addx + document zebraidx command "check", which checks consistency of
25 register.
26
27 Debian : idzebra-2.0-utils includes init.d script. Includes logrotate as
28 well. The zebrasrv init script listens on port 2100. At this time,
29 zebra.cfg, is not part of the package. Administrator must install or
30 modify $CONFIG to point to a working zebra.cfg.
31
32 RPM: idzebra-2.0 includes init.d script. Also includes logrotate. The
33 zebrasrv init script listens on port 2100 (IPv4 + IPv6). At this time,
34 zebra.cfg, is not part of the package. Administrator must install or
35 modify $CONFIG to point to a working zebra.cfg.
36
37 --- 2.0.54 2013/01/21
38
39 For mod_dom filter, allow type="adelete", which will not treat a failed
40 delete as an error (such as a record ID that do not exist already).
41
42 Log XML2/XSLT errors to yaz_log instead of stdout/stderr.
43
44 Relay \-character in non-regexp searches. Was treated as backslash
45 sequence before.
46
47 --- 2.0.53 2012/12/03
48
49 Improve hit estimate for or-searches (typically truncation)
50
51 Fix snippets for non-ICU / seqno not updated.
52
53 Replace key_compare_it with key_compare. This is because key_compare_it
54 throws exception on some CPUs with alignment constraints.
55
56 ICU: support @attr 5=2, @attr 5=3 in searches. (left truncation and
57 left+right truncation).
58
59 --- 2.0.52 2012/05/31
60
61 Fix problem in dictionary due to increase max size of term.
62
63 --- 2.0.51 2012/05/31
64
65 Fix buffer overrun for terms using ICU normalization.
66
67 Increase max size of indexing term from 256 to 512.
68
69 --- 2.0.50 2011/11/01
70
71 Fix a bug in zebra_begin_trans where Zebra could mark a transaction
72 complete when it actually failed. This could happen if register files
73 could not be opened.
74
75 --- 2.0.49 2011/09/02
76
77 Scan: allow preferred position > number + 1
78
79 Fix bug #4592: dict_scan misses
80
81 Fix snippets for complete fields, bug #4590. The
82 snippet_add_complete_fields (chr-system) now takes the indexing term
83 verbatim and makes that the display term.
84
85 --- 2.0.48 2011/06/28
86
87 Utility idebra-abs2dom part of distribution and deb+RPM packages.
88
89 Fix problem with scan and complete subfields (:p) . In some cases,
90 the display scan terms, would be invalid.
91
92 --- 2.0.47 2011/05/24
93
94 RPM: Store libraries in /usr/lib64 on 64-bit platforms.
95
96 Zebra honors SRU sortkeys. If used with YAZ 4.2.0 or later,
97 CQL sortby is honored as well.
98
99 Fix scan's handling of normalized terms. Some terms were incorrectly
100 ignored in the scan results, CJK terms in particular.
101
102 --- 2.0.46 2011/03/23
103
104 Fix bug in dictionary component of Zebra that could lead to
105 inconsistent register assert for large deleteions.
106
107 Improve estimate hits for phrase searches.
108
109 --- 2.0.45 2010/12/22
110
111 Add Debian package for Ubuntu maverick.
112
113 Update to newer Libxml2/Libxslt for Windows package.
114
115 Escape-sequences are disabled for RPN-queries with truncation=105/106.
116 These, unlike regular expressions, do not support \-sequences .
117
118 --- 2.0.44 2010/06/29
119
120 grs1: avoid term_len < 0 for .abs operator 'range'
121
122 ICU: fix use of un-init variable.
123
124 More reasonable approx hits for truncated searches.
125
126 Updates WRT Odr_int (YAZ 4).
127
128 --- 2.0.43 2009/11/05
129
130 Fix hits counts for searches when @attr 12=n is in use. This bug
131 was introduced in 2.0.40.
132
133 --- 2.0.42 2009/10/08
134
135 Proximity modifications. The optimized proximity now deals with more
136 cases, ie all prox of the form @prox 0 d 1 1,2,3 k 2 ..
137 That's exlusive==0, any distance, ordered (true), relation (<, =, <=),
138 known unit word.
139
140 Fix bug WRT inconsistent registers, bug #3062.
141
142 Fix install doc rule so it's compatible with Automake 1.11.
143
144 --- 2.0.41 2009/08/24
145
146 Fix typos and other errors in the documentation. Thanks to Galen
147 Charlton.
148
149 Fix DOM filter so that full record ID (z:id) if given is used verbatim
150 rather than truncated until first blank - in other words use memcpy
151 rather than sscanf. For PI fix record attributes parsing which was
152 completely broken.
153
154 --- 2.0.40 2009/07/13
155
156 Fixed problem in result set handling and segment handling.
157
158 --- 2.0.39 2009/07/09
159
160 Improved speed of record fetching by using a different block sizes
161 for recd{A,B}.
162
163 Added zlib-compression of recd-storage (record data). This is enabled
164 by using recordCompression: zlib in zebra.cfg.
165
166 Dictionary delete more agressive (dict_del_string).
167
168 --- 2.0.38 2009/06/19
169
170 Improved estimated hits for AND operation (bug #2907)
171
172 Fixed problem with register area growing after "drop DB". (bug #2913).
173
174 --- 2.0.37 2009/05/18
175
176 Example with marc21 is now installed and part of packages.
177
178 Fixed XSL for OAI example.
179
180 Fixed problem with generic proximity handling.
181
182 Added new ranking handler: rank-2. This is a combination of rank-1 and
183 static rank.. The staticrank is inverse (lowest value comes first, etc..).
184 rank-2 thus substracts that from score. This allows a system to specify
185 a "base" rank (=staticrank).
186
187 --- 2.0.36 2009/02/17
188
189 Added implementation-codes directive for .mar files.
190
191 Avoid error for missing recordId when zebraidx' option -s is in use.
192
193 Fixed problem with some disk blocks not beeing freed correctly when
194 'drop database' is used.
195
196 --- 2.0.34 2008/11/06
197
198 Facets can now be performed on sort registers (:s), not just regular indexes
199 (:w, :p) etc.. The performance appers to be much better than before.
200
201 Added a facility to embed metadata for records generated by the DOM XML
202 filter. The meta data step is triggered by a 'process-meta' section in the
203 retrieve section of the dom config, e.g.
204   <retrieve name="myelementset">
205     <xslt stylesheet="my-usual.xsl"/>
206     <process-meta/>
207   </retrieve>
208 The meta section substitutes metadata for all elements called 'meta' in
209 namespace http://indexdata.com/zebra-2.0 . The meta element must have
210 exactly one attribute, name, which specifies the special
211 element set name which is equivalent to the suffix to zebra:: for
212 non-embedded special retrievals. This allows snippets, facets etc to be
213 included.
214
215 Fixed bug #2202: incorrect sorting order when searching multiple databases.
216
217 --- 2.0.32 2008/06/06
218
219 Fixed OAI example.
220
221 --- 2.0.30 2008/05/14
222
223 Changed service name for Windows. Bug #978.
224
225 Fixed the alwaysmatches including _ALLRECORDS for ICU term indexing. Bug #2139.
226
227 --- 2.0.28 2008/04/03
228
229 Handle right-truncation for ICU normalized terms.
230
231 Updated OAI-PMH example.
232
233 --- 2.0.26 2008/01/28 
234
235 Fixes for searches on Chinese text.
236
237 Fixes for scan using ICU indexing terms.
238
239 --- 2.0.24 2008/01/18 
240
241 Fixed some memory violations for ICU enabled indexing that could be
242 triggered by long phrases.
243
244 Enable ICU on Windows. Thanks to Tumer Garip for makefile patches.
245
246 Fixed bug #2002: Zebra crashes during merge using ICU indexing.
247
248 --- 2.0.22 2007/12/20
249
250 Handle encoding errors for strings passed to ICU. (assert was
251 thrown earlier).
252
253 Added zebraidx command, adelete, which attempts to delete records.
254 It's like 'delete', but does not fail if a record does not exist.
255
256 --- 2.0.20 2007/12/19
257
258 Added experimental support for faceted results. This is implemented
259 as a special retrieval on a result set and is triggered using element
260 set name zebra::facet::f1:t1,f2,t2,.. which will return terms and
261 hit counts for field f1, type t1, field f2, type t2, .. The returned
262 data is packed as XML or SUTRS depending on record syntax.
263
264 Added support for Unicode-based indexing using ICU. This allows
265 locale specific scanning, sorting. The implementation is based on
266 the ICU utility part of YAZ 3.0.16 and later. See the manual as well
267 as the examples/marcxml for an example of the use of ICU.
268
269 --- 2.0.18 2007/09/19
270
271 Fixed bug with scan and staticrank enabled. Bug introduced in 2.0.16.
272
273 --- 2.0.16 2007/09/12
274
275 Scan now returns a displayTerm which closer to the original word/phrase
276 from original record.
277
278 Added snippet support. Element set name zebra::snippet will make
279 Zebra return an XML record with snippets (terms around matching terms).
280
281 Fixed bug #1142: Non-indexed but listed attributes issues diagnostic.
282
283 Fixed bug #1131: Missing value-of data in DOM filter.
284
285 Fixed bug #1049: zebra.cfg lines with leading space are ignored.
286
287 Fixed bug #1128: sortmax not honored.
288
289 Fixed bug #1121: Crash for some searches with customized string.chr.
290
291 --- 2.0.14 2007/05/09
292
293 Zebra uses the YAZ 3 API. Note that this changes the Zebra API
294 as well. The register layout is the same however. 
295
296 Fixed bug #1114: scan within set may use excessive CPU.
297
298 Fixed memory leak that occurred in scan.
299
300 Fixed memory leak that occurred for each deleted record.
301
302 Optimize updates of records where content is almost identical to previous
303 version of record. This makes updating of the internal explain database
304 faster too.
305
306 For RPN queries the index type (w,p,..) may be specified verbatim as
307 structure attribute with string value, e.g. @attr 4=w .
308
309 Changed record update API . It is now handled by function
310 zebra_record_update which does insert/replace/delete/update of records .
311 This function replaces zebra_record_{insert,delete} and
312 zebra_admin_exchange_record. The DOM filter uses this feature and the
313 @type attribute in record element specifies the action
314 insert/replace/delete/update.
315
316 Added support for multi-record updates (Bug #944). Based on patch from
317 Hans-Werner Hilse.
318
319 --- 2.0.12 2007/03/07
320
321 Fixed bug with indexing of attributes for rec.grs-class of filters.
322 If X-Path was enabled xelm a/@b would be ignored.
323
324 Fixed bug in register system where 'no more space' messages was produced
325 even though there was plenty of space.
326
327 Fixed bug #884: Entity declarations in input are lost at retrieval time.
328
329 Implemented new filter 'dom'. See test/xslt/dom-config*xml for examples. 
330 This, like alvis, performs indexing and retrieval using XSLT. But Unlike
331 alvis, it allows multiple XSLT steps to be performed and does ISO2709
332 reading. Bug #843.
333
334 --- 2.0.10 2007/01/24
335
336 Staticrank indexing is now an index register type defined in default.idx
337 via directive 'staticrank'. The 'staticrank' directive for grs is no longer
338 supported (was only implemented for Zebra 2.0.8).
339
340 For searches, allow truncmax value to be controlled with attribute 13.
341 If given, that overrides the value of 'truncmax'.
342
343 For truncations being limited (abort at truncmax terms), zebrasrv returns
344 SearchResponse with resultSetStatus=subset.
345
346 For estimated hit counts, zebrasrv returns SearchResponse with 
347 resultSetStatus=estimate.
348
349 --- 2.0.8 2007/01/15
350
351 For searches, do not truncate more than at most 'truncmax' terms in one
352 single term with right-truncation/regular attribute. By default, 'truncmax',
353 is 10000.
354
355 Bug #781: Easier tracking of result sets. We only do this when mkstemp
356 is available (most moderun Unixes supports this). The PID is included
357 in filename : tempdir/zrs_PID_XXXXXX.
358
359 Added support for specification of staticrank for grs-class of filters.
360 This is enabled by using 'staticrank indexname' in .abs. Contents of
361 indexname (elm ... indexname:w) is then used as value for staticrank.
362
363 Implemented sorting via the ISAMB system. To enable, use sortindex:i in
364 zebra.cfg.
365
366 Added special retrieval support for sort keys. These keys can also be
367 fetched using zebra::index:field:s   
368
369 Added support for specification of approximative limits for whole query.
370 This is specified as attribute type 12. Semantics is the same as
371 estimatehits in zebra.cfg.
372
373 --- 2.0.6 2006/11/28
374
375 Fixed bug #736: Updates gets slower.
376
377 Fixed bug #735: Delete fails to process rest of file after a record that
378 does not exist,
379
380 Added RPM package for Zebra 2.
381
382 Improved indexing speed for large documents.
383
384 Added support for special utility retrieval zebra:: which offers retrieval
385 of fundamental properties for record, such as indexed terms, raw record,
386 and system record ID.
387
388 --- 2.0.4 2006/10/16
389
390 Fixed bug #47: Commit needs to check for roll-back.
391
392 Fixed bug #672: Trailing characters in password are ignored
393
394 Added extra presence check for tcl.h, because some systems have
395 tclConfig.sh installed even though Tcl C headers are missing.
396
397 Optimized melm performance.
398
399 Do not use sync(2) during commit (but rely on sync'd individual files).
400
401 Fixed bug in ISAMB's utility function decode_ptr. With gcc -O3 on some
402 platforms the src argument was not updated. Problem was compiler
403 optimization due to strict aliasing rules.
404
405 --- 2.0.2 2006/09/22
406
407 Bug fixes: #638, #647, #657, #669.
408
409 Implement skip of 0 hit counts in scan. Useful for scan operations
410 limited by a result set.
411
412 Honor position attribute, i.e. allow first-in-field search. To
413 enable this, "firstinfield 1" must be given for an index in
414 default.idx. Enabled in tab/default.idx for w. At this stage
415 first-in field is supported for phrase/and-list/or-list searches
416
417 Common stream reader interface for record filters (struct ZebraRecStream).
418
419 Debian package fix: packages idzebra-2.0 + libidzebra-2.0-modules did
420 not depend properly on sub packages.
421
422 --- 2.0.0 2006/08/14
423
424 New record filter (record type) 'alvis' which uses XSLT transformations
425 to drive both indexing as well as retrieval. See example configuration in the
426 'example/alvis-oai' directory.
427
428 'isamb' is now the default ISAM system. In Zebra 1.3, the default ISAM was
429 'isamc'. The type used can still be configured with the 'isam' setting
430 in 'zebra.cfg'.
431
432 Index structure is now 64-bit based, also on 32 bit systems. 
433 There are no more 2GB register file limits.
434
435 Extended search result tuning. Approximate limit for terms can be enabled
436 and specified with attribute 11. The (approx or exact) hit count is returned
437 as part of the search response as in 1.3 series. The subqueryID of a search
438 term hit count can be specified with attribute 10.
439
440 Zebra uses string attributes for indexing internally. Using set+numeric
441 use attribute can still be used. This is a search-only conversion which
442 inspects '*.att'-set files as indicated using attset-directives in 'zebra.cfg'.
443 'attset' references are no longer required, but when used they deserve
444 as "check" for that the index names used are also present in '*.att'.
445
446 Zebra record filters (record type handlers) may be built as loadable
447 modules (.so's) on Unix. In particular the Zebra 2.0 Debian package uses
448 separate packages for each of them. This also means that zebra programs
449 such as zebraidx is no longer depending on Tcl/other..
450
451 Documentation updates, especially on query structure and syntax, SRU, 
452 XSLT support, alvis filter module, and many added examples.
453
454 Improved logging of the 'zebrasrv' and 'zebraidx' binaries.
455
456 Improved debian package structure.
457
458 --- 1.3.16 2004/08/16