+--- 1.4.5 2014/03/14
+
+http_rewrite: use local skiplist; fixes memory corruption. MP-520
+
+http_client: x-forwarded-for controls X-Forwarded-For presence
+If x-forwarded-for setting (boolean) is enabled, http_client will
+generate an X-Forwarded-For header entry which includes existing
+X-Forwarded-For (if any) and current peer address (immediate client
+of Metaproxy). By default x-forwarded-for disabled and X-Forwarded-For
+will not be generated.
+
+z3950_client: client_ip controls client-IP presence
+If client_ip setting (boolean) is enabled, z3950_client will
+generate a client_ip OID as part of init request which includes
+previous client_ip (if any) and current peer address (immediate
+client of Metaproxy). By default client_ip is disabled and client_ip
+will not be generated.
+
+HTTP X-Forwarded-For/Z39.50 Client-IP support
+virt_db, multi: relays Z39.50 client-IP.
+sru_z3950: converts X-Forwarded-For header to Z39.50 client-IP.
+zoom: uses Client-IP or origin address (prefer Client-IP).
+frontend_net: Strips tcp: from peer address (so that it is no longer
+printed and stripped in zoom filter).
+z3950_client: builds client-IP list - combining immediate peer address
+as returned by COMSTACK and existing client-IP list (if avaiable).
+The Origin only printes first X-Forwarded address.
+
+--- 1.4.4 2014/02/18
+
+Log when SIG{TERM,USR1} is received ASAP MP-513
+Do it in frontend_net event loop rather than in place for metaproxy
+main, which only exits when all sessions are terminated for SIGUSR1
+at graceful stop.
+
+metaproxy-config: quote some RHS values (that might include blanks)
+
+Fix leak in sru_z3950 filter - when explain is returned MP-511
+
+Allow stylesheet to be given for sru_z3950 filter MP-510
+This is based on a patch by Sven Porst and the functionality
+of the YAZ Generic Frontend Server.
+
+Allow base attribute in configuration file tags - the attributes are
+inserted by XInclude usage as mentioned on
+yazlist: http://lists.indexdata.dk/pipermail/yazlist/2012-Au
+and noted in a gist: https://gist.github.com/3551094
+
+Package metaproxy provides virtual package metaproxy6 MP-508
+This allows module packages to depend on a metaproxy server
+with version 6 API.
+
+Filter destructors called upon daemon termination MP-505
+When metaproxy daemon receives SIGTERM the stop method of each filter
+is called. The stop method existed before, but did not take any
+arguements (void).. The frontend_net filter can now distinguish
+between SIGUSR1 (stop bind, but keep sessions running) and SIGTERM
+(stop immediately). Note that this changes the API+ABI of Metaproxy
+filters.
+
+zoom: sync up with Pazpar2 WRT authentication handling MP-492
+
+Router: use shared_ptr rather than naked one - to avoid leak if an
+exception is thrown in configure.
+
+--- 1.4.3 2013/12/10
+
+zoom: Add nocproxy=1 for contentConnector sessions MP-501
+
+Doc: mention proper versions; fix link to Boost win binaries.
+
+Windows: update for Boost 1.55
+
+Windows: avoid warning when using boost::split. Done by defining
+_SCL_SECURE_NO_WARNINGS for Visual Studio.
+
+Fix LSB conformance for /etc/init.d/metaproxy MP-500
+Debian: add support for /etc/init.d/metaproxy status
+
+sort: Add const to Record less than operator in order to compile on
+OS X Maverick.
+
+--- 1.4.2 2013/11/15
+
+session_shared: fix element-set handling in record caching. MP-499
+
+document http_rewrite. MP-468
+
+http_write: Honor X-Metaproxy-SkipLink MP-479 . Filter understands and
+respects the header (which will normally come from the cproxy filter)
+
+--- 1.4.1 2013/10/31
+
+RPM: fix dependency for libmetaproxy5-devel MP-496. The libmetaproxy5-devel
+RPM was unsable in version 1.4.0.
+
+Remove log message about "backend classes". Appeared in version 1.4.0.
+
+--- 1.4.0 2013/10/04
+
+Build RPM/Deb packages with YAZ 5 and yazpp 1.5. Metaproxy still compiles
+with older version from source, but packages now use YAZ 5 that supports
+SRU 2.0.
+
+sru_z3950: Fix SEGV for decoding invalid SRU requests
+Incorrect reference to union (was explain response rather than
+search response).
+
+session_shared: match additionalSearchInfo (includes facets). In
+layman's terms means that means that facets are properly handled
+by this filter. Eg a change in requested facets will issue new
+search and facets from exisiting result set are cached.
+
+--- 1.3.62 2013/09/11
+
+http_rewrite: better handling of <script> content in HTML parser. MP-486
+
+http_rewrite: fix threading issue with regex. MP-482
+
+bounce: don't use strdup for fixed length content. Error occurred in echo
+mode only.
+
+session_shared: expire backend class when no instances left. This
+means memory clean up, but not really a leak fix.
+
+virt_db: fix leak for naked ptr.
+
+cql_rpn: use config relative path for cql2rpn file. MP-481
+
+Updates for upcoming YAZ 5.
+
+--- 1.3.61 2013/08/29
+
+New configuration directories ports.d/routes.d for metaproxy
+configuration. This allows 3rd party packages to install config
+for ports and new routes. MP-477
+
+--- 1.3.60 2013/08/21
+
+Fix metaproxy-config --libs to return non-mt over mt libs.
+The -mt versions do not exist as shared objects and cause
+linker errors for applications linking with Metaproxy.
+Problem present in versions 1.3.56 - 1.3.59. MP-475
+
+HTML: clean up char checks. Add ptr to HTML parse spec
+
+HTML parser stops eating tag when <-char is met MP-473
+
+rewrite: do not even compare content types, if we don't have any
+the regex_match caused a segfault if we had no content-type in the
+headers. MP-471
+
+rewrite: within header=... matches only the header value
+Used to match the whole header line, but we need to use
+^$ anchoring for host-relative regexps, and they need to
+anchor at the ends of the value. MP-470.
+
+rewrite: Ruleset functional MP-469
+
+--- 1.3.59 2013/07/12
+
+session_shared: negotiate init sz parameters.
+By default, session_shared will honor the paramters given by client.
+An alternative, but not implemented, algorithm would be to only
+re-use sessions with same sz parameters. This however, could reduce
+re-use of sessions a lot. Hence this, simple algorithm instead. The
+negotiation to a maximum sz values can be enabled by using
+ <init maximum-record-size="sz1" preferred-message-size="sz2"/>
+in configuration. This will make session_shared send those values
+to backends and use returned init values in negotaition to
+client before session_shared.
+
+session_shared: resolve result-set references.
+The reference is substitued with the query for old set if database
+match and query type is Type-1. If not the reference will issue a
+diagnostic.
+
+sort filter: relays RecordComposition including elementSet in use for
+search.
+
+http_client: better diagnostics
+
+http_client: disables HTTP redirect handling by default.
+It can be configured with max-redirects in configuration.
+
+--- 1.3.58 2013/06/12
+
+Fix loading of filters cql_rpn and sru_z3950 . Was broken by 1.3.57.
+
+--- 1.3.57 2013/06/12
+
+Make RouterChain and RouterXML part of public API (libmetaproxy).
+
+http_client: honor X-Metaproxy-Proxy as an alternative to
+the "proxy" configuration. Allows proxy to be set per HTTP request.
+
+sru_z3950: For SRU requests recognize x-client prefixes as a way
+to ingest "database parameters".. The suffix of x-client- serves
+as database argument name. Multiple may be given. For example:
+ http://path/db/?operation=searchRetrieve&x-client-user=a&x-client-password=b
+is turned into Z39.50 database
+ db,user=a&password=b
+
+--- 1.3.56 2013/05/27
+
+New filter present_chunk. This filter allows splitting of present requests into smaller chunks.
+
+New filter sd_remove, which replaces surrogate diagnostics with
+SUTRS records. This filter tries to deal with clients that breaks
+when receiving surrogate diagnostics.
+
+new filter http_client. Same role as z3950_client, but just for
+HTTP. Allows Metaproxy to operate as a HTTP proxy.
+
+New filter http_rewrite1, which serves as purpose on how to rewrite
+HTTP content with Metaproxy.
+
+Use libboost-system if available, because newer versions of libboost-threads
+requires libboost-system.
+
+Allow frontend_net to serve SSL/HTTPS, because we can specify a server
+certificate now.
+
+--- 1.3.55 2013/04/10
+
+zoom: Torus setting: authenticationMode which may hold values "basic"
+and "url".
+
+--- 1.3.54 2013/03/27
+
+configure: check for Libxslt support in YAZ and rely on definitions
+from yaz-config, rather than doing own xslt/xml2 checks.
+
+Allow timestamp format for log lines to be given with option -m
+for metaproxy. Similar to yaz-ztest/GFS option -m.
+
+Document log category 'line' for log filter.
+
+Solr configuration example in etc/config-solr.xml
+
+multi: do not mess with request package. For scan and search,
+database-names were modified and the request package was left with
+dangling pointers that caused a log filter to fail (request package
+inspected after multi was invoked).
+
+Documentation: fix id of metaproxy-config ref .
+
+Documentation: update for USEMARCON support.
+
+--- 1.3.53 2013/01/31
+
+record_transform: allow OPACXML to OPAC conversion
+
+zoom: document content-proxy
+
+zoom: document db parm content-{user,password}, torus_url. Also
+<torus auth_url="..> which makes zoom operate in authenticated mode
+via Torus lookup.
+
+--- 1.3.52 2012/11/30
+
+zoom: fix http://-check. SRU search broken in 1.3.51.
+
+--- 1.3.51 2012/11/15
+
+zoom: only append http:// for SRU if not already given . Makes it
+possible to use https-URLs.
+
+Use yazpp 1.4 or later due to new ABI.
+
+frontend_net: allow max package size to be specified. Controlled by
+attribute 'max_recv_bytes' of element 'port'.
+
+--- 1.3.50 2012/10/29
+
+For most generated diagnostics by filters, typically temporary
+system error, augment addinfo message with filter name.
+
+Add support for CentOS 6 packages.
+
+sru_z3950: interpret Z39.50 diagnostics part of Init Response.
+
+Add man page for metaproxy-config.
+
+--- 1.3.49 2012/10/18
+
+zoom: new config element passthru. This defines an element set that is
+passed verbatim to the backend in pz2 mode.
+
+auth_simple: allow both idPass and open auth. Also fix SEGV that could
+occur for open auth.
+
+--- 1.3.48 2012/10/08
+
+z3950_client: fix string handling for init diagnostics in the case where
+addinfo was absent.
+
+query_rewrite: no charset conversion for error queries. Avoid performing
+charset conversion for query conversion errors. The resulting Type-1
+query is invalid in this case.
+
+--- 1.3.47 2012/10/04
+
+For graceful stop (SIGUSR1), metaproxy will kill children processes.
+
+Log when metaproxy is invoked in test mode (-t).
+
+Log PID for each log message.
+
+multi: combine both NSDs and multiple NSDs into one (diagnostics).
+
+z3950_client: fixup multiple NSD's too. Like surrogate diagnostics,
+a (backend=target) is appended for each diagnostic so that can be
+determined the origin of error.
+
+multi: hideerrors also in use for present response.
+
+Solr example in zoom man page.
+
+Fix typo in query_rewrite config example.
+
+Log at least first non surrogate diagnostic. Instead of
+"Z_Records_multipleNSD"
+
+multi: Fix check for opt Records in present response. A SEGV could occur
+if a target did not return records and no diagnostics.
+
+--- 1.3.46 2012/09/24
+
+Yet another fix for graceful stop.
+
+--- 1.3.45 2012/09/12
+
+sru_z3950: relay surrogate diagnostics.
+
+--- 1.3.44 2012/09/10
+
+zoom: Honor extraArgs, strip # in zurl.
+
+multi: fix SEGV for scan. Reported by Rustam T. Usmanov.
+
+zoom: url_recipe allow %{var[reg]} substitutions.
+It's like ${var[reg]} but does URI component encoding as well.
+