Fixes.
[idzebra-moved-to-github.git] / CHANGELOG
1
2 Documentation updates.
3
4 Fixed bug in record retrieval module that occured on 64-bit OSF 
5 architectures.
6
7 --- 1.0.1 2000/2/10
8
9 Fixed bug in makefile for WIN32.
10
11 Fixed bug in configure script - used bash-specific features.
12
13 --- 1.0 1999/12/10
14
15 The software was split in two products Zebra (for testing,
16 non-profit use) and the commercial product Z'mbol. Zebra no
17 longer supports INDEX UPDATES, i.e. zebraidx should be invoked only
18 once for each register. Refer to LICENSE.zebra for more info.
19
20 Added support for multiple records in one file for filter grs.sgml.
21
22 Changed record index structure. New layout is incompatible with
23 previous releases. Added setting "recordcompression" to control
24 compression of records. Possible values are "none" (no
25 compression) and bzip2 (compression using libbz2).
26
27 Added XML transfer syntax support for retrieval of structured records.
28 Schema in CompSpec is recognised in retrieval of structured records.
29
30 Changed Tcl record filter so that it attemps to read  <filt>.tflt. If
31 that fails, the filter reads the file <filt>.flt (regx style filter).
32
33 Implemented new Tcl record filter -  use grs.tcl.<filter> to enable it.
34 Zebra's configure script automatically attempts to locate Tcl. For
35 manual Tcl configuration use option --with-tclconfig=<path> to specify
36 where Tcl's library files are located.
37
38 Implemented "compression" of Dictionary and ISAM system. Dictionary
39 format HAS changed.
40
41 Added "tagsysno" directive to zebra.cfg to control under which tag the
42 system ID is placed. Use tagsysno: 0 to disable Zebra's system number
43 entirely.
44
45 Added "tagrank" as above.
46
47 Changed file naming scheme for register files from <name>.mf.<no> to
48 <name>-<no>.mf.
49
50 Implemented "position"-flag for register type (as defined in
51 default.idx). When set to zero no position (or seqence number) is
52 saved in register for each word occurrence, thus saving some register
53 space.
54
55 Implemented database mapping. Using mapdb one can specify a database
56 to be mapped to one or more physical databases. Usage:
57 mapdb <fromdb> <todb> ..
58
59 Added SOIF-filter. Thanks to Peter Valkenburg.
60
61 For the regx-filter "end element -record" may trigger a mark-of-record
62 if outer level is reached.
63
64 Tag sets may be typed in the reference to it. From the .abs-file the
65 "tagset" directive takes a third optional integer type for the tag set
66 referenced. From a .tag-file the "include" directive takes a third
67 optional type as well. The old "type" directive in the tag set itself
68 is still recognized but acts as the default type for the tag set.
69  
70 Zebra supports the specification of arbitrary attributes sets, schemas
71 and tag sets, because of the change in YAZ' OID management system.
72
73 Fixed bug in Sort that caused it NOT to use character mapping as it
74 should.
75
76 Zebra now uses GNU configure to generate Makefile(s).
77
78 Added un-optimised support for left and left/right truncation attributes.
79
80 Added support for relational operators on text when using RPN queries.
81
82 Added support for sort specifications in RPN queries. Type 7 specifies
83 'sort' where value 1=ascending, value 2=descending. The use attribute
84 specifies the field criteria as usual.  The term specifies priority
85 where 0=first, 1=second, ...
86
87 Changed the way use attributes are specified in the recordId
88 specification.
89
90 Maximum number of databases in one Zebra register increased.
91
92 New setting, databasePath, which specifies that first directory during
93 update traversal is the database name (instead of a fixed one).
94
95 New setting, explainDatabase, which specifies that databases are
96 EXPLAIN aware.
97
98 Modified Zebra so that it works with ASN.1 compiled code for YAZ.
99
100 Implemented EXPLAIN database maintenance. Zebra automatically
101 generate - and update CategoryList, TargetInfo, DatabaseInfo,
102 AttributeSetInfo and AttributeDetails records at this stage. The
103 records may be transferred as GRS-1, SUTRS or Explain.
104
105 Fixed register spec so that colon isn't treated as size separator
106 unless followed by [0-9+-] in order to allow DOS drive specifications.
107
108 Fixed two bugs in ISAMC system.
109
110 Changed the way Zebra keeps its maintenance information about attribute
111 sets, available attributes, etc.. Records in "SGML" notation using an
112 EXPLAIN schema is now used when appropriate.
113
114 Bug fix: Index didn't handle update/insert/delete of the same record
115 (i.e. same recordId) in one run (one invocation of zebraidx). Only the
116 first occurence of a record is considered.
117
118 Most searches now return correct number of hits.
119
120 New modular ranking system. Interested programmers are encouraged to
121 inspect rank1.c and improve the algorithm.
122
123 Bug fix: Lock files weren't removed as they should on NT.
124
125 Implemented Z39.50 Sort. Zebra's sort handler uses use attributes to
126 specify a "sort register". Refer to the gils sample records which refer
127 to index type "s" which is specified as "sort" in the default.idx file.
128 Each sort criteria can either be Ascending or Descending and at most
129 three sort elements can be specified.  
130
131 Bug fix: Character mapping didn't work for text files.
132
133 --- 1.0b1 1998/1/29
134
135 Simple ranked searches now return correct number of hits.
136
137 The test option (-s) only makes a read-lock on the index as well
138 as using read-only operations anywhere.
139
140 Moved towards generic character mapping. Configuration file default.idx
141 specifies character map files for register types w, p, u, etc.
142
143 Implemented "begin variant" for the sgml.regx - filter.
144
145 Fixed a few memory leaks.
146
147 Added support for C++, headers uses extern "C" for public definitions.
148
149 Bug fix: The show records facility (-s) only displayed information for
150 the first record in a file (and not for every record in the file).
151
152 Added option "-f <n>" to limit the logging of record operations. After
153 <n> records has been processed no logging is performed (unless errors
154 occur).
155
156 Bug fix: the compressed ISAM system didn't handle update operations
157 correctly.
158
159 Added setting, "maxResultSetSize", to hold the number of records to 
160 save in a result set.
161
162 Bug fix: Complete phrase did't work for search operations.
163
164 Bug fix: temporary result sets weren't deleted.
165
166 Reduced disk space for saved keys (storeKeys = 1).
167
168 Added optional, physical ANY (key replication)
169
170 Implemented proximity operator in search.
171
172 Bug fix: the path name buffers used by file match traversal routines
173 have been extended to support long file names.
174
175 New C(ompressed) ISAM system. To enable it, specify "isam: c" in the
176 configuration file. The resulting register without "storeKeys" is about
177 half the size, and the memory used by zebraidx during phase 2 (merge) is
178 reduced to a minimum.
179
180 Reworked the way Regexp-2 queries with error tolerance are handled and
181 specified. The documentation has been updated accordingly.
182
183 Bug fix: Zebrasrv didn't search correctly when queries contained masking
184 characters. This bug was introduced in 1.0a8.
185
186 Zebrasrv now tag records with the proper database name.
187
188 New settings, memMax and keyTmpDir.
189
190 Changed name of setting lockDir (previously called lockPath) and
191 setTmpDir (previously called tempSetPath).
192
193 Generalized and changed record type specifications. In short, there are:
194        text                plain SUTRS
195        grs.sgml            structured, "SGML-like" syntax
196        grs.regx.<filter>   structured, Regular expression filter
197        grs.marc.<abs>      Reads *MARC records in the ISO2709 format. <abs>
198                            is the name of an abstract syntax file.                           
199 Bug fix: Result sets weren't sorted in operations involving boolean
200 operations with "ranked" operands.
201
202 --- 1.0a8 1996/6/6
203
204 Added national character-handling subsystem.
205
206 Various fixes.
207
208 Small modifications to input filters and profiles.
209
210 Added support for SOIF syntax (with private OID).
211
212 --- 1.0a7 1996/5/16
213
214 Fixed buffer-size problem in indexing.
215
216 Added compression to temporary files for updating.
217
218 Added phrase registers.
219
220 Added dynamic mapping of search attribute to multiple termlists (ANY).
221
222 Scan support in multiple databases/registers.
223
224 Configuration settings are case-insensitive and single dash (-)
225 characters are ignored in comparisons.
226
227 The index processing ignores empty files - warning given.
228
229 New option to zebraidx (-V) displays version information.
230
231 --- 1.0a6 1996/2/24
232
233 Fixed problem in file-update system.
234
235 Fixed problem in shadow system; register was sometimes corrupted after
236 a commit operation.
237
238 --- 1.0a5 1996/2/10
239
240 Fixed problems in the ISAM subsystem. Caused difficulties when updating
241 existing registers.
242
243 Fixed small problem in SUTRS-filter. A newline was sometimes inserted before
244 the rank and record number.
245
246 Fixed bug in the isam subsystem - caused a malfunction when accessing
247 words which occurred more than 10000 times.
248
249 Distribution should now include YAZ (Z39.50 protocol stack) to simplify
250 installation.
251
252 Server can now run under inetd. Use option -i, and -w <directory> to
253 set working directory to desired location.
254
255 New zebraidx command: clean - removes temporary shadow files.
256
257 Fixed bug in ISAM system. Occurred rarely during register updates.
258
259 Logging during index merge phase is improved. The remaining running
260 time is estimated.
261
262 Temporary files generated by zebraidx are removed after each run.
263
264 Bug fix: Dictionary didn't handle 8-bit characters correctly; was obvious
265 when doing scan operations in dictionaries with European characters.
266
267 --- 1.0a4 1996/01/11
268
269 A whole slew of updates, to make the first publicized release. Get the doc
270 and check it out.
271
272 --- 1.0a3 1995/12/06
273
274 Memory-problems in ISAM fixed. More blocktypes added to the default setup
275 to increase performance on larger databases.
276
277 Various minor changes in data management system.
278
279 --- 1.0a2 1995/12/05
280
281 A couple of portability-problems resolved.
282
283 Changed some malloc() to xmalloc().
284
285 --- 1.0a1 1995/11/28
286
287 First release.