Use more compact way to store MARC-8 conversion tables
[yaz-moved-to-github.git] / CHANGELOG
1 Possible compatibility problems with earlier versions marked with '*'.
2
3 Use a more compact way to store MARC-8 conversion tables.
4
5 --- 2.0.16 2004/03/16 Debian only
6
7 Oleg Kolobov Fixed a bug in yaz_iconv regarding conversion to
8 UCS4 / UCS4LE.
9
10 Update CQL parser to use new CQL 1.1 modifiers for booleans and
11 relations.
12
13 Add CQL test cases.
14
15 --- 2.0.15 2004/03/01
16
17 Another fix for decoding of XML packed records.
18
19 --- 2.0.14 2004/02/25
20
21 Fixes for Chunked encoding. White space not ignored after length spec.
22
23 Update NS and use default NS for SRW diagnostic elements.
24
25 --- 2.0.13 2004/02/23
26
27 Implement ZOOM_resultset_cache_reset which resets record cache.
28
29 Implement ZOOM_resultset_sort which sorts a result set.
30
31 Implement chunked HTTP transfer.
32
33 For SSL, use -lssl -lcrypto on systems that don't have pkg-config.
34
35 --- 2.0.12 2004/02/16
36
37 Added member 'schema' to bend_explain_rr structure so that backend
38 can specify explain record identifier. Defaults to Zeerex 2.0.
39
40 Fix encoding of OID's of form 1.0.X. Bug introduced in 2.0.11.
41
42 --- 2.0.11 2004/02/16
43
44 * SRW/SRU 1.1 updates: updated diagnostic in srw.h to use uri instead
45 of code.
46
47 Added init command for yaz-client which sends "extra" init request.
48
49 Fixed two bugs in OID codec - ber_oidc. Throw error when encoding/decoding
50 bad truncated OID. Fix decoding of OID X.Y... when X=2 and Y>39.
51
52 Fixed a bug in ASN.1 compiler that caused Type-1 Operator codec to fail.
53
54 Make ZOOM error code for "invalid query".
55
56 Fixed compilation for SSL which wasn't properly enabled for all platforms.
57
58 --- 2.0.10 2004/02/05 
59
60 For yaz.m4, allow second argument for YAZ_INIT to hold minimal version of
61 YAZ required.
62
63 * SRW/SRU 1.1 updates. Diagnostic code now a URI.
64
65 Added option -p <file> to make Generic Frontend Server to write PID file.
66
67 Added option -D to put Generic Frontend Server in background on its own.
68
69 Make ZOOM C recognize option "password". If unset, "pass" is used
70 (for backwards compatibility).
71
72 Fixed a bug in Generic Frontend Server that could make it crash if a
73 client sets characterSetNegotation bit, but didn't pass negotiation stuff
74 in InitRequest.
75
76 New YAZ client command, zversion, that sets Z39.50 version (1,2,3..).
77 Must be issued before open, in order to be in effect.
78
79 --- 2.0.9-6 2004/01/12  Debian/Windows
80
81 Make the SRU server more picky WRT unknown params, etc.
82
83 Bug fix: ZOOM scan response didn't return displayTerm - when present.
84
85 New YAZ client command, options, that sets Z39.50 options.
86
87 New utility functions yaz_init_opt_{encode,decode} to encode/decode Z39.50
88 options from a string of tokens (one token for each option bit).
89
90 Update SRW diagnostic code messages.
91
92 --- 2.0.9-5 2004/01/07  Debian/Windows
93
94 Handle user defined stylesheet for SRW/SRU.
95
96 --- 2.0.9-4 2004/01/06  Debian/Windows
97
98 Fix bug in decoding of Content-Length.
99
100 --- 2.0.9-3 2004/01/06  Debian/Windows
101
102 Fix a bug with decoding of XML packed records.
103
104 --- 2.0.9-2 2004/01/05  Debian only
105
106 Allow empty ODR (NMEM=0) for odr_oiddup and odr_getoidbystr.
107
108 Fix bug in SRW/SRU diagnostics decoding.
109
110 --- 2.0.9 2004/01/05
111
112 Fixed bug in Generic Frontend Server which could drop records exceeding
113 preferred message size. Reported and fixed by Irina Dijour.
114
115 Fixed calculation of package size for structured records in Generic
116 Frontend Server. Reported and fixed by Irina Dijour.
117
118 Fixed namespace for SRW/SRU diagnostics.
119
120 Fixed SEGV in yaz-client that occured for HTTP connection errors.
121
122 --- 2.0.8 2003/12/22
123
124 * SRW/SRU 1.1. Since the Namespace has changed for SRW/SRU, it means that
125 this version is incompatible with version 1.0 and older YAZ SRW/SRU
126 implementations.
127
128 CQL changes to reflect recent changes to the specification:
129 * Documentation talks about context sets instead of index sets.
130 * Documentation talks about indexes instead of qualifiers.
131 * The CQL-to-PQF transformer's configuration file now uses
132         "index.set.name = <attributes>" instead of the old form
133         "qualifier.set.name = <attributes>".  (Both forms are still
134         understood but the latter is deprecated.)
135 * CQL terms with no explicit index specified are now interpreted as
136         cql.serverChoice instead of srw.serverChoice (which of course
137         behaves exactly the same.)
138
139 --- 2.0.7 2003/12/16
140
141 MARC conversion can now generate ISO2709 output in another
142 character set. yaz-marcdump uses this facility if you invoke it
143 with option -O.
144
145 Added missing C decl macros for include/yaz/{soap.h,srw.h,cql.h}, so that
146 functions from there can be used from C++.
147
148 --- 2.0.6 2003/12/04
149
150 Frontend server now transfers memory from decoded packages to stream
151 ODR for search.
152
153 NMEM now clears freed blocks with 'Y' (hex 59) to force bad memory
154 references to show up. 
155
156 ZOOM-C now supports standard ZOOM option names as described in v1.4 of
157 the ZOOM Abstract API.  The older names for the same options are still
158 also supported for the benefit of old applications.
159
160 ZOOM-C supports "implementationId" and "implementationVersion" options
161 to go along with "implementationName".  These allow the user code to
162 specify identification strings to be sent to servers.
163 Add OID for the new ExtLite attribute set.
164
165 Add OIDs for NACSIS-CATP, FINMARC2000 and MARC21-fin record-syntaxes,
166  as requested/supplid by Ere Maijala <ere@atp.fi>
167
168 For generic frontend server, reverse the order of
169 "toolkit-supplied / application-supplied" strings sent as implementationId,
170 Name and Version.  Also, remove the spaces around the slash.  This brings
171 the GFS in line with the behaviour of ZOOM-C on the client side.
172
173 Add function ZOOM_scanset_display_term.
174
175 yaz-client shows scan displayTerm if present.
176
177 Utility yaz-iconv is now installed by default along with the man page 
178 yaz-iconv.1.
179
180 Extend configure check for OpenSSL to use pkg-config where available (such
181 as RedHat 9).
182
183 Incorporate patch by Morten Bogeskov which allows a Unix file socket
184 server to specify uid/gid/mask for socket using the format
185  unix:[user=uid,][group=gid,][umask=mask,]file=path
186 If file= is omitted the existing format is assumed, e.g.
187  unix:path
188 in which case the mask is 0666 (rw for everybody).
189
190 Major restructure of YAZ source. All source in libyaz is in src directory.
191 Programs in client (yaz-client), ztest (yaz-ztest), zoom (zoom programs),
192 util (utility programs such as ASN.1 compiler, yaz-marcdump). 
193
194 Added man page for utility yaz-marcdump (used to be called marcdump).
195 yaz-marcdump is installed by 'make install'.
196
197 Fixed a memory leak in Generic Frontend Server that occurred when decoding
198 of incoming package failed.
199
200 Fixed a potential DOS attack vulnerability in COMSTACK/ODR.
201
202 Change prototype of odr_perror: add const to message string.
203
204 New function yaz_log_reopen which reopens log file (for log rotate, etc.)
205
206 * Blocking parameter for COMSTACK cs_create is now a bit mask rather
207 than a blocking flag. Bit 0 is set for blocking, reset for non-blocking.
208 Bit 1 is set if cs_addrstr should avoid DNS lookup; reset for full
209 DNS lookup. There should not be any compatibility problems with this
210 assuming that blocking=1 or 0 is used.
211
212 Fix bad reference in UNIX comstack in function cs_addrstr.
213
214 Fix for compilation on AIX.
215
216 The generic front-end server (server/seshigh.c) now supports returning
217 Init diagnostics to the client in User-information-field, in
218 accordance with Z35.90 Implementor Agreement 5 (Returning diagnostics
219 in an InitResponse)
220
221 --- 2.0.4 2003/09/04
222
223 Allow any CQL relation (not just all,any,exact,scr).
224
225 Fixes for OCLC UI ASN.1 to make it work with SilverPlatter targets
226 that features the same UI.
227
228 Implemented command update0 in YAZ client which is equivalent to
229 update but uses old of Ext Update ASN.1.
230
231 Use OID 1.2.840.10003.15.1000.81.1 for privately defined charsets
232 in charset negotiation. Added VAL_ID_CHARSET in oid.h.
233 Previously no OID was used for this info.
234
235 ZOOM uses smallSetUpperBound=1 instead of 0 for piggyback searches.
236 It apparantely upsets EBSCO Publishing IR Z39.50 Server which
237 returns 'malformed search term' otherwise.
238
239 SortResponse member resultCount now set to NULL in sort handler of
240 frontend server.
241
242 OPAC support ZOOM. ZOOM_record_get returns OPAC info (as XML) if
243 type is "opac".
244
245 Add three new utility functions for translating OIDs between various
246 formats -- symbolic name such as "Usmarc", minus-1-terminated int
247 arrays and dotted strings such as "1.2.840.10003.9.5.1":
248  int *oid_name_to_oid(oid_class oclass, const char *name, int *oid);
249  char *oid_to_dotstring(const int *oid, char *oidbuf);
250  char *oid_name_to_dotstring(oid_class oclass, const char *name, char *oidbuf);
251
252 Reverted modifications for ES Update definition for z_IU0Update 
253 (OID 1.2.840.10003.9.5.1 and 1.2.840.10003.9.5). The definition
254 is back to YAZ 2.0.2.
255
256 String value attributes for CCL parser.
257
258 Support for OCLC's locally registered "OCLC-UserInformation" PDU,
259 which their FirstSearch server returns in Init responses, sometimes
260 carrying useful diagnostic information when Init fails.  This has the
261 OID 1.2.840.10003.10.1000.17.1 and is defined in the file
262 "z39.50/oclcui.asn", where its definition is somewhat different from
263 what OCLC document on their web-site, as required to interoperate with
264 their servers.
265
266 Support for anonymous authentication in yaz-client.  Use the command
267 "auth -".
268
269 * Fix the OID of the Index Data-local "admin" Extended Service from 
270   1.2.840.10003.9.81.1 to 1.2.840.10003.9.1000.81.1.  The omission of
271   the 1000, which indicates a locally-defined OID, was a mistake.
272
273 --- 2.0.3 2003/06/20
274
275 Fix CCL directive @case handling so that it affects string match for
276 both CCL keywords and qualifiers.
277
278 * ESFormat-Update updates. Packages with OID 1.2.840.10003.9.5.1 and
279 1.2.840.10003.9.5 are now handled by the same decoder z_IU0Update .
280 Decoder has been updated with ASN.1 changes as listed in
281 http://lcweb.loc.gov/z3950/agency/defns/updateES.html
282 Note that the "latest" DB Update, OID 1.2.840.10003.9.5.1.1 , handler
283 z_IUUpdate, remains unchanged. 
284
285 ZOOM_record_get may now return a record in a specific character set.
286 For type use "form; charset=from[,to]" where form (render, xml, ..) ,
287 "from" is the character set of record as returned by target. "to" is
288 the character set to be returned. If omitted, "to" is UTF-8.
289
290 YAZ ASN.1 compiler renamed from yaz-comp to yaz-asncomp
291
292 New ODR utility, odr_getelement, which returns name of element for
293 which encoding/decoding failed.
294
295 Fixed ODR so that it returns error code OREQUIRED rather than ONONE
296 in cases where a required element was omitted.
297
298 Bug fix: some MARC8 sequences were not converted.
299
300 New ZOOM option "step" which specifies number of records to be
301 retrieved in one chunk. Used in conjunction with "start" and "count".
302
303 SRW support for yaz-client. Use scheme http: to use it, e.g.
304  http://host:port/db
305
306 yaz-client no longer does (un)intelligent character set conversions
307 by default. Can be enabled with charset and marc_charset commands.
308
309 xmalloc trace fix for 64-bit systems such as DEC alpha. 
310
311 Solaris 2.6 compile fix.
312
313 New function, cql_strerror() translates SRW error codes, as returned
314 by cql_transform_error(), into human-readable English strings.  Used
315 in yaz-client diagnostics when appropriate.
316
317 New CQL2RPN query-type for the command-line yaz-client, parses CQL and
318 converts it into a type-1 query which is sent to the server.  This
319 makes CQL available for use with all Z-servers, as opposed to the tiny
320 minority that can handle CQL queries themselves.
321
322 --- 2.0.2 2003/04/28
323
324 New Debian package layout similar to the Redhat Package layout.
325
326 New ZOOM events ZOOM_EVENT_RECV_{RECORD,SEARCH} for receiving a record
327 and search result respectively.
328
329 --- 2.0.1 2003/04/25
330
331 Redhat package is now several packages: libyaz (runtime libraries),
332 libyaz-devel (development and documentation, and yaz (utility programs).
333 Package spec file by Morten Bøgeskov.
334
335 New member 'schema' in struct bend_fetch_rr which the name of requested
336 schema (SRW/SRU) for record (or NULL if none was given). The fetch
337 handler MAY set this to reflect the schema of the returned record.
338
339 New member 'display_term' in struct scan_entry. GFS now sets member entries
340 and allocates scan entries to be filled by user scan handler. In previous
341 version, entries member was allocated by the scan handler. That still works,
342 but the GFS will ignore member display_term - assuming it was NOT set by
343 the handler. The fact that the GFS now allocates the entries both allows
344 for new members and makes a scan handler easier to write.
345
346 Fix CQL lex buffer overflow.
347
348 SRW/SRU recordPacking. For SRW default recordPacking is string. For
349 SRU default recordPacking is string.
350
351 SRU protocol support for frontend server.
352
353 Fix compile bug for systems that have nl_langinfo but CODESET undefined.
354
355 Added missing PQF transform rules for <= and >= . Thanks to Peter Popovics.
356
357 Added scan for the ZOOM shell (zoomsh).
358
359 --- 2.0 2003/02/23
360
361 * String Identifers for Schemas (Amendment 5).
362 http://lcweb.loc.gov/z3950/agency/amend/am5.html
363 Old definition for schema
364   Odr_oid *schema; /* OPT */
365 New:
366   int which;
367   union {
368      Odr_oid *oid;
369      Z_InternationalString *uri;
370   #define Z_Schema_oid 1
371   #define Z_Schema_uri 2
372   } schema; /* OPT */
373
374 * resultCount parameter to Sort Response (Amendment 1).
375 http://lcweb.loc.gov/z3950/agency/amend/am1.html
376
377 Support for SRW 1.0 over HTTP. This is an optional feature and
378 requires libxml2 to operate. Enable SOAP by specifying --with-xml2
379 for configure.
380
381 Generic frontend server supports HTTP/SOAP/SRW and Z39.50/BER
382 on the same port.  SRW SearchRetrieveRequests are mapped
383 to bend_init,bend_search,bend_fetch,bend_close. 
384
385 Z39.50 Query Type-104 added - to facilitate CQL within Z39.50.
386
387 CQL support. Source is directory 'cql'. CQL is supported in ZOOM
388 (both SRW and Z39.50) and the YAZ client (Z39.50 only).
389
390 ZOOM connections are SRW based if schem http is used for hostname
391 in connect, e.g.  z = ZOOM_connection_new("http://myserver");
392 ZOOM_query may be of type CQL, e.g. ZOOM_query_cql(q, "dc.title=x");
393
394 CCL proximity operators !n, %n converts to PQF @prox 0 n 1 2 k 2
395 and @prox 0 n 0 1 k 2 respectively, meaning: exlusion=false,
396 distance=n, order=true/false, relation=le, prox unit=word. If
397 n is omitted, distance 1 is used.
398
399 Fixed problem with C compiler include path in wrong order.
400
401 For TCP/IP COMSTACK, set recv buffer to an appropriate "large" value
402 on Solaris. Patch from Ko van der Sloot.
403
404 New MARC decode API. All new functions operate on a yaz_marc_t
405 handle. The most important new functions are: yaz_marc_create,
406 yaz_marc_decode_{buf,wrbuf}, yaz_marc_destroy, .. to create handler,
407 decode and destroy respectively. Decoder can produce formats
408 MARC line, simple XML, OAI MARC and MARC XML (LoC). See
409 include/yaz/marcdisp.h.
410
411 YAZ Iconv utility now supports MARC8 decoding (marc8.c). Converts
412 to UTF-8, UCS-32, wchar_t or Latin-1.
413
414 * Prototypes for yaz_iconv_-functions moved to separate header 
415 include/yaz/yaz-iconv.h.
416
417 Make a few private functions 'static' in unix.c. This prevents
418 duplicate unix_close in PHP with YAZ and imap. PHP Bug 20977.
419
420 For ZOOM connection, the options targetImplementation{Id,Name,Version}
421 are set when Init Response is received.
422
423 New function ZOOM_connection_error_x similar to ZOOM_connection_error
424 but returns diagnostic set as well.
425
426 New function yaz_strerror which is a portable wrapper for
427 strerror/strerror_r/GetLastMessage.
428
429 * ZOOM_record_get supports type "xml" in which case MARC XML (from LOC)
430 is returned for MARC. If type is "oai", then OAI MARC is returned.
431
432 Fix creation of lib/yaz-config so it works if srcdir != objdir. Patch
433 from Kang-Jin Lee.
434
435 --- 1.9.2 2002/11/26
436
437 yaz_marc_decode uses OAI MARC as XML format for ISO2709 records.
438
439 Fix bad race conditions on SIGTERM and terminate gracefully in
440 frontend server.
441
442 Move retrieval (data1) module to Zebra since nobody seems to be
443 using it.
444
445 Add GRS-1 render for ZOOM using same format as yaz-client.
446
447 --- 1.9.1 2002/10/05
448
449 Added man pages: yaz-client(1), yaz-ztest(8), yaz(7), zoomsh(1).
450
451 Fix broken ESpec handling in data1 module.
452
453 SGML reader parses comments and makes them part of the data1 tree.
454
455 Added several type casts so that YAZ compiles as C++ code.
456
457 ZOOM didn't handle PDU encoding failures properly.
458
459 Added more Bib-1 diagnostics (approved extensions).
460
461 GNU configure: better check for iconv.
462
463 More portable use of accept, getpeername. Check for socklen_t. Use
464 int/size_t if socklen_t is not defined.
465
466 --- 1.9 2002/09/06
467
468 PQF parser rejects bad queries - including those with extra
469 characters in them. PQF parser used to silently ignore that.
470 Cleaner API for PQF added, which allows you to get detailed
471 error information for bad queries (see yaz/pquery.h).
472
473 Fixed bug in ZOOM_record_get for type "database".
474
475 Implemented mini iconv library supporting conversions between
476 UTF-8, UCS4, UCS4LE and ISO-8859-1. Implemented in util/siconv.c.
477
478 * Removed XML reader (d1_expat.c). It's part of Zebra instead.
479
480 --- 1.8.9 2002/08/20
481
482 Fixed ZOOM C record cache so that preferredRecordSyntax and
483 elementSetName is used to check for already fetched records.
484
485 --- 1.8.8 2002/08/02
486
487 Added three members in bend_initrequest structure to facilitate
488 character set negotiation.
489
490 Fixed a bug in frontend server that could cause indefinite
491 loops under rare conditions. 
492
493 Revised character set utilities (charneg.h) so that encoding
494 UCS-4, UCSA-4, UTF-16 and UTF-8 are encoded non-privately.
495
496 For PQF, directive @term <type> sets term type for Scan/Search.
497 Here <type> is general, string, numeric, null. The term type
498 is inherited - just like @attr.
499
500 New call odr_set_charset that sets character set conversion for
501 international-strings on a ODR stream. Prototype is:
502  int odr_set_charset(ODR o, const char *to, const char *from);
503 The InternationalString is still represented as C string in YAZ 
504 so native strings of type UTF-8, ASCII, etc. will work (UTF-16
505 won't). On the protocol level, you can use any encoding.
506
507 Support for UNIX sockets in ZOOM.
508
509 Solaris recv sometimes returns errno == ENOENT. It is treated as
510 EINPROGRESS. COMSTACK patch by Ko van der Sloot.
511
512 New COMSTACK of type UNIX Socket. Use "unix:/path" as address for
513 both client and server. Code by Morten Bøgeskov.
514
515 --- 1.8.7 2002/05/22
516
517 On Windows ZOOM functions are of type __stdcall rather than __cdecl, so
518 that they can be used directly from Visual Basic. You must recompile
519 your windows APP if you're using ZOOM.
520
521 Character Set and Language Negotiation(3) for ZOOM API and YAZ client.
522 Commands "lang" and "charset" sets language and character set respectively.
523 Options "lang" and "charset" is interpreted by the ZOOM API. Note, these
524 are not part of the official ZOOM spec) All is due to Oleg Kolobov. 
525
526 Attributes from multiple CCL fields may be OR'ed rather than merged
527 using directive "@field or". Fields are still merged by default -
528 equivalent to "@field merge".
529
530 Fixed bug in ZOOM connect that occurred on OpenBSD (maybe others). Patch
531 by Oleg Kolobov.
532
533 Fixed bug in zget for parameter ExtendedServicesResponse.
534
535 Fix OID for ILL.
536
537 --- 1.8.6 2002/03/25
538
539 Added PQF feature: '@attr type=value' may be written as '@type=value'.
540
541 Client displays USR.1:SearchResult-1 (hits per term).
542
543 Additional Search Info for search in Generic Frontend Server.
544
545 Fixed CCL parsing of "field=s".
546
547 WIN32 installer - using the excellent NSIS software from nullsoft.
548
549 Fixed CCL parsing of "field = - <number>".
550
551 Added function yaz_marc_decode that decodes MARC for line mode
552 display or XML (similar to that used by JZKit).
553
554 Fixed BER decoding of OPTIONAL CHOICE. The bug didn't affect the
555 Z39.50. But ISO/ILL was, however.
556
557 Added patch by Rustam T. Usmanov that implements Z39.50 duplicate
558 detection service (Z39.50-1995 Amendment 2) and Language Negotiation (3).
559 See:
560  http://lcweb.loc.gov/z3950/agency/amend/am2.html
561  http://lcweb.loc.gov/z3950/agency/defns/charneg-3.html
562
563 --- 1.8.5 2002/02/03
564
565 New YAZ client features: Command completion and new commands:
566 push_command, set_apdufile, set_marcdump, set_cclfields, register_oid.
567 Code provided by Jacob Poulsen.
568
569 New call oid_trav, that visits all registered OIDs via callback.
570
571 Function ZOOM_record_get now returns const char pointer rather than
572 void pointer. It saves a lot of type casts.
573
574 For YAZ client, command "auth" now allows you to set authentication
575 in IdPass style. It is enabled when three tokens are given - order
576 is user, group and password.
577
578 Fix memory leaks in MARC record handling for ZOOM.
579
580 New option for YAZ client, -k <kilobytes> that sets
581 maximum record size. Similar to -k option for generic frontend
582 server and yaz-ztest.
583
584 More fixes for scan. Non-zero stepSize handled. OID's fixes.
585
586 Prefix query parser reports "fail" when bad attribute set is given.
587
588 Fix in MARC decoder. Proximity logging. Fix for attribute set
589 in scan handler for server. Patches by Shigeru Ishida.
590
591 SSL/COMSTACK updates. cs_rcvconnect completes SSL handshake. ZOOM
592 works with SSL.
593
594 Configure option --with-openssl=<dir> now works when a directory is
595 specified. Patch provided by Morten Bøgeskov.
596
597 New option for YAZ client, -u <auth>, that sets authentication.
598
599 ZOOM fix: error information was sometimes "missing", since error
600 was cleared/reset too when it shouldn't.
601
602 ZOOM_record_get returns ISO2709 buffer when "raw" is given.
603
604 --- 1.8.4 2002/01/04
605
606 Scan for ZOOM API. New object ZOOM_scanset. New functions
607 ZOOM_connection_scan, ZOOM_scanset_size, ZOOM_scanset_term and
608 ZOOM_scanset_destroy.
609
610 New ZOOM function, ZOOM_connection_last_event, that returns type
611 of last event (such as "receive data", "send data", "apdu received",
612 etc.
613
614 New ZOOM option, schema, that specifies schema for retrieval.
615
616 New CCL feature. Qualifiers can be aliases for one or more
617 other qualifiers (if more than one is given, OR is used).
618
619 ZOOM uses named result sets if target supports it.
620
621 Two new YAZ client commands: .  (dot, which sources a script of YAZ
622 client commands), and ! (to execute shell command.). Implemented
623 by Jacob Poulsen.
624
625 Working on Debian packages.
626
627 --- 1.8.3 2001/11/19
628
629 YAZ client enables named result sets only if target supports it.
630
631 *** ZOOM. Prefix for ZOOM definitions changed from Z3950_ to ZOOM_.
632
633 * ZOOM. Removed Z3950_connection_host. Use Z3950_connection_option_get
634 with key="host" to get same result.
635
636 * ZOOM. Added Z3950_record_clone and removed Z3950_resultset_get.
637 Function Z3950_resultset_record(s) returns references to records
638 "owned" by resultset. To become owner use Z3950_record_clone.
639
640 Function z_ext_record handles Extended Services. Thanks to
641 Irina Dijour.
642
643 --- 1.8.2 2001/11/12
644
645 CCL Parser fix: ignore token comma when dealing with and-lists.
646
647 Documentation updates for COMSTACK.
648
649 * ZOOM changes. Query object renamed from Z3950_search to Z3950_query.
650 Changed prototype Z3950_records. For some functions, int parameters
651 were changed to size_t.
652
653 TCP/IP COMSTACK no longer uses getprotobyname to avoid memory leak
654 on some Unices.
655
656 New MARC decode/display function, marc_display_exl, which properly rejects
657 non-ISO2709 records. YAZ client uses it.
658
659 --- 1.8.1 2001/10/29
660
661 Fix bug: local attribute set wasn't set correctly in PQF strings.
662
663 --- 1.8 2001/10/25
664
665 * Old Z39.50 codecs no longer supported. 
666
667 Added ZOOM C binding. See http://zoom.z3950.org/
668
669 Renamed states for COMSTACKs to avoid confusion with events.
670
671 Implemented cs_look and proper cs_rcvconnect.
672
673 Fixed COMSTACK error that occurred on HPUX. Fix by Giannis Kosmas.
674
675 Configure detects POSIX threads on OpenBSD.
676
677 When sort flag 'i' was specified in yaz-client the caseSensitivy flag
678 was set to a wrong value.  Thanks to Robert Sanderson for reporting this.
679
680 When error is returned from present handler, non-surrogate diagnostic
681 is returned in present response (and fetch handler is no longer called).
682
683 * Minor adjustments to pquery parser (PQF). Token characters may be
684 escaped by using backslash (C-style).
685
686 PQF parser allows string attribute values to be specified. For @attr,
687 non-numeric characters after the equal-sign are treated as strings
688 (e.g. @attr 9=title).
689
690 CCL trunction character may be defined (@truncation in file)
691
692 * function zget_ExtendedServicesRequest sets waitAction to
693   waitIfPossible (was wait).
694
695 Added cs_set_blocking to set change blocking mode of a COMSTACK. Thanks
696 to Matthew Carey.
697
698 CCL operator names may be set in field definition files (CCL_bibset).
699 See ccl/bib1 for an example.
700
701 Fixes in ASN.1 compiler for C++ compatibility.
702
703 * Renamed members "and" and "or" in struct Z_Operator to "op_and"
704 and "op_or" to avoid conflict with C++.
705
706 Fixed problem with GNU readline detection on Redhat 7.0.
707
708 Added step-size for Scan backend handler.
709
710 Fixed bug that made the frontend server crash when no attribute
711 set was specified for scan.
712
713 Front-end server automatically switches to original working directory
714 when installed as an NT service. Previously -w had to be specified to
715 make it work.
716
717 Added extended attributes for retrieval module (data1), so that data1
718 records carry d1_readXML/SGML attributes. d1_read also supports
719 null-data rules ( <tag/>)
720
721 On UNIX when POSIX threads are available, a separate library libyazthread
722 is created. Programmers should link with that library and the yaz library
723 when using threads. The reason for the split was that some applications
724 on Linux, such as Apache, doesn't work well when using shared objects that
725 relies on threads.
726
727 Added SSL support for the COMSTACK. You start yaz-client and yaz-ztest
728 (or any frontend server) in SSL mode by specifying ssl: followed by
729 address. Only tested on UNIX.
730
731 Added feature for CCL module. Virtual structure s=al or s=ol generates
732 and-list and or-list respectively instead of phrase search.
733
734 Added some OID's.
735
736 * Added prefix "yaz_" for the functions log_init.., log_file..  and
737 log_mask_str. This was done to avoid name conflicts with other libraries
738 (such as other PHP extensions).
739
740 Added raw OID member for preferred record syntax (request_format_raw)
741 and returned record syntax (output_format_raw) for backend fetch method.
742
743 Config file yaz-config now accepts options so that it returns specific
744 compile settings, etc. Thanks to Morten Bøgeskov <morten@bogeskov.dk>
745
746 Shared library support for UNIX using GNU libtool.
747
748 * Modified backend interface. Request/Response struct's replaced by
749 one read/write C struct. For example bend_fetchrequest and
750 bend_fetchresult have been replaced by single bend_fetch_rr struct.
751 Every handler - even search has to be registered in bend_init
752 handler. This means that the YAZ library no longer refers to
753 external functions and it makes it possible to make the whole
754 thing a single DLL/SO.
755
756 Added Segment handler for backend server.
757
758 Added Zmbol/Zebra administrative functions to YAZ client.
759
760 Threaded frontend server on UNIX (when POSIX Threads are available).
761 Starting the server with option -T enables multi-threading.
762
763 --- 1.6 2000/03/03
764
765 Added configure option --enable-comp/disable-comp to control use
766 of YAZ ASN.1 compiler. Use --disable-comp to use the old *coders
767 located in sub directory asn.
768
769 YAZ ASN.1 compiler renamed to yaz-comp in sub directory. It's installed
770 in ${exec_prefix}/bin along with the other programs yaz-client and
771 yaz-ztest.
772
773 GNU automake used to maintain makefiles.
774
775 Added several OID's.
776
777 Changed retrieval module so that we can load records with no abstract
778 syntax defined. Tagpaths in these records are fully composed of string
779 tags.
780
781 Implemented ISO ILL protocol. Refer to stuff in sub directory ill.
782
783 --- 1.5 1999/12/10
784
785 On UNIX, the generated makefile now supports a proper 'make install'.
786 The prefix can be set via GNU configure to set the install location
787 (default is /usr/local).
788
789 * YAZ programs client and ztest were renamed to yaz-client and
790 yaz-ztest to avoid conflicts when users install YAZ in "standard"
791 locations, such as /usr/bin,/usr/local/bin,etc.
792
793 * YAZ Header files were moved from include to include/yaz. YAZ Header
794 files are referred to as include <yaz/log.h> rather than <log.h>.
795 The YAZ include path (-I ..) is therefore the same as before. Programmers
796 should update their #include statements or use -Ipath/include/yaz
797 instead. The main motivation for doing this change is that YAZ header files
798 can be installed in "standard" locations /usr/include,/usr/local/include 
799 without introducing conflicts, since ALL YAZ header files are stored
800 in subdirectory yaz (under /usr/include for example).
801
802 Compilation of YAZ for WIN32 is now handled by an nmake-style makefile 
803 rather than project/workspace files. We switched because project files
804 are incompatible between Visual C++ 5 and 6. Refer to windows.txt for
805 details.
806
807 Changed name of logging function, logf, to yaz_log, to prevent name
808 clash with some math-log functions. The YAZ header log.h defines logf
809 to yaz_log (#define) so there should be no incompatibilities by this
810 modification.
811
812 Added bend_start/bend_stop handlers for server. These handler are
813 called on start/stop of server. For windows they are called whenever
814 a service is started/stopped.
815
816 * YAZ now auto-generates decoders/encoders for the Z39.50 protocol using
817 a fairly small ASN.1 compiler written in Tcl. The compiler is located
818 in util/yc.tcl. The auto-generated C code structures are, in a few
819 cases, incompatible with the old decoders. There are differences in the
820 following C structures Z_DiagRec, Z_External, Z_SortRequest, Z_SortResponse,
821 Z_AttributesPlusTerm, Z_ProximityOperator, Z_DefaultDiagFormat.
822 The preprocessor variable ASN_COMPILED is defined when the compiled
823 ASN.1 is being used. Encoder/decoder routines as well as the Z39.50
824 protocol ASN.1 is located sub directory <tt>z39.50</tt>. If you
825 wish to use the old encoders/decoders you can specify --disable-yc
826 for configure.
827
828 Assigned OID for old DB Update (VAL_DBUPDATE0). Updated YAZ compiled
829 version so that it supports both new - and old version of DB Update
830
831 * Added 'name' parameter to ODR encoder/decoder routines to facilitate
832 pretty ODR print. Updated whole Z39.50 encoder/decoder to reflect the
833 change. The name parameter can be set to 0 in which no name is specified
834 for the construction. The macros odr_implicit and odr_explicit sets name
835 parameter to zero for the construction involved. New macros
836 odr_implicit_tag and odr_explicit_tag are similar to the others,
837 except that a name parameter is added. For programmers' that don't use
838 ODR they probably only need to change the call to z_APDU and z_External.
839
840 Added access control facility by interfacing the TCP wrapper library.
841 YAZ automatically attempts to find the TCP wrapper Library (-lwrap) and
842 tcpd.h on Unix systems. For the server, option -d<daemon> specifies the
843 name of the daemon and enables the access control as specified in
844 hosts.allow/hosts.deny. Refer to man pages tcpd(8) and hosts_access(5).
845
846 Fixed memory leak in ccl_find_str and ccl_qual_rm. Thanks to Hans van
847 den Dool <H.M.vdnDool@kub.nl>.
848
849 Added reference ID parameter to most functions in server API - refer
850 to backend.h. Thanks to Hans van den Dool <H.M.vdnDool@kub.nl>.
851
852 Changed name of ccl library to libccl.a (was ccl.a).
853
854 Fixed bug in decoder for Explain (Category TargetInfo).
855
856 Added support for GNU readline in client. Thanks to Jacob Poulsen
857 <ja7@dbc.dk>. GNU configure attempts to detect if readline is available.
858
859 * CHANGED DEFINITION OF ES: UPDATE (INCLUDING THE OID) to reflect the
860 new definition from the ZIG. NOTE THIS IF YOU HAVE AN UPDATE
861 IMPLEMENTATION! This change was made to the development version before
862 the ZIG decided to retract the amendment. If any users MUST be
863 compatible with the original Update definition, PLEASE CONTACT US, and
864 we will include a separate definition corresponding to the old Update
865 ES. Note that because of the change to the ASN.1 of the
866 TaskPackageRecordStructure we cannot define a single structure that
867 will support both versions.
868
869 * Added const modifier to buffer parameter for some ODR/BER encoding
870 routines: ber_dectag, ber_declen, odp_more_chunks, completeBER,
871 completeWAIS, odr_dumpBER.
872
873 Fixed bug in client.c which caused a crash when a scanResponse didn't
874 contain positionOfTerm.
875
876 * Fixed inconsistency in the ScanResponse/ListEntries protocol. This
877 * will cause an error in a client if a non-YAZ target sends both a
878 * list of Scan entries and non-surrogate diagnostics.
879
880 Retrieval module enhancements. Tag sets may be typed in the reference
881 to it. From the .abs-file the "tagset" directive takes a third optional
882 integer type for the tag set referenced. From a .tag-file the "include"
883 directive takes a third optional type as well. The old "type" directive
884 in the tag set itself is still recognized but acts as the default type
885 for the tag set.
886
887 Backend interface change. Individual Scan terms returned from bend_scan
888 may also be tagged as Surrogate Diagnostics. Refer to struct scan_entry
889 in include/backend.h.
890
891 Retrieval module enhancements. Multiple tag sets and attribute sets may
892 be specified in abstract syntax specs. Revised the error/warning for
893 logging messages reported by the retrieval module when reading the
894 various spec files.
895
896 Object Identifier system (oid_..) changed. The API is backwards
897 compatible but the oid-routines now allocates new OID's when needed.
898 Raw OID's may be specified in oid_getvalbyname.
899
900 YAZ now uses GNU configure to generate Makefile(s).
901
902 * Minor changes in some of the member names of DeleteResultSetRequest and
903 DeleteResultSetResponse. See include/proto.h.
904
905 * Changed some C definitions regarding EXPLAIN record syntax (prt-exp.h)
906 and added member 'languages' in TargetInfo (which was missing).
907
908 Changed the way attribute sets are handled in the retrieval
909 module. These are now cached, just like the abstract syntaxes
910 (schemas).
911
912 Changed YAZ so that it links with compiled ASN.1.
913
914 Added Explain-schema definitions and mapping routines. The following
915 Explain categories have been implemented: AttributeDetails,
916 AttributeSetInfo, DatabaseInfo, CategoryList and TargetInfo.
917
918 Fixed minor bug in Windows version of Server Library.
919
920 --- 1.4pl2+ 1998/4/17 (Released with Zebra)
921
922 Added Extended Services to server (backend.h). Thanks to Charles Woodfield.
923
924 Added EXTERNAL: UNIverse Resource Report (non-standard).
925
926 Implemened odr_enum and odr_set_of functions to handle ASN.1 types
927 ENUMERATED and SET OF.
928
929 * Added 'const' to some of the char pointer arguments for the
930 functions, data1_read_node, data1_getelementbytagname,
931 data1_insert_taggeddata, data1_getesetbyname, data1_getelementbyname,
932 data1_get_absyn.
933
934 Fixed bug in data1_insert_taggeddata - the last_child member of
935 parent wasn't initialised.
936
937 * Changed data1_read_record and data1_read_node so that the supplied
938 "SGML"-buffer is read-only. In particular the resulting data1 - tree
939 doesn't refer to any parts of the "SGML"-buffer.
940
941 Fixed bug in server library (Windows version of statserv_remove).
942
943 * Changed code so that it compiles as C++. The type definition
944 of Odr_fun which is a member of Odr_arm was changed. The result is,
945 that an explicit typecast is needed for the fun pointer when
946 using Odr_arm - as in:
947     {1, -1, -1, Z_IdAuthentication_idPass, (Odr_fun)z_IdPass},
948
949 Updated TagSet-G and -M definitions (tagsetm.tag and tagsetg.tag).
950
951 Implemented the new structured date and time definition as approved
952 by the ZIG. Added schemaId element to the specificTag in Espec-1
953 (also approved at the last ZIG). Thanks to RVDM.
954
955 Added some Object identifiers (RVDM).
956
957 Changed the Update Extended Service (RVDM).
958
959 Added command "refid" to client which specifies referenceId for
960 the following requests.
961
962 Implemented extended service handling for server. See ztest.c
963 for an example as well as backend.h. New handlers are registerd
964 in the Init handler.
965
966 * Changed interface for sort in server.
967
968 Added new members to statserv_options_block. It allows a server
969 to read options from another source than just the command line. Thanks
970 to Charles Woodfield.
971
972 * Changed definition of Z_Triple in file prt-grs.h - member boolean
973 renamed to zboolean. Some C++ compilers complained about the name.
974
975 Minor changes to gils.abs. Added index 's' (sort) on title
976 and date/time-last-modified.
977
978 --- 1.4pl2 1998/1/30
979
980 Fixed bug in server library regarding inetd mode (-i). This bug
981 was introduced by release 1.4.
982
983 --- 1.4pl1 1998/1/29
984
985 Added sort facility in client and backend server interface.
986
987 Fixed problem with dependencies in Makefile(s).
988
989 Fixed bugs for encoders/decoders of extended services and 
990 SearchInfoReport.
991
992 Implemented sub-tree feature for schemas. Sub-trees are
993 referenced in *.abs-files. See explain.abs for an example
994 of the use of this feature.
995
996 Modified bib1.att; local attributes for ANY didn't include
997 ANY itself (only affects use of the retrieval module).
998
999 Fixed bug in plain SGML reader in function data1_read_node:
1000 tags with prefix "var" was incorrectly interpreted as variants.
1001
1002 Added feature "sub-schemas" to enable references to - and definitions
1003 of - group of elements.
1004
1005 * Removed member parent from type data1_element (in data1.h).
1006
1007 Implemented function odr_nullval() that returns the value of
1008 ODR_NULLVAL.
1009
1010 * Removed member num_children from data1_node (in data1.h).
1011
1012 Made NT service interface part of the server library. The
1013 function statserv_main uses the NT service when required and
1014 calls the statserv_start / statserv_close routines.
1015
1016 Routine zget_SearchRequest and zget_PresentRequest fills
1017 resultSetName/Id member with "default" instead of "Default".
1018
1019 Fixed memory leak in server. Request queue member wasn't freed.
1020
1021 Fixed nmem_exit so that memory is freed.
1022
1023 --- 1.4 1997/10/2
1024
1025 Revised the CCL parser utility to be thread safe.
1026
1027 Added function, oid_ent_to_oid, to replace the function 
1028 oid_getoidbyent, which is not thread safe.
1029
1030 * Added nmem_init and nmem_exit to initialize and release
1031 NMEM resources. Function nmem_init should be called once in the
1032 initial thread before NMEM/ODR is used. statserv.c and client.c
1033 have been changed accordingly. The change was necessary to make
1034 NMEM thread safe. The NMEM memory pool is shared amongst threads
1035 in a process. Unix-based applications will still work fine without
1036 calling this.
1037
1038 Added NT Services interface for the the Z39.50 (statserv) Server. 
1039 Refer to the ztest.c source on the usage.
1040
1041 Windows 95/NT port using MSVC5.0. Project files are included in the
1042 distribution.
1043
1044 * Defined new 'global' handle for the retrieval (data1) system. The
1045 new handled, data1_handle, describes the state of the data1 system.
1046 This handle is passed as first argument to virtually all
1047 data1 related routines. The functions data1_create and data1_destroy
1048 creates and destroys a data1 handle respectively.
1049
1050 Added ODR encode stream member to all backend request structures
1051 init, search, scan etc. This stream should be used to allocate all
1052 memory used for the response when thread safe operation is needed.
1053
1054 Changed the comstack utility, cs_addstr, to be thread safe. The
1055 returned hostname string returned by the function is now part the
1056 COMSTACK instance.
1057
1058 Added comstack utility, cs_straddr, which replaces the tcpip_strtoaddr
1059 function. The cs_straddr takes a COMSTACK handle as argument, so this
1060 function must be used after cs_create and before bind/connect.
1061 This function is thread safe.
1062
1063 Moved test server to 'ztest' directory - generic server code still
1064 in 'server' directory.
1065
1066 Made prefix query (pquery.c) utility thread safe.
1067
1068 Added new function modifier YAZ_EXPORT to 'export' public DLL
1069 functions when using windows (see include/yconfig.h).
1070
1071 Added definitions to the OID database (util/oid.c) (RVDM).
1072
1073 Added new BIB-1 diagnostic messages to the handler diagbib1_str.
1074
1075 Added call to ccl_rpn_delete in client program.
1076
1077 Added ODR argument to ccl_rpn_query and ccl_scan_query to provide
1078 release of RPN structure.
1079
1080 Added support for C++, headers uses extern "C" for public definitions.
1081 With input from RVDM.
1082
1083 In handling of SEQUENCE OF: Counter set to zero when SEQUENCE OF is absent.
1084 Thanks to Ronald van der Meer (RVDM).
1085
1086 Added initializers (zget_ routines) for a number of PDUs. Thanks to RVDM.
1087
1088 Added support for private extensions to the OID database
1089 (oid_setprivateoids()). Thanks to RVDM.
1090     
1091 Added optional, physical ANY (key replication)
1092
1093 Fixed null-reference problem in GRS-1 output filter.
1094
1095 Proximity operator added to Prefix Query Format (PQF).
1096
1097 In test client command "base" accepts multiple databases.
1098
1099 Fixed bug in cs_close stack that caused trouble with WINSOCK.
1100
1101 --- 1.3 1996/10/11
1102
1103 Fixed tagging bug in ResourceReportResponse PDU encoder/decode.
1104
1105 Smallish bug-fixes in the new encoders/decoders (explain).
1106
1107 Bug fixed in DeleteRequest.
1108
1109 Fixed tagging bug of type 101 query in SearchRequest-Query PDU encoder/decoder.
1110
1111 Fixed tagging bug in ResourceReportResponse PDU encoder/decode.
1112
1113 Added SOIF syntax (using private OID for now) to retrieval module and client.
1114
1115 Added Update extended service.
1116
1117 Added SearchResult-1 additional info structure.
1118
1119 Added optional CCL (ISO8777) interpreter as separate module. Available
1120 in linemode client.
1121
1122 --- 1.2 1996/6/10 (1st anniversary release)
1123
1124 Added Summary record syntax. Lightly tested.
1125
1126 Added OPAC record syntax. Untested.
1127
1128 Added ResourceReport service encoders/decoders. Untested.
1129
1130 Fixed bug in z_Unit - wrong tagging on unitSystem.
1131
1132 Fixed bug in the DiagRecs decoder.
1133
1134 Added options for max PDU size and session timeout to frontend-server.
1135
1136 Added documentation of query-language parsers and other supporting utilities.
1137
1138 [frontend-server] Added Attribute set to the bend_scanrequest API.
1139
1140 [frontend-server] NextResultSetPosition was sometimes set incorrectly when
1141 surrogate diagnostics were generated.
1142
1143 [retrieval] Allow multiple local values for attribute.
1144
1145 [retrieval] Allow multiple attributes per element in .abs files. index type.
1146
1147 [retrieval] Added Summary tagset, abstract syntax, and d1-node/ASN filter.
1148
1149 --- 1.1pl2  1996/4/10
1150
1151 Minor changes, mostly specific to Zebra's requirements (retrieval)
1152
1153 --- 1.1  1996/2/20
1154
1155 Repaired bug in frontend server when running multiple listening
1156 endpoints in dynamic mode.
1157
1158 z_External() now won't break if a known, ASN.1 value comes encapsulated
1159 in an octet-string. The value will pass through unmodified in an Odr_oct.
1160
1161 Added a bit of code to the demo client to decode & display
1162 ASN.1-structured records represented in the octet-aligned branch of
1163 the EXTERNAL CHOICE. Thanks to CAS for prodding us to finally do this.
1164
1165 Added z_ext_getentbyref() to the ASN module. Doc updated.
1166
1167 * Completed the SCAN definition in the ASN module. This may break SCAN
1168 code based on older YAZ-versions at compile-time. The fix is easy -
1169 look in proto.h.
1170
1171 * Added 'displayTerm' and OtherInformation to the TermInfo structure
1172 under the SCAN definition. Remember to initialize this, server-people.
1173
1174 Comstack should now support the WAIS protocol in TCP/IP mode. Note
1175 that this does not extend to ODR and ASN.
1176
1177 Comstack allows insertion of established socket (primarily for
1178 inetd-operation of servers). Doc updated.
1179
1180 Front-end server can now start from the inetd in TCP mode. Doc
1181 updated.
1182
1183 --- 1.0pl4 1996/1/24
1184
1185 Added Sort PDU.
1186
1187 Fixed small problem in SUTRS-filter. A newline was sometimes inserted before
1188 the rank and record number.
1189
1190 Adjustments to the frontend server.
1191
1192 Fixed diagnostic BER dumper. It ignored the file argument.
1193
1194 --- 1.0pl3 1996/1/2
1195
1196 Various changes to retrieval module.
1197
1198 Changed the union discriminators of the protocol files from enums to
1199 ints paired with #defines.
1200
1201 *Changed oident.class to oident.oclass to avoid a reserved word in C++
1202  compilers.
1203
1204 *Changed operator in the RPN structure to 'roperator', again to avoid a
1205  conflict with C++.
1206
1207 Fixed problems in Explain decoders/encoders.
1208
1209 --- 1.0pl2 1995/12/6
1210
1211 Memory bug in log module fixed.
1212
1213 --- 1.0pl1 1995/12/5
1214
1215 Occasional malloc() of 0 bytes fixed in d1_espec.c.
1216
1217 Bug in Explain DatabaseInfo module fixed.
1218
1219 Some '\r' snuck into one or two of the ret'l config tables. A curse on Windows.
1220
1221 --- 1.0 1995/11/28
1222
1223 The shift to v1.0 signals that we now consider the *core* functionality
1224 of YAZ reasonably stable (the core being more or less equivalent to
1225 Z39.50-1992). Some of the really nifty v3 stuff is still not heavily
1226 tested (Explain not at all - though that will happen soonish).
1227
1228 Minor changes to code to support Windows port.
1229
1230 Various minor changes after we're getting to use GRS-1 & co. more.
1231
1232 Added Espec-1 format.
1233
1234 Added VisibleString field body type to GRS-1. It is illegal acc. to my copy
1235 of the protocol and it cannot be selected when encoding (maps into 'string'
1236 when decoding). Needed to talk to some servers.
1237
1238 Demo client can request simple element set names.
1239
1240 Added Diagnostic Format encoders/decoders.
1241
1242 Added simple Close handling to frontend server (no hooks for resource
1243 reporting yet), and demonstration client.
1244
1245 Added cs_addrstr() command to COMSTACK to retrieve peer hostname/address.
1246
1247 --- 1.0b3 1995/08/24
1248
1249 Fixed bug in the frontend-server. The numberOfRecordsReturned field was
1250 handled incorrectly when records were requested in the searchResponse. This
1251 will only affect you if you use the frontend-server.
1252
1253 Added GRS-1 encoders/decoders to the service-level API. Lightly tested.
1254 Test-client will ask for and print GRS1. Ztest will return dummy records
1255 on request.
1256
1257 Added Explain encoders/decoders to the service-level API. Untested.
1258
1259 Added Extended Services: Item Order encoders and decoders to the Service-
1260 level API. Untested. We could use a recent copy of the pertinent bits
1261 of the ILL protocol to add those bits.
1262
1263 Added diagnostic format 1 encoders/decoders to the service-level API.
1264 Untested.
1265
1266 Moved pretty-printing of structure-wrappers ({..}) from odr_seq.c to
1267 odr_cons.c, which causes a more correct output.
1268
1269 Fixed handling of searchRequest in frontend server. NextResultSetPosition
1270 was always set to 0 when no records were requested in the searchRequest.
1271
1272 * Added better external-handling. This shouldn't harm old code that
1273 *encodes* externals. It can break code that looks for a
1274 'single-ASN1-type' representation, since those types that are known
1275 are now decoded immediately. Look at the SUTRS sample code in
1276 seshigh.c and client.c. Documentation updated.
1277
1278 Handling of structured records in bend_fetchresponse. Length -1 marks
1279 structured record, type is deduced from format field.
1280
1281 --- 1.0b2 1995/06/27
1282 Fairly quick maintenance release to add SUTRS support.
1283
1284 Fixed handling of SUTRS records in the demonstration client.
1285
1286 * Added format field to the bend_fetchrequest and bend_fetchresponce
1287 structures of the backend API (frontend server). When the record is
1288 returned, the value of the format field is mapped to an OID. The
1289 value VAL_SUTRS will also cause a slightly different ASN.1 packaging
1290 of the record. The special value VAL_NONE in the bend_request means
1291 that no specific format was requested by the client. Documentation
1292 updated accordingly. Test server (ztest) will return a fixed dummy
1293 SUTRS record if your client requests SUTRS.
1294
1295 Documentation updated accordingly.
1296
1297 You can now set external libraries and RANLIB support in the top-level
1298 Makefile.
1299
1300 --- 1.0b 1995/06/19
1301 First public release.