Update
[yaz-moved-to-github.git] / NEWS
1 --- 2.1.34 2006/10/04
2
3 Change type of optval from long to int for invocation of setsockopt with
4 the SO_REUSEADDR option. Thanks to Ateeq A. Altaf, Talis.
5
6 Added support for specifying the max log file size for the Generic
7 Frontend Server. The size is given with option -r.
8
9 --- 2.1.32 2006/09/21
10
11 Fix problem introduced in YAZ 2.1.28 WRT unix sockets in the ZOOM code.
12
13 --- 2.1.30 2006/09/17
14
15 Fixes for getaddrinfo use, Bugs #655 + #660. These bugs were introduced
16 in YAZ 2.1.28.
17
18 Fixed bug in Generic Frontend Server that could cause a server to stop
19 accepting new connections. Bug only seen on dual CPU Windows 2003 server.
20
21 For the generic frontend server, the maximum record size is used as maximum
22 size of incoming packages (SRU + Z39.50). The value until was previously 
23 only used in Z39.50 Init negotiation and, later, in a session controlled
24 sizes of records returned. This is controlled using -k option. It can be
25 specified, per server, with element maximumrecordsize in YAZ' GFS XML config.
26
27 --- 2.1.28 2006/09/04
28
29 TCP/IP comstack uses getaddrinfo now to resolve names. It should be IPV6
30 friendly now.
31
32 Fixed bug #644: Using Non Reentrant gethostbyname causes SIGSEGV.
33
34 New option for yaz-marcdump -lpos=value which allows setting a portion
35 of MARC header to a certain value.
36
37 Fixes for MARC generation when encoded as MARC-8 (bug 642, 643).
38
39 ZOOM-C reads option extraArgs. If set the value of extraArgs is appended to
40 SRU URI (POST/GET). Value must be URL encoded, such as x-id-a=v1&x-id-b=v2 .
41
42 --- 2.1.26 2006/08/15
43
44 Fixed problem with SRU mode type (soap, get, post) for yaz-client
45 and ZOOM-C.
46
47 Fixed problem another problem with ZOOM_EVENT_RECV_RECORD . Bug #626.
48
49 --- 2.1.24 2006/08/08
50
51 Fixed MARC ISO2709 encoding routines to deal with character set 
52 conversion.
53
54 Minor changes to GFS logging. Database included in search request log
55 line.
56
57 Fixes for ZOOM-C: event ZOOM_EVENT_RECV_RECORD was not generated for
58 cached/multiple records.
59
60 Shared libraries are built by default on Unix+configure.
61
62 Changed cql2pqf transformation to use a different evaluation order. The
63 new order is: always, relation, structure, position, truncation, index
64 and relationModifier. Old order was: always, relation, relationModifier,
65 structure, index, position, truncation. Note that the the latter ones
66 override former ones for identical attributes.. The new scheme means that
67 it is possible to override any existing attribute with a relationModifier.
68 And also that it is possible to override everything for the index rule
69 (except the ones listed in relationModifier). No order is perfect but this
70 one, we believe, covers more real cases.. The "always" should have been
71 called "default", since the attributes there can be overridden with all
72 the rest.
73
74 For Libxml2 and friends, YAZ defines YAZ_HAVE_{XML2,XSLT,EXSLT) in the
75 compilation phase, but also for yaz-config --cflags output. This allows
76 us to have public headers with Libxml2 stuff in them . It should also,
77 eventually, make Libxml2 checks redundant in packages using YAZ, such
78 as yazproxy.
79
80 --- 2.1.22 2006/06/15
81
82 Changed SRU update structure bend_update_rr so that SRU diagnostics are
83 stored in uri, message and details.. Previously diagnostics were stored
84 in errcode, errstring. Patch by Ko van der Sloot. Breaks binary
85 compatibility.. but he's probably the only one affected, so.
86
87 Added support for CCL, compiled on the client side, in ZOOM-C.  This
88 is invoked using ZOOM_query_ccl2rpn() with the CCL configuration as
89 input; the resulting query objects can be used for for searching with
90 ZOOM_connection_search() and scanning with ZOOM_connection_scan1().
91
92 YAZ' configure searches for OpenSSL by default.
93
94 SSL comstack uses SL_CTX_use_certificate_chain_file rather than
95 SL_CTX_use_certificate_file. See
96 http://lists.indexdata.dk/pipermail/yazlist/2006-June/001615.html
97 for more info. Thanks to Ko van der Sloot.
98
99 --- 2.1.20 2006/06/02
100
101 Bug #600: SRU GET, POST support for yaz-client. Introduced
102 command 'sru' which selects method SOAP/GET/POST.
103
104 Allow missingValueAction to be specified for the sortspec string - 
105 function yaz_sort_spec. By default, the missing value action is null.
106 Use ! to specify "abort". Use = followed by stringvalue to specify default
107 value.
108
109 Ensured that Present-handler (if defined) is called in GFS before any call to
110 fetch-hhndler.  This now includes piggy-backed presents as well as SRW/U
111 searchRetrieve requests.
112
113 Documentation for YAZ is now based on the Docbook XML/XSLT using
114 xsltproc + N Walsh's stylesheets. It means that the CVS version of YAZ
115 is no longer depending on jade/openjade or docbook-to-man scripts.
116 PDF is no longer part of the distribution - but can optionally be
117 made using DSSSL/jadetex or FOP.
118
119 Added retrieval handling support in Generic Frontend Server to support
120 conversion between MARC/XML as well as XSLTtransforms. See
121 etc/yazgfs.xml for an example.
122
123 Added Authentication support to Generic Frontend Server in SRU
124 mode. Authentication using HTTP Basic is supported, as is the use
125 of 'x-username' and 'x-password' parameters in the request itself.
126
127 Added support for a new character set MARC8s identical to MARC8 except
128 that it converts combined characters to single Unicode characters in the
129 Latin-1 range (when possible).
130
131 --- 2.1.18 2006/04/24
132
133 ASN.1 compiler 0.4: generates brief Doxygen file header for 
134 generated .h/.c files. 
135
136 Utility yaz_iconv now supports conversion to MARC-8.
137
138 New facilities for the MARC module. The reading - and writing of
139 content are separate methods for the yaz_marc_t handle. The following
140 read functions are available: yaz_marc_read_iso2709 (Reads MARC in
141 ISO2709 format), yaz_marc_read_xml (reads MARC in MARCXML/MarcXchange
142 format). Write functions have prefix yaz_marc_write_.. The existing
143 utilities yaz_marc_decode_wrbuf and yaz_marc_decode_buf are still
144 available. Removed support for OAI-MARC and simplexml (not the
145 simplexml from PHP5).
146
147 Added a new ZOOM event type ZOOM_EVENT_END which signals no more events
148 to be returned for this connection.
149
150 --- 2.1.16 2006/03/31
151
152 Allow multiple languages and charsets to be specified with
153 yaz-client. Each item must be separated by comma (NO BLANKS). E.g.
154   negcharset iso-8859-1,utf-8
155
156 Translation of proximity nodes from CQL into PQF now works.
157
158 Moved to automake 1.8, 1.9.
159
160 Added function yaz_log_set_handler which allows a log handler to be
161 installed. This handler will be called for all log messages.  Output
162 to file is also produced; but that can be disabled by passing NULL
163 fname to yaz_log_init_file.
164
165 Fixed another problem with MARC-8 -> ISO-8859-1 conversions. Bug #537.
166
167 For SRW (including GFS), accept application/soap+xml as content-type
168 for SOAP msg.
169
170 For GFS in SRU mode, an empty stylesheet in SRU URL (&stylesheet=&)
171 produces NO stylesheet reference even if a default stylesheet is specified
172 in GFS XML config.
173
174 --- 2.1.14 2006/03/14 
175
176 Updated Windows package to include yazd.dll + yazd.lib for the
177 Development component.
178
179 If the environment variable YAZ_LOG is set, then it is used as a
180 string indicating the default level of logging to use if not
181 overridden by calls to yaz_log_init() or yaz_log_init_level().  If
182 it's not defined, then the manifest constant YLOG_DEFAULT_LEVEL is
183 used as before.  So, for example, to omit warnings from YAZ logging,
184         export YAZ_LOG=-warn
185
186 cql_transform() now map structure and other attributes before indexes,
187 so that index-specific structures and other attributes can override
188 defaults.  So now a combination of mapping specifications such as:
189         structure.* = 4=1
190         index.dc.date = 1=date-modified 4=5
191 does the right thing.
192
193 cql_transform() now also respects the "always" mapping specification,
194 which establishes an initial set of attributes to be used for all
195 terms except where overridden by more specific attributes associated
196 with the index, relation or modifier.
197
198 Added SRU-GET and SRU-POST support for ZOOM C. Option "sru" specifies
199 which mode to use; one of "post", "get" or "soap" (SRW, default).
200
201 Fixes for yaz_iconv routines: changed trie-based character set conversions
202 to use only non-negative values for bit fields due to Sun's C compiler not
203 supporting negative values.
204
205 Fixed bug in character set conversion yaz_iconv. Some three byte UTF-8
206 sequences where not read correctly. Fix by Rustam Usmanov.
207
208 Updated win/makefile to use options, settings which makes things
209 compile with VS C 2005.
210
211 --- 2.1.12 2006/02/01 
212
213 Fixed bug in yaz_oi_update which used incorrect value for categoryValue.
214
215 In ZOOM socket code, use select instead of poll on MacOSX.
216
217 ZOOM-C now support client-side compilation of CQL into RPN that is
218 sent to the server, enabling CQL to be used against all Z39.50
219 servers.  Use ZOOM_query_cql2rpn() to set the compiled CQL into a
220 ZOOM_query object, and submit it using ZOOM_connection_search().
221 The CQL-to-RPN translation uses a configuration file, the name of
222 which must be specified in the Connection's "cqlfile" option.
223
224 ZOOM-C also support CQL scanning, via the new ZOOM_connection_scan1()
225 function, which takes as its start-term parameter a ZOOM_query object
226 (which may have had either CQL or RPN set into it).
227
228
229 --- 2.1.10 2005/11/29 
230
231 Added ZiNG Update Support. New codecs are defined in srw.h. Extended the
232 GFS to support this as well. Backend handler, bend_srw_update, does the
233 update work. Code contributed by Ko van der Sloot.
234
235 Allow retrieval of Search Result-1 information in ZOOM by the use of
236 options that are attached to a result set. ZOOM documentation updated
237 accordingly.
238
239 Fixed bug #416: First/second comb characters not handled in the MARC-8 to
240 UTF-8 conversion. Patch by Raj Patel.
241
242 Added option -m to GFS to control formatting of timestamps in log file.
243
244 Added 'exit' as synonym for 'quit' in yaz-client
245
246 Added support for specifying SRW resultSetId + resultSetIdleTime in a
247 Generic Frontend Server's search handler. Refer to include/yaz/backend.h
248 for the new members. Patch by Ko van der Sloot.
249
250 Added support for SRU POST. It is supported for content-type
251 application/x-www-form-urlencoded only. Patch by Ko van der Sloot.
252
253 Do not build the separate Multi-threaded (MT) library libyazthread.la.
254 Instead make the library libyaz.la multi-threaded. Threading as a whole
255 can still be disabled by configure option --disable-threads. Previosly, 
256 with older GLIBCs there were problems with MT libs under Apache. This
257 has now been fixed a long time ago.
258
259 Fixed bugs in yaz_log that occurred on Sparc Solaris in Multi-threaded
260 applications.
261
262 CQL module modified to be case insensitive for relations/indexes/operations.
263
264 Fixed bug in CQL transform code: incorrect value relationModifieder
265 was used.
266
267 Added 'show all' command for yaz-client which retrieves all results
268 for last search.
269
270 Added new yaz-client, xmles, which takes a (private) OID and
271 a document to be sent as an extended service request.
272
273 Describe new yaz-client commands wait_response and set_auto_wait.
274
275 Increase TCP/IP listener backlog from 3 (which I am guessing was
276 copied from the SunOS manual entry way back when) so SOMAXCONN, so
277 that the socket will queue as many incoming connections as it's able
278 to handle ongoing connections.  In other words, it will never now
279 refuse a connection that it would be able to handle merely because
280 it's not got around to accepting() enough of the pending connections
281 yet.  This is the behaviour anyway under Linux, where the listen()
282 argument is ignored; but not under BSD and on systems such as
283 MS-Windows that use BSD-derived TCP/IP stacks.  The behaviour of
284 YAZ-based servers should now be uniform across operating systems in
285 this respect.
286
287 yaz-marcdump uses 64-bit file access on some systems. This is enabled 
288 on Linux and other Unix variants where _FILE_OFSET_BITS=64 is supported.
289 This allows yaz-marcdump to read large MARC batches (>2 GB).
290
291 Modified all YAZ source files - except the source which is auto-generated
292 by tools - to use spaces rather than TABS. Emacs/VIM trailer added to
293 all source files.
294
295 Add ZOOM_connection_option_getl() and ZOOM_options_getl(),
296 corresponding to the existing *_setl() function.  These allow option
297 values containing arbitrary valuues.
298
299 Add ZOOM_resultset_sort1(), which should ALWAYS be used in place of
300 ZOOM_resultset_sort() in new applications.  Its behaviour is identical
301 except that it returns an indicator of whether or not the sort
302 criterion was accepted (0 for OK, -1 for invalid).
303
304 --- 2.1.8 2005/06/07 
305
306 Fixed bug in yaz_marc_decode_buf. By mistake the routine appended
307 MARC output rather than returning "new" buffer.
308
309 yaz-client warns about unknown init options.
310
311 Fixed bug #371: "options concurrentOperations ignores concurrentOperations"
312
313 --- 2.1.6 2005/05/24 
314
315 Added support for SRW sort in Generic Frontend Server. Patch
316 by Ko van der Sloot. Member srw_sortKeys in bend_search_rr holds
317 sortKeys - or NULL if none is provided.
318
319 Fixed bug #307: It was impossible to specify indefinite/no timeout
320 for ZOOM_event. Special timeout value -1 now means indefinite timeout
321 (i.e.  no timeout).
322
323 Added support for multiple languages and charsets to be specified in
324 ZOOM. Each charset/language is separated by a blank. If negotiation is
325 in effect in init-response, Option
326 "negotiation-charset-in-effect-for-records" set to 1(true) or 0(false). 
327 Code based on patch by Vasiliy Osadchuk.
328
329 Fixed bug #306: infinite recursion that occurred when calling
330 yaz_log_level_init as the first call (before other log level or
331 nmem_init calls)
332
333 Fixed bug in scan handling in front end server: if preferred-Position-In-
334 Response was non-present, a NULL pointer referece was performed.
335
336 --- 2.1.4 2005/04/26 
337
338 Changed include/yaz/diagbib1.h and added include/yaz/diagsrw.h with
339 diagnostic messages+codes for Bib-1 and SRW. Preprocessor defines are
340 now defined for all those error codes. So instead of putting 109 in
341 your program you'd use YAZ_BIB1_DATABASE_UNAVAILABLE. The messages
342 are generated from a .csv - file. See src/bib1.csv and srw/srw.csv.
343
344 Modified the yaz-marcdump utility to skip garbage bytes between MARC
345 records in a file.
346
347 Fixed bug - uninitialized memory - due to bad code for fix of bug #272.
348
349 Program yaz-client now exits and produces an error message if multiple
350 Z39.50 servers are specified on the command line (none or one allowed
351 only).
352
353 Program yaz-marcdump skips garbage bytes between ISO2709 records rather
354 than abort.
355
356 --- 2.1.2 2005/03/16 
357
358 Fixed bug #273: Update for recent MARC-8 -> UNICODE changes. 
359
360 Fixed bug #272: Preserve spacing for CCL terms.
361
362 --- 2.1.0 2005/03/14 
363
364 Added support for virtual hosts and multiple backend servers for
365 the YAZ frontend server. The configution is XML based and
366 support specificition of CQL to RPN mappings and explain information.
367 See section "Virtual Hosts" in the YAZ manual.
368
369 Extended OPAC display utility. OPAC display utility renders
370 bibliographic (MARC) record as well. Added yaz_opac_decode_wrbuf
371 to supplement yaz_marc_decode_wrbuf.
372
373 Fixed a bug in MARC decoder that could caused it to crash for some
374 invalid MARC records. More diagnostics and warnings where added in
375 XML output (warnings, etc are stored in comments).
376
377 --- 2.0.34 2005/02/08 
378
379 Fixes for UNIX domain sockets. Bug #261.
380
381 Fixes for MARC-8 to UTF-8 conversion. Bugs #258 and #260.
382
383 Fixed bug #263: YAZ MARCXML dump shows extra spaces after control fields.
384 Added yaz_marc_subfield_str which defines subfield lead string which is
385 used in YAZ_MARC_LINE format. Default string is blank+$. Added
386 yaz_marc_endline_str which defines end of fields string used in
387 YAZ_MARC_LINE format. Default string is newline.
388
389 Experimental support for MarcXChange. This format can be produced
390 by yaz-marcdump and is implemented in yaz_marc_decode - functions.
391  http://www.bs.dk/standards/MarcXchange.xsd
392
393 Added yaz-client commands scansize that sets maximum number of
394 entries to be returned by scan.
395
396 --- 2.0.32 2005/01/11 
397
398 Added support for SRW scan in yaz-client and Generic Frontend Server.
399
400 * Added whereInList member to SRW Scan Term.
401
402 * Changed Z_SRW_scanRequest to be able to carry both CCL and PQF.
403
404 Fixed NMEM system to return aligned blocks on the smallest boundaries
405 that are suitably aligned for all possible types on the particular
406 architecture YAZ is being built for.
407
408 --- 2.0.30 2005/01/04 
409
410 Fixed numerious warnings that was issued with newer versions of GCC.
411
412 Fixed NMEM system to return aligned blocks on 8 byte boundaries rather
413 than 4 bytes, since 4 may not be enough on some systems such as GCC 3.4.3
414 on Solaris.
415
416 Make YAZ Generic Frontend Server slightly faster.
417
418 Enhance (and reduce) logging for Generic Frontend Server.
419
420 Revert YAZ log system so that it flushes every write operation
421 by default. (YAZ 2.0.26 and earlier verisons did that). Bug #240.
422
423 Modified the YAZ logging system. The LOG level defines use YLOG_ prefix
424 instead of LOG_, due to name clash with syslog(3). LOG_ are still
425 present. New applications should define YAZ_USE_NEW_LOG=1 - this
426 will effectively disable old definitions.
427
428 --- 2.0.28 2004/11/09 
429
430 Added yaz_log_time_format which specifies log format using
431 strftime(3).
432
433 Added yaz_log_module_level which returns mask for a module. Value
434 is non-zero mask a if module is enabled; zero if disabled.
435
436 * Fixed bug #148: CQL parser may leak. A few prototypes were changed
437 in include/yaz/cql.h.
438
439 Fixed bug #176: Dont throw diagnostics on empty SRU args.
440
441 Fixed bug #175: surrogate diagnostics in SRW lacking NS.
442
443 Fixed bug #172: RPM builds does not enable SSL.
444
445 Doxyfile.in part of dist. Doxyfile generated by configure.
446
447 Configure aborts if any of --with-xml2, --with-openssl, --enable-tcpd 
448 are given and the corresponding component does not exist.
449
450 Extend CCL documentation in YAZ reference. Describe r=r.
451
452 --- 2.0.26 2004/10/01
453
454 Fixed MARC->MARCXML conversion to properly deal with
455 fields, subfields, indicators having non-ASCII characters.
456
457 Fixed MARC->MARCXML conversion so that ASCII control characters
458 except TAB,CR,LF are removed from resulting XML (XML 1.0 does not
459 support these).
460
461 Added YAZ GFS support for conversion from Z39.50 surrogate
462 diagnostics to SRW surrogate diagnostics.
463
464 Bug fix: YAZ GFS did not return schema in explainResponse.
465
466 --- 2.0.25 2004/09/30
467
468 The YAZ GFS when converting SRW/SRU requests to Z39.50 structures
469 now converts recordSchema to elementSetName as well as schema URI.
470
471 Fixed bug in COMSTACK that prevented HTTP request packages from being
472 decoded properly.
473
474 --- 2.0.24 2004/09/29
475
476 Added CCL facility r=r "range" which is similar to r=o "ordered" but
477 does not require white-space before and after the dash in a range, e.g.
478 x=-1990 is equivalent to x <= 1990 iff r=r, but equivalent to x= -1980
479 iff r=o.
480
481 Fixed a few AC_TRY_LINK configure tests that did not operate properly
482 due to new GCC removing "redundant" code.
483
484 Added yaz-client commands scanpos and scanstep that sets preferred
485 position and step-size for scan.
486
487 Macro YAZ_INIT in yaz.m4: option --with-yazconfig renamed to --with-yaz.
488
489 Added CCL utility ccl_qual_buf which parses one or more CCL 
490 spec lines in a buffer.
491
492 Added CCL utility ccl_qual_line which adds CCL qualifier line consisting
493 of name and value - ignoring empty lines and comments.
494
495 On Windows, the debug DLL/import lib is now named yazd.{dll,lib}.
496
497 Added odr_get_element_path which returns current element path for an
498 ODR handle. This utility is useful in error handling or user-defined
499 ODR_PRINT stream.
500
501 Added ODR_PRINT utility odr_set_stream which is is a more generic
502 alternative to odr_setprint. odr_set_stream takes a stream handle, pointer
503 to a write function and pointer to close function. The close function - if
504 non-NULL - will be called during odr_destroy.
505
506 Fixed bug in CCL parser where truncation char was not removed from
507 right side when truncation=both was in effect.
508
509 Fixed CQL parser to use unsigned chars for isxxx from ctype.h due
510 to VS.NET.
511
512 --- 2.0.23 2004/08/11
513
514 Fix buffer overrun in CQL parser when dealing with proximity (%).
515
516 Fixes for MARC-8 in yaz_iconv character set utilies. The MARC-8
517 to UTF-8/UCS conversion is now only based on codetables.xml.
518
519 yaz_marc_decode_buf sets leader pos 9 to "a" for MARCXML output.
520
521 --- 2.0.22 2004/08/06
522
523 Add support for more "commit changes" in ZOOM (uses Extended Services).
524
525 For yaz-client, command set_marcdump <file> / -m <file> dumps SUTRS/XML/..
526 records as well.
527
528 Yet another small fix for configure of SSL.
529
530 --- 2.0.21 2004/05/14
531
532 Fix SSL libs for configure when --with-openssl=DIR is given.  
533
534 --- 2.0.20 2004/05/10
535
536 Add autoconf m4 macro YAZ_DOC for YAZ documentation setup (docbook).
537
538 SSL comstack now uses yaz.pem certificate file on server side
539 by default. Certificate filename can be configured by calling
540 comstack function cs_set_ssl_certificate_file before cs_bind is used.
541
542 Fix bug regarding multiple calls to ZOOM_connection_connect.
543
544 Implement cs_set_ssl_ctx which sets SSL_CTX for SSL comstack.
545
546 Do not create SSL_CTX in cs_create (ssl_type). Create in tcpip_bind,
547 tcpip_rcvconnect instead. This allows user to set custom SSL_CTX.
548
549 ZOOM now allows inspection of X509 peer certificate for verification.
550 The X509 buffer is retrived by reading ZOOM option "sslPeerCert".
551
552 Removed libyazssl.la. When SSL is enabled, libyaz.la has SSL support and
553 all programs have too (yaz-ztest, yaz-client, zoom..). May not be
554 as "modular" but it simplifies things.
555
556 Added cs_get_peer_certificate to that returns peer X509 PEM.
557
558 Added cs_get_ssl that returns SSL handle (SSL *) for SSL comstack; returns
559 NULL if SSL is unavailable.
560
561 Documentation about MARC decoding tools.
562
563 Fix --disable-tcpd to really disable tcpd. Patch by Robin H. Johnson.
564
565 --- 2.0.19 2004/03/30
566
567 Rename CHANGELOG to NEWS to follow GNU style packing.
568
569 Fix bug with missing initialization of member in init_diagnostics.
570 This bug affects threaded version of GFS server.
571
572 --- 2.0.18 2004/03/20
573
574 Use wrbuf_xmlputs_n instead of wrbuf_write_cdata to avoid clash with
575 Zebra symbol.
576
577 Ensure zlib.dll is packed with Windows install.
578
579 --- 2.0.17 2004/03/17
580
581 Fix encoding of xsd:string to use text instead of CDATA.
582
583 Fix endless loop in CQL parser with unbalanced ".
584
585 Use a more compact way to store MARC-8 conversion tables.
586
587 --- 2.0.16 2004/03/16 Debian only
588
589 Oleg Kolobov Fixed a bug in yaz_iconv regarding conversion to
590 UCS4 / UCS4LE.
591
592 Update CQL parser to use new CQL 1.1 modifiers for booleans and
593 relations.
594
595 Add CQL test cases.
596
597 --- 2.0.15 2004/03/01
598
599 Another fix for decoding of XML packed records.
600
601 --- 2.0.14 2004/02/25
602
603 Fixes for Chunked encoding. White space not ignored after length spec.
604
605 Update NS and use default NS for SRW diagnostic elements.
606
607 --- 2.0.13 2004/02/23
608
609 Implement ZOOM_resultset_cache_reset which resets record cache.
610
611 Implement ZOOM_resultset_sort which sorts a result set.
612
613 Implement chunked HTTP transfer.
614
615 For SSL, use -lssl -lcrypto on systems that don't have pkg-config.
616
617 --- 2.0.12 2004/02/16
618
619 Added member 'schema' to bend_explain_rr structure so that backend
620 can specify explain record identifier. Defaults to Zeerex 2.0.
621
622 Fix encoding of OID's of form 1.0.X. Bug introduced in 2.0.11.
623
624 --- 2.0.11 2004/02/16
625
626 * SRW/SRU 1.1 updates: updated diagnostic in srw.h to use uri instead
627 of code.
628
629 Added init command for yaz-client which sends "extra" init request.
630
631 Fixed two bugs in OID codec - ber_oidc. Throw error when encoding/decoding
632 bad truncated OID. Fix decoding of OID X.Y... when X=2 and Y>39.
633
634 Fixed a bug in ASN.1 compiler that caused Type-1 Operator codec to fail.
635
636 Make ZOOM error code for "invalid query".
637
638 Fixed compilation for SSL which wasn't properly enabled for all platforms.
639
640 --- 2.0.10 2004/02/05 
641
642 For yaz.m4, allow second argument for YAZ_INIT to hold minimal version of
643 YAZ required.
644
645 * SRW/SRU 1.1 updates. Diagnostic code now a URI.
646
647 Added option -p <file> to make Generic Frontend Server to write PID file.
648
649 Added option -D to put Generic Frontend Server in background on its own.
650
651 Make ZOOM C recognize option "password". If unset, "pass" is used
652 (for backwards compatibility).
653
654 Fixed a bug in Generic Frontend Server that could make it crash if a
655 client sets characterSetNegotation bit, but didn't pass negotiation stuff
656 in InitRequest.
657
658 New YAZ client command, zversion, that sets Z39.50 version (1,2,3..).
659 Must be issued before open, in order to be in effect.
660
661 --- 2.0.9-6 2004/01/12  Debian/Windows
662
663 Make the SRU server more picky WRT unknown params, etc.
664
665 Bug fix: ZOOM scan response didn't return displayTerm - when present.
666
667 New YAZ client command, options, that sets Z39.50 options.
668
669 New utility functions yaz_init_opt_{encode,decode} to encode/decode Z39.50
670 options from a string of tokens (one token for each option bit).
671
672 Update SRW diagnostic code messages.
673
674 --- 2.0.9-5 2004/01/07  Debian/Windows
675
676 Handle user defined stylesheet for SRW/SRU.
677
678 --- 2.0.9-4 2004/01/06  Debian/Windows
679
680 Fix bug in decoding of Content-Length.
681
682 --- 2.0.9-3 2004/01/06  Debian/Windows
683
684 Fix a bug with decoding of XML packed records.
685
686 --- 2.0.9-2 2004/01/05  Debian only
687
688 Allow empty ODR (NMEM=0) for odr_oiddup and odr_getoidbystr.
689
690 Fix bug in SRW/SRU diagnostics decoding.
691
692 --- 2.0.9 2004/01/05
693
694 Fixed bug in Generic Frontend Server which could drop records exceeding
695 preferred message size. Reported and fixed by Irina Dijour.
696
697 Fixed calculation of package size for structured records in Generic
698 Frontend Server. Reported and fixed by Irina Dijour.
699
700 Fixed namespace for SRW/SRU diagnostics.
701
702 Fixed SEGV in yaz-client that occured for HTTP connection errors.
703
704 --- 2.0.8 2003/12/22
705
706 * SRW/SRU 1.1. Since the Namespace has changed for SRW/SRU, it means that
707 this version is incompatible with version 1.0 and older YAZ SRW/SRU
708 implementations.
709
710 CQL changes to reflect recent changes to the specification:
711 * Documentation talks about context sets instead of index sets.
712 * Documentation talks about indexes instead of qualifiers.
713 * The CQL-to-PQF transformer's configuration file now uses
714         "index.set.name = <attributes>" instead of the old form
715         "qualifier.set.name = <attributes>".  (Both forms are still
716         understood but the latter is deprecated.)
717 * CQL terms with no explicit index specified are now interpreted as
718         cql.serverChoice instead of srw.serverChoice (which of course
719         behaves exactly the same.)
720
721 --- 2.0.7 2003/12/16
722
723 MARC conversion can now generate ISO2709 output in another
724 character set. yaz-marcdump uses this facility if you invoke it
725 with option -O.
726
727 Added missing C decl macros for include/yaz/{soap.h,srw.h,cql.h}, so that
728 functions from there can be used from C++.
729
730 --- 2.0.6 2003/12/04
731
732 Frontend server now transfers memory from decoded packages to stream
733 ODR for search.
734
735 NMEM now clears freed blocks with 'Y' (hex 59) to force bad memory
736 references to show up. 
737
738 ZOOM-C now supports standard ZOOM option names as described in v1.4 of
739 the ZOOM Abstract API.  The older names for the same options are still
740 also supported for the benefit of old applications.
741
742 ZOOM-C supports "implementationId" and "implementationVersion" options
743 to go along with "implementationName".  These allow the user code to
744 specify identification strings to be sent to servers.
745 Add OID for the new ExtLite attribute set.
746
747 Add OIDs for NACSIS-CATP, FINMARC2000 and MARC21-fin record-syntaxes,
748  as requested/supplid by Ere Maijala <ere@atp.fi>
749
750 For generic frontend server, reverse the order of
751 "toolkit-supplied / application-supplied" strings sent as implementationId,
752 Name and Version.  Also, remove the spaces around the slash.  This brings
753 the GFS in line with the behaviour of ZOOM-C on the client side.
754
755 Add function ZOOM_scanset_display_term.
756
757 yaz-client shows scan displayTerm if present.
758
759 Utility yaz-iconv is now installed by default along with the man page 
760 yaz-iconv.1.
761
762 Extend configure check for OpenSSL to use pkg-config where available (such
763 as RedHat 9).
764
765 Incorporate patch by Morten Bogeskov which allows a Unix file socket
766 server to specify uid/gid/mask for socket using the format
767  unix:[user=uid,][group=gid,][umask=mask,]file=path
768 If file= is omitted the existing format is assumed, e.g.
769  unix:path
770 in which case the mask is 0666 (rw for everybody).
771
772 Major restructure of YAZ source. All source in libyaz is in src directory.
773 Programs in client (yaz-client), ztest (yaz-ztest), zoom (zoom programs),
774 util (utility programs such as ASN.1 compiler, yaz-marcdump). 
775
776 Added man page for utility yaz-marcdump (used to be called marcdump).
777 yaz-marcdump is installed by 'make install'.
778
779 Fixed a memory leak in Generic Frontend Server that occurred when decoding
780 of incoming package failed.
781
782 Fixed a potential DOS attack vulnerability in COMSTACK/ODR.
783
784 Change prototype of odr_perror: add const to message string.
785
786 New function yaz_log_reopen which reopens log file (for log rotate, etc.)
787
788 * Blocking parameter for COMSTACK cs_create is now a bit mask rather
789 than a blocking flag. Bit 0 is set for blocking, reset for non-blocking.
790 Bit 1 is set if cs_addrstr should avoid DNS lookup; reset for full
791 DNS lookup. There should not be any compatibility problems with this
792 assuming that blocking=1 or 0 is used.
793
794 Fix bad reference in UNIX comstack in function cs_addrstr.
795
796 Fix for compilation on AIX.
797
798 The generic front-end server (server/seshigh.c) now supports returning
799 Init diagnostics to the client in User-information-field, in
800 accordance with Z35.90 Implementor Agreement 5 (Returning diagnostics
801 in an InitResponse)
802
803 --- 2.0.4 2003/09/04
804
805 Allow any CQL relation (not just all,any,exact,scr).
806
807 Fixes for OCLC UI ASN.1 to make it work with SilverPlatter targets
808 that features the same UI.
809
810 Implemented command update0 in YAZ client which is equivalent to
811 update but uses old of Ext Update ASN.1.
812
813 Use OID 1.2.840.10003.15.1000.81.1 for privately defined charsets
814 in charset negotiation. Added VAL_ID_CHARSET in oid.h.
815 Previously no OID was used for this info.
816
817 ZOOM uses smallSetUpperBound=1 instead of 0 for piggyback searches.
818 It apparantely upsets EBSCO Publishing IR Z39.50 Server which
819 returns 'malformed search term' otherwise.
820
821 SortResponse member resultCount now set to NULL in sort handler of
822 frontend server.
823
824 OPAC support ZOOM. ZOOM_record_get returns OPAC info (as XML) if
825 type is "opac".
826
827 Add three new utility functions for translating OIDs between various
828 formats -- symbolic name such as "Usmarc", minus-1-terminated int
829 arrays and dotted strings such as "1.2.840.10003.9.5.1":
830  int *oid_name_to_oid(oid_class oclass, const char *name, int *oid);
831  char *oid_to_dotstring(const int *oid, char *oidbuf);
832  char *oid_name_to_dotstring(oid_class oclass, const char *name, char *oidbuf);
833
834 Reverted modifications for ES Update definition for z_IU0Update 
835 (OID 1.2.840.10003.9.5.1 and 1.2.840.10003.9.5). The definition
836 is back to YAZ 2.0.2.
837
838 String value attributes for CCL parser.
839
840 Support for OCLC's locally registered "OCLC-UserInformation" PDU,
841 which their FirstSearch server returns in Init responses, sometimes
842 carrying useful diagnostic information when Init fails.  This has the
843 OID 1.2.840.10003.10.1000.17.1 and is defined in the file
844 "z39.50/oclcui.asn", where its definition is somewhat different from
845 what OCLC document on their web-site, as required to interoperate with
846 their servers.
847
848 Support for anonymous authentication in yaz-client.  Use the command
849 "auth -".
850
851 * Fix the OID of the Index Data-local "admin" Extended Service from 
852   1.2.840.10003.9.81.1 to 1.2.840.10003.9.1000.81.1.  The omission of
853   the 1000, which indicates a locally-defined OID, was a mistake.
854
855 --- 2.0.3 2003/06/20
856
857 Fix CCL directive @case handling so that it affects string match for
858 both CCL keywords and qualifiers.
859
860 * ESFormat-Update updates. Packages with OID 1.2.840.10003.9.5.1 and
861 1.2.840.10003.9.5 are now handled by the same decoder z_IU0Update .
862 Decoder has been updated with ASN.1 changes as listed in
863 http://lcweb.loc.gov/z3950/agency/defns/updateES.html
864 Note that the "latest" DB Update, OID 1.2.840.10003.9.5.1.1 , handler
865 z_IUUpdate, remains unchanged. 
866
867 ZOOM_record_get may now return a record in a specific character set.
868 For type use "form; charset=from[,to]" where form (render, xml, ..) ,
869 "from" is the character set of record as returned by target. "to" is
870 the character set to be returned. If omitted, "to" is UTF-8.
871
872 YAZ ASN.1 compiler renamed from yaz-comp to yaz-asncomp
873
874 New ODR utility, odr_getelement, which returns name of element for
875 which encoding/decoding failed.
876
877 Fixed ODR so that it returns error code OREQUIRED rather than ONONE
878 in cases where a required element was omitted.
879
880 Bug fix: some MARC8 sequences were not converted.
881
882 New ZOOM option "step" which specifies number of records to be
883 retrieved in one chunk. Used in conjunction with "start" and "count".
884
885 SRW support for yaz-client. Use scheme http: to use it, e.g.
886  http://host:port/db
887
888 yaz-client no longer does (un)intelligent character set conversions
889 by default. Can be enabled with charset and marc_charset commands.
890
891 xmalloc trace fix for 64-bit systems such as DEC alpha. 
892
893 Solaris 2.6 compile fix.
894
895 New function, cql_strerror() translates SRW error codes, as returned
896 by cql_transform_error(), into human-readable English strings.  Used
897 in yaz-client diagnostics when appropriate.
898
899 New CQL2RPN query-type for the command-line yaz-client, parses CQL and
900 converts it into a type-1 query which is sent to the server.  This
901 makes CQL available for use with all Z-servers, as opposed to the tiny
902 minority that can handle CQL queries themselves.
903
904 --- 2.0.2 2003/04/28
905
906 New Debian package layout similar to the Redhat Package layout.
907
908 New ZOOM events ZOOM_EVENT_RECV_{RECORD,SEARCH} for receiving a record
909 and search result respectively.
910
911 --- 2.0.1 2003/04/25
912
913 Redhat package is now several packages: libyaz (runtime libraries),
914 libyaz-devel (development and documentation, and yaz (utility programs).
915 Package spec file by Morten Bøgeskov.
916
917 New member 'schema' in struct bend_fetch_rr which the name of requested
918 schema (SRW/SRU) for record (or NULL if none was given). The fetch
919 handler MAY set this to reflect the schema of the returned record.
920
921 New member 'display_term' in struct scan_entry. GFS now sets member entries
922 and allocates scan entries to be filled by user scan handler. In previous
923 version, entries member was allocated by the scan handler. That still works,
924 but the GFS will ignore member display_term - assuming it was NOT set by
925 the handler. The fact that the GFS now allocates the entries both allows
926 for new members and makes a scan handler easier to write.
927
928 Fix CQL lex buffer overflow.
929
930 SRW/SRU recordPacking. For SRW default recordPacking is string. For
931 SRU default recordPacking is string.
932
933 SRU protocol support for frontend server.
934
935 Fix compile bug for systems that have nl_langinfo but CODESET undefined.
936
937 Added missing PQF transform rules for <= and >= . Thanks to Peter Popovics.
938
939 Added scan for the ZOOM shell (zoomsh).
940
941 --- 2.0 2003/02/23
942
943 * String Identifers for Schemas (Amendment 5).
944 http://lcweb.loc.gov/z3950/agency/amend/am5.html
945 Old definition for schema
946   Odr_oid *schema; /* OPT */
947 New:
948   int which;
949   union {
950      Odr_oid *oid;
951      Z_InternationalString *uri;
952   #define Z_Schema_oid 1
953   #define Z_Schema_uri 2
954   } schema; /* OPT */
955
956 * resultCount parameter to Sort Response (Amendment 1).
957 http://lcweb.loc.gov/z3950/agency/amend/am1.html
958
959 Support for SRW 1.0 over HTTP. This is an optional feature and
960 requires libxml2 to operate. Enable SOAP by specifying --with-xml2
961 for configure.
962
963 Generic frontend server supports HTTP/SOAP/SRW and Z39.50/BER
964 on the same port.  SRW SearchRetrieveRequests are mapped
965 to bend_init,bend_search,bend_fetch,bend_close. 
966
967 Z39.50 Query Type-104 added - to facilitate CQL within Z39.50.
968
969 CQL support. Source is directory 'cql'. CQL is supported in ZOOM
970 (both SRW and Z39.50) and the YAZ client (Z39.50 only).
971
972 ZOOM connections are SRW based if schem http is used for hostname
973 in connect, e.g.  z = ZOOM_connection_new("http://myserver");
974 ZOOM_query may be of type CQL, e.g. ZOOM_query_cql(q, "dc.title=x");
975
976 CCL proximity operators !n, %n converts to PQF @prox 0 n 1 2 k 2
977 and @prox 0 n 0 1 k 2 respectively, meaning: exlusion=false,
978 distance=n, order=true/false, relation=le, prox unit=word. If
979 n is omitted, distance 1 is used.
980
981 Fixed problem with C compiler include path in wrong order.
982
983 For TCP/IP COMSTACK, set recv buffer to an appropriate "large" value
984 on Solaris. Patch from Ko van der Sloot.
985
986 New MARC decode API. All new functions operate on a yaz_marc_t
987 handle. The most important new functions are: yaz_marc_create,
988 yaz_marc_decode_{buf,wrbuf}, yaz_marc_destroy, .. to create handler,
989 decode and destroy respectively. Decoder can produce formats
990 MARC line, simple XML, OAI MARC and MARC XML (LoC). See
991 include/yaz/marcdisp.h.
992
993 YAZ Iconv utility now supports MARC8 decoding (marc8.c). Converts
994 to UTF-8, UCS-32, wchar_t or Latin-1.
995
996 * Prototypes for yaz_iconv_-functions moved to separate header 
997 include/yaz/yaz-iconv.h.
998
999 Make a few private functions 'static' in unix.c. This prevents
1000 duplicate unix_close in PHP with YAZ and imap. PHP Bug 20977.
1001
1002 For ZOOM connection, the options targetImplementation{Id,Name,Version}
1003 are set when Init Response is received.
1004
1005 New function ZOOM_connection_error_x similar to ZOOM_connection_error
1006 but returns diagnostic set as well.
1007
1008 New function yaz_strerror which is a portable wrapper for
1009 strerror/strerror_r/GetLastMessage.
1010
1011 * ZOOM_record_get supports type "xml" in which case MARC XML (from LOC)
1012 is returned for MARC. If type is "oai", then OAI MARC is returned.
1013
1014 Fix creation of lib/yaz-config so it works if srcdir != objdir. Patch
1015 from Kang-Jin Lee.
1016
1017 --- 1.9.2 2002/11/26
1018
1019 yaz_marc_decode uses OAI MARC as XML format for ISO2709 records.
1020
1021 Fix bad race conditions on SIGTERM and terminate gracefully in
1022 frontend server.
1023
1024 Move retrieval (data1) module to Zebra since nobody seems to be
1025 using it.
1026
1027 Add GRS-1 render for ZOOM using same format as yaz-client.
1028
1029 --- 1.9.1 2002/10/05
1030
1031 Added man pages: yaz-client(1), yaz-ztest(8), yaz(7), zoomsh(1).
1032
1033 Fix broken ESpec handling in data1 module.
1034
1035 SGML reader parses comments and makes them part of the data1 tree.
1036
1037 Added several type casts so that YAZ compiles as C++ code.
1038
1039 ZOOM didn't handle PDU encoding failures properly.
1040
1041 Added more Bib-1 diagnostics (approved extensions).
1042
1043 GNU configure: better check for iconv.
1044
1045 More portable use of accept, getpeername. Check for socklen_t. Use
1046 int/size_t if socklen_t is not defined.
1047
1048 --- 1.9 2002/09/06
1049
1050 PQF parser rejects bad queries - including those with extra
1051 characters in them. PQF parser used to silently ignore that.
1052 Cleaner API for PQF added, which allows you to get detailed
1053 error information for bad queries (see yaz/pquery.h).
1054
1055 Fixed bug in ZOOM_record_get for type "database".
1056
1057 Implemented mini iconv library supporting conversions between
1058 UTF-8, UCS4, UCS4LE and ISO-8859-1. Implemented in util/siconv.c.
1059
1060 * Removed XML reader (d1_expat.c). It's part of Zebra instead.
1061
1062 --- 1.8.9 2002/08/20
1063
1064 Fixed ZOOM C record cache so that preferredRecordSyntax and
1065 elementSetName is used to check for already fetched records.
1066
1067 --- 1.8.8 2002/08/02
1068
1069 Added three members in bend_initrequest structure to facilitate
1070 character set negotiation.
1071
1072 Fixed a bug in frontend server that could cause indefinite
1073 loops under rare conditions. 
1074
1075 Revised character set utilities (charneg.h) so that encoding
1076 UCS-4, UCSA-4, UTF-16 and UTF-8 are encoded non-privately.
1077
1078 For PQF, directive @term <type> sets term type for Scan/Search.
1079 Here <type> is general, string, numeric, null. The term type
1080 is inherited - just like @attr.
1081
1082 New call odr_set_charset that sets character set conversion for
1083 international-strings on a ODR stream. Prototype is:
1084  int odr_set_charset(ODR o, const char *to, const char *from);
1085 The InternationalString is still represented as C string in YAZ 
1086 so native strings of type UTF-8, ASCII, etc. will work (UTF-16
1087 won't). On the protocol level, you can use any encoding.
1088
1089 Support for UNIX sockets in ZOOM.
1090
1091 Solaris recv sometimes returns errno == ENOENT. It is treated as
1092 EINPROGRESS. COMSTACK patch by Ko van der Sloot.
1093
1094 New COMSTACK of type UNIX Socket. Use "unix:/path" as address for
1095 both client and server. Code by Morten Bøgeskov.
1096
1097 --- 1.8.7 2002/05/22
1098
1099 On Windows ZOOM functions are of type __stdcall rather than __cdecl, so
1100 that they can be used directly from Visual Basic. You must recompile
1101 your windows APP if you're using ZOOM.
1102
1103 Character Set and Language Negotiation(3) for ZOOM API and YAZ client.
1104 Commands "lang" and "charset" sets language and character set respectively.
1105 Options "lang" and "charset" is interpreted by the ZOOM API. Note, these
1106 are not part of the official ZOOM spec) All is due to Oleg Kolobov. 
1107
1108 Attributes from multiple CCL fields may be OR'ed rather than merged
1109 using directive "@field or". Fields are still merged by default -
1110 equivalent to "@field merge".
1111
1112 Fixed bug in ZOOM connect that occurred on OpenBSD (maybe others). Patch
1113 by Oleg Kolobov.
1114
1115 Fixed bug in zget for parameter ExtendedServicesResponse.
1116
1117 Fix OID for ILL.
1118
1119 --- 1.8.6 2002/03/25
1120
1121 Added PQF feature: '@attr type=value' may be written as '@type=value'.
1122
1123 Client displays USR.1:SearchResult-1 (hits per term).
1124
1125 Additional Search Info for search in Generic Frontend Server.
1126
1127 Fixed CCL parsing of "field=s".
1128
1129 WIN32 installer - using the excellent NSIS software from nullsoft.
1130
1131 Fixed CCL parsing of "field = - <number>".
1132
1133 Added function yaz_marc_decode that decodes MARC for line mode
1134 display or XML (similar to that used by JZKit).
1135
1136 Fixed BER decoding of OPTIONAL CHOICE. The bug didn't affect the
1137 Z39.50. But ISO/ILL was, however.
1138
1139 Added patch by Rustam T. Usmanov that implements Z39.50 duplicate
1140 detection service (Z39.50-1995 Amendment 2) and Language Negotiation (3).
1141 See:
1142  http://lcweb.loc.gov/z3950/agency/amend/am2.html
1143  http://lcweb.loc.gov/z3950/agency/defns/charneg-3.html
1144
1145 --- 1.8.5 2002/02/03
1146
1147 New YAZ client features: Command completion and new commands:
1148 push_command, set_apdufile, set_marcdump, set_cclfields, register_oid.
1149 Code provided by Jacob Poulsen.
1150
1151 New call oid_trav, that visits all registered OIDs via callback.
1152
1153 Function ZOOM_record_get now returns const char pointer rather than
1154 void pointer. It saves a lot of type casts.
1155
1156 For YAZ client, command "auth" now allows you to set authentication
1157 in IdPass style. It is enabled when three tokens are given - order
1158 is user, group and password.
1159
1160 Fix memory leaks in MARC record handling for ZOOM.
1161
1162 New option for YAZ client, -k <kilobytes> that sets
1163 maximum record size. Similar to -k option for generic frontend
1164 server and yaz-ztest.
1165
1166 More fixes for scan. Non-zero stepSize handled. OID's fixes.
1167
1168 Prefix query parser reports "fail" when bad attribute set is given.
1169
1170 Fix in MARC decoder. Proximity logging. Fix for attribute set
1171 in scan handler for server. Patches by Shigeru Ishida.
1172
1173 SSL/COMSTACK updates. cs_rcvconnect completes SSL handshake. ZOOM
1174 works with SSL.
1175
1176 Configure option --with-openssl=<dir> now works when a directory is
1177 specified. Patch provided by Morten Bøgeskov.
1178
1179 New option for YAZ client, -u <auth>, that sets authentication.
1180
1181 ZOOM fix: error information was sometimes "missing", since error
1182 was cleared/reset too when it shouldn't.
1183
1184 ZOOM_record_get returns ISO2709 buffer when "raw" is given.
1185
1186 --- 1.8.4 2002/01/04
1187
1188 Scan for ZOOM API. New object ZOOM_scanset. New functions
1189 ZOOM_connection_scan, ZOOM_scanset_size, ZOOM_scanset_term and
1190 ZOOM_scanset_destroy.
1191
1192 New ZOOM function, ZOOM_connection_last_event, that returns type
1193 of last event (such as "receive data", "send data", "apdu received",
1194 etc.
1195
1196 New ZOOM option, schema, that specifies schema for retrieval.
1197
1198 New CCL feature. Qualifiers can be aliases for one or more
1199 other qualifiers (if more than one is given, OR is used).
1200
1201 ZOOM uses named result sets if target supports it.
1202
1203 Two new YAZ client commands: .  (dot, which sources a script of YAZ
1204 client commands), and ! (to execute shell command.). Implemented
1205 by Jacob Poulsen.
1206
1207 Working on Debian packages.
1208
1209 --- 1.8.3 2001/11/19
1210
1211 YAZ client enables named result sets only if target supports it.
1212
1213 *** ZOOM. Prefix for ZOOM definitions changed from Z3950_ to ZOOM_.
1214
1215 * ZOOM. Removed Z3950_connection_host. Use Z3950_connection_option_get
1216 with key="host" to get same result.
1217
1218 * ZOOM. Added Z3950_record_clone and removed Z3950_resultset_get.
1219 Function Z3950_resultset_record(s) returns references to records
1220 "owned" by resultset. To become owner use Z3950_record_clone.
1221
1222 Function z_ext_record handles Extended Services. Thanks to
1223 Irina Dijour.
1224
1225 --- 1.8.2 2001/11/12
1226
1227 CCL Parser fix: ignore token comma when dealing with and-lists.
1228
1229 Documentation updates for COMSTACK.
1230
1231 * ZOOM changes. Query object renamed from Z3950_search to Z3950_query.
1232 Changed prototype Z3950_records. For some functions, int parameters
1233 were changed to size_t.
1234
1235 TCP/IP COMSTACK no longer uses getprotobyname to avoid memory leak
1236 on some Unices.
1237
1238 New MARC decode/display function, marc_display_exl, which properly rejects
1239 non-ISO2709 records. YAZ client uses it.
1240
1241 --- 1.8.1 2001/10/29
1242
1243 Fix bug: local attribute set wasn't set correctly in PQF strings.
1244
1245 --- 1.8 2001/10/25
1246
1247 * Old Z39.50 codecs no longer supported. 
1248
1249 Added ZOOM C binding. See http://zoom.z3950.org/
1250
1251 Renamed states for COMSTACKs to avoid confusion with events.
1252
1253 Implemented cs_look and proper cs_rcvconnect.
1254
1255 Fixed COMSTACK error that occurred on HPUX. Fix by Giannis Kosmas.
1256
1257 Configure detects POSIX threads on OpenBSD.
1258
1259 When sort flag 'i' was specified in yaz-client the caseSensitivy flag
1260 was set to a wrong value.  Thanks to Robert Sanderson for reporting this.
1261
1262 When error is returned from present handler, non-surrogate diagnostic
1263 is returned in present response (and fetch handler is no longer called).
1264
1265 * Minor adjustments to pquery parser (PQF). Token characters may be
1266 escaped by using backslash (C-style).
1267
1268 PQF parser allows string attribute values to be specified. For @attr,
1269 non-numeric characters after the equal-sign are treated as strings
1270 (e.g. @attr 9=title).
1271
1272 CCL trunction character may be defined (@truncation in file)
1273
1274 * function zget_ExtendedServicesRequest sets waitAction to
1275   waitIfPossible (was wait).
1276
1277 Added cs_set_blocking to set change blocking mode of a COMSTACK. Thanks
1278 to Matthew Carey.
1279
1280 CCL operator names may be set in field definition files (CCL_bibset).
1281 See ccl/bib1 for an example.
1282
1283 Fixes in ASN.1 compiler for C++ compatibility.
1284
1285 * Renamed members "and" and "or" in struct Z_Operator to "op_and"
1286 and "op_or" to avoid conflict with C++.
1287
1288 Fixed problem with GNU readline detection on Redhat 7.0.
1289
1290 Added step-size for Scan backend handler.
1291
1292 Fixed bug that made the frontend server crash when no attribute
1293 set was specified for scan.
1294
1295 Front-end server automatically switches to original working directory
1296 when installed as an NT service. Previously -w had to be specified to
1297 make it work.
1298
1299 Added extended attributes for retrieval module (data1), so that data1
1300 records carry d1_readXML/SGML attributes. d1_read also supports
1301 null-data rules ( <tag/>)
1302
1303 On UNIX when POSIX threads are available, a separate library libyazthread
1304 is created. Programmers should link with that library and the yaz library
1305 when using threads. The reason for the split was that some applications
1306 on Linux, such as Apache, doesn't work well when using shared objects that
1307 relies on threads.
1308
1309 Added SSL support for the COMSTACK. You start yaz-client and yaz-ztest
1310 (or any frontend server) in SSL mode by specifying ssl: followed by
1311 address. Only tested on UNIX.
1312
1313 Added feature for CCL module. Virtual structure s=al or s=ol generates
1314 and-list and or-list respectively instead of phrase search.
1315
1316 Added some OID's.
1317
1318 * Added prefix "yaz_" for the functions log_init.., log_file..  and
1319 log_mask_str. This was done to avoid name conflicts with other libraries
1320 (such as other PHP extensions).
1321
1322 Added raw OID member for preferred record syntax (request_format_raw)
1323 and returned record syntax (output_format_raw) for backend fetch method.
1324
1325 Config file yaz-config now accepts options so that it returns specific
1326 compile settings, etc. Thanks to Morten Bøgeskov <morten@bogeskov.dk>
1327
1328 Shared library support for UNIX using GNU libtool.
1329
1330 * Modified backend interface. Request/Response struct's replaced by
1331 one read/write C struct. For example bend_fetchrequest and
1332 bend_fetchresult have been replaced by single bend_fetch_rr struct.
1333 Every handler - even search has to be registered in bend_init
1334 handler. This means that the YAZ library no longer refers to
1335 external functions and it makes it possible to make the whole
1336 thing a single DLL/SO.
1337
1338 Added Segment handler for backend server.
1339
1340 Added Zmbol/Zebra administrative functions to YAZ client.
1341
1342 Threaded frontend server on UNIX (when POSIX Threads are available).
1343 Starting the server with option -T enables multi-threading.
1344
1345 --- 1.6 2000/03/03
1346
1347 Added configure option --enable-comp/disable-comp to control use
1348 of YAZ ASN.1 compiler. Use --disable-comp to use the old *coders
1349 located in sub directory asn.
1350
1351 YAZ ASN.1 compiler renamed to yaz-comp in sub directory. It's installed
1352 in ${exec_prefix}/bin along with the other programs yaz-client and
1353 yaz-ztest.
1354
1355 GNU automake used to maintain makefiles.
1356
1357 Added several OID's.
1358
1359 Changed retrieval module so that we can load records with no abstract
1360 syntax defined. Tagpaths in these records are fully composed of string
1361 tags.
1362
1363 Implemented ISO ILL protocol. Refer to stuff in sub directory ill.
1364
1365 --- 1.5 1999/12/10
1366
1367 On UNIX, the generated makefile now supports a proper 'make install'.
1368 The prefix can be set via GNU configure to set the install location
1369 (default is /usr/local).
1370
1371 * YAZ programs client and ztest were renamed to yaz-client and
1372 yaz-ztest to avoid conflicts when users install YAZ in "standard"
1373 locations, such as /usr/bin,/usr/local/bin,etc.
1374
1375 * YAZ Header files were moved from include to include/yaz. YAZ Header
1376 files are referred to as include <yaz/log.h> rather than <log.h>.
1377 The YAZ include path (-I ..) is therefore the same as before. Programmers
1378 should update their #include statements or use -Ipath/include/yaz
1379 instead. The main motivation for doing this change is that YAZ header files
1380 can be installed in "standard" locations /usr/include,/usr/local/include 
1381 without introducing conflicts, since ALL YAZ header files are stored
1382 in subdirectory yaz (under /usr/include for example).
1383
1384 Compilation of YAZ for WIN32 is now handled by an nmake-style makefile 
1385 rather than project/workspace files. We switched because project files
1386 are incompatible between Visual C++ 5 and 6. Refer to windows.txt for
1387 details.
1388
1389 Changed name of logging function, logf, to yaz_log, to prevent name
1390 clash with some math-log functions. The YAZ header log.h defines logf
1391 to yaz_log (#define) so there should be no incompatibilities by this
1392 modification.
1393
1394 Added bend_start/bend_stop handlers for server. These handler are
1395 called on start/stop of server. For windows they are called whenever
1396 a service is started/stopped.
1397
1398 * YAZ now auto-generates decoders/encoders for the Z39.50 protocol using
1399 a fairly small ASN.1 compiler written in Tcl. The compiler is located
1400 in util/yc.tcl. The auto-generated C code structures are, in a few
1401 cases, incompatible with the old decoders. There are differences in the
1402 following C structures Z_DiagRec, Z_External, Z_SortRequest, Z_SortResponse,
1403 Z_AttributesPlusTerm, Z_ProximityOperator, Z_DefaultDiagFormat.
1404 The preprocessor variable ASN_COMPILED is defined when the compiled
1405 ASN.1 is being used. Encoder/decoder routines as well as the Z39.50
1406 protocol ASN.1 is located sub directory <tt>z39.50</tt>. If you
1407 wish to use the old encoders/decoders you can specify --disable-yc
1408 for configure.
1409
1410 Assigned OID for old DB Update (VAL_DBUPDATE0). Updated YAZ compiled
1411 version so that it supports both new - and old version of DB Update
1412
1413 * Added 'name' parameter to ODR encoder/decoder routines to facilitate
1414 pretty ODR print. Updated whole Z39.50 encoder/decoder to reflect the
1415 change. The name parameter can be set to 0 in which no name is specified
1416 for the construction. The macros odr_implicit and odr_explicit sets name
1417 parameter to zero for the construction involved. New macros
1418 odr_implicit_tag and odr_explicit_tag are similar to the others,
1419 except that a name parameter is added. For programmers' that don't use
1420 ODR they probably only need to change the call to z_APDU and z_External.
1421
1422 Added access control facility by interfacing the TCP wrapper library.
1423 YAZ automatically attempts to find the TCP wrapper Library (-lwrap) and
1424 tcpd.h on Unix systems. For the server, option -d<daemon> specifies the
1425 name of the daemon and enables the access control as specified in
1426 hosts.allow/hosts.deny. Refer to man pages tcpd(8) and hosts_access(5).
1427
1428 Fixed memory leak in ccl_find_str and ccl_qual_rm. Thanks to Hans van
1429 den Dool <H.M.vdnDool@kub.nl>.
1430
1431 Added reference ID parameter to most functions in server API - refer
1432 to backend.h. Thanks to Hans van den Dool <H.M.vdnDool@kub.nl>.
1433
1434 Changed name of ccl library to libccl.a (was ccl.a).
1435
1436 Fixed bug in decoder for Explain (Category TargetInfo).
1437
1438 Added support for GNU readline in client. Thanks to Jacob Poulsen
1439 <ja7@dbc.dk>. GNU configure attempts to detect if readline is available.
1440
1441 * CHANGED DEFINITION OF ES: UPDATE (INCLUDING THE OID) to reflect the
1442 new definition from the ZIG. NOTE THIS IF YOU HAVE AN UPDATE
1443 IMPLEMENTATION! This change was made to the development version before
1444 the ZIG decided to retract the amendment. If any users MUST be
1445 compatible with the original Update definition, PLEASE CONTACT US, and
1446 we will include a separate definition corresponding to the old Update
1447 ES. Note that because of the change to the ASN.1 of the
1448 TaskPackageRecordStructure we cannot define a single structure that
1449 will support both versions.
1450
1451 * Added const modifier to buffer parameter for some ODR/BER encoding
1452 routines: ber_dectag, ber_declen, odp_more_chunks, completeBER,
1453 completeWAIS, odr_dumpBER.
1454
1455 Fixed bug in client.c which caused a crash when a scanResponse didn't
1456 contain positionOfTerm.
1457
1458 * Fixed inconsistency in the ScanResponse/ListEntries protocol. This
1459 * will cause an error in a client if a non-YAZ target sends both a
1460 * list of Scan entries and non-surrogate diagnostics.
1461
1462 Retrieval module enhancements. Tag sets may be typed in the reference
1463 to it. From the .abs-file the "tagset" directive takes a third optional
1464 integer type for the tag set referenced. From a .tag-file the "include"
1465 directive takes a third optional type as well. The old "type" directive
1466 in the tag set itself is still recognized but acts as the default type
1467 for the tag set.
1468
1469 Backend interface change. Individual Scan terms returned from bend_scan
1470 may also be tagged as Surrogate Diagnostics. Refer to struct scan_entry
1471 in include/backend.h.
1472
1473 Retrieval module enhancements. Multiple tag sets and attribute sets may
1474 be specified in abstract syntax specs. Revised the error/warning for
1475 logging messages reported by the retrieval module when reading the
1476 various spec files.
1477
1478 Object Identifier system (oid_..) changed. The API is backwards
1479 compatible but the oid-routines now allocates new OID's when needed.
1480 Raw OID's may be specified in oid_getvalbyname.
1481
1482 YAZ now uses GNU configure to generate Makefile(s).
1483
1484 * Minor changes in some of the member names of DeleteResultSetRequest and
1485 DeleteResultSetResponse. See include/proto.h.
1486
1487 * Changed some C definitions regarding EXPLAIN record syntax (prt-exp.h)
1488 and added member 'languages' in TargetInfo (which was missing).
1489
1490 Changed the way attribute sets are handled in the retrieval
1491 module. These are now cached, just like the abstract syntaxes
1492 (schemas).
1493
1494 Changed YAZ so that it links with compiled ASN.1.
1495
1496 Added Explain-schema definitions and mapping routines. The following
1497 Explain categories have been implemented: AttributeDetails,
1498 AttributeSetInfo, DatabaseInfo, CategoryList and TargetInfo.
1499
1500 Fixed minor bug in Windows version of Server Library.
1501
1502 --- 1.4pl2+ 1998/4/17 (Released with Zebra)
1503
1504 Added Extended Services to server (backend.h). Thanks to Charles Woodfield.
1505
1506 Added EXTERNAL: UNIverse Resource Report (non-standard).
1507
1508 Implemened odr_enum and odr_set_of functions to handle ASN.1 types
1509 ENUMERATED and SET OF.
1510
1511 * Added 'const' to some of the char pointer arguments for the
1512 functions, data1_read_node, data1_getelementbytagname,
1513 data1_insert_taggeddata, data1_getesetbyname, data1_getelementbyname,
1514 data1_get_absyn.
1515
1516 Fixed bug in data1_insert_taggeddata - the last_child member of
1517 parent wasn't initialised.
1518
1519 * Changed data1_read_record and data1_read_node so that the supplied
1520 "SGML"-buffer is read-only. In particular the resulting data1 - tree
1521 doesn't refer to any parts of the "SGML"-buffer.
1522
1523 Fixed bug in server library (Windows version of statserv_remove).
1524
1525 * Changed code so that it compiles as C++. The type definition
1526 of Odr_fun which is a member of Odr_arm was changed. The result is,
1527 that an explicit typecast is needed for the fun pointer when
1528 using Odr_arm - as in:
1529     {1, -1, -1, Z_IdAuthentication_idPass, (Odr_fun)z_IdPass},
1530
1531 Updated TagSet-G and -M definitions (tagsetm.tag and tagsetg.tag).
1532
1533 Implemented the new structured date and time definition as approved
1534 by the ZIG. Added schemaId element to the specificTag in Espec-1
1535 (also approved at the last ZIG). Thanks to RVDM.
1536
1537 Added some Object identifiers (RVDM).
1538
1539 Changed the Update Extended Service (RVDM).
1540
1541 Added command "refid" to client which specifies referenceId for
1542 the following requests.
1543
1544 Implemented extended service handling for server. See ztest.c
1545 for an example as well as backend.h. New handlers are registerd
1546 in the Init handler.
1547
1548 * Changed interface for sort in server.
1549
1550 Added new members to statserv_options_block. It allows a server
1551 to read options from another source than just the command line. Thanks
1552 to Charles Woodfield.
1553
1554 * Changed definition of Z_Triple in file prt-grs.h - member boolean
1555 renamed to zboolean. Some C++ compilers complained about the name.
1556
1557 Minor changes to gils.abs. Added index 's' (sort) on title
1558 and date/time-last-modified.
1559
1560 --- 1.4pl2 1998/1/30
1561
1562 Fixed bug in server library regarding inetd mode (-i). This bug
1563 was introduced by release 1.4.
1564
1565 --- 1.4pl1 1998/1/29
1566
1567 Added sort facility in client and backend server interface.
1568
1569 Fixed problem with dependencies in Makefile(s).
1570
1571 Fixed bugs for encoders/decoders of extended services and 
1572 SearchInfoReport.
1573
1574 Implemented sub-tree feature for schemas. Sub-trees are
1575 referenced in *.abs-files. See explain.abs for an example
1576 of the use of this feature.
1577
1578 Modified bib1.att; local attributes for ANY didn't include
1579 ANY itself (only affects use of the retrieval module).
1580
1581 Fixed bug in plain SGML reader in function data1_read_node:
1582 tags with prefix "var" was incorrectly interpreted as variants.
1583
1584 Added feature "sub-schemas" to enable references to - and definitions
1585 of - group of elements.
1586
1587 * Removed member parent from type data1_element (in data1.h).
1588
1589 Implemented function odr_nullval() that returns the value of
1590 ODR_NULLVAL.
1591
1592 * Removed member num_children from data1_node (in data1.h).
1593
1594 Made NT service interface part of the server library. The
1595 function statserv_main uses the NT service when required and
1596 calls the statserv_start / statserv_close routines.
1597
1598 Routine zget_SearchRequest and zget_PresentRequest fills
1599 resultSetName/Id member with "default" instead of "Default".
1600
1601 Fixed memory leak in server. Request queue member wasn't freed.
1602
1603 Fixed nmem_exit so that memory is freed.
1604
1605 --- 1.4 1997/10/2
1606
1607 Revised the CCL parser utility to be thread safe.
1608
1609 Added function, oid_ent_to_oid, to replace the function 
1610 oid_getoidbyent, which is not thread safe.
1611
1612 * Added nmem_init and nmem_exit to initialize and release
1613 NMEM resources. Function nmem_init should be called once in the
1614 initial thread before NMEM/ODR is used. statserv.c and client.c
1615 have been changed accordingly. The change was necessary to make
1616 NMEM thread safe. The NMEM memory pool is shared amongst threads
1617 in a process. Unix-based applications will still work fine without
1618 calling this.
1619
1620 Added NT Services interface for the the Z39.50 (statserv) Server. 
1621 Refer to the ztest.c source on the usage.
1622
1623 Windows 95/NT port using MSVC5.0. Project files are included in the
1624 distribution.
1625
1626 * Defined new 'global' handle for the retrieval (data1) system. The
1627 new handled, data1_handle, describes the state of the data1 system.
1628 This handle is passed as first argument to virtually all
1629 data1 related routines. The functions data1_create and data1_destroy
1630 creates and destroys a data1 handle respectively.
1631
1632 Added ODR encode stream member to all backend request structures
1633 init, search, scan etc. This stream should be used to allocate all
1634 memory used for the response when thread safe operation is needed.
1635
1636 Changed the comstack utility, cs_addstr, to be thread safe. The
1637 returned hostname string returned by the function is now part the
1638 COMSTACK instance.
1639
1640 Added comstack utility, cs_straddr, which replaces the tcpip_strtoaddr
1641 function. The cs_straddr takes a COMSTACK handle as argument, so this
1642 function must be used after cs_create and before bind/connect.
1643 This function is thread safe.
1644
1645 Moved test server to 'ztest' directory - generic server code still
1646 in 'server' directory.
1647
1648 Made prefix query (pquery.c) utility thread safe.
1649
1650 Added new function modifier YAZ_EXPORT to 'export' public DLL
1651 functions when using windows (see include/yconfig.h).
1652
1653 Added definitions to the OID database (util/oid.c) (RVDM).
1654
1655 Added new BIB-1 diagnostic messages to the handler diagbib1_str.
1656
1657 Added call to ccl_rpn_delete in client program.
1658
1659 Added ODR argument to ccl_rpn_query and ccl_scan_query to provide
1660 release of RPN structure.
1661
1662 Added support for C++, headers uses extern "C" for public definitions.
1663 With input from RVDM.
1664
1665 In handling of SEQUENCE OF: Counter set to zero when SEQUENCE OF is absent.
1666 Thanks to Ronald van der Meer (RVDM).
1667
1668 Added initializers (zget_ routines) for a number of PDUs. Thanks to RVDM.
1669
1670 Added support for private extensions to the OID database
1671 (oid_setprivateoids()). Thanks to RVDM.
1672     
1673 Added optional, physical ANY (key replication)
1674
1675 Fixed null-reference problem in GRS-1 output filter.
1676
1677 Proximity operator added to Prefix Query Format (PQF).
1678
1679 In test client command "base" accepts multiple databases.
1680
1681 Fixed bug in cs_close stack that caused trouble with WINSOCK.
1682
1683 --- 1.3 1996/10/11
1684
1685 Fixed tagging bug in ResourceReportResponse PDU encoder/decode.
1686
1687 Smallish bug-fixes in the new encoders/decoders (explain).
1688
1689 Bug fixed in DeleteRequest.
1690
1691 Fixed tagging bug of type 101 query in SearchRequest-Query PDU encoder/decoder.
1692
1693 Fixed tagging bug in ResourceReportResponse PDU encoder/decode.
1694
1695 Added SOIF syntax (using private OID for now) to retrieval module and client.
1696
1697 Added Update extended service.
1698
1699 Added SearchResult-1 additional info structure.
1700
1701 Added optional CCL (ISO8777) interpreter as separate module. Available
1702 in linemode client.
1703
1704 --- 1.2 1996/6/10 (1st anniversary release)
1705
1706 Added Summary record syntax. Lightly tested.
1707
1708 Added OPAC record syntax. Untested.
1709
1710 Added ResourceReport service encoders/decoders. Untested.
1711
1712 Fixed bug in z_Unit - wrong tagging on unitSystem.
1713
1714 Fixed bug in the DiagRecs decoder.
1715
1716 Added options for max PDU size and session timeout to frontend-server.
1717
1718 Added documentation of query-language parsers and other supporting utilities.
1719
1720 [frontend-server] Added Attribute set to the bend_scanrequest API.
1721
1722 [frontend-server] NextResultSetPosition was sometimes set incorrectly when
1723 surrogate diagnostics were generated.
1724
1725 [retrieval] Allow multiple local values for attribute.
1726
1727 [retrieval] Allow multiple attributes per element in .abs files. index type.
1728
1729 [retrieval] Added Summary tagset, abstract syntax, and d1-node/ASN filter.
1730
1731 --- 1.1pl2  1996/4/10
1732
1733 Minor changes, mostly specific to Zebra's requirements (retrieval)
1734
1735 --- 1.1  1996/2/20
1736
1737 Repaired bug in frontend server when running multiple listening
1738 endpoints in dynamic mode.
1739
1740 z_External() now won't break if a known, ASN.1 value comes encapsulated
1741 in an octet-string. The value will pass through unmodified in an Odr_oct.
1742
1743 Added a bit of code to the demo client to decode & display
1744 ASN.1-structured records represented in the octet-aligned branch of
1745 the EXTERNAL CHOICE. Thanks to CAS for prodding us to finally do this.
1746
1747 Added z_ext_getentbyref() to the ASN module. Doc updated.
1748
1749 * Completed the SCAN definition in the ASN module. This may break SCAN
1750 code based on older YAZ-versions at compile-time. The fix is easy -
1751 look in proto.h.
1752
1753 * Added 'displayTerm' and OtherInformation to the TermInfo structure
1754 under the SCAN definition. Remember to initialize this, server-people.
1755
1756 Comstack should now support the WAIS protocol in TCP/IP mode. Note
1757 that this does not extend to ODR and ASN.
1758
1759 Comstack allows insertion of established socket (primarily for
1760 inetd-operation of servers). Doc updated.
1761
1762 Front-end server can now start from the inetd in TCP mode. Doc
1763 updated.
1764
1765 --- 1.0pl4 1996/1/24
1766
1767 Added Sort PDU.
1768
1769 Fixed small problem in SUTRS-filter. A newline was sometimes inserted before
1770 the rank and record number.
1771
1772 Adjustments to the frontend server.
1773
1774 Fixed diagnostic BER dumper. It ignored the file argument.
1775
1776 --- 1.0pl3 1996/1/2
1777
1778 Various changes to retrieval module.
1779
1780 Changed the union discriminators of the protocol files from enums to
1781 ints paired with #defines.
1782
1783 *Changed oident.class to oident.oclass to avoid a reserved word in C++
1784  compilers.
1785
1786 *Changed operator in the RPN structure to 'roperator', again to avoid a
1787  conflict with C++.
1788
1789 Fixed problems in Explain decoders/encoders.
1790
1791 --- 1.0pl2 1995/12/6
1792
1793 Memory bug in log module fixed.
1794
1795 --- 1.0pl1 1995/12/5
1796
1797 Occasional malloc() of 0 bytes fixed in d1_espec.c.
1798
1799 Bug in Explain DatabaseInfo module fixed.
1800
1801 Some '\r' snuck into one or two of the ret'l config tables. A curse on Windows.
1802
1803 --- 1.0 1995/11/28
1804
1805 The shift to v1.0 signals that we now consider the *core* functionality
1806 of YAZ reasonably stable (the core being more or less equivalent to
1807 Z39.50-1992). Some of the really nifty v3 stuff is still not heavily
1808 tested (Explain not at all - though that will happen soonish).
1809
1810 Minor changes to code to support Windows port.
1811
1812 Various minor changes after we're getting to use GRS-1 & co. more.
1813
1814 Added Espec-1 format.
1815
1816 Added VisibleString field body type to GRS-1. It is illegal acc. to my copy
1817 of the protocol and it cannot be selected when encoding (maps into 'string'
1818 when decoding). Needed to talk to some servers.
1819
1820 Demo client can request simple element set names.
1821
1822 Added Diagnostic Format encoders/decoders.
1823
1824 Added simple Close handling to frontend server (no hooks for resource
1825 reporting yet), and demonstration client.
1826
1827 Added cs_addrstr() command to COMSTACK to retrieve peer hostname/address.
1828
1829 --- 1.0b3 1995/08/24
1830
1831 Fixed bug in the frontend-server. The numberOfRecordsReturned field was
1832 handled incorrectly when records were requested in the searchResponse. This
1833 will only affect you if you use the frontend-server.
1834
1835 Added GRS-1 encoders/decoders to the service-level API. Lightly tested.
1836 Test-client will ask for and print GRS1. Ztest will return dummy records
1837 on request.
1838
1839 Added Explain encoders/decoders to the service-level API. Untested.
1840
1841 Added Extended Services: Item Order encoders and decoders to the Service-
1842 level API. Untested. We could use a recent copy of the pertinent bits
1843 of the ILL protocol to add those bits.
1844
1845 Added diagnostic format 1 encoders/decoders to the service-level API.
1846 Untested.
1847
1848 Moved pretty-printing of structure-wrappers ({..}) from odr_seq.c to
1849 odr_cons.c, which causes a more correct output.
1850
1851 Fixed handling of searchRequest in frontend server. NextResultSetPosition
1852 was always set to 0 when no records were requested in the searchRequest.
1853
1854 * Added better external-handling. This shouldn't harm old code that
1855 *encodes* externals. It can break code that looks for a
1856 'single-ASN1-type' representation, since those types that are known
1857 are now decoded immediately. Look at the SUTRS sample code in
1858 seshigh.c and client.c. Documentation updated.
1859
1860 Handling of structured records in bend_fetchresponse. Length -1 marks
1861 structured record, type is deduced from format field.
1862
1863 --- 1.0b2 1995/06/27
1864 Fairly quick maintenance release to add SUTRS support.
1865
1866 Fixed handling of SUTRS records in the demonstration client.
1867
1868 * Added format field to the bend_fetchrequest and bend_fetchresponce
1869 structures of the backend API (frontend server). When the record is
1870 returned, the value of the format field is mapped to an OID. The
1871 value VAL_SUTRS will also cause a slightly different ASN.1 packaging
1872 of the record. The special value VAL_NONE in the bend_request means
1873 that no specific format was requested by the client. Documentation
1874 updated accordingly. Test server (ztest) will return a fixed dummy
1875 SUTRS record if your client requests SUTRS.
1876
1877 Documentation updated accordingly.
1878
1879 You can now set external libraries and RANLIB support in the top-level
1880 Makefile.
1881
1882 --- 1.0b 1995/06/19
1883 First public release.