List Info

Thread: YAZ 3.0.0 available.




YAZ 3.0.0 available.
country flaguser name
Denmark
2007-05-02 08:30:59
YAZ 3.0.0 is available. This release is binary incompatible
with the YAZ 
2 series. Programs must be recompiled in order to use YAZ
3.

We only distribute source, Windows installer + Debian
testing (lenny) at 
this time. Please let us know if it works for you. If there
are other 
incompatible changes we need make those can still be part of
YAZ 3.

The most important change since YAZ 2 is that we've
simplified the OID 
database system. Fewer functions are now present and it no
longer 
requires a mutex protected global to operate. This also
means that the 
core of YAZ no longer needs linking with POSIX threads.

libyaz3 Deb/RPM and libyaz2/libyaz Deb/RPM should be able to
co-exist. 
But libyaz3-dev  and libyaz-dev (devel for RPM) conflicts.

None of ID's official software will compile with YAZ 3
(libyaz3-dev that 
is). You need the snapshot versions for that. When YAZ 3 has
been out 
for a few days we'll make new packages for the rest - of
course provided 
that YAZ 3 works OK.

Changes since 2.1.54:

Changes to generic frontend server interface: added new
member
'query_charset' for bend_initrequest structure. A backend
init handler
should set this member to its native character set for query
terms.
When defined, the frontend server logic will announce this
character set
to a client if the negotiationModel bit is set by the
client. All server
implementors are encouraged to specify this. If a backend
server does not
specify this a warning is issued using
yaz_log(YLOG_WARN,..).

Added CCL utility to remove terms (stop words) from
resulting RPN
tree. This is handled by functions with prefix
ccl_stop_words_ .

New ZOOM C option, "rpnCharset", which allows
client-side conversion of
terms in RPN queries.

Clean-up the CCL API. Moved some internal structures from
ccl.h to
private header cclp.h. Changed ccl_parser_create so that a
Bibset must
be supplied. Removed tokenize API from ccl.h - including
cl_parser_find.
This is replaced by ccl_parser_find_str which takes a string
instead.

Split YAZ library into two libs : libyaz.la and
libyaz_server.la.
libyaz.la is the core of YAZ except the generic frontend
server and
does not depend on POSIX threads anymore. libyaz_server.la
is the
generic frontend server facilities and uses POSIX thread
functionality
if available. The libyaz.la no longer depends on POSIX
threads because
the number of global structures is limited. NMEM no longer
re-uses 
blocks between threads ; it simply free's memory immediately
but 
allocates in "large" chunks as usual. We don't
expect any performance 
penalties because of this. The yaz_log system is still using
a global 
log_level so caution must be taken when modifying it with 
yaz_log_init_.. + yaz_log_mask_str. This, however, should
not cause any 
trouble because these functions are called during
initialization of 
application code anyway. `yaz-config --libs  server` returns
libs for 
server applications; `yaz-config --libs` returns libs for
non-server 
applications.

New OID database - with public definitions in oid_db.h.
Removed old OID
database including the head oid.h and definitions such as
enum oid_value
and struct oident. The new OID database uses the same string
names as
before but the 'protocol' is gone. There are now only two
representations
raw OID (int *) and string. Functions with prefix
yaz_string_to_oid
converts from string to OID; functions with prefix
yaz_oid_to_string
converts the other way.

Change to emit_term() in CQL-to-PQF query translation: when
a term has
the /regexp relation modifier, do not process it for leading
and
trailing "^" and "*", which have quite
different meanings in regular
expressions.

Attempted fix of bug #976: Segfault in yaz_iconv. The
yaz_iconv function
write handlers no longer carries a 'last' parameter. This
will make
yaz_iconv flush "less" characters. A flush is
performed by call to
yaz_iconv(cd, 0, 0, &outbut, &outbytesleft) .

Definition of wrbuf_diags moved to querytowrbuf.h. Function

wrbuf_put_zquery removed, because function
yaz_query_to_wrbuf does the same.

API changes to WRBUF. wrbuf_free removed; replaced by
wrbuf_destroy. And
wrbuf_puts no longer appends ''. Use wrbuf_cstr to get
C-string out.

Deprecated MARC utility functions removed.

Changed prototype of yaz_marc_decode_buf: const char for
result and 
size_t for rsize.

_______________________________________________
Yazlist mailing list
Yazlistlists.indexdata.dk
http://lists.indexdata.dk/cgi-bin/mailman/listinfo/yaz
list

[1]

about | contact  Other archives ( Real Estate discussion Medical topics )