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