Added new member 'query_charset' for bend_initrequest structure. A
[yaz-moved-to-github.git] / NEWS
diff --git a/NEWS b/NEWS
index e502777..e7c9427 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,51 @@
+--- 3.0.0 2007/05/02
+
+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 they
+don't, a warning is issued.
+
+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 ccl_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