Fixed missing thread libs in output of 'yaz-config --lalibs threads'.
[yaz-moved-to-github.git] / NEWS
diff --git a/NEWS b/NEWS
index 200cb5b..1c5d0a6 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,17 +1,43 @@
+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 ZOOM. Functions for setting options returns int, rather
-than void, so we have a way to flag unknown options. ZOOM_resultset_sort1
-has become "the" ZOOM_resultset_sort. (and old ZOOM_resultset_sort is removed).
-ZOOM_connection_scan1 removed. The generic scan is ZOOM_connection_scan
-and the ZOOM_connection_scan_pqf is a handy short-hand taking a PQF string
-as argument.
-
 API changes to WRBUF. wrbuf_free removed; replaced by wrbuf_destroy. And
 wrbuf_puts no longer appends '\0'. Use wrbuf_cstr to get C-string out.
 
-Deprecated functions for yaz_marc-removed. 
+Deprecated MARC utility functions removed.
 
 Changed prototype of yaz_marc_decode_buf: const char for result and size_t
 for rsize.