--- 2.7.2 2011/04/29

RPM:
   cf.spec.bundle do not provide .so's. (AutoReqProv: no)
   New package cf-squid.

XPattern:
 - Do not create $item.item variables if there is un-variabled
   text inside the $item group. Bug 4018.
Steps:
 - skip-if, assert, transform steps: Consider undefined arguments
   as emtpy strings, also in the engine. Bug 4172.
Engine:
 - Disallow .. in connector name, to prevent directory traversal

--- 2.7.1 2011/04/13

cfrepo:
 - auto-generated list of available builder releases
 - the alias 'latest' always point to the latest builder release
 - admin.pl: allow to set a user password, #4100
 - correction: last 24 hours -> today

cf-xvfb:
 - allow to configure the X11 font path, disabled by default. #4056

builder: fix loading of connectors on Windows (bug introduced in 2.7.0).

--- 2.7.0 2011/04/11

XPattern: Negation patterns, improved highlight in the editor.

--- 2.6.21 2011/03/17

xulrunner.mk downloads Metaproxy 1.2.4, yazpp 1.2.4, YAZ 4.1.6.

Scirus.cf: add next task.

ProjectMuse.cf: parse task rewritten.

--- 2.6.20 2011/03/10

cf-xvfb.pl don't terminate when receiving SIGHUP.

--- 2.6.19 2011/03/09

cf-xvfb.pl logs more information about signals being received etc.

--- 2.6.18 2011/03/09

cf-xvfb: supports log file rotation without restarting the Xvfb daemons.

Fix HTTP status codes for Web Service.

Debian: fix cf-xvfb init.d script to provide cf-xvfb (which is required
by cf-zserver).

--- 2.6.17 2011/03/07

CFWS: spell fix for content-type - which should have been application/json.

CFWS: error messages of type text/plain. 

Runtime:
  Fix the "Click" step -- only registe for page load if target element was
  found on the page and thus clicked

Name of XVFB lock directory is now called CF_XVFB_LOCKDIR; was CF_XVFB
before.

Xvbf programs are now controlled by a daemon /usr/sbin/cf-xvfb
(cf-xvfb.pl). This daemon will restart Xvfb processes if necessary. #3999

The cfrepo test script deals with sites with no hitcount, #4047

The CFWS API returns error messages in text/plain with HTTP 200 code.

cfzerver: deal with connectors wo hit (bug #3586). Connectors signal
that they do not know their hits counts by omitting the JSON element
"hits". In this case, cfzserver, will set raise flag
estimated_hit_count and set hits to 100 . GFS will set resultSetStatus
of SearchResponse to 'estimate'. Pazpar2 do not deal with it at the
moment, but 100 will ensure that we get up to at least 100 records
from these targets.

--- 2.6.16 2011/02/22

RPM spec cf.spec.suse10 gone and replaced by cf.spec.bundle which
now builds a CF package with xulrunner (only on SUSE 10) and
yaz, yazpp and metaproxy. This RPM works on SuSE 10, SuSE 11, Centos 5.6
and, presumarbly, RedHat 5.6.

cfrepo/builder: test for connector already exists fails in builder, #3984

--- 2.6.15 2011/02/01

Log task with load completion times. Update cf-log-analyze.sh to parse
load completion times.

--- 2.6.14 2011/01/21

cf-xvfb RPM: Log Xvfb output to files in /var/log/cf-xvfb (not /var/log).

cf-zserver PPM: Set LD_LIBRARY_PATH if CF is not installed in root (/).

--- 2.6.13 2011/01/28

Add load times for HTTP fetches in engine log.

In CF_XVFB mode, engine skips if a Xvfb daemon no longer exist by
checking if PID of /var/run/cf-xvfb/Xvfb.$i.pid

Engine makefile adjustments to allow compilation on FreeBSD and MacOS.

Spec file, cf.spec, works for both RHEL/CentOS and SUSE 11.

--- 2.6.12 2011/01/19

Engine: fix bug #3957: CF Z39.50 server does not return partial presents.

Engine: cf-zserver may operate in a different authentication scheme
where Z39.50 auth (in init) holds credentials to be passed to a
connector database. If CF_ZAUTH is defined this scheme is enabled and
this environment contains repo credentials (username + slash + password).
If repo is not in use the value is not used for anything except for
triggering the other scheme. The default scheme is still to use Zauth
for repo auth and database encoding for db auth.

Builder:
- by default the builder use the secure URL https://cfrepo.indexdata.com
- the user are requested to write a commit log what he/she changed 
  before uploading a new connector. The log message is visiable in the CF Repo
- the builder download and upgrade is managed by the CF Repo on a per
  customer basis
- support for upcoming Firefox 4 (#3585)

CF Repo:
- design cleanup
- improved 'No hits' tests
- split connector list in 2 lists, production and non-production
- change reliability display, #3932
- display an upgrade icon if a newer connector is available in repo 'public'
- we don't want to be told about failed tests in the emails for connectors that are not in production. #3879
- implement full duplication record check, #3885
- download up to 100 records per test, #3681
- support multiple search tasks and test searches
- improved admin.pl script
- a new dynamic logout page, works for Firefox only

--- 2.6.11-2 2011/01/06

Package fix for Centos 5. Was broken in 2.6.11.

--- 2.6.11 2011/01/05

Build packages with optimization (-O2).

cf-xvfb start/stop script simplified (no need to specify DISPLAY
things to skip).

--- 2.6.10 2010/12/24

Builder:
- Fix Firefox freeze/100% CPU use when sidebar open, caused by XUL glitch
- Re-init steps when moving them between tasks
- Enable/Disable controls when adding/removing first/last argument set
- Properly select previous arg set (if any) when one is removed

--- 2.6.9 2010/12/16

Builder:
- Allow pasting to empty tasks.

--- 2.6.8 2010/12/16

Builder:

- cut/copy/paste steps within and between tasks (via context menu)
- disable/enable steps (via context menu)
- changes to the UI: remove Guide, Testing menu, move Argument set selection
  next to 'Arguments' caption (old Test), remove assert functionlity
- Xpattern improvements

cf-xvfb spawns multiple Xvfb servers. Each Xvfb will only be used by
one engine at a time if environment variable CF_XVFB is defined and
points to a directory with lockfiles. If CF_XVFB is unset, the engine
will use the DISPLAY variable as usual.

--- 2.6.7 2010/11/18

cfrepo enhancements and bugfixes:

- working logout link with a good bye page (no cancel anymore)
- use relative URLs for https, #3831
- implement a simple search function by appending param &filter=query, #3794
- allow to configure the cf builder version per repo user in the admin interface
- deliver custom builder.xpi with per repo user update URL from cfrepo.indexdata.com, #3771
- allow to sort by total failure or per cent rate, #3720
- display failed queries for the last 7 days, #3720
- reliability stat in chronological order for the last day, #3748
- re-calculate odd/even table rows after sorting

--- 2.6.6 2010/11/18

Engine: fix close,dup race condition that may lead to corruption
of file descriptors in a multi-threaded application, such as
Metaproxy.

--- 2.6.6 2010/11/17

cfrepo with new features:

- enable to cache screenshots locally, #3819
- check for connectors with a HTTP read timeout in CFWS API, #3821

Engine: fix two 0-ptr references that could be caused for JS errors
(failed tests or tasks).  

Engine: do not wait indefinitely for browser session child to spawn -
kill it if it takes too long.

--- 2.6.5 2010/11/11

cfrepo with new features:

- display reliablity data visiable on list page as a sortable column. 
  The reliablity statistics with failed queries are displayed inline 
  as HTML per connector for the last day.

- the test status will be displayed in 3 colors: green/yellow/red.
  green: the connectors passed all tests in the last 3 days
  yellow: one of the tests in the last 3 days failed
  red: all tests failed in the last 3 days.
  the 3 days are configurable, we keep the information for up to 7 days.

- allow to delete all connectors for a repo user with one click

- you have to confirm YES/NO before a connector (or all connectors)
  will be deleted.

- by default broken connectors in public are hidden. You can click at
  the button on the link 'show malfunctioning connectors too'  to get
  the full list. The admin user idtest will always see all connectors.

- display homepage URL and service proxy on detailed page

- design cleanup

Debian package: now for Ubuntu 10.10 maverick as well.

CF Engine: fix SEGV that could occur following a Browser creation
failure.

Z39.50 server: fix record fetch for empty set. An empty result (0 hits)
and a following present request could result in a SEGV.

Runtime: New step: Extract Chronology

CF Engine: fix run{Tests,Task) handling for JS errors.

CF Engine: set MP_CFLAGS proper

--- 2.6.4 2010/10/20

CF Builder bugfix release.
CF Repo bugfixes.
CF test script udpates (zero-hits, deduplication, next)

--- 2.6.3 2010/10/15

CF-repo updates.

Documentation: SRU example for cf-zserver.

--- 2.6.2 2010/10/07

Pass all JSON queries from RPN to JSON conversion.

--- 2.6.1 2010/10/06

Ensure cf-repo is operating in UTF-8 mode.

--- 2.6.0 2010/10/06

Engine: improve logging by include Metaproxy session ID with
CF session ID in one. This allows one to track multiple CF/Z39.50/SRU
sessions in one log file.

Engine: Metaproxy module does Z39.50 as well.

--- 2.5.4 2010/09/09

Allow database arguments to be prefixed by ',' as an alternative
to '?'.

--- 2.5.3 2010/09/06

More proxy fixes.

RPM packages for CentOS 5. They whould run on RedHat Linux Enterprise 5
as well.

Simplify RPM for SuSE 10. Do not clean to /opt/cf anymore. Only one
package: cf-engine, which includes everything is now built. No separate
/cf/xulrunner directory.

--- 2.5.2 2010/08/30

Internal release for proxy development.

--- 2.5.1 2010/08/23

Adjust xulrunner.mk script and cf.spec to include Metaproxy and Boost.

Adjust xulrunner.mk to use newer xulrunner from 1.9.1 series.

Fix bug 3606.

Various user interface enhancements to CF repo.

--- 2.5.0 2010/08/05

Engine: Use browser object directly if Xulrunner is new enough.

Builder: Open repo in its own tab.

Builder: openOrReuseTab() now will reuse tabs that move within the
same site

Builder: Help button now uses the CF Guide or finds the tab if you
have it open.

repo: various changes. Refer for full ChangeLog for details.

--- 2.4.0 2010/07/09

Link with Metaproxy 1.2.0 (libmetaproxy3).

--- 2.3.10 2010/07/07

Work on improved load detection and retry fixes.

Bug fixes: 3337, 3502, 3549, 3499, 3456, 3485, 3226

Add 'assert' step.

--- 2.3.9 2010/06/02

Documentation updates - mostly about installation of CF Web service.

Extend the Transform step so that it can write the result of the
transformation into an input parameter even when it is transforming an
output value.  This is done by setting the "output" combo-box to a
string of the form "input/PARAMNAME".  This gives us the flexibility
to move values around, so that we can (for example) copy a value from
one place on a page into another, or onto a different page.  Used at
the moment only in connectors/weird/fix-drupal-pages.cf, but has wider
ramifications.

--- 2.3.8 2010/04/23

CF Engine: new facility for running JS based unit tests. Can be invoked
from command line utility cfrun.

XPattern: Or-nodes with matchHere, nextAlternative pointers. Allows any
kind of node as a or-child, even groups! Should also fix the #text-node
problem in a better way. Needs testing and cleaning.

CF Builder: license acceptance

--- 2.3.7 2010/03/29

CF Builder: update step arguments in the list.

CF Builder: mark deprecated steps and show deprecation info.

CF Builder: fix log in the progress meter.

CF Runtime: regex: keep null-valued results from clobbering results derived
from earlier in a pattern.

--- 2.3.6 2010/03/23

CF Builder: improved task testing (create, remove and edit tests, trace
test execution)

CF Builder: limit builder logging verbosity

CF Builder: new steps: generic mouse event and delay

CF Builder: UI bugfixes and improvements

--- 2.3.5 2010/03/09

cf-zserver and metaproxy no longer uses a cached mozembed area. Thus
no files need to be written, except the usual logs + temporary
downloaded CF files (all done in our code, not Mozilla).

New Debian package, cf-zserver, which holds the Z39.50/SRU server,
man page for it and the init.d script for it. The executable is
now called cf-zserver - like the Debian package (was cfzserver
before).

New Debian package, cf-xvfb, which is merely a controller for Xvfb.

--- 2.3.4 2010/02/17

Engine uses a separate mozembed area per instance. Fixes #3256.

Work on group patterns.

Use UTF-8 when serializing connectors (bug #2875).

Web service: Remove connectors idle for more than 5 minutes.

--- 2.3.3 2010/02/08

Fix run_task_opt. Bug #3241.

Both cfzserver and Metaproxy module uses CF_TMP_DIR (env@tmpdir in XML
config) for temporary files. 

Fix bug #3255: Unexpected error from metu.cf.

--- 2.3.2 2010/02/05

Honor proxy for WS.
Fix problem with multiline JSON strings as input to CS.

--- 2.3.1 2010/02/05

cf-runtime package.

Fix cf.xml link for Metaproxy (CFWS).

New 'parametrized result' step.

--- 2.3.0 2010/01/29

navto/openurl takes a URL parameter.

Connector Framework Webservice.

A lot of bug fixes, refer to ChangeLog for all details.

--- 2.2.6 2010/01/06

Allow username and password to be defined for Z39.50 sessions that do
not supply those (anonymous).

cf-repo includes a script, makerepo.sh, to build a new repository for
a user.

--- 2.2.5 2010/01/06

Fix permissions of /tmp/cfengine.

Include cf-repo package.

--- 2.2.4 2009/12/21

Debian package for engine.

--- 2.2.3 2009/11/09

Builder: Open repo in current tab instead of new.

Engine: Fix looping in CF Engine child.

Engine: refactor error handling (bugs #2887, #2824).

--- 2.2.2 2009/08/27

Bugfix release. 

Fix Mac OS X preference window display glitch.

--- 2.2.1 2009/08/26

Bugfix release.

Fixed metadata editor (missing fields when working with repository files).

Repo client: ask for filename when uploading a connector for the first time.
Repo client: warn before overwrtiting an existing connector
Repo client: configurable home repository URL

Introduce preferences editor.


--- 2.2 2009/08/17

Introduce CF repository for uploading and managing connectors

New page load detection (still work in progress)

--- 2.1 2009/06/09

Documentation for engine beefed up and Docbook based. Documentation may
be produced as HTML/PDF and there are manual pages for cfrun and cfzserver.
HTML here: https://cf.indexdata.com/doc/ .

RPM for CF Engine and programs part of distribution (cf.spec).
The RPM is for SUSE Linux Enterprise 10.

xpattern: various fixes for pattern matching.

Added a lot of new connectors.

Improved page load detection for OpenURL and click.

Introduced multiple-frame support for OpenURL and click.

Connector properties no longer lost when a connection is re-saved (opened
and saved).

Corrected input-value substitution (for date searches, etc).

In the builder closing the side-bar no longer kills the current connector.

Introduce CF_APP_PATH environment variable for CF Engine which specifies
the application for engine. This allows the engine to be operated outside
the engine/src . The file, page.html, is no required by the Engine.

--- 2.0 2009/04/28
