Towards 1.7
[yaz-moved-to-github.git] / CHANGELOG
1 Possible compatibility problems with earlier versions marked with '*'.
2
3 --- 1.8.7 2002/MM/DD
4
5 --- 1.8.6 2002/03/25
6
7 Added PQF feature: '@attr type=value' may be written as '@type=value'.
8
9 Client displays USR.1:SearchResult-1 (hits per term).
10
11 Additional Search Info for search in Generic Frontend Server.
12
13 Fixed CCL parsing of "field=s".
14
15 WIN32 installer - using the excellent NSIS software from nullsoft.
16
17 Fixed CCL parsing of "field = - <number>".
18
19 Added function yaz_marc_decode that decodes MARC for line mode
20 display or XML (similar to that used by JZKit).
21
22 Fixed BER decoding of OPTIONAL CHOICE. The bug didn't affect the
23 Z39.50. But ISO/ILL was, however.
24
25 Added patch by Rustam T. Usmanov that implements Z39.50 duplicate
26 detection service (Z39.50-1995 Amendment 2) and Language Negotiation (3).
27 See:
28  http://lcweb.loc.gov/z3950/agency/amend/am2.html
29  http://lcweb.loc.gov/z3950/agency/defns/charneg-3.html
30
31 --- 1.8.5 2002/02/03
32
33 New YAZ client features: Command completion and new commands:
34 push_command, set_apdufile, set_marcdump, set_cclfields, register_oid.
35 Code provided by Jacob Poulsen.
36
37 New call oid_trav, that visits all registered OIDs via callback.
38
39 Function ZOOM_record_get now returns const char pointer rather than
40 void pointer. It saves a lot of type casts.
41
42 For YAZ client, command "auth" now allows you to set authentication
43 in IdPass style. It is enabled when three tokens are given - order
44 is user, group and password.
45
46 Fix memory leaks in MARC record handling for ZOOM.
47
48 New option for YAZ client, -k <kilobytes> that sets
49 maximum record size. Similar to -k option for generic frontend
50 server and yaz-ztest.
51
52 More fixes for scan. Non-zero stepSize handled. OID's fixes.
53
54 Prefix query parser reports "fail" when bad attribute set is given.
55
56 Fix in MARC decoder. Proximity logging. Fix for attribute set
57 in scan handler for server. Patches by Shigeru Ishida.
58
59 SSL/COMSTACK updates. cs_rcvconnect completes SSL handshake. ZOOM
60 works with SSL.
61
62 Configure option --with-openssl=<dir> now works when a directory is
63 specified. Patch provided by Morten Bøgeskov.
64
65 New option for YAZ client, -u <auth>, that sets authentication.
66
67 ZOOM fix: error information was sometimes "missing", since error
68 was cleared/reset too when it shouldn't.
69
70 ZOOM_record_get returns ISO2709 buffer when "raw" is given.
71
72 --- 1.8.4 2002/01/04
73
74 Scan for ZOOM API. New object ZOOM_scanset. New functions
75 ZOOM_connection_scan, ZOOM_scanset_size, ZOOM_scanset_term and
76 ZOOM_scanset_destroy.
77
78 New ZOOM function, ZOOM_connection_last_event, that returns type
79 of last event (such as "receive data", "send data", "apdu received",
80 etc.
81
82 New ZOOM option, schema, that specifies shema OID for retrieval.
83
84 New CCL feature. Qualifiers can be aliases for one or more
85 other qualifiers (if more than one is given, OR is used).
86
87 ZOOM uses named result sets if target supports it.
88
89 Two new YAZ client commands: .  (dot, which sources a script of YAZ
90 client commands), and ! (to execute shell command.). Implemented
91 by Jacob Poulsen.
92
93 Working on Debian packages.
94
95 --- 1.8.3 2001/11/19
96
97 YAZ client enables named result sets only if target supports it.
98
99 *** ZOOM. Prefix for ZOOM definitions changed from Z3950_ to ZOOM_.
100
101 * ZOOM. Removed Z3950_connection_host. Use Z3950_connection_option_get
102 with key="host" to get same result.
103
104 * ZOOM. Added Z3950_record_clone and removed Z3950_resultset_get.
105 Function Z3950_resultset_record(s) returns references to records
106 "owned" by resultset. To become owner use Z3950_record_clone.
107
108 Function z_ext_record handles Extended Services. Thanks to
109 Irina Dijour.
110
111 --- 1.8.2 2001/11/12
112
113 CCL Parser fix: ignore token comma when dealing with and-lists.
114
115 Documentation updates for COMSTACK.
116
117 * ZOOM changes. Query object renamed from Z3950_search to Z3950_query.
118 Changed prototype Z3950_records. For some functions, int parameters
119 were changed to size_t.
120
121 TCP/IP COMSTACK no longer uses getprotobyname to avoid memory leak
122 on some Unices.
123
124 New MARC decode/display function, marc_display_exl, which properly rejects
125 non-ISO2709 records. YAZ client uses it.
126
127 --- 1.8.1 2001/10/29
128
129 Fix bug: local attribute set wasn't set correctly in PQF strings.
130
131 --- 1.8 2001/10/25
132
133 * Old Z39.50 codecs no longer supported. 
134
135 Added ZOOM C binding. See http://zoom.z3950.org/
136
137 Renamed states for COMSTACKs to avoid confusion with events.
138
139 Implemented cs_look and proper cs_rcvconnect.
140
141 Fixed COMSTACK error that occurred on HPUX. Fix by Giannis Kosmas.
142
143 Configure detects POSIX threads on OpenBSD.
144
145 When sort flag 'i' was specified in yaz-client the caseSensitivy flag
146 was set to a wrong value.  Thanks to Robert Sanderson for reporting this.
147
148 When error is returned from present handler, non-surrogate diagnostic
149 is returned in present response (and fetch handler is no longer called).
150
151 * Minor adjustments to pquery parser (PQF). Token characters may be
152 escaped by using backslash (C-style).
153
154 PQF parser allows string attribute values to be specified. For @attr,
155 non-numeric characters after the equal-sign are treated as strings
156 (e.g. @attr 9=title).
157
158 CCL trunction character may be defined (@truncation in file)
159
160 * function zget_ExtendedServicesRequest sets waitAction to
161   waitIfPossible (was wait).
162
163 Added cs_set_blocking to set change blocking mode of a COMSTACK. Thanks
164 to Matthew Carey.
165
166 CCL operator names may be set in field definition files (CCL_bibset).
167 See ccl/bib1 for an example.
168
169 Fixes in ASN.1 compiler for C++ compatibility.
170
171 * Renamed members "and" and "or" in struct Z_Operator to "op_and"
172 and "op_or" to avoid conflict with C++.
173
174 Fixed problem with GNU readline detection on Redhat 7.0.
175
176 Added step-size for Scan backend handler.
177
178 Fixed bug that made the frontend server crash when no attribute
179 set was specified for scan.
180
181 Front-end server automatically switches to original working directory
182 when installed as an NT service. Previously -w had to be specified to
183 make it work.
184
185 Added extended attributes for retrieval module (data1), so that data1
186 records carry d1_readXML/SGML attributes. d1_read also supports
187 null-data rules ( <tag/>)
188
189 On UNIX when POSIX threads are available, a separate library libyazthread
190 is created. Programmers should link with that library and the yaz library
191 when using threads. The reason for the split was that some applications
192 on Linux, such as Apache, doesn't work well when using shared objects that
193 relies on threads.
194
195 Added SSL support for the COMSTACK. You start yaz-client and yaz-ztest
196 (or any frontend server) in SSL mode by specifying ssl: followed by
197 address. Only tested on UNIX.
198
199 Added feature for CCL module. Virtual structure s=al or s=ol generates
200 and-list and or-list respectively instead of phrase search.
201
202 Added some OID's.
203
204 * Added prefix "yaz_" for the functions log_init.., log_file..  and
205 log_mask_str. This was done to avoid name conflicts with other libraries
206 (such as other PHP extensions).
207
208 Added raw OID member for preferred record syntax (request_format_raw)
209 and returned record syntax (output_format_raw) for backend fetch method.
210
211 Config file yaz-config now accepts options so that it returns specific
212 compile settings, etc. Thanks to Morten Bøgeskov <morten@bogeskov.dk>
213
214 Shared library support for UNIX using GNU libtool.
215
216 * Modified backend interface. Request/Response struct's replaced by
217 one read/write C struct. For example bend_fetchrequest and
218 bend_fetchresult have been replaced by single bend_fetch_rr struct.
219 Every handler - even search has to be registered in bend_init
220 handler. This means that the YAZ library no longer refers to
221 external functions and it makes it possible to make the whole
222 thing a single DLL/SO.
223
224 Added Segment handler for backend server.
225
226 Added Zmbol/Zebra administrative functions to YAZ client.
227
228 Threaded frontend server on UNIX (when POSIX Threads are available).
229 Starting the server with option -T enables multi-threading.
230
231 --- 1.6 2000/03/03
232
233 Added configure option --enable-comp/disable-comp to control use
234 of YAZ ASN.1 compiler. Use --disable-comp to use the old *coders
235 located in sub directory asn.
236
237 YAZ ASN.1 compiler renamed to yaz-comp in sub directory. It's installed
238 in ${exec_prefix}/bin along with the other programs yaz-client and
239 yaz-ztest.
240
241 GNU automake used to maintain makefiles.
242
243 Added several OID's.
244
245 Changed retrieval module so that we can load records with no abstract
246 syntax defined. Tagpaths in these records are fully composed of string
247 tags.
248
249 Implemented ISO ILL protocol. Refer to stuff in sub directory ill.
250
251 --- 1.5 1999/12/10
252
253 On UNIX, the generated makefile now supports a proper 'make install'.
254 The prefix can be set via GNU configure to set the install location
255 (default is /usr/local).
256
257 * YAZ programs client and ztest were renamed to yaz-client and
258 yaz-ztest to avoid conflicts when users install YAZ in "standard"
259 locations, such as /usr/bin,/usr/local/bin,etc.
260
261 * YAZ Header files were moved from include to include/yaz. YAZ Header
262 files are referred to as include <yaz/log.h> rather than <log.h>.
263 The YAZ include path (-I ..) is therefore the same as before. Programmers
264 should update their #include statements or use -Ipath/include/yaz
265 instead. The main motivation for doing this change is that YAZ header files
266 can be installed in "standard" locations /usr/include,/usr/local/include 
267 without introducing conflicts, since ALL YAZ header files are stored
268 in subdirectory yaz (under /usr/include for example).
269
270 Compilation of YAZ for WIN32 is now handled by an nmake-style makefile 
271 rather than project/workspace files. We switched because project files
272 are incompatible between Visual C++ 5 and 6. Refer to windows.txt for
273 details.
274
275 Changed name of logging function, logf, to yaz_log, to prevent name
276 clash with some math-log functions. The YAZ header log.h defines logf
277 to yaz_log (#define) so there should be no incompatibilities by this
278 modification.
279
280 Added bend_start/bend_stop handlers for server. These handler are
281 called on start/stop of server. For windows they are called whenever
282 a service is started/stopped.
283
284 * YAZ now auto-generates decoders/encoders for the Z39.50 protocol using
285 a fairly small ASN.1 compiler written in Tcl. The compiler is located
286 in util/yc.tcl. The auto-generated C code structures are, in a few
287 cases, incompatible with the old decoders. There are differences in the
288 following C structures Z_DiagRec, Z_External, Z_SortRequest, Z_SortResponse,
289 Z_AttributesPlusTerm, Z_ProximityOperator, Z_DefaultDiagFormat.
290 The preprocessor variable ASN_COMPILED is defined when the compiled
291 ASN.1 is being used. Encoder/decoder routines as well as the Z39.50
292 protocol ASN.1 is located sub directory <tt>z39.50</tt>. If you
293 wish to use the old encoders/decoders you can specify --disable-yc
294 for configure.
295
296 Assigned OID for old DB Update (VAL_DBUPDATE0). Updated YAZ compiled
297 version so that it supports both new - and old version of DB Update
298
299 * Added 'name' parameter to ODR encoder/decoder routines to facilitate
300 pretty ODR print. Updated whole Z39.50 encoder/decoder to reflect the
301 change. The name parameter can be set to 0 in which no name is specified
302 for the construction. The macros odr_implicit and odr_explicit sets name
303 parameter to zero for the construction involved. New macros
304 odr_implicit_tag and odr_explicit_tag are similar to the others,
305 except that a name parameter is added. For programmers' that don't use
306 ODR they probably only need to change the call to z_APDU and z_External.
307
308 Added access control facility by interfacing the TCP wrapper library.
309 YAZ automatically attempts to find the TCP wrapper Library (-lwrap) and
310 tcpd.h on Unix systems. For the server, option -d<daemon> specifies the
311 name of the daemon and enables the access control as specified in
312 hosts.allow/hosts.deny. Refer to man pages tcpd(8) and hosts_access(5).
313
314 Fixed memory leak in ccl_find_str and ccl_qual_rm. Thanks to Hans van
315 den Dool <H.M.vdnDool@kub.nl>.
316
317 Added reference ID parameter to most functions in server API - refer
318 to backend.h. Thanks to Hans van den Dool <H.M.vdnDool@kub.nl>.
319
320 Changed name of ccl library to libccl.a (was ccl.a).
321
322 Fixed bug in decoder for Explain (Category TargetInfo).
323
324 Added support for GNU readline in client. Thanks to Jacob Poulsen
325 <ja7@dbc.dk>. GNU configure attempts to detect if readline is available.
326
327 * CHANGED DEFINITION OF ES: UPDATE (INCLUDING THE OID) to reflect the
328 new definition from the ZIG. NOTE THIS IF YOU HAVE AN UPDATE
329 IMPLEMENTATION! This change was made to the development version before
330 the ZIG decided to retract the amendment. If any users MUST be
331 compatible with the original Update definition, PLEASE CONTACT US, and
332 we will include a separate definition corresponding to the old Update
333 ES. Note that because of the change to the ASN.1 of the
334 TaskPackageRecordStructure we cannot define a single structure that
335 will support both versions.
336
337 * Added const modifier to buffer parameter for some ODR/BER encoding
338 routines: ber_dectag, ber_declen, odp_more_chunks, completeBER,
339 completeWAIS, odr_dumpBER.
340
341 Fixed bug in client.c which caused a crash when a scanResponse didn't
342 contain positionOfTerm.
343
344 * Fixed inconsistency in the ScanResponse/ListEntries protocol. This
345 * will cause an error in a client if a non-YAZ target sends both a
346 * list of Scan entries and non-surrogate diagnostics.
347
348 Retrieval module enhancements. Tag sets may be typed in the reference
349 to it. From the .abs-file the "tagset" directive takes a third optional
350 integer type for the tag set referenced. From a .tag-file the "include"
351 directive takes a third optional type as well. The old "type" directive
352 in the tag set itself is still recognized but acts as the default type
353 for the tag set.
354
355 Backend interface change. Individual Scan terms returned from bend_scan
356 may also be tagged as Surrogate Diagnostics. Refer to struct scan_entry
357 in include/backend.h.
358
359 Retrieval module enhancements. Multiple tag sets and attribute sets may
360 be specified in abstract syntax specs. Revised the error/warning for
361 logging messages reported by the retrieval module when reading the
362 various spec files.
363
364 Object Identifier system (oid_..) changed. The API is backwards
365 compatible but the oid-routines now allocates new OID's when needed.
366 Raw OID's may be specified in oid_getvalbyname.
367
368 YAZ now uses GNU configure to generate Makefile(s).
369
370 * Minor changes in some of the member names of DeleteResultSetRequest and
371 DeleteResultSetResponse. See include/proto.h.
372
373 * Changed some C definitions regarding EXPLAIN record syntax (prt-exp.h)
374 and added member 'languages' in TargetInfo (which was missing).
375
376 Changed the way attribute sets are handled in the retrieval
377 module. These are now cached, just like the abstract syntaxes
378 (schemas).
379
380 Changed YAZ so that it links with compiled ASN.1.
381
382 Added Explain-schema definitions and mapping routines. The following
383 Explain categories have been implemented: AttributeDetails,
384 AttributeSetInfo, DatabaseInfo, CategoryList and TargetInfo.
385
386 Fixed minor bug in Windows version of Server Library.
387
388 --- 1.4pl2+ 1998/4/17 (Released with Zebra)
389
390 Added Extended Services to server (backend.h). Thanks to Charles Woodfield.
391
392 Added EXTERNAL: UNIverse Resource Report (non-standard).
393
394 Implemened odr_enum and odr_set_of functions to handle ASN.1 types
395 ENUMERATED and SET OF.
396
397 * Added 'const' to some of the char pointer arguments for the
398 functions, data1_read_node, data1_getelementbytagname,
399 data1_insert_taggeddata, data1_getesetbyname, data1_getelementbyname,
400 data1_get_absyn.
401
402 Fixed bug in data1_insert_taggeddata - the last_child member of
403 parent wasn't initialised.
404
405 * Changed data1_read_record and data1_read_node so that the supplied
406 "SGML"-buffer is read-only. In particular the resulting data1 - tree
407 doesn't refer to any parts of the "SGML"-buffer.
408
409 Fixed bug in server library (Windows version of statserv_remove).
410
411 * Changed code so that it compiles as C++. The type definition
412 of Odr_fun which is a member of Odr_arm was changed. The result is,
413 that an explicit typecast is needed for the fun pointer when
414 using Odr_arm - as in:
415     {1, -1, -1, Z_IdAuthentication_idPass, (Odr_fun)z_IdPass},
416
417 Updated TagSet-G and -M definitions (tagsetm.tag and tagsetg.tag).
418
419 Implemented the new structured date and time definition as approved
420 by the ZIG. Added schemaId element to the specificTag in Espec-1
421 (also approved at the last ZIG). Thanks to RVDM.
422
423 Added some Object identifiers (RVDM).
424
425 Changed the Update Extended Service (RVDM).
426
427 Added command "refid" to client which specifies referenceId for
428 the following requests.
429
430 Implemented extended service handling for server. See ztest.c
431 for an example as well as backend.h. New handlers are registerd
432 in the Init handler.
433
434 * Changed interface for sort in server.
435
436 Added new members to statserv_options_block. It allows a server
437 to read options from another source than just the command line. Thanks
438 to Charles Woodfield.
439
440 * Changed definition of Z_Triple in file prt-grs.h - member boolean
441 renamed to zboolean. Some C++ compilers complained about the name.
442
443 Minor changes to gils.abs. Added index 's' (sort) on title
444 and date/time-last-modified.
445
446 --- 1.4pl2 1998/1/30
447
448 Fixed bug in server library regarding inetd mode (-i). This bug
449 was introduced by release 1.4.
450
451 --- 1.4pl1 1998/1/29
452
453 Added sort facility in client and backend server interface.
454
455 Fixed problem with dependencies in Makefile(s).
456
457 Fixed bugs for encoders/decoders of extended services and 
458 SearchInfoReport.
459
460 Implemented sub-tree feature for schemas. Sub-trees are
461 referenced in *.abs-files. See explain.abs for an example
462 of the use of this feature.
463
464 Modified bib1.att; local attributes for ANY didn't include
465 ANY itself (only affects use of the retrieval module).
466
467 Fixed bug in plain SGML reader in function data1_read_node:
468 tags with prefix "var" was incorrectly interpreted as variants.
469
470 Added feature "sub-schemas" to enable references to - and definitions
471 of - group of elements.
472
473 * Removed member parent from type data1_element (in data1.h).
474
475 Implemented function odr_nullval() that returns the value of
476 ODR_NULLVAL.
477
478 * Removed member num_children from data1_node (in data1.h).
479
480 Made NT service interface part of the server library. The
481 function statserv_main uses the NT service when required and
482 calls the statserv_start / statserv_close routines.
483
484 Routine zget_SearchRequest and zget_PresentRequest fills
485 resultSetName/Id member with "default" instead of "Default".
486
487 Fixed memory leak in server. Request queue member wasn't freed.
488
489 Fixed nmem_exit so that memory is freed.
490
491 --- 1.4 1997/10/2
492
493 Revised the CCL parser utility to be thread safe.
494
495 Added function, oid_ent_to_oid, to replace the function 
496 oid_getoidbyent, which is not thread safe.
497
498 * Added nmem_init and nmem_exit to initialize and release
499 NMEM resources. Function nmem_init should be called once in the
500 initial thread before NMEM/ODR is used. statserv.c and client.c
501 have been changed accordingly. The change was necessary to make
502 NMEM thread safe. The NMEM memory pool is shared amongst threads
503 in a process. Unix-based applications will still work fine without
504 calling this.
505
506 Added NT Services interface for the the Z39.50 (statserv) Server. 
507 Refer to the ztest.c source on the usage.
508
509 Windows 95/NT port using MSVC5.0. Project files are included in the
510 distribution.
511
512 * Defined new 'global' handle for the retrieval (data1) system. The
513 new handled, data1_handle, describes the state of the data1 system.
514 This handle is passed as first argument to virtually all
515 data1 related routines. The functions data1_create and data1_destroy
516 creates and destroys a data1 handle respectively.
517
518 Added ODR encode stream member to all backend request structures
519 init, search, scan etc. This stream should be used to allocate all
520 memory used for the response when thread safe operation is needed.
521
522 Changed the comstack utility, cs_addstr, to be thread safe. The
523 returned hostname string returned by the function is now part the
524 COMSTACK instance.
525
526 Added comstack utility, cs_straddr, which replaces the tcpip_strtoaddr
527 function. The cs_straddr takes a COMSTACK handle as argument, so this
528 function must be used after cs_create and before bind/connect.
529 This function is thread safe.
530
531 Moved test server to 'ztest' directory - generic server code still
532 in 'server' directory.
533
534 Made prefix query (pquery.c) utility thread safe.
535
536 Added new function modifier YAZ_EXPORT to 'export' public DLL
537 functions when using windows (see include/yconfig.h).
538
539 Added definitions to the OID database (util/oid.c) (RVDM).
540
541 Added new BIB-1 diagnostic messages to the handler diagbib1_str.
542
543 Added call to ccl_rpn_delete in client program.
544
545 Added ODR argument to ccl_rpn_query and ccl_scan_query to provide
546 release of RPN structure.
547
548 Added support for C++, headers uses extern "C" for public definitions.
549 With input from RVDM.
550
551 In handling of SEQUENCE OF: Counter set to zero when SEQUENCE OF is absent.
552 Thanks to Ronald van der Meer (RVDM).
553
554 Added initializers (zget_ routines) for a number of PDUs. Thanks to RVDM.
555
556 Added support for private extensions to the OID database
557 (oid_setprivateoids()). Thanks to RVDM.
558     
559 Added optional, physical ANY (key replication)
560
561 Fixed null-reference problem in GRS-1 output filter.
562
563 Proximity operator added to Prefix Query Format (PQF).
564
565 In test client command "base" accepts multiple databases.
566
567 Fixed bug in cs_close stack that caused trouble with WINSOCK.
568
569 --- 1.3 1996/10/11
570
571 Fixed tagging bug in ResourceReportResponse PDU encoder/decode.
572
573 Smallish bug-fixes in the new encoders/decoders (explain).
574
575 Bug fixed in DeleteRequest.
576
577 Fixed tagging bug of type 101 query in SearchRequest-Query PDU encoder/decoder.
578
579 Fixed tagging bug in ResourceReportResponse PDU encoder/decode.
580
581 Added SOIF syntax (using private OID for now) to retrieval module and client.
582
583 Added Update extended service.
584
585 Added SearchResult-1 additional info structure.
586
587 Added optional CCL (ISO8777) interpreter as separate module. Available
588 in linemode client.
589
590 --- 1.2 1996/6/10 (1st anniversary release)
591
592 Added Summary record syntax. Lightly tested.
593
594 Added OPAC record syntax. Untested.
595
596 Added ResourceReport service encoders/decoders. Untested.
597
598 Fixed bug in z_Unit - wrong tagging on unitSystem.
599
600 Fixed bug in the DiagRecs decoder.
601
602 Added options for max PDU size and session timeout to frontend-server.
603
604 Added documentation of query-language parsers and other supporting utilities.
605
606 [frontend-server] Added Attribute set to the bend_scanrequest API.
607
608 [frontend-server] NextResultSetPosition was sometimes set incorrectly when
609 surrogate diagnostics were generated.
610
611 [retrieval] Allow multiple local values for attribute.
612
613 [retrieval] Allow multiple attributes per element in .abs files. index type.
614
615 [retrieval] Added Summary tagset, abstract syntax, and d1-node/ASN filter.
616
617 --- 1.1pl2  1996/4/10
618
619 Minor changes, mostly specific to Zebra's requirements (retrieval)
620
621 --- 1.1  1996/2/20
622
623 Repaired bug in frontend server when running multiple listening
624 endpoints in dynamic mode.
625
626 z_External() now won't break if a known, ASN.1 value comes encapsulated
627 in an octet-string. The value will pass through unmodified in an Odr_oct.
628
629 Added a bit of code to the demo client to decode & display
630 ASN.1-structured records represented in the octet-aligned branch of
631 the EXTERNAL CHOICE. Thanks to CAS for prodding us to finally do this.
632
633 Added z_ext_getentbyref() to the ASN module. Doc updated.
634
635 * Completed the SCAN definition in the ASN module. This may break SCAN
636 code based on older YAZ-versions at compile-time. The fix is easy -
637 look in proto.h.
638
639 * Added 'displayTerm' and OtherInformation to the TermInfo structure
640 under the SCAN definition. Remember to initialize this, server-people.
641
642 Comstack should now support the WAIS protocol in TCP/IP mode. Note
643 that this does not extend to ODR and ASN.
644
645 Comstack allows insertion of established socket (primarily for
646 inetd-operation of servers). Doc updated.
647
648 Front-end server can now start from the inetd in TCP mode. Doc
649 updated.
650
651 --- 1.0pl4 1996/1/24
652
653 Added Sort PDU.
654
655 Fixed small problem in SUTRS-filter. A newline was sometimes inserted before
656 the rank and record number.
657
658 Adjustments to the frontend server.
659
660 Fixed diagnostic BER dumper. It ignored the file argument.
661
662 --- 1.0pl3 1996/1/2
663
664 Various changes to retrieval module.
665
666 Changed the union discriminators of the protocol files from enums to
667 ints paired with #defines.
668
669 *Changed oident.class to oident.oclass to avoid a reserved word in C++
670  compilers.
671
672 *Changed operator in the RPN structure to 'roperator', again to avoid a
673  conflict with C++.
674
675 Fixed problems in Explain decoders/encoders.
676
677 --- 1.0pl2 1995/12/6
678
679 Memory bug in log module fixed.
680
681 --- 1.0pl1 1995/12/5
682
683 Occasional malloc() of 0 bytes fixed in d1_espec.c.
684
685 Bug in Explain DatabaseInfo module fixed.
686
687 Some '\r' snuck into one or two of the ret'l config tables. A curse on Windows.
688
689 --- 1.0 1995/11/28
690
691 The shift to v1.0 signals that we now consider the *core* functionality
692 of YAZ reasonably stable (the core being more or less equivalent to
693 Z39.50-1992). Some of the really nifty v3 stuff is still not heavily
694 tested (Explain not at all - though that will happen soonish).
695
696 Minor changes to code to support Windows port.
697
698 Various minor changes after we're getting to use GRS-1 & co. more.
699
700 Added Espec-1 format.
701
702 Added VisibleString field body type to GRS-1. It is illegal acc. to my copy
703 of the protocol and it cannot be selected when encoding (maps into 'string'
704 when decoding). Needed to talk to some servers.
705
706 Demo client can request simple element set names.
707
708 Added Diagnostic Format encoders/decoders.
709
710 Added simple Close handling to frontend server (no hooks for resource
711 reporting yet), and demonstration client.
712
713 Added cs_addrstr() command to COMSTACK to retrieve peer hostname/address.
714
715 --- 1.0b3 1995/08/24
716
717 Fixed bug in the frontend-server. The numberOfRecordsReturned field was
718 handled incorrectly when records were requested in the searchResponse. This
719 will only affect you if you use the frontend-server.
720
721 Added GRS-1 encoders/decoders to the service-level API. Lightly tested.
722 Test-client will ask for and print GRS1. Ztest will return dummy records
723 on request.
724
725 Added Explain encoders/decoders to the service-level API. Untested.
726
727 Added Extended Services: Item Order encoders and decoders to the Service-
728 level API. Untested. We could use a recent copy of the pertinent bits
729 of the ILL protocol to add those bits.
730
731 Added diagnostic format 1 encoders/decoders to the service-level API.
732 Untested.
733
734 Moved pretty-printing of structure-wrappers ({..}) from odr_seq.c to
735 odr_cons.c, which causes a more correct output.
736
737 Fixed handling of searchRequest in frontend server. NextResultSetPosition
738 was always set to 0 when no records were requested in the searchRequest.
739
740 * Added better external-handling. This shouldn't harm old code that
741 *encodes* externals. It can break code that looks for a
742 'single-ASN1-type' representation, since those types that are known
743 are now decoded immediately. Look at the SUTRS sample code in
744 seshigh.c and client.c. Documentation updated.
745
746 Handling of structured records in bend_fetchresponse. Length -1 marks
747 structured record, type is deduced from format field.
748
749 --- 1.0b2 1995/06/27
750 Fairly quick maintenance release to add SUTRS support.
751
752 Fixed handling of SUTRS records in the demonstration client.
753
754 * Added format field to the bend_fetchrequest and bend_fetchresponce
755 structures of the backend API (frontend server). When the record is
756 returned, the value of the format field is mapped to an OID. The
757 value VAL_SUTRS will also cause a slightly different ASN.1 packaging
758 of the record. The special value VAL_NONE in the bend_request means
759 that no specific format was requested by the client. Documentation
760 updated accordingly. Test server (ztest) will return a fixed dummy
761 SUTRS record if your client requests SUTRS.
762
763 Documentation updated accordingly.
764
765 You can now set external libraries and RANLIB support in the top-level
766 Makefile.
767
768 --- 1.0b 1995/06/19
769 First public release.