From: Adam Dickmeiss Date: Mon, 29 Mar 2004 20:11:13 +0000 (+0000) Subject: Rename CHANGELOG to NEWS X-Git-Tag: YAZ.2.0.19~1 X-Git-Url: http://lists.indexdata.com/cgi-bin?a=commitdiff_plain;h=08516fefc3253bf9e414fecb48f475fa26b8869a;p=yaz-moved-to-github.git Rename CHANGELOG to NEWS --- diff --git a/CHANGELOG b/CHANGELOG deleted file mode 100644 index a578895..0000000 --- a/CHANGELOG +++ /dev/null @@ -1,1317 +0,0 @@ -Possible compatibility problems with earlier versions marked with '*'. - -Fix bug with missing initialization of member in init_diagnostics. -This bug affects threaded version of GFS server. - ---- 2.0.18 2004/03/20 - -Use wrbuf_xmlputs_n instead of wrbuf_write_cdata to avoid clash with -Zebra symbol. - -Ensure zlib.dll is packed with Windows install. - ---- 2.0.17 2004/03/17 - -Fix encoding of xsd:string to use text instead of CDATA. - -Fix endless loop in CQL parser with unbalanced ". - -Use a more compact way to store MARC-8 conversion tables. - ---- 2.0.16 2004/03/16 Debian only - -Oleg Kolobov Fixed a bug in yaz_iconv regarding conversion to -UCS4 / UCS4LE. - -Update CQL parser to use new CQL 1.1 modifiers for booleans and -relations. - -Add CQL test cases. - ---- 2.0.15 2004/03/01 - -Another fix for decoding of XML packed records. - ---- 2.0.14 2004/02/25 - -Fixes for Chunked encoding. White space not ignored after length spec. - -Update NS and use default NS for SRW diagnostic elements. - ---- 2.0.13 2004/02/23 - -Implement ZOOM_resultset_cache_reset which resets record cache. - -Implement ZOOM_resultset_sort which sorts a result set. - -Implement chunked HTTP transfer. - -For SSL, use -lssl -lcrypto on systems that don't have pkg-config. - ---- 2.0.12 2004/02/16 - -Added member 'schema' to bend_explain_rr structure so that backend -can specify explain record identifier. Defaults to Zeerex 2.0. - -Fix encoding of OID's of form 1.0.X. Bug introduced in 2.0.11. - ---- 2.0.11 2004/02/16 - -* SRW/SRU 1.1 updates: updated diagnostic in srw.h to use uri instead -of code. - -Added init command for yaz-client which sends "extra" init request. - -Fixed two bugs in OID codec - ber_oidc. Throw error when encoding/decoding -bad truncated OID. Fix decoding of OID X.Y... when X=2 and Y>39. - -Fixed a bug in ASN.1 compiler that caused Type-1 Operator codec to fail. - -Make ZOOM error code for "invalid query". - -Fixed compilation for SSL which wasn't properly enabled for all platforms. - ---- 2.0.10 2004/02/05 - -For yaz.m4, allow second argument for YAZ_INIT to hold minimal version of -YAZ required. - -* SRW/SRU 1.1 updates. Diagnostic code now a URI. - -Added option -p to make Generic Frontend Server to write PID file. - -Added option -D to put Generic Frontend Server in background on its own. - -Make ZOOM C recognize option "password". If unset, "pass" is used -(for backwards compatibility). - -Fixed a bug in Generic Frontend Server that could make it crash if a -client sets characterSetNegotation bit, but didn't pass negotiation stuff -in InitRequest. - -New YAZ client command, zversion, that sets Z39.50 version (1,2,3..). -Must be issued before open, in order to be in effect. - ---- 2.0.9-6 2004/01/12 Debian/Windows - -Make the SRU server more picky WRT unknown params, etc. - -Bug fix: ZOOM scan response didn't return displayTerm - when present. - -New YAZ client command, options, that sets Z39.50 options. - -New utility functions yaz_init_opt_{encode,decode} to encode/decode Z39.50 -options from a string of tokens (one token for each option bit). - -Update SRW diagnostic code messages. - ---- 2.0.9-5 2004/01/07 Debian/Windows - -Handle user defined stylesheet for SRW/SRU. - ---- 2.0.9-4 2004/01/06 Debian/Windows - -Fix bug in decoding of Content-Length. - ---- 2.0.9-3 2004/01/06 Debian/Windows - -Fix a bug with decoding of XML packed records. - ---- 2.0.9-2 2004/01/05 Debian only - -Allow empty ODR (NMEM=0) for odr_oiddup and odr_getoidbystr. - -Fix bug in SRW/SRU diagnostics decoding. - ---- 2.0.9 2004/01/05 - -Fixed bug in Generic Frontend Server which could drop records exceeding -preferred message size. Reported and fixed by Irina Dijour. - -Fixed calculation of package size for structured records in Generic -Frontend Server. Reported and fixed by Irina Dijour. - -Fixed namespace for SRW/SRU diagnostics. - -Fixed SEGV in yaz-client that occured for HTTP connection errors. - ---- 2.0.8 2003/12/22 - -* SRW/SRU 1.1. Since the Namespace has changed for SRW/SRU, it means that -this version is incompatible with version 1.0 and older YAZ SRW/SRU -implementations. - -CQL changes to reflect recent changes to the specification: -* Documentation talks about context sets instead of index sets. -* Documentation talks about indexes instead of qualifiers. -* The CQL-to-PQF transformer's configuration file now uses - "index.set.name = " instead of the old form - "qualifier.set.name = ". (Both forms are still - understood but the latter is deprecated.) -* CQL terms with no explicit index specified are now interpreted as - cql.serverChoice instead of srw.serverChoice (which of course - behaves exactly the same.) - ---- 2.0.7 2003/12/16 - -MARC conversion can now generate ISO2709 output in another -character set. yaz-marcdump uses this facility if you invoke it -with option -O. - -Added missing C decl macros for include/yaz/{soap.h,srw.h,cql.h}, so that -functions from there can be used from C++. - ---- 2.0.6 2003/12/04 - -Frontend server now transfers memory from decoded packages to stream -ODR for search. - -NMEM now clears freed blocks with 'Y' (hex 59) to force bad memory -references to show up. - -ZOOM-C now supports standard ZOOM option names as described in v1.4 of -the ZOOM Abstract API. The older names for the same options are still -also supported for the benefit of old applications. - -ZOOM-C supports "implementationId" and "implementationVersion" options -to go along with "implementationName". These allow the user code to -specify identification strings to be sent to servers. -Add OID for the new ExtLite attribute set. - -Add OIDs for NACSIS-CATP, FINMARC2000 and MARC21-fin record-syntaxes, - as requested/supplid by Ere Maijala - -For generic frontend server, reverse the order of -"toolkit-supplied / application-supplied" strings sent as implementationId, -Name and Version. Also, remove the spaces around the slash. This brings -the GFS in line with the behaviour of ZOOM-C on the client side. - -Add function ZOOM_scanset_display_term. - -yaz-client shows scan displayTerm if present. - -Utility yaz-iconv is now installed by default along with the man page -yaz-iconv.1. - -Extend configure check for OpenSSL to use pkg-config where available (such -as RedHat 9). - -Incorporate patch by Morten Bogeskov which allows a Unix file socket -server to specify uid/gid/mask for socket using the format - unix:[user=uid,][group=gid,][umask=mask,]file=path -If file= is omitted the existing format is assumed, e.g. - unix:path -in which case the mask is 0666 (rw for everybody). - -Major restructure of YAZ source. All source in libyaz is in src directory. -Programs in client (yaz-client), ztest (yaz-ztest), zoom (zoom programs), -util (utility programs such as ASN.1 compiler, yaz-marcdump). - -Added man page for utility yaz-marcdump (used to be called marcdump). -yaz-marcdump is installed by 'make install'. - -Fixed a memory leak in Generic Frontend Server that occurred when decoding -of incoming package failed. - -Fixed a potential DOS attack vulnerability in COMSTACK/ODR. - -Change prototype of odr_perror: add const to message string. - -New function yaz_log_reopen which reopens log file (for log rotate, etc.) - -* Blocking parameter for COMSTACK cs_create is now a bit mask rather -than a blocking flag. Bit 0 is set for blocking, reset for non-blocking. -Bit 1 is set if cs_addrstr should avoid DNS lookup; reset for full -DNS lookup. There should not be any compatibility problems with this -assuming that blocking=1 or 0 is used. - -Fix bad reference in UNIX comstack in function cs_addrstr. - -Fix for compilation on AIX. - -The generic front-end server (server/seshigh.c) now supports returning -Init diagnostics to the client in User-information-field, in -accordance with Z35.90 Implementor Agreement 5 (Returning diagnostics -in an InitResponse) - ---- 2.0.4 2003/09/04 - -Allow any CQL relation (not just all,any,exact,scr). - -Fixes for OCLC UI ASN.1 to make it work with SilverPlatter targets -that features the same UI. - -Implemented command update0 in YAZ client which is equivalent to -update but uses old of Ext Update ASN.1. - -Use OID 1.2.840.10003.15.1000.81.1 for privately defined charsets -in charset negotiation. Added VAL_ID_CHARSET in oid.h. -Previously no OID was used for this info. - -ZOOM uses smallSetUpperBound=1 instead of 0 for piggyback searches. -It apparantely upsets EBSCO Publishing IR Z39.50 Server which -returns 'malformed search term' otherwise. - -SortResponse member resultCount now set to NULL in sort handler of -frontend server. - -OPAC support ZOOM. ZOOM_record_get returns OPAC info (as XML) if -type is "opac". - -Add three new utility functions for translating OIDs between various -formats -- symbolic name such as "Usmarc", minus-1-terminated int -arrays and dotted strings such as "1.2.840.10003.9.5.1": - int *oid_name_to_oid(oid_class oclass, const char *name, int *oid); - char *oid_to_dotstring(const int *oid, char *oidbuf); - char *oid_name_to_dotstring(oid_class oclass, const char *name, char *oidbuf); - -Reverted modifications for ES Update definition for z_IU0Update -(OID 1.2.840.10003.9.5.1 and 1.2.840.10003.9.5). The definition -is back to YAZ 2.0.2. - -String value attributes for CCL parser. - -Support for OCLC's locally registered "OCLC-UserInformation" PDU, -which their FirstSearch server returns in Init responses, sometimes -carrying useful diagnostic information when Init fails. This has the -OID 1.2.840.10003.10.1000.17.1 and is defined in the file -"z39.50/oclcui.asn", where its definition is somewhat different from -what OCLC document on their web-site, as required to interoperate with -their servers. - -Support for anonymous authentication in yaz-client. Use the command -"auth -". - -* Fix the OID of the Index Data-local "admin" Extended Service from - 1.2.840.10003.9.81.1 to 1.2.840.10003.9.1000.81.1. The omission of - the 1000, which indicates a locally-defined OID, was a mistake. - ---- 2.0.3 2003/06/20 - -Fix CCL directive @case handling so that it affects string match for -both CCL keywords and qualifiers. - -* ESFormat-Update updates. Packages with OID 1.2.840.10003.9.5.1 and -1.2.840.10003.9.5 are now handled by the same decoder z_IU0Update . -Decoder has been updated with ASN.1 changes as listed in -http://lcweb.loc.gov/z3950/agency/defns/updateES.html -Note that the "latest" DB Update, OID 1.2.840.10003.9.5.1.1 , handler -z_IUUpdate, remains unchanged. - -ZOOM_record_get may now return a record in a specific character set. -For type use "form; charset=from[,to]" where form (render, xml, ..) , -"from" is the character set of record as returned by target. "to" is -the character set to be returned. If omitted, "to" is UTF-8. - -YAZ ASN.1 compiler renamed from yaz-comp to yaz-asncomp - -New ODR utility, odr_getelement, which returns name of element for -which encoding/decoding failed. - -Fixed ODR so that it returns error code OREQUIRED rather than ONONE -in cases where a required element was omitted. - -Bug fix: some MARC8 sequences were not converted. - -New ZOOM option "step" which specifies number of records to be -retrieved in one chunk. Used in conjunction with "start" and "count". - -SRW support for yaz-client. Use scheme http: to use it, e.g. - http://host:port/db - -yaz-client no longer does (un)intelligent character set conversions -by default. Can be enabled with charset and marc_charset commands. - -xmalloc trace fix for 64-bit systems such as DEC alpha. - -Solaris 2.6 compile fix. - -New function, cql_strerror() translates SRW error codes, as returned -by cql_transform_error(), into human-readable English strings. Used -in yaz-client diagnostics when appropriate. - -New CQL2RPN query-type for the command-line yaz-client, parses CQL and -converts it into a type-1 query which is sent to the server. This -makes CQL available for use with all Z-servers, as opposed to the tiny -minority that can handle CQL queries themselves. - ---- 2.0.2 2003/04/28 - -New Debian package layout similar to the Redhat Package layout. - -New ZOOM events ZOOM_EVENT_RECV_{RECORD,SEARCH} for receiving a record -and search result respectively. - ---- 2.0.1 2003/04/25 - -Redhat package is now several packages: libyaz (runtime libraries), -libyaz-devel (development and documentation, and yaz (utility programs). -Package spec file by Morten Bøgeskov. - -New member 'schema' in struct bend_fetch_rr which the name of requested -schema (SRW/SRU) for record (or NULL if none was given). The fetch -handler MAY set this to reflect the schema of the returned record. - -New member 'display_term' in struct scan_entry. GFS now sets member entries -and allocates scan entries to be filled by user scan handler. In previous -version, entries member was allocated by the scan handler. That still works, -but the GFS will ignore member display_term - assuming it was NOT set by -the handler. The fact that the GFS now allocates the entries both allows -for new members and makes a scan handler easier to write. - -Fix CQL lex buffer overflow. - -SRW/SRU recordPacking. For SRW default recordPacking is string. For -SRU default recordPacking is string. - -SRU protocol support for frontend server. - -Fix compile bug for systems that have nl_langinfo but CODESET undefined. - -Added missing PQF transform rules for <= and >= . Thanks to Peter Popovics. - -Added scan for the ZOOM shell (zoomsh). - ---- 2.0 2003/02/23 - -* String Identifers for Schemas (Amendment 5). -http://lcweb.loc.gov/z3950/agency/amend/am5.html -Old definition for schema - Odr_oid *schema; /* OPT */ -New: - int which; - union { - Odr_oid *oid; - Z_InternationalString *uri; - #define Z_Schema_oid 1 - #define Z_Schema_uri 2 - } schema; /* OPT */ - -* resultCount parameter to Sort Response (Amendment 1). -http://lcweb.loc.gov/z3950/agency/amend/am1.html - -Support for SRW 1.0 over HTTP. This is an optional feature and -requires libxml2 to operate. Enable SOAP by specifying --with-xml2 -for configure. - -Generic frontend server supports HTTP/SOAP/SRW and Z39.50/BER -on the same port. SRW SearchRetrieveRequests are mapped -to bend_init,bend_search,bend_fetch,bend_close. - -Z39.50 Query Type-104 added - to facilitate CQL within Z39.50. - -CQL support. Source is directory 'cql'. CQL is supported in ZOOM -(both SRW and Z39.50) and the YAZ client (Z39.50 only). - -ZOOM connections are SRW based if schem http is used for hostname -in connect, e.g. z = ZOOM_connection_new("http://myserver"); -ZOOM_query may be of type CQL, e.g. ZOOM_query_cql(q, "dc.title=x"); - -CCL proximity operators !n, %n converts to PQF @prox 0 n 1 2 k 2 -and @prox 0 n 0 1 k 2 respectively, meaning: exlusion=false, -distance=n, order=true/false, relation=le, prox unit=word. If -n is omitted, distance 1 is used. - -Fixed problem with C compiler include path in wrong order. - -For TCP/IP COMSTACK, set recv buffer to an appropriate "large" value -on Solaris. Patch from Ko van der Sloot. - -New MARC decode API. All new functions operate on a yaz_marc_t -handle. The most important new functions are: yaz_marc_create, -yaz_marc_decode_{buf,wrbuf}, yaz_marc_destroy, .. to create handler, -decode and destroy respectively. Decoder can produce formats -MARC line, simple XML, OAI MARC and MARC XML (LoC). See -include/yaz/marcdisp.h. - -YAZ Iconv utility now supports MARC8 decoding (marc8.c). Converts -to UTF-8, UCS-32, wchar_t or Latin-1. - -* Prototypes for yaz_iconv_-functions moved to separate header -include/yaz/yaz-iconv.h. - -Make a few private functions 'static' in unix.c. This prevents -duplicate unix_close in PHP with YAZ and imap. PHP Bug 20977. - -For ZOOM connection, the options targetImplementation{Id,Name,Version} -are set when Init Response is received. - -New function ZOOM_connection_error_x similar to ZOOM_connection_error -but returns diagnostic set as well. - -New function yaz_strerror which is a portable wrapper for -strerror/strerror_r/GetLastMessage. - -* ZOOM_record_get supports type "xml" in which case MARC XML (from LOC) -is returned for MARC. If type is "oai", then OAI MARC is returned. - -Fix creation of lib/yaz-config so it works if srcdir != objdir. Patch -from Kang-Jin Lee. - ---- 1.9.2 2002/11/26 - -yaz_marc_decode uses OAI MARC as XML format for ISO2709 records. - -Fix bad race conditions on SIGTERM and terminate gracefully in -frontend server. - -Move retrieval (data1) module to Zebra since nobody seems to be -using it. - -Add GRS-1 render for ZOOM using same format as yaz-client. - ---- 1.9.1 2002/10/05 - -Added man pages: yaz-client(1), yaz-ztest(8), yaz(7), zoomsh(1). - -Fix broken ESpec handling in data1 module. - -SGML reader parses comments and makes them part of the data1 tree. - -Added several type casts so that YAZ compiles as C++ code. - -ZOOM didn't handle PDU encoding failures properly. - -Added more Bib-1 diagnostics (approved extensions). - -GNU configure: better check for iconv. - -More portable use of accept, getpeername. Check for socklen_t. Use -int/size_t if socklen_t is not defined. - ---- 1.9 2002/09/06 - -PQF parser rejects bad queries - including those with extra -characters in them. PQF parser used to silently ignore that. -Cleaner API for PQF added, which allows you to get detailed -error information for bad queries (see yaz/pquery.h). - -Fixed bug in ZOOM_record_get for type "database". - -Implemented mini iconv library supporting conversions between -UTF-8, UCS4, UCS4LE and ISO-8859-1. Implemented in util/siconv.c. - -* Removed XML reader (d1_expat.c). It's part of Zebra instead. - ---- 1.8.9 2002/08/20 - -Fixed ZOOM C record cache so that preferredRecordSyntax and -elementSetName is used to check for already fetched records. - ---- 1.8.8 2002/08/02 - -Added three members in bend_initrequest structure to facilitate -character set negotiation. - -Fixed a bug in frontend server that could cause indefinite -loops under rare conditions. - -Revised character set utilities (charneg.h) so that encoding -UCS-4, UCSA-4, UTF-16 and UTF-8 are encoded non-privately. - -For PQF, directive @term sets term type for Scan/Search. -Here is general, string, numeric, null. The term type -is inherited - just like @attr. - -New call odr_set_charset that sets character set conversion for -international-strings on a ODR stream. Prototype is: - int odr_set_charset(ODR o, const char *to, const char *from); -The InternationalString is still represented as C string in YAZ -so native strings of type UTF-8, ASCII, etc. will work (UTF-16 -won't). On the protocol level, you can use any encoding. - -Support for UNIX sockets in ZOOM. - -Solaris recv sometimes returns errno == ENOENT. It is treated as -EINPROGRESS. COMSTACK patch by Ko van der Sloot. - -New COMSTACK of type UNIX Socket. Use "unix:/path" as address for -both client and server. Code by Morten Bøgeskov. - ---- 1.8.7 2002/05/22 - -On Windows ZOOM functions are of type __stdcall rather than __cdecl, so -that they can be used directly from Visual Basic. You must recompile -your windows APP if you're using ZOOM. - -Character Set and Language Negotiation(3) for ZOOM API and YAZ client. -Commands "lang" and "charset" sets language and character set respectively. -Options "lang" and "charset" is interpreted by the ZOOM API. Note, these -are not part of the official ZOOM spec) All is due to Oleg Kolobov. - -Attributes from multiple CCL fields may be OR'ed rather than merged -using directive "@field or". Fields are still merged by default - -equivalent to "@field merge". - -Fixed bug in ZOOM connect that occurred on OpenBSD (maybe others). Patch -by Oleg Kolobov. - -Fixed bug in zget for parameter ExtendedServicesResponse. - -Fix OID for ILL. - ---- 1.8.6 2002/03/25 - -Added PQF feature: '@attr type=value' may be written as '@type=value'. - -Client displays USR.1:SearchResult-1 (hits per term). - -Additional Search Info for search in Generic Frontend Server. - -Fixed CCL parsing of "field=s". - -WIN32 installer - using the excellent NSIS software from nullsoft. - -Fixed CCL parsing of "field = - ". - -Added function yaz_marc_decode that decodes MARC for line mode -display or XML (similar to that used by JZKit). - -Fixed BER decoding of OPTIONAL CHOICE. The bug didn't affect the -Z39.50. But ISO/ILL was, however. - -Added patch by Rustam T. Usmanov that implements Z39.50 duplicate -detection service (Z39.50-1995 Amendment 2) and Language Negotiation (3). -See: - http://lcweb.loc.gov/z3950/agency/amend/am2.html - http://lcweb.loc.gov/z3950/agency/defns/charneg-3.html - ---- 1.8.5 2002/02/03 - -New YAZ client features: Command completion and new commands: -push_command, set_apdufile, set_marcdump, set_cclfields, register_oid. -Code provided by Jacob Poulsen. - -New call oid_trav, that visits all registered OIDs via callback. - -Function ZOOM_record_get now returns const char pointer rather than -void pointer. It saves a lot of type casts. - -For YAZ client, command "auth" now allows you to set authentication -in IdPass style. It is enabled when three tokens are given - order -is user, group and password. - -Fix memory leaks in MARC record handling for ZOOM. - -New option for YAZ client, -k that sets -maximum record size. Similar to -k option for generic frontend -server and yaz-ztest. - -More fixes for scan. Non-zero stepSize handled. OID's fixes. - -Prefix query parser reports "fail" when bad attribute set is given. - -Fix in MARC decoder. Proximity logging. Fix for attribute set -in scan handler for server. Patches by Shigeru Ishida. - -SSL/COMSTACK updates. cs_rcvconnect completes SSL handshake. ZOOM -works with SSL. - -Configure option --with-openssl= now works when a directory is -specified. Patch provided by Morten Bøgeskov. - -New option for YAZ client, -u , that sets authentication. - -ZOOM fix: error information was sometimes "missing", since error -was cleared/reset too when it shouldn't. - -ZOOM_record_get returns ISO2709 buffer when "raw" is given. - ---- 1.8.4 2002/01/04 - -Scan for ZOOM API. New object ZOOM_scanset. New functions -ZOOM_connection_scan, ZOOM_scanset_size, ZOOM_scanset_term and -ZOOM_scanset_destroy. - -New ZOOM function, ZOOM_connection_last_event, that returns type -of last event (such as "receive data", "send data", "apdu received", -etc. - -New ZOOM option, schema, that specifies schema for retrieval. - -New CCL feature. Qualifiers can be aliases for one or more -other qualifiers (if more than one is given, OR is used). - -ZOOM uses named result sets if target supports it. - -Two new YAZ client commands: . (dot, which sources a script of YAZ -client commands), and ! (to execute shell command.). Implemented -by Jacob Poulsen. - -Working on Debian packages. - ---- 1.8.3 2001/11/19 - -YAZ client enables named result sets only if target supports it. - -*** ZOOM. Prefix for ZOOM definitions changed from Z3950_ to ZOOM_. - -* ZOOM. Removed Z3950_connection_host. Use Z3950_connection_option_get -with key="host" to get same result. - -* ZOOM. Added Z3950_record_clone and removed Z3950_resultset_get. -Function Z3950_resultset_record(s) returns references to records -"owned" by resultset. To become owner use Z3950_record_clone. - -Function z_ext_record handles Extended Services. Thanks to -Irina Dijour. - ---- 1.8.2 2001/11/12 - -CCL Parser fix: ignore token comma when dealing with and-lists. - -Documentation updates for COMSTACK. - -* ZOOM changes. Query object renamed from Z3950_search to Z3950_query. -Changed prototype Z3950_records. For some functions, int parameters -were changed to size_t. - -TCP/IP COMSTACK no longer uses getprotobyname to avoid memory leak -on some Unices. - -New MARC decode/display function, marc_display_exl, which properly rejects -non-ISO2709 records. YAZ client uses it. - ---- 1.8.1 2001/10/29 - -Fix bug: local attribute set wasn't set correctly in PQF strings. - ---- 1.8 2001/10/25 - -* Old Z39.50 codecs no longer supported. - -Added ZOOM C binding. See http://zoom.z3950.org/ - -Renamed states for COMSTACKs to avoid confusion with events. - -Implemented cs_look and proper cs_rcvconnect. - -Fixed COMSTACK error that occurred on HPUX. Fix by Giannis Kosmas. - -Configure detects POSIX threads on OpenBSD. - -When sort flag 'i' was specified in yaz-client the caseSensitivy flag -was set to a wrong value. Thanks to Robert Sanderson for reporting this. - -When error is returned from present handler, non-surrogate diagnostic -is returned in present response (and fetch handler is no longer called). - -* Minor adjustments to pquery parser (PQF). Token characters may be -escaped by using backslash (C-style). - -PQF parser allows string attribute values to be specified. For @attr, -non-numeric characters after the equal-sign are treated as strings -(e.g. @attr 9=title). - -CCL trunction character may be defined (@truncation in file) - -* function zget_ExtendedServicesRequest sets waitAction to - waitIfPossible (was wait). - -Added cs_set_blocking to set change blocking mode of a COMSTACK. Thanks -to Matthew Carey. - -CCL operator names may be set in field definition files (CCL_bibset). -See ccl/bib1 for an example. - -Fixes in ASN.1 compiler for C++ compatibility. - -* Renamed members "and" and "or" in struct Z_Operator to "op_and" -and "op_or" to avoid conflict with C++. - -Fixed problem with GNU readline detection on Redhat 7.0. - -Added step-size for Scan backend handler. - -Fixed bug that made the frontend server crash when no attribute -set was specified for scan. - -Front-end server automatically switches to original working directory -when installed as an NT service. Previously -w had to be specified to -make it work. - -Added extended attributes for retrieval module (data1), so that data1 -records carry d1_readXML/SGML attributes. d1_read also supports -null-data rules ( ) - -On UNIX when POSIX threads are available, a separate library libyazthread -is created. Programmers should link with that library and the yaz library -when using threads. The reason for the split was that some applications -on Linux, such as Apache, doesn't work well when using shared objects that -relies on threads. - -Added SSL support for the COMSTACK. You start yaz-client and yaz-ztest -(or any frontend server) in SSL mode by specifying ssl: followed by -address. Only tested on UNIX. - -Added feature for CCL module. Virtual structure s=al or s=ol generates -and-list and or-list respectively instead of phrase search. - -Added some OID's. - -* Added prefix "yaz_" for the functions log_init.., log_file.. and -log_mask_str. This was done to avoid name conflicts with other libraries -(such as other PHP extensions). - -Added raw OID member for preferred record syntax (request_format_raw) -and returned record syntax (output_format_raw) for backend fetch method. - -Config file yaz-config now accepts options so that it returns specific -compile settings, etc. Thanks to Morten Bøgeskov - -Shared library support for UNIX using GNU libtool. - -* Modified backend interface. Request/Response struct's replaced by -one read/write C struct. For example bend_fetchrequest and -bend_fetchresult have been replaced by single bend_fetch_rr struct. -Every handler - even search has to be registered in bend_init -handler. This means that the YAZ library no longer refers to -external functions and it makes it possible to make the whole -thing a single DLL/SO. - -Added Segment handler for backend server. - -Added Zmbol/Zebra administrative functions to YAZ client. - -Threaded frontend server on UNIX (when POSIX Threads are available). -Starting the server with option -T enables multi-threading. - ---- 1.6 2000/03/03 - -Added configure option --enable-comp/disable-comp to control use -of YAZ ASN.1 compiler. Use --disable-comp to use the old *coders -located in sub directory asn. - -YAZ ASN.1 compiler renamed to yaz-comp in sub directory. It's installed -in ${exec_prefix}/bin along with the other programs yaz-client and -yaz-ztest. - -GNU automake used to maintain makefiles. - -Added several OID's. - -Changed retrieval module so that we can load records with no abstract -syntax defined. Tagpaths in these records are fully composed of string -tags. - -Implemented ISO ILL protocol. Refer to stuff in sub directory ill. - ---- 1.5 1999/12/10 - -On UNIX, the generated makefile now supports a proper 'make install'. -The prefix can be set via GNU configure to set the install location -(default is /usr/local). - -* YAZ programs client and ztest were renamed to yaz-client and -yaz-ztest to avoid conflicts when users install YAZ in "standard" -locations, such as /usr/bin,/usr/local/bin,etc. - -* YAZ Header files were moved from include to include/yaz. YAZ Header -files are referred to as include rather than . -The YAZ include path (-I ..) is therefore the same as before. Programmers -should update their #include statements or use -Ipath/include/yaz -instead. The main motivation for doing this change is that YAZ header files -can be installed in "standard" locations /usr/include,/usr/local/include -without introducing conflicts, since ALL YAZ header files are stored -in subdirectory yaz (under /usr/include for example). - -Compilation of YAZ for WIN32 is now handled by an nmake-style makefile -rather than project/workspace files. We switched because project files -are incompatible between Visual C++ 5 and 6. Refer to windows.txt for -details. - -Changed name of logging function, logf, to yaz_log, to prevent name -clash with some math-log functions. The YAZ header log.h defines logf -to yaz_log (#define) so there should be no incompatibilities by this -modification. - -Added bend_start/bend_stop handlers for server. These handler are -called on start/stop of server. For windows they are called whenever -a service is started/stopped. - -* YAZ now auto-generates decoders/encoders for the Z39.50 protocol using -a fairly small ASN.1 compiler written in Tcl. The compiler is located -in util/yc.tcl. The auto-generated C code structures are, in a few -cases, incompatible with the old decoders. There are differences in the -following C structures Z_DiagRec, Z_External, Z_SortRequest, Z_SortResponse, -Z_AttributesPlusTerm, Z_ProximityOperator, Z_DefaultDiagFormat. -The preprocessor variable ASN_COMPILED is defined when the compiled -ASN.1 is being used. Encoder/decoder routines as well as the Z39.50 -protocol ASN.1 is located sub directory z39.50. If you -wish to use the old encoders/decoders you can specify --disable-yc -for configure. - -Assigned OID for old DB Update (VAL_DBUPDATE0). Updated YAZ compiled -version so that it supports both new - and old version of DB Update - -* Added 'name' parameter to ODR encoder/decoder routines to facilitate -pretty ODR print. Updated whole Z39.50 encoder/decoder to reflect the -change. The name parameter can be set to 0 in which no name is specified -for the construction. The macros odr_implicit and odr_explicit sets name -parameter to zero for the construction involved. New macros -odr_implicit_tag and odr_explicit_tag are similar to the others, -except that a name parameter is added. For programmers' that don't use -ODR they probably only need to change the call to z_APDU and z_External. - -Added access control facility by interfacing the TCP wrapper library. -YAZ automatically attempts to find the TCP wrapper Library (-lwrap) and -tcpd.h on Unix systems. For the server, option -d specifies the -name of the daemon and enables the access control as specified in -hosts.allow/hosts.deny. Refer to man pages tcpd(8) and hosts_access(5). - -Fixed memory leak in ccl_find_str and ccl_qual_rm. Thanks to Hans van -den Dool . - -Added reference ID parameter to most functions in server API - refer -to backend.h. Thanks to Hans van den Dool . - -Changed name of ccl library to libccl.a (was ccl.a). - -Fixed bug in decoder for Explain (Category TargetInfo). - -Added support for GNU readline in client. Thanks to Jacob Poulsen -. GNU configure attempts to detect if readline is available. - -* CHANGED DEFINITION OF ES: UPDATE (INCLUDING THE OID) to reflect the -new definition from the ZIG. NOTE THIS IF YOU HAVE AN UPDATE -IMPLEMENTATION! This change was made to the development version before -the ZIG decided to retract the amendment. If any users MUST be -compatible with the original Update definition, PLEASE CONTACT US, and -we will include a separate definition corresponding to the old Update -ES. Note that because of the change to the ASN.1 of the -TaskPackageRecordStructure we cannot define a single structure that -will support both versions. - -* Added const modifier to buffer parameter for some ODR/BER encoding -routines: ber_dectag, ber_declen, odp_more_chunks, completeBER, -completeWAIS, odr_dumpBER. - -Fixed bug in client.c which caused a crash when a scanResponse didn't -contain positionOfTerm. - -* Fixed inconsistency in the ScanResponse/ListEntries protocol. This -* will cause an error in a client if a non-YAZ target sends both a -* list of Scan entries and non-surrogate diagnostics. - -Retrieval module enhancements. Tag sets may be typed in the reference -to it. From the .abs-file the "tagset" directive takes a third optional -integer type for the tag set referenced. From a .tag-file the "include" -directive takes a third optional type as well. The old "type" directive -in the tag set itself is still recognized but acts as the default type -for the tag set. - -Backend interface change. Individual Scan terms returned from bend_scan -may also be tagged as Surrogate Diagnostics. Refer to struct scan_entry -in include/backend.h. - -Retrieval module enhancements. Multiple tag sets and attribute sets may -be specified in abstract syntax specs. Revised the error/warning for -logging messages reported by the retrieval module when reading the -various spec files. - -Object Identifier system (oid_..) changed. The API is backwards -compatible but the oid-routines now allocates new OID's when needed. -Raw OID's may be specified in oid_getvalbyname. - -YAZ now uses GNU configure to generate Makefile(s). - -* Minor changes in some of the member names of DeleteResultSetRequest and -DeleteResultSetResponse. See include/proto.h. - -* Changed some C definitions regarding EXPLAIN record syntax (prt-exp.h) -and added member 'languages' in TargetInfo (which was missing). - -Changed the way attribute sets are handled in the retrieval -module. These are now cached, just like the abstract syntaxes -(schemas). - -Changed YAZ so that it links with compiled ASN.1. - -Added Explain-schema definitions and mapping routines. The following -Explain categories have been implemented: AttributeDetails, -AttributeSetInfo, DatabaseInfo, CategoryList and TargetInfo. - -Fixed minor bug in Windows version of Server Library. - ---- 1.4pl2+ 1998/4/17 (Released with Zebra) - -Added Extended Services to server (backend.h). Thanks to Charles Woodfield. - -Added EXTERNAL: UNIverse Resource Report (non-standard). - -Implemened odr_enum and odr_set_of functions to handle ASN.1 types -ENUMERATED and SET OF. - -* Added 'const' to some of the char pointer arguments for the -functions, data1_read_node, data1_getelementbytagname, -data1_insert_taggeddata, data1_getesetbyname, data1_getelementbyname, -data1_get_absyn. - -Fixed bug in data1_insert_taggeddata - the last_child member of -parent wasn't initialised. - -* Changed data1_read_record and data1_read_node so that the supplied -"SGML"-buffer is read-only. In particular the resulting data1 - tree -doesn't refer to any parts of the "SGML"-buffer. - -Fixed bug in server library (Windows version of statserv_remove). - -* Changed code so that it compiles as C++. The type definition -of Odr_fun which is a member of Odr_arm was changed. The result is, -that an explicit typecast is needed for the fun pointer when -using Odr_arm - as in: - {1, -1, -1, Z_IdAuthentication_idPass, (Odr_fun)z_IdPass}, - -Updated TagSet-G and -M definitions (tagsetm.tag and tagsetg.tag). - -Implemented the new structured date and time definition as approved -by the ZIG. Added schemaId element to the specificTag in Espec-1 -(also approved at the last ZIG). Thanks to RVDM. - -Added some Object identifiers (RVDM). - -Changed the Update Extended Service (RVDM). - -Added command "refid" to client which specifies referenceId for -the following requests. - -Implemented extended service handling for server. See ztest.c -for an example as well as backend.h. New handlers are registerd -in the Init handler. - -* Changed interface for sort in server. - -Added new members to statserv_options_block. It allows a server -to read options from another source than just the command line. Thanks -to Charles Woodfield. - -* Changed definition of Z_Triple in file prt-grs.h - member boolean -renamed to zboolean. Some C++ compilers complained about the name. - -Minor changes to gils.abs. Added index 's' (sort) on title -and date/time-last-modified. - ---- 1.4pl2 1998/1/30 - -Fixed bug in server library regarding inetd mode (-i). This bug -was introduced by release 1.4. - ---- 1.4pl1 1998/1/29 - -Added sort facility in client and backend server interface. - -Fixed problem with dependencies in Makefile(s). - -Fixed bugs for encoders/decoders of extended services and -SearchInfoReport. - -Implemented sub-tree feature for schemas. Sub-trees are -referenced in *.abs-files. See explain.abs for an example -of the use of this feature. - -Modified bib1.att; local attributes for ANY didn't include -ANY itself (only affects use of the retrieval module). - -Fixed bug in plain SGML reader in function data1_read_node: -tags with prefix "var" was incorrectly interpreted as variants. - -Added feature "sub-schemas" to enable references to - and definitions -of - group of elements. - -* Removed member parent from type data1_element (in data1.h). - -Implemented function odr_nullval() that returns the value of -ODR_NULLVAL. - -* Removed member num_children from data1_node (in data1.h). - -Made NT service interface part of the server library. The -function statserv_main uses the NT service when required and -calls the statserv_start / statserv_close routines. - -Routine zget_SearchRequest and zget_PresentRequest fills -resultSetName/Id member with "default" instead of "Default". - -Fixed memory leak in server. Request queue member wasn't freed. - -Fixed nmem_exit so that memory is freed. - ---- 1.4 1997/10/2 - -Revised the CCL parser utility to be thread safe. - -Added function, oid_ent_to_oid, to replace the function -oid_getoidbyent, which is not thread safe. - -* Added nmem_init and nmem_exit to initialize and release -NMEM resources. Function nmem_init should be called once in the -initial thread before NMEM/ODR is used. statserv.c and client.c -have been changed accordingly. The change was necessary to make -NMEM thread safe. The NMEM memory pool is shared amongst threads -in a process. Unix-based applications will still work fine without -calling this. - -Added NT Services interface for the the Z39.50 (statserv) Server. -Refer to the ztest.c source on the usage. - -Windows 95/NT port using MSVC5.0. Project files are included in the -distribution. - -* Defined new 'global' handle for the retrieval (data1) system. The -new handled, data1_handle, describes the state of the data1 system. -This handle is passed as first argument to virtually all -data1 related routines. The functions data1_create and data1_destroy -creates and destroys a data1 handle respectively. - -Added ODR encode stream member to all backend request structures -init, search, scan etc. This stream should be used to allocate all -memory used for the response when thread safe operation is needed. - -Changed the comstack utility, cs_addstr, to be thread safe. The -returned hostname string returned by the function is now part the -COMSTACK instance. - -Added comstack utility, cs_straddr, which replaces the tcpip_strtoaddr -function. The cs_straddr takes a COMSTACK handle as argument, so this -function must be used after cs_create and before bind/connect. -This function is thread safe. - -Moved test server to 'ztest' directory - generic server code still -in 'server' directory. - -Made prefix query (pquery.c) utility thread safe. - -Added new function modifier YAZ_EXPORT to 'export' public DLL -functions when using windows (see include/yconfig.h). - -Added definitions to the OID database (util/oid.c) (RVDM). - -Added new BIB-1 diagnostic messages to the handler diagbib1_str. - -Added call to ccl_rpn_delete in client program. - -Added ODR argument to ccl_rpn_query and ccl_scan_query to provide -release of RPN structure. - -Added support for C++, headers uses extern "C" for public definitions. -With input from RVDM. - -In handling of SEQUENCE OF: Counter set to zero when SEQUENCE OF is absent. -Thanks to Ronald van der Meer (RVDM). - -Added initializers (zget_ routines) for a number of PDUs. Thanks to RVDM. - -Added support for private extensions to the OID database -(oid_setprivateoids()). Thanks to RVDM. - -Added optional, physical ANY (key replication) - -Fixed null-reference problem in GRS-1 output filter. - -Proximity operator added to Prefix Query Format (PQF). - -In test client command "base" accepts multiple databases. - -Fixed bug in cs_close stack that caused trouble with WINSOCK. - ---- 1.3 1996/10/11 - -Fixed tagging bug in ResourceReportResponse PDU encoder/decode. - -Smallish bug-fixes in the new encoders/decoders (explain). - -Bug fixed in DeleteRequest. - -Fixed tagging bug of type 101 query in SearchRequest-Query PDU encoder/decoder. - -Fixed tagging bug in ResourceReportResponse PDU encoder/decode. - -Added SOIF syntax (using private OID for now) to retrieval module and client. - -Added Update extended service. - -Added SearchResult-1 additional info structure. - -Added optional CCL (ISO8777) interpreter as separate module. Available -in linemode client. - ---- 1.2 1996/6/10 (1st anniversary release) - -Added Summary record syntax. Lightly tested. - -Added OPAC record syntax. Untested. - -Added ResourceReport service encoders/decoders. Untested. - -Fixed bug in z_Unit - wrong tagging on unitSystem. - -Fixed bug in the DiagRecs decoder. - -Added options for max PDU size and session timeout to frontend-server. - -Added documentation of query-language parsers and other supporting utilities. - -[frontend-server] Added Attribute set to the bend_scanrequest API. - -[frontend-server] NextResultSetPosition was sometimes set incorrectly when -surrogate diagnostics were generated. - -[retrieval] Allow multiple local values for attribute. - -[retrieval] Allow multiple attributes per element in .abs files. index type. - -[retrieval] Added Summary tagset, abstract syntax, and d1-node/ASN filter. - ---- 1.1pl2 1996/4/10 - -Minor changes, mostly specific to Zebra's requirements (retrieval) - ---- 1.1 1996/2/20 - -Repaired bug in frontend server when running multiple listening -endpoints in dynamic mode. - -z_External() now won't break if a known, ASN.1 value comes encapsulated -in an octet-string. The value will pass through unmodified in an Odr_oct. - -Added a bit of code to the demo client to decode & display -ASN.1-structured records represented in the octet-aligned branch of -the EXTERNAL CHOICE. Thanks to CAS for prodding us to finally do this. - -Added z_ext_getentbyref() to the ASN module. Doc updated. - -* Completed the SCAN definition in the ASN module. This may break SCAN -code based on older YAZ-versions at compile-time. The fix is easy - -look in proto.h. - -* Added 'displayTerm' and OtherInformation to the TermInfo structure -under the SCAN definition. Remember to initialize this, server-people. - -Comstack should now support the WAIS protocol in TCP/IP mode. Note -that this does not extend to ODR and ASN. - -Comstack allows insertion of established socket (primarily for -inetd-operation of servers). Doc updated. - -Front-end server can now start from the inetd in TCP mode. Doc -updated. - ---- 1.0pl4 1996/1/24 - -Added Sort PDU. - -Fixed small problem in SUTRS-filter. A newline was sometimes inserted before -the rank and record number. - -Adjustments to the frontend server. - -Fixed diagnostic BER dumper. It ignored the file argument. - ---- 1.0pl3 1996/1/2 - -Various changes to retrieval module. - -Changed the union discriminators of the protocol files from enums to -ints paired with #defines. - -*Changed oident.class to oident.oclass to avoid a reserved word in C++ - compilers. - -*Changed operator in the RPN structure to 'roperator', again to avoid a - conflict with C++. - -Fixed problems in Explain decoders/encoders. - ---- 1.0pl2 1995/12/6 - -Memory bug in log module fixed. - ---- 1.0pl1 1995/12/5 - -Occasional malloc() of 0 bytes fixed in d1_espec.c. - -Bug in Explain DatabaseInfo module fixed. - -Some '\r' snuck into one or two of the ret'l config tables. A curse on Windows. - ---- 1.0 1995/11/28 - -The shift to v1.0 signals that we now consider the *core* functionality -of YAZ reasonably stable (the core being more or less equivalent to -Z39.50-1992). Some of the really nifty v3 stuff is still not heavily -tested (Explain not at all - though that will happen soonish). - -Minor changes to code to support Windows port. - -Various minor changes after we're getting to use GRS-1 & co. more. - -Added Espec-1 format. - -Added VisibleString field body type to GRS-1. It is illegal acc. to my copy -of the protocol and it cannot be selected when encoding (maps into 'string' -when decoding). Needed to talk to some servers. - -Demo client can request simple element set names. - -Added Diagnostic Format encoders/decoders. - -Added simple Close handling to frontend server (no hooks for resource -reporting yet), and demonstration client. - -Added cs_addrstr() command to COMSTACK to retrieve peer hostname/address. - ---- 1.0b3 1995/08/24 - -Fixed bug in the frontend-server. The numberOfRecordsReturned field was -handled incorrectly when records were requested in the searchResponse. This -will only affect you if you use the frontend-server. - -Added GRS-1 encoders/decoders to the service-level API. Lightly tested. -Test-client will ask for and print GRS1. Ztest will return dummy records -on request. - -Added Explain encoders/decoders to the service-level API. Untested. - -Added Extended Services: Item Order encoders and decoders to the Service- -level API. Untested. We could use a recent copy of the pertinent bits -of the ILL protocol to add those bits. - -Added diagnostic format 1 encoders/decoders to the service-level API. -Untested. - -Moved pretty-printing of structure-wrappers ({..}) from odr_seq.c to -odr_cons.c, which causes a more correct output. - -Fixed handling of searchRequest in frontend server. NextResultSetPosition -was always set to 0 when no records were requested in the searchRequest. - -* Added better external-handling. This shouldn't harm old code that -*encodes* externals. It can break code that looks for a -'single-ASN1-type' representation, since those types that are known -are now decoded immediately. Look at the SUTRS sample code in -seshigh.c and client.c. Documentation updated. - -Handling of structured records in bend_fetchresponse. Length -1 marks -structured record, type is deduced from format field. - ---- 1.0b2 1995/06/27 -Fairly quick maintenance release to add SUTRS support. - -Fixed handling of SUTRS records in the demonstration client. - -* Added format field to the bend_fetchrequest and bend_fetchresponce -structures of the backend API (frontend server). When the record is -returned, the value of the format field is mapped to an OID. The -value VAL_SUTRS will also cause a slightly different ASN.1 packaging -of the record. The special value VAL_NONE in the bend_request means -that no specific format was requested by the client. Documentation -updated accordingly. Test server (ztest) will return a fixed dummy -SUTRS record if your client requests SUTRS. - -Documentation updated accordingly. - -You can now set external libraries and RANLIB support in the top-level -Makefile. - ---- 1.0b 1995/06/19 -First public release. diff --git a/Makefile.am b/Makefile.am index 630ecb6..81da99e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,6 @@ ## Copyright (C) 1994-2004, Index Data ## All rights reserved. -## $Id: Makefile.am,v 1.26 2004-03-29 15:09:14 adam Exp $ +## $Id: Makefile.am,v 1.27 2004-03-29 20:11:13 adam Exp $ AUTOMAKE_OPTIONS = foreign @@ -11,7 +11,7 @@ aclocaldir=$(datadir)/aclocal aclocal_DATA = yaz.m4 SPEC_FILE=$(PACKAGE).spec -EXTRA_DIST=$(SPEC_FILE) README LICENSE CHANGELOG TODO windows.txt \ +EXTRA_DIST=$(SPEC_FILE) README LICENSE NEWS TODO windows.txt \ yaz-config.in yaz.m4 dist-hook: diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..4eaa901 --- /dev/null +++ b/NEWS @@ -0,0 +1,1321 @@ +Possible compatibility problems with earlier versions marked with '*'. + +--- 2.0.19 2004/03/30 + +Rename CHANGELOG to NEWS to follow GNU style packing. + +Fix bug with missing initialization of member in init_diagnostics. +This bug affects threaded version of GFS server. + +--- 2.0.18 2004/03/20 + +Use wrbuf_xmlputs_n instead of wrbuf_write_cdata to avoid clash with +Zebra symbol. + +Ensure zlib.dll is packed with Windows install. + +--- 2.0.17 2004/03/17 + +Fix encoding of xsd:string to use text instead of CDATA. + +Fix endless loop in CQL parser with unbalanced ". + +Use a more compact way to store MARC-8 conversion tables. + +--- 2.0.16 2004/03/16 Debian only + +Oleg Kolobov Fixed a bug in yaz_iconv regarding conversion to +UCS4 / UCS4LE. + +Update CQL parser to use new CQL 1.1 modifiers for booleans and +relations. + +Add CQL test cases. + +--- 2.0.15 2004/03/01 + +Another fix for decoding of XML packed records. + +--- 2.0.14 2004/02/25 + +Fixes for Chunked encoding. White space not ignored after length spec. + +Update NS and use default NS for SRW diagnostic elements. + +--- 2.0.13 2004/02/23 + +Implement ZOOM_resultset_cache_reset which resets record cache. + +Implement ZOOM_resultset_sort which sorts a result set. + +Implement chunked HTTP transfer. + +For SSL, use -lssl -lcrypto on systems that don't have pkg-config. + +--- 2.0.12 2004/02/16 + +Added member 'schema' to bend_explain_rr structure so that backend +can specify explain record identifier. Defaults to Zeerex 2.0. + +Fix encoding of OID's of form 1.0.X. Bug introduced in 2.0.11. + +--- 2.0.11 2004/02/16 + +* SRW/SRU 1.1 updates: updated diagnostic in srw.h to use uri instead +of code. + +Added init command for yaz-client which sends "extra" init request. + +Fixed two bugs in OID codec - ber_oidc. Throw error when encoding/decoding +bad truncated OID. Fix decoding of OID X.Y... when X=2 and Y>39. + +Fixed a bug in ASN.1 compiler that caused Type-1 Operator codec to fail. + +Make ZOOM error code for "invalid query". + +Fixed compilation for SSL which wasn't properly enabled for all platforms. + +--- 2.0.10 2004/02/05 + +For yaz.m4, allow second argument for YAZ_INIT to hold minimal version of +YAZ required. + +* SRW/SRU 1.1 updates. Diagnostic code now a URI. + +Added option -p to make Generic Frontend Server to write PID file. + +Added option -D to put Generic Frontend Server in background on its own. + +Make ZOOM C recognize option "password". If unset, "pass" is used +(for backwards compatibility). + +Fixed a bug in Generic Frontend Server that could make it crash if a +client sets characterSetNegotation bit, but didn't pass negotiation stuff +in InitRequest. + +New YAZ client command, zversion, that sets Z39.50 version (1,2,3..). +Must be issued before open, in order to be in effect. + +--- 2.0.9-6 2004/01/12 Debian/Windows + +Make the SRU server more picky WRT unknown params, etc. + +Bug fix: ZOOM scan response didn't return displayTerm - when present. + +New YAZ client command, options, that sets Z39.50 options. + +New utility functions yaz_init_opt_{encode,decode} to encode/decode Z39.50 +options from a string of tokens (one token for each option bit). + +Update SRW diagnostic code messages. + +--- 2.0.9-5 2004/01/07 Debian/Windows + +Handle user defined stylesheet for SRW/SRU. + +--- 2.0.9-4 2004/01/06 Debian/Windows + +Fix bug in decoding of Content-Length. + +--- 2.0.9-3 2004/01/06 Debian/Windows + +Fix a bug with decoding of XML packed records. + +--- 2.0.9-2 2004/01/05 Debian only + +Allow empty ODR (NMEM=0) for odr_oiddup and odr_getoidbystr. + +Fix bug in SRW/SRU diagnostics decoding. + +--- 2.0.9 2004/01/05 + +Fixed bug in Generic Frontend Server which could drop records exceeding +preferred message size. Reported and fixed by Irina Dijour. + +Fixed calculation of package size for structured records in Generic +Frontend Server. Reported and fixed by Irina Dijour. + +Fixed namespace for SRW/SRU diagnostics. + +Fixed SEGV in yaz-client that occured for HTTP connection errors. + +--- 2.0.8 2003/12/22 + +* SRW/SRU 1.1. Since the Namespace has changed for SRW/SRU, it means that +this version is incompatible with version 1.0 and older YAZ SRW/SRU +implementations. + +CQL changes to reflect recent changes to the specification: +* Documentation talks about context sets instead of index sets. +* Documentation talks about indexes instead of qualifiers. +* The CQL-to-PQF transformer's configuration file now uses + "index.set.name = " instead of the old form + "qualifier.set.name = ". (Both forms are still + understood but the latter is deprecated.) +* CQL terms with no explicit index specified are now interpreted as + cql.serverChoice instead of srw.serverChoice (which of course + behaves exactly the same.) + +--- 2.0.7 2003/12/16 + +MARC conversion can now generate ISO2709 output in another +character set. yaz-marcdump uses this facility if you invoke it +with option -O. + +Added missing C decl macros for include/yaz/{soap.h,srw.h,cql.h}, so that +functions from there can be used from C++. + +--- 2.0.6 2003/12/04 + +Frontend server now transfers memory from decoded packages to stream +ODR for search. + +NMEM now clears freed blocks with 'Y' (hex 59) to force bad memory +references to show up. + +ZOOM-C now supports standard ZOOM option names as described in v1.4 of +the ZOOM Abstract API. The older names for the same options are still +also supported for the benefit of old applications. + +ZOOM-C supports "implementationId" and "implementationVersion" options +to go along with "implementationName". These allow the user code to +specify identification strings to be sent to servers. +Add OID for the new ExtLite attribute set. + +Add OIDs for NACSIS-CATP, FINMARC2000 and MARC21-fin record-syntaxes, + as requested/supplid by Ere Maijala + +For generic frontend server, reverse the order of +"toolkit-supplied / application-supplied" strings sent as implementationId, +Name and Version. Also, remove the spaces around the slash. This brings +the GFS in line with the behaviour of ZOOM-C on the client side. + +Add function ZOOM_scanset_display_term. + +yaz-client shows scan displayTerm if present. + +Utility yaz-iconv is now installed by default along with the man page +yaz-iconv.1. + +Extend configure check for OpenSSL to use pkg-config where available (such +as RedHat 9). + +Incorporate patch by Morten Bogeskov which allows a Unix file socket +server to specify uid/gid/mask for socket using the format + unix:[user=uid,][group=gid,][umask=mask,]file=path +If file= is omitted the existing format is assumed, e.g. + unix:path +in which case the mask is 0666 (rw for everybody). + +Major restructure of YAZ source. All source in libyaz is in src directory. +Programs in client (yaz-client), ztest (yaz-ztest), zoom (zoom programs), +util (utility programs such as ASN.1 compiler, yaz-marcdump). + +Added man page for utility yaz-marcdump (used to be called marcdump). +yaz-marcdump is installed by 'make install'. + +Fixed a memory leak in Generic Frontend Server that occurred when decoding +of incoming package failed. + +Fixed a potential DOS attack vulnerability in COMSTACK/ODR. + +Change prototype of odr_perror: add const to message string. + +New function yaz_log_reopen which reopens log file (for log rotate, etc.) + +* Blocking parameter for COMSTACK cs_create is now a bit mask rather +than a blocking flag. Bit 0 is set for blocking, reset for non-blocking. +Bit 1 is set if cs_addrstr should avoid DNS lookup; reset for full +DNS lookup. There should not be any compatibility problems with this +assuming that blocking=1 or 0 is used. + +Fix bad reference in UNIX comstack in function cs_addrstr. + +Fix for compilation on AIX. + +The generic front-end server (server/seshigh.c) now supports returning +Init diagnostics to the client in User-information-field, in +accordance with Z35.90 Implementor Agreement 5 (Returning diagnostics +in an InitResponse) + +--- 2.0.4 2003/09/04 + +Allow any CQL relation (not just all,any,exact,scr). + +Fixes for OCLC UI ASN.1 to make it work with SilverPlatter targets +that features the same UI. + +Implemented command update0 in YAZ client which is equivalent to +update but uses old of Ext Update ASN.1. + +Use OID 1.2.840.10003.15.1000.81.1 for privately defined charsets +in charset negotiation. Added VAL_ID_CHARSET in oid.h. +Previously no OID was used for this info. + +ZOOM uses smallSetUpperBound=1 instead of 0 for piggyback searches. +It apparantely upsets EBSCO Publishing IR Z39.50 Server which +returns 'malformed search term' otherwise. + +SortResponse member resultCount now set to NULL in sort handler of +frontend server. + +OPAC support ZOOM. ZOOM_record_get returns OPAC info (as XML) if +type is "opac". + +Add three new utility functions for translating OIDs between various +formats -- symbolic name such as "Usmarc", minus-1-terminated int +arrays and dotted strings such as "1.2.840.10003.9.5.1": + int *oid_name_to_oid(oid_class oclass, const char *name, int *oid); + char *oid_to_dotstring(const int *oid, char *oidbuf); + char *oid_name_to_dotstring(oid_class oclass, const char *name, char *oidbuf); + +Reverted modifications for ES Update definition for z_IU0Update +(OID 1.2.840.10003.9.5.1 and 1.2.840.10003.9.5). The definition +is back to YAZ 2.0.2. + +String value attributes for CCL parser. + +Support for OCLC's locally registered "OCLC-UserInformation" PDU, +which their FirstSearch server returns in Init responses, sometimes +carrying useful diagnostic information when Init fails. This has the +OID 1.2.840.10003.10.1000.17.1 and is defined in the file +"z39.50/oclcui.asn", where its definition is somewhat different from +what OCLC document on their web-site, as required to interoperate with +their servers. + +Support for anonymous authentication in yaz-client. Use the command +"auth -". + +* Fix the OID of the Index Data-local "admin" Extended Service from + 1.2.840.10003.9.81.1 to 1.2.840.10003.9.1000.81.1. The omission of + the 1000, which indicates a locally-defined OID, was a mistake. + +--- 2.0.3 2003/06/20 + +Fix CCL directive @case handling so that it affects string match for +both CCL keywords and qualifiers. + +* ESFormat-Update updates. Packages with OID 1.2.840.10003.9.5.1 and +1.2.840.10003.9.5 are now handled by the same decoder z_IU0Update . +Decoder has been updated with ASN.1 changes as listed in +http://lcweb.loc.gov/z3950/agency/defns/updateES.html +Note that the "latest" DB Update, OID 1.2.840.10003.9.5.1.1 , handler +z_IUUpdate, remains unchanged. + +ZOOM_record_get may now return a record in a specific character set. +For type use "form; charset=from[,to]" where form (render, xml, ..) , +"from" is the character set of record as returned by target. "to" is +the character set to be returned. If omitted, "to" is UTF-8. + +YAZ ASN.1 compiler renamed from yaz-comp to yaz-asncomp + +New ODR utility, odr_getelement, which returns name of element for +which encoding/decoding failed. + +Fixed ODR so that it returns error code OREQUIRED rather than ONONE +in cases where a required element was omitted. + +Bug fix: some MARC8 sequences were not converted. + +New ZOOM option "step" which specifies number of records to be +retrieved in one chunk. Used in conjunction with "start" and "count". + +SRW support for yaz-client. Use scheme http: to use it, e.g. + http://host:port/db + +yaz-client no longer does (un)intelligent character set conversions +by default. Can be enabled with charset and marc_charset commands. + +xmalloc trace fix for 64-bit systems such as DEC alpha. + +Solaris 2.6 compile fix. + +New function, cql_strerror() translates SRW error codes, as returned +by cql_transform_error(), into human-readable English strings. Used +in yaz-client diagnostics when appropriate. + +New CQL2RPN query-type for the command-line yaz-client, parses CQL and +converts it into a type-1 query which is sent to the server. This +makes CQL available for use with all Z-servers, as opposed to the tiny +minority that can handle CQL queries themselves. + +--- 2.0.2 2003/04/28 + +New Debian package layout similar to the Redhat Package layout. + +New ZOOM events ZOOM_EVENT_RECV_{RECORD,SEARCH} for receiving a record +and search result respectively. + +--- 2.0.1 2003/04/25 + +Redhat package is now several packages: libyaz (runtime libraries), +libyaz-devel (development and documentation, and yaz (utility programs). +Package spec file by Morten Bøgeskov. + +New member 'schema' in struct bend_fetch_rr which the name of requested +schema (SRW/SRU) for record (or NULL if none was given). The fetch +handler MAY set this to reflect the schema of the returned record. + +New member 'display_term' in struct scan_entry. GFS now sets member entries +and allocates scan entries to be filled by user scan handler. In previous +version, entries member was allocated by the scan handler. That still works, +but the GFS will ignore member display_term - assuming it was NOT set by +the handler. The fact that the GFS now allocates the entries both allows +for new members and makes a scan handler easier to write. + +Fix CQL lex buffer overflow. + +SRW/SRU recordPacking. For SRW default recordPacking is string. For +SRU default recordPacking is string. + +SRU protocol support for frontend server. + +Fix compile bug for systems that have nl_langinfo but CODESET undefined. + +Added missing PQF transform rules for <= and >= . Thanks to Peter Popovics. + +Added scan for the ZOOM shell (zoomsh). + +--- 2.0 2003/02/23 + +* String Identifers for Schemas (Amendment 5). +http://lcweb.loc.gov/z3950/agency/amend/am5.html +Old definition for schema + Odr_oid *schema; /* OPT */ +New: + int which; + union { + Odr_oid *oid; + Z_InternationalString *uri; + #define Z_Schema_oid 1 + #define Z_Schema_uri 2 + } schema; /* OPT */ + +* resultCount parameter to Sort Response (Amendment 1). +http://lcweb.loc.gov/z3950/agency/amend/am1.html + +Support for SRW 1.0 over HTTP. This is an optional feature and +requires libxml2 to operate. Enable SOAP by specifying --with-xml2 +for configure. + +Generic frontend server supports HTTP/SOAP/SRW and Z39.50/BER +on the same port. SRW SearchRetrieveRequests are mapped +to bend_init,bend_search,bend_fetch,bend_close. + +Z39.50 Query Type-104 added - to facilitate CQL within Z39.50. + +CQL support. Source is directory 'cql'. CQL is supported in ZOOM +(both SRW and Z39.50) and the YAZ client (Z39.50 only). + +ZOOM connections are SRW based if schem http is used for hostname +in connect, e.g. z = ZOOM_connection_new("http://myserver"); +ZOOM_query may be of type CQL, e.g. ZOOM_query_cql(q, "dc.title=x"); + +CCL proximity operators !n, %n converts to PQF @prox 0 n 1 2 k 2 +and @prox 0 n 0 1 k 2 respectively, meaning: exlusion=false, +distance=n, order=true/false, relation=le, prox unit=word. If +n is omitted, distance 1 is used. + +Fixed problem with C compiler include path in wrong order. + +For TCP/IP COMSTACK, set recv buffer to an appropriate "large" value +on Solaris. Patch from Ko van der Sloot. + +New MARC decode API. All new functions operate on a yaz_marc_t +handle. The most important new functions are: yaz_marc_create, +yaz_marc_decode_{buf,wrbuf}, yaz_marc_destroy, .. to create handler, +decode and destroy respectively. Decoder can produce formats +MARC line, simple XML, OAI MARC and MARC XML (LoC). See +include/yaz/marcdisp.h. + +YAZ Iconv utility now supports MARC8 decoding (marc8.c). Converts +to UTF-8, UCS-32, wchar_t or Latin-1. + +* Prototypes for yaz_iconv_-functions moved to separate header +include/yaz/yaz-iconv.h. + +Make a few private functions 'static' in unix.c. This prevents +duplicate unix_close in PHP with YAZ and imap. PHP Bug 20977. + +For ZOOM connection, the options targetImplementation{Id,Name,Version} +are set when Init Response is received. + +New function ZOOM_connection_error_x similar to ZOOM_connection_error +but returns diagnostic set as well. + +New function yaz_strerror which is a portable wrapper for +strerror/strerror_r/GetLastMessage. + +* ZOOM_record_get supports type "xml" in which case MARC XML (from LOC) +is returned for MARC. If type is "oai", then OAI MARC is returned. + +Fix creation of lib/yaz-config so it works if srcdir != objdir. Patch +from Kang-Jin Lee. + +--- 1.9.2 2002/11/26 + +yaz_marc_decode uses OAI MARC as XML format for ISO2709 records. + +Fix bad race conditions on SIGTERM and terminate gracefully in +frontend server. + +Move retrieval (data1) module to Zebra since nobody seems to be +using it. + +Add GRS-1 render for ZOOM using same format as yaz-client. + +--- 1.9.1 2002/10/05 + +Added man pages: yaz-client(1), yaz-ztest(8), yaz(7), zoomsh(1). + +Fix broken ESpec handling in data1 module. + +SGML reader parses comments and makes them part of the data1 tree. + +Added several type casts so that YAZ compiles as C++ code. + +ZOOM didn't handle PDU encoding failures properly. + +Added more Bib-1 diagnostics (approved extensions). + +GNU configure: better check for iconv. + +More portable use of accept, getpeername. Check for socklen_t. Use +int/size_t if socklen_t is not defined. + +--- 1.9 2002/09/06 + +PQF parser rejects bad queries - including those with extra +characters in them. PQF parser used to silently ignore that. +Cleaner API for PQF added, which allows you to get detailed +error information for bad queries (see yaz/pquery.h). + +Fixed bug in ZOOM_record_get for type "database". + +Implemented mini iconv library supporting conversions between +UTF-8, UCS4, UCS4LE and ISO-8859-1. Implemented in util/siconv.c. + +* Removed XML reader (d1_expat.c). It's part of Zebra instead. + +--- 1.8.9 2002/08/20 + +Fixed ZOOM C record cache so that preferredRecordSyntax and +elementSetName is used to check for already fetched records. + +--- 1.8.8 2002/08/02 + +Added three members in bend_initrequest structure to facilitate +character set negotiation. + +Fixed a bug in frontend server that could cause indefinite +loops under rare conditions. + +Revised character set utilities (charneg.h) so that encoding +UCS-4, UCSA-4, UTF-16 and UTF-8 are encoded non-privately. + +For PQF, directive @term sets term type for Scan/Search. +Here is general, string, numeric, null. The term type +is inherited - just like @attr. + +New call odr_set_charset that sets character set conversion for +international-strings on a ODR stream. Prototype is: + int odr_set_charset(ODR o, const char *to, const char *from); +The InternationalString is still represented as C string in YAZ +so native strings of type UTF-8, ASCII, etc. will work (UTF-16 +won't). On the protocol level, you can use any encoding. + +Support for UNIX sockets in ZOOM. + +Solaris recv sometimes returns errno == ENOENT. It is treated as +EINPROGRESS. COMSTACK patch by Ko van der Sloot. + +New COMSTACK of type UNIX Socket. Use "unix:/path" as address for +both client and server. Code by Morten Bøgeskov. + +--- 1.8.7 2002/05/22 + +On Windows ZOOM functions are of type __stdcall rather than __cdecl, so +that they can be used directly from Visual Basic. You must recompile +your windows APP if you're using ZOOM. + +Character Set and Language Negotiation(3) for ZOOM API and YAZ client. +Commands "lang" and "charset" sets language and character set respectively. +Options "lang" and "charset" is interpreted by the ZOOM API. Note, these +are not part of the official ZOOM spec) All is due to Oleg Kolobov. + +Attributes from multiple CCL fields may be OR'ed rather than merged +using directive "@field or". Fields are still merged by default - +equivalent to "@field merge". + +Fixed bug in ZOOM connect that occurred on OpenBSD (maybe others). Patch +by Oleg Kolobov. + +Fixed bug in zget for parameter ExtendedServicesResponse. + +Fix OID for ILL. + +--- 1.8.6 2002/03/25 + +Added PQF feature: '@attr type=value' may be written as '@type=value'. + +Client displays USR.1:SearchResult-1 (hits per term). + +Additional Search Info for search in Generic Frontend Server. + +Fixed CCL parsing of "field=s". + +WIN32 installer - using the excellent NSIS software from nullsoft. + +Fixed CCL parsing of "field = - ". + +Added function yaz_marc_decode that decodes MARC for line mode +display or XML (similar to that used by JZKit). + +Fixed BER decoding of OPTIONAL CHOICE. The bug didn't affect the +Z39.50. But ISO/ILL was, however. + +Added patch by Rustam T. Usmanov that implements Z39.50 duplicate +detection service (Z39.50-1995 Amendment 2) and Language Negotiation (3). +See: + http://lcweb.loc.gov/z3950/agency/amend/am2.html + http://lcweb.loc.gov/z3950/agency/defns/charneg-3.html + +--- 1.8.5 2002/02/03 + +New YAZ client features: Command completion and new commands: +push_command, set_apdufile, set_marcdump, set_cclfields, register_oid. +Code provided by Jacob Poulsen. + +New call oid_trav, that visits all registered OIDs via callback. + +Function ZOOM_record_get now returns const char pointer rather than +void pointer. It saves a lot of type casts. + +For YAZ client, command "auth" now allows you to set authentication +in IdPass style. It is enabled when three tokens are given - order +is user, group and password. + +Fix memory leaks in MARC record handling for ZOOM. + +New option for YAZ client, -k that sets +maximum record size. Similar to -k option for generic frontend +server and yaz-ztest. + +More fixes for scan. Non-zero stepSize handled. OID's fixes. + +Prefix query parser reports "fail" when bad attribute set is given. + +Fix in MARC decoder. Proximity logging. Fix for attribute set +in scan handler for server. Patches by Shigeru Ishida. + +SSL/COMSTACK updates. cs_rcvconnect completes SSL handshake. ZOOM +works with SSL. + +Configure option --with-openssl= now works when a directory is +specified. Patch provided by Morten Bøgeskov. + +New option for YAZ client, -u , that sets authentication. + +ZOOM fix: error information was sometimes "missing", since error +was cleared/reset too when it shouldn't. + +ZOOM_record_get returns ISO2709 buffer when "raw" is given. + +--- 1.8.4 2002/01/04 + +Scan for ZOOM API. New object ZOOM_scanset. New functions +ZOOM_connection_scan, ZOOM_scanset_size, ZOOM_scanset_term and +ZOOM_scanset_destroy. + +New ZOOM function, ZOOM_connection_last_event, that returns type +of last event (such as "receive data", "send data", "apdu received", +etc. + +New ZOOM option, schema, that specifies schema for retrieval. + +New CCL feature. Qualifiers can be aliases for one or more +other qualifiers (if more than one is given, OR is used). + +ZOOM uses named result sets if target supports it. + +Two new YAZ client commands: . (dot, which sources a script of YAZ +client commands), and ! (to execute shell command.). Implemented +by Jacob Poulsen. + +Working on Debian packages. + +--- 1.8.3 2001/11/19 + +YAZ client enables named result sets only if target supports it. + +*** ZOOM. Prefix for ZOOM definitions changed from Z3950_ to ZOOM_. + +* ZOOM. Removed Z3950_connection_host. Use Z3950_connection_option_get +with key="host" to get same result. + +* ZOOM. Added Z3950_record_clone and removed Z3950_resultset_get. +Function Z3950_resultset_record(s) returns references to records +"owned" by resultset. To become owner use Z3950_record_clone. + +Function z_ext_record handles Extended Services. Thanks to +Irina Dijour. + +--- 1.8.2 2001/11/12 + +CCL Parser fix: ignore token comma when dealing with and-lists. + +Documentation updates for COMSTACK. + +* ZOOM changes. Query object renamed from Z3950_search to Z3950_query. +Changed prototype Z3950_records. For some functions, int parameters +were changed to size_t. + +TCP/IP COMSTACK no longer uses getprotobyname to avoid memory leak +on some Unices. + +New MARC decode/display function, marc_display_exl, which properly rejects +non-ISO2709 records. YAZ client uses it. + +--- 1.8.1 2001/10/29 + +Fix bug: local attribute set wasn't set correctly in PQF strings. + +--- 1.8 2001/10/25 + +* Old Z39.50 codecs no longer supported. + +Added ZOOM C binding. See http://zoom.z3950.org/ + +Renamed states for COMSTACKs to avoid confusion with events. + +Implemented cs_look and proper cs_rcvconnect. + +Fixed COMSTACK error that occurred on HPUX. Fix by Giannis Kosmas. + +Configure detects POSIX threads on OpenBSD. + +When sort flag 'i' was specified in yaz-client the caseSensitivy flag +was set to a wrong value. Thanks to Robert Sanderson for reporting this. + +When error is returned from present handler, non-surrogate diagnostic +is returned in present response (and fetch handler is no longer called). + +* Minor adjustments to pquery parser (PQF). Token characters may be +escaped by using backslash (C-style). + +PQF parser allows string attribute values to be specified. For @attr, +non-numeric characters after the equal-sign are treated as strings +(e.g. @attr 9=title). + +CCL trunction character may be defined (@truncation in file) + +* function zget_ExtendedServicesRequest sets waitAction to + waitIfPossible (was wait). + +Added cs_set_blocking to set change blocking mode of a COMSTACK. Thanks +to Matthew Carey. + +CCL operator names may be set in field definition files (CCL_bibset). +See ccl/bib1 for an example. + +Fixes in ASN.1 compiler for C++ compatibility. + +* Renamed members "and" and "or" in struct Z_Operator to "op_and" +and "op_or" to avoid conflict with C++. + +Fixed problem with GNU readline detection on Redhat 7.0. + +Added step-size for Scan backend handler. + +Fixed bug that made the frontend server crash when no attribute +set was specified for scan. + +Front-end server automatically switches to original working directory +when installed as an NT service. Previously -w had to be specified to +make it work. + +Added extended attributes for retrieval module (data1), so that data1 +records carry d1_readXML/SGML attributes. d1_read also supports +null-data rules ( ) + +On UNIX when POSIX threads are available, a separate library libyazthread +is created. Programmers should link with that library and the yaz library +when using threads. The reason for the split was that some applications +on Linux, such as Apache, doesn't work well when using shared objects that +relies on threads. + +Added SSL support for the COMSTACK. You start yaz-client and yaz-ztest +(or any frontend server) in SSL mode by specifying ssl: followed by +address. Only tested on UNIX. + +Added feature for CCL module. Virtual structure s=al or s=ol generates +and-list and or-list respectively instead of phrase search. + +Added some OID's. + +* Added prefix "yaz_" for the functions log_init.., log_file.. and +log_mask_str. This was done to avoid name conflicts with other libraries +(such as other PHP extensions). + +Added raw OID member for preferred record syntax (request_format_raw) +and returned record syntax (output_format_raw) for backend fetch method. + +Config file yaz-config now accepts options so that it returns specific +compile settings, etc. Thanks to Morten Bøgeskov + +Shared library support for UNIX using GNU libtool. + +* Modified backend interface. Request/Response struct's replaced by +one read/write C struct. For example bend_fetchrequest and +bend_fetchresult have been replaced by single bend_fetch_rr struct. +Every handler - even search has to be registered in bend_init +handler. This means that the YAZ library no longer refers to +external functions and it makes it possible to make the whole +thing a single DLL/SO. + +Added Segment handler for backend server. + +Added Zmbol/Zebra administrative functions to YAZ client. + +Threaded frontend server on UNIX (when POSIX Threads are available). +Starting the server with option -T enables multi-threading. + +--- 1.6 2000/03/03 + +Added configure option --enable-comp/disable-comp to control use +of YAZ ASN.1 compiler. Use --disable-comp to use the old *coders +located in sub directory asn. + +YAZ ASN.1 compiler renamed to yaz-comp in sub directory. It's installed +in ${exec_prefix}/bin along with the other programs yaz-client and +yaz-ztest. + +GNU automake used to maintain makefiles. + +Added several OID's. + +Changed retrieval module so that we can load records with no abstract +syntax defined. Tagpaths in these records are fully composed of string +tags. + +Implemented ISO ILL protocol. Refer to stuff in sub directory ill. + +--- 1.5 1999/12/10 + +On UNIX, the generated makefile now supports a proper 'make install'. +The prefix can be set via GNU configure to set the install location +(default is /usr/local). + +* YAZ programs client and ztest were renamed to yaz-client and +yaz-ztest to avoid conflicts when users install YAZ in "standard" +locations, such as /usr/bin,/usr/local/bin,etc. + +* YAZ Header files were moved from include to include/yaz. YAZ Header +files are referred to as include rather than . +The YAZ include path (-I ..) is therefore the same as before. Programmers +should update their #include statements or use -Ipath/include/yaz +instead. The main motivation for doing this change is that YAZ header files +can be installed in "standard" locations /usr/include,/usr/local/include +without introducing conflicts, since ALL YAZ header files are stored +in subdirectory yaz (under /usr/include for example). + +Compilation of YAZ for WIN32 is now handled by an nmake-style makefile +rather than project/workspace files. We switched because project files +are incompatible between Visual C++ 5 and 6. Refer to windows.txt for +details. + +Changed name of logging function, logf, to yaz_log, to prevent name +clash with some math-log functions. The YAZ header log.h defines logf +to yaz_log (#define) so there should be no incompatibilities by this +modification. + +Added bend_start/bend_stop handlers for server. These handler are +called on start/stop of server. For windows they are called whenever +a service is started/stopped. + +* YAZ now auto-generates decoders/encoders for the Z39.50 protocol using +a fairly small ASN.1 compiler written in Tcl. The compiler is located +in util/yc.tcl. The auto-generated C code structures are, in a few +cases, incompatible with the old decoders. There are differences in the +following C structures Z_DiagRec, Z_External, Z_SortRequest, Z_SortResponse, +Z_AttributesPlusTerm, Z_ProximityOperator, Z_DefaultDiagFormat. +The preprocessor variable ASN_COMPILED is defined when the compiled +ASN.1 is being used. Encoder/decoder routines as well as the Z39.50 +protocol ASN.1 is located sub directory z39.50. If you +wish to use the old encoders/decoders you can specify --disable-yc +for configure. + +Assigned OID for old DB Update (VAL_DBUPDATE0). Updated YAZ compiled +version so that it supports both new - and old version of DB Update + +* Added 'name' parameter to ODR encoder/decoder routines to facilitate +pretty ODR print. Updated whole Z39.50 encoder/decoder to reflect the +change. The name parameter can be set to 0 in which no name is specified +for the construction. The macros odr_implicit and odr_explicit sets name +parameter to zero for the construction involved. New macros +odr_implicit_tag and odr_explicit_tag are similar to the others, +except that a name parameter is added. For programmers' that don't use +ODR they probably only need to change the call to z_APDU and z_External. + +Added access control facility by interfacing the TCP wrapper library. +YAZ automatically attempts to find the TCP wrapper Library (-lwrap) and +tcpd.h on Unix systems. For the server, option -d specifies the +name of the daemon and enables the access control as specified in +hosts.allow/hosts.deny. Refer to man pages tcpd(8) and hosts_access(5). + +Fixed memory leak in ccl_find_str and ccl_qual_rm. Thanks to Hans van +den Dool . + +Added reference ID parameter to most functions in server API - refer +to backend.h. Thanks to Hans van den Dool . + +Changed name of ccl library to libccl.a (was ccl.a). + +Fixed bug in decoder for Explain (Category TargetInfo). + +Added support for GNU readline in client. Thanks to Jacob Poulsen +. GNU configure attempts to detect if readline is available. + +* CHANGED DEFINITION OF ES: UPDATE (INCLUDING THE OID) to reflect the +new definition from the ZIG. NOTE THIS IF YOU HAVE AN UPDATE +IMPLEMENTATION! This change was made to the development version before +the ZIG decided to retract the amendment. If any users MUST be +compatible with the original Update definition, PLEASE CONTACT US, and +we will include a separate definition corresponding to the old Update +ES. Note that because of the change to the ASN.1 of the +TaskPackageRecordStructure we cannot define a single structure that +will support both versions. + +* Added const modifier to buffer parameter for some ODR/BER encoding +routines: ber_dectag, ber_declen, odp_more_chunks, completeBER, +completeWAIS, odr_dumpBER. + +Fixed bug in client.c which caused a crash when a scanResponse didn't +contain positionOfTerm. + +* Fixed inconsistency in the ScanResponse/ListEntries protocol. This +* will cause an error in a client if a non-YAZ target sends both a +* list of Scan entries and non-surrogate diagnostics. + +Retrieval module enhancements. Tag sets may be typed in the reference +to it. From the .abs-file the "tagset" directive takes a third optional +integer type for the tag set referenced. From a .tag-file the "include" +directive takes a third optional type as well. The old "type" directive +in the tag set itself is still recognized but acts as the default type +for the tag set. + +Backend interface change. Individual Scan terms returned from bend_scan +may also be tagged as Surrogate Diagnostics. Refer to struct scan_entry +in include/backend.h. + +Retrieval module enhancements. Multiple tag sets and attribute sets may +be specified in abstract syntax specs. Revised the error/warning for +logging messages reported by the retrieval module when reading the +various spec files. + +Object Identifier system (oid_..) changed. The API is backwards +compatible but the oid-routines now allocates new OID's when needed. +Raw OID's may be specified in oid_getvalbyname. + +YAZ now uses GNU configure to generate Makefile(s). + +* Minor changes in some of the member names of DeleteResultSetRequest and +DeleteResultSetResponse. See include/proto.h. + +* Changed some C definitions regarding EXPLAIN record syntax (prt-exp.h) +and added member 'languages' in TargetInfo (which was missing). + +Changed the way attribute sets are handled in the retrieval +module. These are now cached, just like the abstract syntaxes +(schemas). + +Changed YAZ so that it links with compiled ASN.1. + +Added Explain-schema definitions and mapping routines. The following +Explain categories have been implemented: AttributeDetails, +AttributeSetInfo, DatabaseInfo, CategoryList and TargetInfo. + +Fixed minor bug in Windows version of Server Library. + +--- 1.4pl2+ 1998/4/17 (Released with Zebra) + +Added Extended Services to server (backend.h). Thanks to Charles Woodfield. + +Added EXTERNAL: UNIverse Resource Report (non-standard). + +Implemened odr_enum and odr_set_of functions to handle ASN.1 types +ENUMERATED and SET OF. + +* Added 'const' to some of the char pointer arguments for the +functions, data1_read_node, data1_getelementbytagname, +data1_insert_taggeddata, data1_getesetbyname, data1_getelementbyname, +data1_get_absyn. + +Fixed bug in data1_insert_taggeddata - the last_child member of +parent wasn't initialised. + +* Changed data1_read_record and data1_read_node so that the supplied +"SGML"-buffer is read-only. In particular the resulting data1 - tree +doesn't refer to any parts of the "SGML"-buffer. + +Fixed bug in server library (Windows version of statserv_remove). + +* Changed code so that it compiles as C++. The type definition +of Odr_fun which is a member of Odr_arm was changed. The result is, +that an explicit typecast is needed for the fun pointer when +using Odr_arm - as in: + {1, -1, -1, Z_IdAuthentication_idPass, (Odr_fun)z_IdPass}, + +Updated TagSet-G and -M definitions (tagsetm.tag and tagsetg.tag). + +Implemented the new structured date and time definition as approved +by the ZIG. Added schemaId element to the specificTag in Espec-1 +(also approved at the last ZIG). Thanks to RVDM. + +Added some Object identifiers (RVDM). + +Changed the Update Extended Service (RVDM). + +Added command "refid" to client which specifies referenceId for +the following requests. + +Implemented extended service handling for server. See ztest.c +for an example as well as backend.h. New handlers are registerd +in the Init handler. + +* Changed interface for sort in server. + +Added new members to statserv_options_block. It allows a server +to read options from another source than just the command line. Thanks +to Charles Woodfield. + +* Changed definition of Z_Triple in file prt-grs.h - member boolean +renamed to zboolean. Some C++ compilers complained about the name. + +Minor changes to gils.abs. Added index 's' (sort) on title +and date/time-last-modified. + +--- 1.4pl2 1998/1/30 + +Fixed bug in server library regarding inetd mode (-i). This bug +was introduced by release 1.4. + +--- 1.4pl1 1998/1/29 + +Added sort facility in client and backend server interface. + +Fixed problem with dependencies in Makefile(s). + +Fixed bugs for encoders/decoders of extended services and +SearchInfoReport. + +Implemented sub-tree feature for schemas. Sub-trees are +referenced in *.abs-files. See explain.abs for an example +of the use of this feature. + +Modified bib1.att; local attributes for ANY didn't include +ANY itself (only affects use of the retrieval module). + +Fixed bug in plain SGML reader in function data1_read_node: +tags with prefix "var" was incorrectly interpreted as variants. + +Added feature "sub-schemas" to enable references to - and definitions +of - group of elements. + +* Removed member parent from type data1_element (in data1.h). + +Implemented function odr_nullval() that returns the value of +ODR_NULLVAL. + +* Removed member num_children from data1_node (in data1.h). + +Made NT service interface part of the server library. The +function statserv_main uses the NT service when required and +calls the statserv_start / statserv_close routines. + +Routine zget_SearchRequest and zget_PresentRequest fills +resultSetName/Id member with "default" instead of "Default". + +Fixed memory leak in server. Request queue member wasn't freed. + +Fixed nmem_exit so that memory is freed. + +--- 1.4 1997/10/2 + +Revised the CCL parser utility to be thread safe. + +Added function, oid_ent_to_oid, to replace the function +oid_getoidbyent, which is not thread safe. + +* Added nmem_init and nmem_exit to initialize and release +NMEM resources. Function nmem_init should be called once in the +initial thread before NMEM/ODR is used. statserv.c and client.c +have been changed accordingly. The change was necessary to make +NMEM thread safe. The NMEM memory pool is shared amongst threads +in a process. Unix-based applications will still work fine without +calling this. + +Added NT Services interface for the the Z39.50 (statserv) Server. +Refer to the ztest.c source on the usage. + +Windows 95/NT port using MSVC5.0. Project files are included in the +distribution. + +* Defined new 'global' handle for the retrieval (data1) system. The +new handled, data1_handle, describes the state of the data1 system. +This handle is passed as first argument to virtually all +data1 related routines. The functions data1_create and data1_destroy +creates and destroys a data1 handle respectively. + +Added ODR encode stream member to all backend request structures +init, search, scan etc. This stream should be used to allocate all +memory used for the response when thread safe operation is needed. + +Changed the comstack utility, cs_addstr, to be thread safe. The +returned hostname string returned by the function is now part the +COMSTACK instance. + +Added comstack utility, cs_straddr, which replaces the tcpip_strtoaddr +function. The cs_straddr takes a COMSTACK handle as argument, so this +function must be used after cs_create and before bind/connect. +This function is thread safe. + +Moved test server to 'ztest' directory - generic server code still +in 'server' directory. + +Made prefix query (pquery.c) utility thread safe. + +Added new function modifier YAZ_EXPORT to 'export' public DLL +functions when using windows (see include/yconfig.h). + +Added definitions to the OID database (util/oid.c) (RVDM). + +Added new BIB-1 diagnostic messages to the handler diagbib1_str. + +Added call to ccl_rpn_delete in client program. + +Added ODR argument to ccl_rpn_query and ccl_scan_query to provide +release of RPN structure. + +Added support for C++, headers uses extern "C" for public definitions. +With input from RVDM. + +In handling of SEQUENCE OF: Counter set to zero when SEQUENCE OF is absent. +Thanks to Ronald van der Meer (RVDM). + +Added initializers (zget_ routines) for a number of PDUs. Thanks to RVDM. + +Added support for private extensions to the OID database +(oid_setprivateoids()). Thanks to RVDM. + +Added optional, physical ANY (key replication) + +Fixed null-reference problem in GRS-1 output filter. + +Proximity operator added to Prefix Query Format (PQF). + +In test client command "base" accepts multiple databases. + +Fixed bug in cs_close stack that caused trouble with WINSOCK. + +--- 1.3 1996/10/11 + +Fixed tagging bug in ResourceReportResponse PDU encoder/decode. + +Smallish bug-fixes in the new encoders/decoders (explain). + +Bug fixed in DeleteRequest. + +Fixed tagging bug of type 101 query in SearchRequest-Query PDU encoder/decoder. + +Fixed tagging bug in ResourceReportResponse PDU encoder/decode. + +Added SOIF syntax (using private OID for now) to retrieval module and client. + +Added Update extended service. + +Added SearchResult-1 additional info structure. + +Added optional CCL (ISO8777) interpreter as separate module. Available +in linemode client. + +--- 1.2 1996/6/10 (1st anniversary release) + +Added Summary record syntax. Lightly tested. + +Added OPAC record syntax. Untested. + +Added ResourceReport service encoders/decoders. Untested. + +Fixed bug in z_Unit - wrong tagging on unitSystem. + +Fixed bug in the DiagRecs decoder. + +Added options for max PDU size and session timeout to frontend-server. + +Added documentation of query-language parsers and other supporting utilities. + +[frontend-server] Added Attribute set to the bend_scanrequest API. + +[frontend-server] NextResultSetPosition was sometimes set incorrectly when +surrogate diagnostics were generated. + +[retrieval] Allow multiple local values for attribute. + +[retrieval] Allow multiple attributes per element in .abs files. index type. + +[retrieval] Added Summary tagset, abstract syntax, and d1-node/ASN filter. + +--- 1.1pl2 1996/4/10 + +Minor changes, mostly specific to Zebra's requirements (retrieval) + +--- 1.1 1996/2/20 + +Repaired bug in frontend server when running multiple listening +endpoints in dynamic mode. + +z_External() now won't break if a known, ASN.1 value comes encapsulated +in an octet-string. The value will pass through unmodified in an Odr_oct. + +Added a bit of code to the demo client to decode & display +ASN.1-structured records represented in the octet-aligned branch of +the EXTERNAL CHOICE. Thanks to CAS for prodding us to finally do this. + +Added z_ext_getentbyref() to the ASN module. Doc updated. + +* Completed the SCAN definition in the ASN module. This may break SCAN +code based on older YAZ-versions at compile-time. The fix is easy - +look in proto.h. + +* Added 'displayTerm' and OtherInformation to the TermInfo structure +under the SCAN definition. Remember to initialize this, server-people. + +Comstack should now support the WAIS protocol in TCP/IP mode. Note +that this does not extend to ODR and ASN. + +Comstack allows insertion of established socket (primarily for +inetd-operation of servers). Doc updated. + +Front-end server can now start from the inetd in TCP mode. Doc +updated. + +--- 1.0pl4 1996/1/24 + +Added Sort PDU. + +Fixed small problem in SUTRS-filter. A newline was sometimes inserted before +the rank and record number. + +Adjustments to the frontend server. + +Fixed diagnostic BER dumper. It ignored the file argument. + +--- 1.0pl3 1996/1/2 + +Various changes to retrieval module. + +Changed the union discriminators of the protocol files from enums to +ints paired with #defines. + +*Changed oident.class to oident.oclass to avoid a reserved word in C++ + compilers. + +*Changed operator in the RPN structure to 'roperator', again to avoid a + conflict with C++. + +Fixed problems in Explain decoders/encoders. + +--- 1.0pl2 1995/12/6 + +Memory bug in log module fixed. + +--- 1.0pl1 1995/12/5 + +Occasional malloc() of 0 bytes fixed in d1_espec.c. + +Bug in Explain DatabaseInfo module fixed. + +Some '\r' snuck into one or two of the ret'l config tables. A curse on Windows. + +--- 1.0 1995/11/28 + +The shift to v1.0 signals that we now consider the *core* functionality +of YAZ reasonably stable (the core being more or less equivalent to +Z39.50-1992). Some of the really nifty v3 stuff is still not heavily +tested (Explain not at all - though that will happen soonish). + +Minor changes to code to support Windows port. + +Various minor changes after we're getting to use GRS-1 & co. more. + +Added Espec-1 format. + +Added VisibleString field body type to GRS-1. It is illegal acc. to my copy +of the protocol and it cannot be selected when encoding (maps into 'string' +when decoding). Needed to talk to some servers. + +Demo client can request simple element set names. + +Added Diagnostic Format encoders/decoders. + +Added simple Close handling to frontend server (no hooks for resource +reporting yet), and demonstration client. + +Added cs_addrstr() command to COMSTACK to retrieve peer hostname/address. + +--- 1.0b3 1995/08/24 + +Fixed bug in the frontend-server. The numberOfRecordsReturned field was +handled incorrectly when records were requested in the searchResponse. This +will only affect you if you use the frontend-server. + +Added GRS-1 encoders/decoders to the service-level API. Lightly tested. +Test-client will ask for and print GRS1. Ztest will return dummy records +on request. + +Added Explain encoders/decoders to the service-level API. Untested. + +Added Extended Services: Item Order encoders and decoders to the Service- +level API. Untested. We could use a recent copy of the pertinent bits +of the ILL protocol to add those bits. + +Added diagnostic format 1 encoders/decoders to the service-level API. +Untested. + +Moved pretty-printing of structure-wrappers ({..}) from odr_seq.c to +odr_cons.c, which causes a more correct output. + +Fixed handling of searchRequest in frontend server. NextResultSetPosition +was always set to 0 when no records were requested in the searchRequest. + +* Added better external-handling. This shouldn't harm old code that +*encodes* externals. It can break code that looks for a +'single-ASN1-type' representation, since those types that are known +are now decoded immediately. Look at the SUTRS sample code in +seshigh.c and client.c. Documentation updated. + +Handling of structured records in bend_fetchresponse. Length -1 marks +structured record, type is deduced from format field. + +--- 1.0b2 1995/06/27 +Fairly quick maintenance release to add SUTRS support. + +Fixed handling of SUTRS records in the demonstration client. + +* Added format field to the bend_fetchrequest and bend_fetchresponce +structures of the backend API (frontend server). When the record is +returned, the value of the format field is mapped to an OID. The +value VAL_SUTRS will also cause a slightly different ASN.1 packaging +of the record. The special value VAL_NONE in the bend_request means +that no specific format was requested by the client. Documentation +updated accordingly. Test server (ztest) will return a fixed dummy +SUTRS record if your client requests SUTRS. + +Documentation updated accordingly. + +You can now set external libraries and RANLIB support in the top-level +Makefile. + +--- 1.0b 1995/06/19 +First public release. diff --git a/debian/rules b/debian/rules index fad4360..8b90e40 100755 --- a/debian/rules +++ b/debian/rules @@ -84,7 +84,7 @@ binary-arch: build install dh_testroot cp LICENSE debian/copyright dh_installdocs -A README - dh_installchangelogs CHANGELOG + dh_installchangelogs dh_installexamples mv debian/tmp/usr/share/doc/yaz debian/tmp/usr/share/doc/yaz-doc dh_install diff --git a/win/yaz.nsi b/win/yaz.nsi index 37b9810..90f1584 100644 --- a/win/yaz.nsi +++ b/win/yaz.nsi @@ -1,4 +1,4 @@ -; $Id: yaz.nsi,v 1.43 2004-03-20 07:02:23 adam Exp $ +; $Id: yaz.nsi,v 1.44 2004-03-29 20:11:13 adam Exp $ !define VERSION "2.0.18" @@ -44,6 +44,7 @@ Section "" ; (default section) SetOutPath $INSTDIR File LICENSE.txt File ..\README + File ..\NEWS SetOutPath $INSTDIR SetOutPath $INSTDIR\ztest File ..\ztest\dummy-records