RefDB NEWS file
===============


___________________________________
Version 1.0.2 (February 2014)

Bugfixes:

- a buffer overflow in the XML parsing code was fixed


___________________________________
Version 1.0.1 (January 2014)

Bugfixes:

- due to a packaging error, the 1.0.0 tarball did not contain two
  essential bugfixes which already made it into svn. The new tarball
  fixes this without any additional changes


___________________________________
Version 1.0.0 (January 2014)

Bugfixes:

- assorted stylesheet fixes for namespaced XML output

- fixed bibliography sorting order if author name is missing

- fixed a style export bug

- refdb-init no longer attempts to add schemas.xml as a style


Improvements:

- added a new tool runbib-missing to list the references which were
  reported missing by a previous runbib call

- added a new tool refdb-pubmed to import data from the Pubmed
  database using lists of Pubmed IDs. Pubmed IDs are now saved by
  default as links in L2

- now creates bibliographies for RTF documents (still considered
  experimental)

- added styles for some common formats like AMA, APA, Chicago,
  Harvard, MLA, Turabian, as well as for the biomedical journals CHA-MC
  and JPET

- the web interface now supports result list paging, i.e. the query
  results and index searches no longer show the whole list of 5000+
  matches :-) but only a limited (configurable) number at a time. You
  can conveniently page forward or back using buttons.

- you can now provide driver files to the XML bibliography processing
  tools, e.g. to use custom formatting of the parts not managed by
  RefDB independent of other users on your system.


Backwards-incompatible changes:

- UNPB references are now considered not-yet-accepted INPR articles
  and thus use part data, just like JOUR. Previous versions have
  treated UNPB like an unpublished BOOK or RPRT. The current behaviour
  is more convenient for people who write more articles than books.

___________________________________
Version 0.9.9 (November 2007)

Bugfixes:

- raw bibliographies were fixed again

- a bug in the tokenizers used by refdbd and by the clients to parse
  command line arguments has been fixed. Now escaped characters should
  be treated as such in all cases.

- fixed the missing author type in part authors imported from risx

- fixed the style export on OS X (PPC)

- fixed the publication year output in RIS export if the otherinfo
  field is empty

- crash during bibliography creation on OS X was fixed

- unknown reference data types are now changed to "GEN" when importing
  risx data as well

- abbreviated journal names which use periods without spaces are now
  imported properly

- config.rpath was added to the tarball to avoid configure errors on
  particular OSes

- upgrading the main database no longer creates duplicate entries in
  t_meta when using PostgreSQL as the database engine

- fixed missing permissions after upgrading the main PostgreSQL database

- the preconfigured locations of log and pid files now honor the
  prefix (usually /usr or /usr/local)

- fixed a table locking error if a risx dataset is skipped during
  import

- special characters are now properly converted to XML entities even
  in long texts with lots of these characters

- now purges "(", ")", and "?" from citation keys

- now checks the reference types before adding them to the
  database. Unknown types are changed to "GEN".

- a sanity check in the RIS import code prevents segfaults if risx
  data are accidentally fed to it.

- risx datasets which are accidentally added as RIS datasets no longer
  crash refdbd.

- a possible client/server hiccup caused by checkref reports of a
  particular size was fixed.

- the handling of the (entirely broken by design) issue, edition, and
  volume fields in a variety of reference types has been improved

- when checking risx datasets the tables are now properly unlocked if
  a dataset is skipped


Improvements:

- the en2ris script now uses UTF-8 as the default output encoding

- boatload of improvements of the PHP web interface, among these is
  the tag cloud display of authors, keywords, and periodical names in
  the search results.

- the handling of the AV field has been cleaned up. As of this
  version, the AV field should only contain a physical location,
  i.e. either a description of the location, or a call number. The
  formerly applied PATH: kludge to manage links to local copies of PDF
  files is no longer supported. To store user-specific locations of
  PDF files, use the L1-L4 fields and start the URL with the "file://"
  protocol prefix. These links are assumed to point to local copies
  owned by the user. If the URL uses a relative path, i.e.
    "file://offprints/Miller2002"
  instead of
    "file:///home/markus/offprints/Miller2002"
  (note the additional root slash in the latter URL), the same pdfroot
  mangling is applied as was previously to the AV  - PATH: paths.
  Please see the UPGRADING file for some hints how to efficiently
  migrate existing AV field contents.

- in order to reflect the above change in risx datasets, the risx dtd
  was adapted accordingly. The <link> element is now also allowed in
  <libinfo>. Although the DTD can't enforce this, the pubinfo/link
  elements are supposed to hold publicly accessible URLs of offprints,
  images and such, whereas the libinfo/link elements should receive
  only user-specific local paths to offprints.

- if a character encoding conversion is necessary during data import
  or data export, refdbd now uses the transliteration facility of iconv
  for characters which cannot be mapped to the target encoding, a
  problem which often arises when exporting UTF-8 data to European
  encodings.

- the new PHP web interface was thoroughly overhauled to cope with
  whitespace, apostrophes, and regular expression characters in
  keywords, author names, and journal names. Adding references now works
  from risx data too, and the feedback about the success of adding a
  file has been improved. Adding data from the web form was improved too
  in that empty fields are left out, author name and keyword lists are
  appropriately tokenized, and addref or updateref is used whenever
  appropriate. The code now makes sure to use a unique temporary filename
  which is deleted again afterwards, avoiding clutter in your /tmp. The
  field descriptions of the Add reference form was overhauled too to better
  reflect the contents depending on which reference type is used. The month
  selector now creates a numeric month to comply with the RIS format's
  requirements.

- added a getax command to retrieve authors of any level

- added namespace handling for DocBook and TEI stylesheet driver
  files. TEI P4 and DocBook V4.x files are now always processed with the
  non-namespaced stylesheets, whereas TEI P5 and DocBook V5 files are
  handled by the stylesheets with namespace support. In contrast to the
  stock DocBook stylesheets there is no auto-detection whether or not
  the document uses namespaces.

- TEI P5 cooked bibliographies are now directly generated by refdbd
  instead of transforming them from DocBook bibliographies

- refdbib now optionally retrieves raw bibliographies based on a
  citationlistx input document. This allows using RefDB as a data
  source for SGML/XML documents even if RefDB's citation and
  bibliography formatting capabilities are not desired or applicable

- the PHP web interface has been replaced with a new implementation
  from scratch (thanks to Dan O'Donnell and Dominik Reusser).

- added config files for runbib and refdbjade to pass additional
  options to (open)jade, especially to increase or disable the error
  limit

- added a standalone SRU server for personal use or for testing purposes

- bibliography styles now have elements to record the style author, a
  description, and an URL that points to the source of the
  bibliographic rules.

- added a new legal bibliography style contributed by Jeremy Malcolm

- DocBook and TEI XML output is now indented and can optionally be namespaced

- DocBook XML V5.0 support

- the internal representation of authors and titles is now based on
  the three-level library system (part, publication, series) instead of
  on the once-and-for-all-screwed RIS definition. This makes both the
  programmer's life and the style author's life quite a bit easier

- the internal representation of the M1-M3 fields was improved to
  simplify data access. The contents of these RIS fields is now stored
  in separate fields which reflect the purpose in context of the
  respective reference type

- citation styles now support both authors and editors in monographic data

- citation styles now support the replacements of the M1-M3 fields,
  i.e. stuff like conference location, sender and recipient email
  addresses, class codes, running time and so on

- the output of adduser/deleteuser was cleaned up if no hostname is
  available

- the format specifier NX of the getref command no longer retrieves
  all extended notes associated with a particular reference, as these
  would always include the users reference lists. If you positively want
  those lists, use ALL or NXNL instead.

- the citestylex.dtd now supports different formatting options for
  authors (TEXT) and editors (TEXTED). The styles shipped with RefDB
  were updated accordingly.

- all backends were updated and now export the contents of the RIS
  fields M1-M3 as far as possible

- two new citation styles were added (Tissue_Eng. and Biomaterials)

- the bibliography sorting order is now case-insensitive and takes
  into account missing authors, using the title for sorting in this
  case

- the MySQL reference database schema now uses TEXT instead of BLOB to
  make use of the improved character encoding and collation features of
  newer MySQL versions

- the new refdbc:countref and refdbc:countnote commands are equivalent
  to the getref and getnote commands, respectively, except that they
  do not actually retrieve the reference or note data. Instead, they
  return the number of matching references and notes, respectively.

- the query language supports additional relational operators: <=
  (less than or equal), >= (larger than or equal), <> (not like).

- there is a new backend for MODS output, an XML format maintained by
  the Library of Congress.

- the XML output (risx, mods, xnote) now supports namespaces.

- the -n switch of getbib is no longer supported (it was hardly ever
  used anyway). refdbd now sends a stylespec no matter what.

- the getnote/countnote commands now also support query strings of
  unlimited length, just like the getref/countref commands.

- the adduser/deleteuser commands now support two classes of users:
  read-only users and read/write-users. The former is a simple way to
  generate a database account for users accessing your databases through
  SRU or via the web interface without permitting write access to
  your databases for everyone.

- the new CGI script refdbsru provides an optional SRU (Search and
  Retrieve via URL) interface to your databases.

- the checkref command can now be limited to check individual fields
  or combinations of fields.

- improved import of tagged Pubmed data (med2ris)

- digital object identifiers (DOI) are now harvested from Pubmed data
  and are stored properly. DOIs are presented as links (via
  dx.doi.org) by the (x)html backend.


Backwards-incompatible changes:

- the -i option of refdbjade was changed to I (capital i) to make it
  the same as in runbib (which uses -i for a different
  purpose). runbib in turn now uses -s instead of -I to skip the ID
  extraction step, and -I instead of -m to set include options



______________________________
Version 0.9.8-1 (January 2007)

Bugfixes:

- the implementation of the client/server dialog for the addref,
  updateref, and checkref commands was fixed

- a possible segfault in the checkref command was fixed

- several memory leaks were plugged

- SGML/XML bibliographies are now valid even if entries lack titles


_____________________________
Version 0.9.8 (December 2006)

Bugfixes:

- queries for UR and L1-L4 fields now work again

- en2ris now properly imports the start and end page information from
  newer EndNote versions

- using multiple databases in LaTeX documents now works again properly

- bibtex output is now properly escaped

- getref now honours backslash-escaped apostrophes in query strings

- strings extending the length of limited size fields in t_refdb are
  now properly truncated during data import

- correctly rollback if adding RIS data fails

- exclusive queries (e.g. :UR:!~"http") now work as expected for links
  (UR, L1-L4, authors, and keywords

- refdbd now modifies citation keys containing the string "-ID" as
  this may cause problems when creating bibliographies. "-ID" will be
  replaced with "_ID" to avoid problems.

- if an iconv error occurs during data import, refdbd now returns a
  meaningful error message.

- in Pubmed XML data, <PersonalNameSubject> name parts no longer leak
  into the next author name


Improvements:

- the refdba:listuser command now checks for the required database
  argument

- improved manpage layout by using new DocBook stylesheet capabilities
  when available, and workarounds for older stylesheet versions

- configure now simplifies the task of building modularized RefDB
  packages. You can now build server, clients, and doc packages
  separately. Additionally, you can switch off building docs and
  manpages to build the RefDB binaries from the SVN sources on systems
  without an XML/DocBook toolchaiin

- the code that generates citation keys from author names was improved
  by using iconv to transliterate foreign characters. 

- the default setup now uses UTF-8 as the default input, storage, and
  output encoding.

- the wrapper script bib2ris-utf8 was added to simplify postprocessing
  of the bib2ris output with the new refdb_latex2uft8txt script. The
  latter converts foreign characters to their UTF-8 equivalents and
  strips off other LaTeX commands.

- personal reference lists are now implemented on top of extended
  notes. This means in particular that each user can maintain an
  unlimited number of reference lists

- various fixes to the PHP web interface

- use an improved bibtex citation format (\cite{dbname:citekey})

- now supports citation key based citation formats in addition to
  author/year and numeric

- improved citation formats handle more reference types

- refdbd can now install and upgrade the main database without
  external tools. See the file UPGRADING and the refdbd man page for
  further information.

- for this to work, the main database dump files are now versioned

- refdb-init now uses these new refdbd capabilities to simplify the
  initial setup.

- refdbd can also be run to check the database connection and to
  retrieve the database version. This is mainly useful for
  package/ports builders.

- the help messages of the binaries now show the subversion revision
  they were built from. This makes it easier to track down bugs to
  specific builds.

- refdbd can now run from a single main+reference database to allow
  the installation on cheap web space with access to a single MySQL
  database.

- RefDB now provides frequency data for various statistical
  purposes. The get{au|ed|as|kw|jo|jf|j1|j2} commands allow to display
  the absolute number of references that use the particular item, or a
  relative number between 0 and 10

- the new checkref command allows to compare new data against the
  existing data before adding them permanently. This helps to identify
  duplicate references, as well as spelling variants and synonyms of
  keywords, author names, and periodical names.

- The xhtml output of getref and checkref now contain frequency
  data. If you view the output with a new optional stylesheet, the
  authors, journal names, and keywords will be displayed according to
  their frequency in terms of font size and colour, similar to the tag
  clouds in services like del.icio.us.

- getref and get{au|ed|as|kw|jo|jf|j1|j2} now support a new option -N
  limit[:offset] to cut down on the number of returned datasets. This
  feature can be conveniently used to loop over the result set in
  e.g. increments of 5 or 10, a feature most useful for graphical
  frontends.

- the dump files of empty reference databases (these are required
  e.g. to set up RefDB using a single database) were updated and
  versioned.

- the name of the main database is now configurable through the
  refdbdrc config file or by means of refdbd's -M command-line
  option. This allows RefDB to run in situations where you cannot choose
  the database name.
 
Backwards-incompatible changes:

- The -N option of the refdba:adduser command (which specifies the
  password of a new user) was renamed to -W. -N is now used by the
  clients to specify a number or a range of datasets.

- The addref and updateref commands now use -A to specify the
  input reference type instead of -r. This was necessary to stay
  consistent with the new checkref command which has to deal with both
  an input (-A) and an output (-r) format.

- To avoid confusion, these changes extend to the internal
  client/server protocol. Its version is now 5. As a result, old clients
  won't talk to the new server and vice versa.

_________________________
Version 0.9.7 (June 2006)

Bugfixes:

- multiple citation texts are now properly included in the character
  encoding conversion

- periodical titles need to be escaped during import

- a possible segfault during the formatting of journal names in
  bibliographies was fixed

- the formatting (bold, italics, superscript and so on) of intext
  citations was fixed for both the DSSSL and the XSL stylesheets

- fixed missing preceding/following export in journal names during
  style export

- all XML output now correctly exports empty strings as empty elements
  instead of dropping the element

- bibliography titles are now left empty if the style says so, instead
  of inventing a default title

- fixed a crash in the bibliography generation code when an URL was
  missing

- print empty part title instead of none to make the output comply
  with the DTD

- fixed possible segfaults if the automatic keyword scan ran without
  any keywords

- fixed client/server dialog mishap in refdbc:getref, refdbc:getnote
  and getbib

- assorted causes of segfaults during bibliography creation were
  eliminated

- build problems on Debian due to the lack of
  batik-rasterizer. ./configure now checks for this image converter
  and falls back to ImageMagick's convert if the former is not
  available. The latter produces buttugly output from the SVG sources
  but this is better than a build that fails.

- style problems due to bugs in refdb.dump.mysql and
  refdb.dump.mysql41. The *NAMEORDER field sizes were chosen too short
  which caused valid values for these fields to become truncated when
  MySQL was used as the database engine. See the instructions in
  UPGRADING if you're a MySQL user.

- refdbd now uses the path to DB_VERSION from the config file instead
  of a compile-time value

Improvements

- added a refdb-init.sh script that helps setting up RefDB after
  installation

- added a citationlistx backend to support refdb-publist

- some fixes in the bibtex export

- the XML headers now contain a larger selection of predefined
  entities

- FIRSTSPCM (without a dot) was added to the *NAMEORDER values

- support for multi-head tex citations was added

- import and export fixes for CONF, HEAR, and ELEC types

- replaced SGML manual sources by XML sources

- replaced handcrafted man pages by DocBook output

- the logic of the configure switch to build docs was reversed: docs
  are now built by default (this is required to install the prebuilt
  docs), but if you run into problems when building from the CVS
  sources you can disable the docs by means of the --disable-docs
  switch

- alltitles and link0 support was added to the dsssl stylesheets

- the biblioset and bibliomset grouping was improved in the
  bibliography output

- alltitle, which is the only useful title code if you want titles in
  the in-text citations, is now supported

- LINK ROLE="0", MISC, and USERDEF without role attribute are now
  properly imported

- the key/citekey mismatch in the notes import code was fixed

- removed a pair of parens from print/docbook-refdb-dsl which caused a
  warning

- style export now includes the character encoding into the processing
  instruction line

- the Makefile created by refdbnd no longer removes the source file
  using the full citation format when running make clean. If you
  really need to do this, run "make shortclean". This change was done
  to better support refdb-mode which uses the full citation format by
  default.

- fixed a bug in the packaging code which kept refdb-backup and
  refdb-restore out of the tarball

- the main database version check and the update of the database
  version file are now performed only once per refdbd session

- marc2ris now imports the call numbers contained in the MARC fields
  050 (AV) and 082 (U1)


______________________________
Version 0.9.6 (November 2005)

Bugfixes:

- fixed hangs when getref and getnote returned zero datasets

- fixed DocBook bibliography output

- fixed missing slashes in RIS date output

- fixed RIS date output for missing year and otherinfo data

- fixed risx reprint date output

- fixed getref xhtml header

- fixed erroneous month and day	entries popping up in pubdates

- fixed obscure bug in stylespec generation code

- fixed refdb-backup and refdb-restore bugs

- fixed quoting problems in addlink command

- fixed dozens of int vs. long long mismatches (hi OSX!)

- fixed problems when reading from stdin


Improvements

- added sqlite3 support

- added support for MySQL > 4.0

- added transaction support for MySQL

- improved character encoding handling

- databases are now versioned

- refdba:addstyle() can now read from stdin

- added getref AX and TX pseudo targets

- refdbnd now supports DocBook XML 4.3

- getref now supports query strings of unlimited size

- getref now supports the AX (all authors/editors) and TX (all titles)
  pseudo targets

- client/server protocol was improved and documented

- moved to libdbi-0.8.x

- integrated manual into sources

- integrated DTD documentation into sources

- new PHP-based web interface

- now supports multiple UR and L1-L4 fields per dataset

- now supports public or private extended notes

- now supports titles instead of missing authornames in bibliographies

- new command updatejo allows editing periodical synonyms

- refdb-ms is now an integral part of RefDB

- new scripts refdb-backup and refdb-restore help to backup databases

- man pages for all user tools are now available

- updated for most recent TEI stylesheets


Backwards-incompatible changes:

- The client/server communication protocol has changed as of
  0.9.6-pre2. Old clients cannot talk to new servers and vice versa.

- The Perl scripts en2ris.pl, marc2ris.pl, and med2ris.pl were renamed
  to en2ris, marc2ris, and med2ris, respectively. The scripts dos2unix
  and tex2mail were renamed to refdb_dos2unix and refdb_tex2mail,
  respectively.

- The default locations of the default SQLite database directory has
  changed. It is now {prefix}/var/lib/refdb/db in compliance with the
  Filesystem Hierarchy Standard.

- The builtin web interface has been removed.

______________________________
Version 0.9.5 (December 2004)

Bugfixes:

- a boatload of bibliography formatting bugs was fixed

- sync'ed defaults in citestylex.dtd and refdbd to avoid segfaults

- fixed a bug in the inline citation string spec which caused possible
  duplicate IDs

- refdb.css is now usable also for xhtml output

- refdbnd-generated Makefiles now properly remove .aux and .fo files

- fixed some bugs in publication year input and output

- fixed entity replacement in SGML/XML output

- do not allow XML reserved chars and colons in citation keys

- separate primary and secondary publication year logically to prevent
  unwanted side effects

- fixed LOCK issue for MySQL 4.0.2 and later

- fixed memory management in refdbxp to make it a gazillion times
  faster

- getref -s switch now overrides the fields variable as expected

- formatting of day output in bibliographies was fixed

- med2ris.pl now handles the updated Pubmed output correctly

- fixed unique suffix behaviour (if two or more works share the
  identical authorlist and pubyear, all receive a suffix)


Improvements:

- added a new config file refdbxmlrc to handle the configuration of
  XML tools

- XSLT driver files were updated to match the current versions of the
  original stylesheets

- pass through the -h command line option to the individual commands
  in refdbc and refdba to allow command-specific help in batch mode

- added database typing for future support of additional database
  types

- refdbnd and runbib now support character encodings

- added an option to refdb-bug to protect passwords

- added support for the YMD date format

- added support for the ICAPS title and journalname formatting

- refdbib now reports the number and IDs of cited works which are not
  in the database

- added a new pseudo target TA to the getref query language to search
  for a phrase in all title levels

- citestylex now supports the bibliography formatting in terms of
  indentation and font size

- runbib now creates css stylesheets for the bibliography formatting
  which can be used either stand-alone or be included into a driver file

- runbib now accepts a switch to set the server IP

- refdbd now always reports the database name if it can't connect to
  the database engine

- XSLT stylesheets can now be referenced via a XML catalog, obviating
  the need for configure-time decisions if catalog support is available

- adapted the directory hierarchy expectations for TEI XSLT files to
  support both P4 and the upcoming P5 versions


Backwards-incompatible changes:

- The system database uses a different layout compared
  to previous versions. If you upgrade, make sure to create a new system
  database using the supplied dump files.

- Running older and newer versions of RefDB in parallel now works a
  little different. By default, the system database is always called
  "refdb" but you can change this with the --with-main-db configure
  switch.

- The TEI stylesheets as supplied by www.tei-c.org now use a different
  directory layout than in the past. RefDB now assumes this new layout
  which looks like this:

value of --with-tei-xsl|generated by unpacking stylesheets
|______________________|_________|
/usr/local/share/xsl/tei/P4/fo
                           /html
                           /common


- The default FO processor used to be PassiveTeX. Due to ongoing
  incompatibilities of this tool with recent DocBook stylesheets I've
  switched to FOP as the default processor. Please edit refdbxmlrc
  accordingly if you want to keep PassiveTeX as your processor of
  choice.

- The in-text citation format had to be changed in order to avoid
  ambiguities. The refdbxp tool was adapted accordingly. Documents using
  the short citation style are not affected by this change.

- runbib now uses the new -m option to set one or more include variables
  for marked sections. The previously used -i option now sets the server
  IP or hostname, just as in most other tools.

______________________________
Version 0.9.4 (February 2004)

Bugfixes:

- fixed risx output

- fixed wrong mapping of titles in some risx types

- added publication type HEAR to the risx DTD

- fixed a possible segfault if messages are logged to stderr

- fixed case mismatches in DocBook XML driver files

- fixed bug in bibliography code for subsequent multiple citations

- fixed deleteref return message if the requested reference does not
  exist

- fixed junk error messages if refdbc was run in batch mode without
  specifying a default database.

- fixed erroneus trailing spaces in middle names

- fixed handling of hyphenated double-initials (K.-H.)

- fixed error in handling of journal custom abbrev2

- fixed bug that would have blocked concurrent addref commands


Improvements:

- added XHTML support to the getref command and to DocBook XML
  bibliographies

- added support for extended notes. Extended notes can be linked to
  any number of references, keywords, author names, and periodical
  names in your database. You can search for references and display
  all notes attached to them, or you can search for notes and display
  which references they are linked to. You can search for notes which
  are attached to particular references and vice versa. The new
  refdbc commands addnote, updatenote, deletenote, and getnote work
  essentially like their *ref counterparts. The new refdbc command
  addlink adds or removes links from notes to other database objects.

- by default refdbd answers only connections from localhost. The new
  -I switch allows remote connections as well.

- deleteref will refuse to delete a reference if it is in the personal
  lists of more than one user.

- reference databases now carry additional meta information like the
  refdb version they were created with and the dates of creation and
  last modification. This information is available through the
  refdbc:whichdb command.

- listdb now only returns RefDB reference databases

- the refdbnd script was enhanced to simplify generating a Makefile
  for an existing SGML or XML document

- server and clients can now be built and installed separately

- if a default database is selected in refdbc, the program will try to
  select this database at startup to test for its presence.

- the getref and getnote query language now uses literal string
  matches by default. Use the new "~" operator to obtain a regexp
  match.

- the string quoting was improved to simplify running regexp queries
  in the batch mode.

- refdbd now has built-in support for character encoding
  conversions. You can add datasets and notes in several encodings,
  including Unicode, and retrieve datasets in all encodings that your
  libiconv supports. Incoming data is automatically converted to the
  encoding used by the current database.

Backwards-incompatible changes:

- Both the system database (now called refdb instead of refdb1 to allow
  parallel installations of new and older versions) and the reference
  databases use different layouts compared to older versions. In order
  to use your existing reference data with 0.9.4, make sure to follow
  the instructions in UPGRADING.

- For security reasons refdbd no longer accepts remote connections by
  default. If you want to continue accessing refdbd from a remote
  box, make sure to start refdbd with the -I switch or use the
  "remoteconnect" variable in refdbdrc.

- The query language now performs literal string matches by default. Use
  the new operator "~" to request a regular expression match.


______________________________
Version 0.9.3 (August 2003)

Bugfixes:

- citation key case mismatches fixed for SGML and XML documents

- fixed table locking problem in MySQL 4.02 and later

- work around OSX sprintf() bug

- fixed some build issues on OSX

- fixed SQLite problems on OSX

- assorted fixes in the backends

- queries including journals now use regexp match instead of full
  match

- fixed CGI problem caused by Windoze browsers

- fixed CGI edit problem

- fixed problem with t_periodical entries

- fixed assorted segfaults in the bibliography code

- fixed problems with queries if personal list is empty

Improvements:

- use xsltproc and a XSLT stylesheet to extract IDs/citation keys from
  XML documents

- risx.dtd defines an additional XML reference data input format

- improved support for availability strings

- manual keyword scan

- new risx backend

- med2ris.pl now has full iconv support

- the getref -S option is now honored by most backends

- new RefDBClient::Client Perl module allows to access the
  functionality provided by refdbd through Perl scripts

- refdbjade and refdbxml now use -s instead of -d to specify the
  stylesheet to avoid confusion with the -d switch of runbib

- personal reference list is now also supported by SQLite

- the refdbctl script now uses the reload and restart commands
  according to the LSB specifications

Backwards-incompatible changes:

- The med2ris.pl script now uses the uppercase "-T" switch to manually
  select the input data type. The lowercase "-t" switch is now used to
  select the output character encoding.

______________________________
Version 0.9.2 (February 2003):

Bugfixes:

- a few minor fixes for building on Cygwin

- bibtex bibliographies now work again

- fixed prefs-related crash (on selected platforms) of refdbib

- fixed premature end due to debug code in refdbxp

- now formats abbreviated first/middle names correctly in
  bibliographies if the database provides full names

- fixed quoting problem in refdbc:getref command

- fixed incorrect query results in getfoo and getref commands (if a
  getref query included a journal name, only the first reference
  containing this periodical was returned; commands like getjo returned
  as many identical hits as there were references using the particular
  journal name)

- assorted fixes to run refdba/refdbc as regular apps within a CGI
  environment (think Perl or PHP).

- a missing "SYSTEM" was added to Makefile.template for DocBook XML
  documents

- refdbib now returns a proper error code for server-side errors

Improvements:

- now supports SQLite as an embedded database engine

- med2ris.pl was extended to handle both tagged and XML Pubmed data,
  now runs as CGI script, the web interface now uses med2ris.pl by
  default

- med2ris.pl and marc2ris.pl were extended to handle RefDB-style
  configuration and log files; they now depend on the separate
  RefDB-perlmod package

- now strips off TeX special characters when building a citation key
  from an author name

- refdbc:getref now displays the number of retrieved references

- runbib automatically uses the refdb.cat catalog file for its
  (open)jade calls to make sure the driver files are found

- Makefile.template and refdbnd were improved to allow changing the
  style by changing a single variable (this was advertised in the
  previous release but it actually required changing the names of the
  driver files too)

- configure checks for the presence of the XSL stylesheets. You'll get
  a warning if you forget to set --with-docbook-xsl or --with-tei-xsl or
  if you specify incorrect paths

- refdb will now use its own default SGML declarations if you don't
  specify other copies on the configure command line with the
  --with-sgml-declaration and --with-xml-declaration options.

- if a runbib call fails, the refdbib output files are renamed to
  XY.err to give the refdbnd-created Makefile a second chance

Backwards-incompatible changes:

- A minor change in the client/server communication protocol was
  required to allow displaying the number of retrieved references with
  the refdbc:getref command. The server of this version accommodates
  both new and old clients. New clients will not be able to talk to
  older servers, though.

______________________________
Version 0.9.1 (December 2002):

Bugfixes:

- printf() conversion specifier incompatibility on Solaris was fixed.

- refdbctl was fixed to run on Solaris out of the box

- nmed2ris now handles datasets w/o end page or w/o page information
  or w/o volume/issue information properly.

- selecting character encodings with PostgreSQL now works properly.

- creating bibliographies with PostgreSQL should now work properly

- citations.dsl was fixed

- import of RIS data with non-tagged lines now works properly

- runbib now creates the proper .bib file for DocBook XML

- example documents were fixed and extended

- refdbxp now treats strings containing "%" properly

Improvements:

- A new interactive shell script refdbnd (like "new document") creates
  a new skeleton document with a SGML or XML prolog and an entity
  declaration for your bibliography. It also creates a Makefile that
  controls all of the subsequent processing steps.

- A new Perl script med2ris.pl converts Pubmed XML datasets to
  RIS. This script is intended to replace nmed2ris, although the latter
  will remain in the distribution for a while.

- The marc2ris.pl Perl script was extended to handle UKMARC and
  UNIMARC data.

- A new tutorial is available online at
  http://refdb.sourceforge.net/doc.html. This is targeted at new users
  (not administrators) and explains the basics with a lot of examples.

____________________________
Version 0.9 (November 2002):

Bugfixes:

- Fixed another segfault in refdbib

- Changing databases in the web interface now actually works

- All list* client commands now list everything if no regexp is given
  as an argument.

Improvements:

- RefDB now uses a database abstraction library (libdbi). Both MySQL
  and PostgreSQL are supported as SQL database servers. Support for
  additional servers is in preparation.

- PostgreSQL users can choose between several character encodings
  including Unicode for each database. They also enjoy transaction
  support.

- Reference databases now store a unique citation key in addition to
  the automatically assigned ID for each reference. This is a mnemonic
  string supplied by the user or auto-generated from the first author
  and the publication year.

- The getref command uses a new tag :CK: to query the new citation key
  field.

- SGML and XML documents can now use a greatly simplified short
  notation for citations. All you need to do is create a citation
  element and list the IDs or citation keys. A new tool refdbxp
  automatically expands the short to the full notation.

- All configuration files are now installed in a subdirectory "refdb"
  of sysconfdir to unclutter the latter.

- A new import filter for MARC data was added.

- RefDB now offers an optional automatic keyword scan. The title and
  abstract fields of new references are scanned for existing keywords
  and all matches are added to the database.

- A new teix backend allows export of reference data as TEI XML
  datasets.

- The output of the db31 backend is improved.

- All RefDB backends now treat non-abbreviated first and middle names
  correctly.

- Deleted references are replaced by invisible skeleton entries. This
  greatly simplifies restoring a database with the same ID sequence from
  either a RIS or a SQL dump.

- Bibliography styles can now be exported as XML files.

- A set of example files: reference data in various formats, test
  documents with RefDB citations.

Backwards-incompatible changes:

- The configuration files moved again. This time they were collected
  into a subdirectory 'refdb' below the system configuration directory
  specified in the configuration step. E.g. if you specify
  --sysconfdir=/usr/local/etc (the default), the configuration files
  will end up in /usr/local/etc/refdb. This cleans up the system
  configuration directory and makes all global RefDB configuration files
  easier to access.

- The schema of the common database refdb has changed. To allow old and
  new RefDB versions to run in parallel, versions 0.9 and later use
  refdb1 as the common database. Create this database after installation
  of the refdb components according to the user manual.

- The refdbvar database used by refdb versions prior to 0.9 is
  obsolete. After upgrading to 0.9 you may safely drop this database.

- The schema of the reference databases has changed. The main table
  t_refdb now has an additional column for the citation keys. In order
  to use your existing reference databases, please follow the
  instructions in the file UPGRADING.

- The remoteadmin configuration variable for refdbd now uses 't' and 'f'
  as argument instead of '1' and '0'.

- The cgiurl configuration variable for refdbc was renamed to cssurl
  which better reflects its purpose (it was a braino to call it cgiurl
  in the first place).

- There are a few new configuration variables and command line switches
  to allow usage with PostgreSQL. However, all defaults still assume
  MySQL so your configuration should keep working.

- The DocBook export format has changed considerably. Any applications
  or stylesheets that you wrote for the old format need to be adapted.

____________________________
Version 0.8.6 (August 2002):

Bugfixes:

- fixed a segfault in refdbib

- the adduser command was fixed for host names containing wildcards

- retrieving journal abbreviations through the web interface now works
  as expected

- etc/Makefile now correctly creates the sysconfdir directory if it
  doesn't exist yet

- fixed a protocol error in the bibliography code

- fixed handling of visible and hidden user config files

- the additional information in PY fields is now correctly added to
  the appropriate row

Improvements:

- a new command line option (-y) allows to specify the directory
  containing the configuration files. This is important only if you move
  around precompiled binaries, e.g. when relocating a rpm package.

____________________________
Version 0.8.5 (July 2002):

Bugfixes:

- Another password encryption bug (unterminated string) was fixed

- The link color was changed in the CSS file for the web interface as
  the links to offprints were rendered white on white :-/

- access.js now uses an expiry time of 1 day for the cookies to avoid
  connection errors through the web interface

- The refdbctl script now uses the standard "restart" argument instead
  of "reload"

- If pdfroot uses a protocol (http or ftp), the links in the web
  interface and the other output formats now reflect this; otherwise
  the pseudo-protocol file:// will be used instead as before.

- refdbd now properly cleans up its fifos regardless of the way it
  exits

- The refdb-bug script now looks for the global configuration files in
  the system configuration directory and no longer uses $REFDBLIB.

- make clean now works properly in all subdirectories

Improvements:

- The Makefiles use $(DESTDIR) to simplify package building

- The reference converters bib2ris and nmed2ris are now accessible
  through the web interface

- The path to shareable files which was previously defined by the
  $REFDBLIB environment variable can now be defined in the
  configuration files. The value is correctly set in the example
  configuration files which are created during the
  installation. $REFDBLIB will only be consulted if the variable
  refdblib is not set in the configuration file ($REFDBLIB will be
  dropped entirely in future versions).

- The example configuration files are now installed in the system
  configuration directory (default: /usr/local/etc) instead of the
  package data directory (default: /usr/local/share/refdb).

- The command help messages of refdba and refdbc were improved

____________________________
Version 0.8.4 (April 2002):

Bugfixes:

- Password encryption bug on PPC Linux (and other PPC OSes?) was fixed

- It is now possible to specify empty variable values with the set
  command in refdba and refdbc

- The RIS backend accidentally returned the value of USER1 for all
  USERX fields and MISC1 for all MISCX fields. This is corrected now.

- The application server now handles SIGCHLD correctly to avoid
  zombies on BSD-style systems.

- refdba and refdbc now correctly pass non-option arguments to the
  command if run in batch mode

- the "'' could not be resolved as hostname" bug in refdbc and refdbib
  was fixed

- a bug in the detection of unabbreviated words in journal names was
  fixed

- a bug in the post-processing of the default_ris variable was fixed

- the address, ISSN, URL, publisher, and city fields are now available
  for display in the screen and HTML backends as well as in the web
  interface

Improvements:

- New refdba functions addword and listword to manage reserved journal
  words

- The getref HTML output now generates output suitable for CSS
  stylesheets. A new command-line option/configuration file variable
  allows to specify the URL of the CSS file to use.

- All RefDB applications now look into /usr/local/etc (or whatever you
  choose as "sysconfdir" during configuration) to find their global
  configuration files. Only if they're not found there, the apps will
  consult $REFDBLIB. The latter is done in order not to break existing
  installations, but you should move your config files to the proper
  location now (unless you really share them between machines). This
  change was made to separate the shareable data in $REFDBLIB from
  machine-specific configuration data.

- Building and installing is now possible from a separate build
  directory

- The script refdb is now suitable for use on both SysV-style and
  BSD-style systems to start and stop the refdbd daemon

Other changes:

- ris.el is now no longer byte-compiled. This simplifies building
  Debian packages and does not really hurt speed-wise. You can still
  byte-compile this file manually if you believe it helps.

Backwards-incompatible changes:

- All RefDB applications now look into /usr/local/etc to find their
  global configuration files (this can be changed during
  configuration). Only if they're not found there, the apps will
  consult $REFDBLIB. The latter is done in order not to break existing 
  installations, but you should move your config files to the proper
  location now. This change was made to separate shareable data from
  machine-specific configuration data.


____________________________
Version 0.8.3 (March 2002):

Bugfixes:

- Several less commonly used fields (e.g. SN or T3) were accidentally
  not implemented in the query code. With this version, queries work
  for all existing fields.

- RefDB should now compile and install cleanly on Solaris.

Improvements:

- The data file installation was finally implemented. That is, all
  stylesheets, scripts, configuration files, and DTDs will be
  automatically installed and all paths and URLs will be customized
  according to your local installation. This should take out most of
  the pain of the RefDB installation, as it reduces your
  post-installation hassles essentially to creating or changing a few
  environment variables.

- The configure script gained about half a dozen additional options in
  order to allow the automatic customization of the data files. 

- The interactive clients refdba and refdbc have a new command "set"
  which allows to modify configuration variables during a session. You
  can e.g. change your pager or connect to refdbd on a different server
  without leaving your session. The same command can be used to
  display the current values of the configuration variables.

- refdbc, when run as a CGI application, can now automatically exit
  after a predetermined time. This prevents clogging the memory with
  hanging programs (should not happen, but you never know).

- A new configuration variable for refdbc allows to display additional
  fields by default in every screen or html search result.

- The runbib script now supports a -i option to include marked
  sections

____________________________
Version 0.8.2 (January 2002):

Bugfixes:

- refdbd now reads the pidfile setting from the config file

- fixed some signal oddities that just happened to work on Linux and
  Cygwin (but not on FreeBSD)

Improvements:

- DocBook XML and TEI XML were added to the supported document types
  for generating bibliographies. A set of XSL stylesheets is available
  for both document types

- textual citations (Miller et al. reported recently [1]...) are now
  supported

- The CiteStyle DTD now supports month names and their abbreviations in
  the language required by the publication

- configure options were added to simplify building on systems that
  put libraries into odd places

- builds cleanly on FreeBSD (and runs, too)

- The Makefiles were brushed up so "make dist" finally works

Backwards-incompatible changes:

- The DocBook bibliographic output was changed again to allow textual
  citations. Due to this change, citations in existing documents need to
  be slightly changed to work with new bibliographies. The new
  stylesheets will not work with old documents and vice versa.

- The SGML versions of the CiteStyle DTD and the CitationList DTD were
  dropped. The XML versions are now authoritative.

____________________________
Version 0.8.1 (November 2001):

Bugfixes:

- fixed occasional crash during bibliography creation due to free() on
  uninitialized pointer

- fixed server crash for client commands with a mandatory argument
  if they were called without an argument

- fixed occasional "could not connect" problems when password
  authentication was used

- fixed obscure "POSPOSPOS" output after running addstyle in refdba

- fixed minor bugs in the DSSSL stylesheets for bibliography output

- fixed CiteStyle XML DTD which used constructs only available in SGML

- removed erroneous dependence of almost all backend output on a
  journalname 


Improvements:

- refdbib now generates DSSSL files (.dsl) instead of style
  specification files (.spc). These DSSSL files act as driver files for
  the RefDB DSSSL stylesheets which in turn are driver files for the
  original DocBook DSSSL stylesheets. Therefore the final
  transformation of a DocBook document with a RefDB bibliography can now
  also be done with plain old Jade.

- The DocBook bibliography output was slightly changed to make it
  smaller and better suited for subsequent SGML-to-SGML
  transformations. The stylesheets were changed accordingly.

- A new DSSSL stylesheet performs the transformation of DocBook
  bibliography output into TEI bibliography output.

- The web interface now allows to display additional fields in
  reference queries.

- The log level and log destination can now also be specified
  verbosely on the command line and in the configuration files

Backwards-incompatible changes:

- refdbib now generates DSSSL files (.dsl) instead of style
  specification files (.spc). These DSSSL files act as driver files for
  the RefDB DSSSL stylesheets which in turn are driver files for the
  original DocBook DSSSL stylesheets. For this to work, a new catalog
  file must be included in your SGML_CATALOG_FILES environment variable.
  The refdbjade script was changed and will no longer work with .spc
  files.

- The DocBook bibliographic output was slightly changed to make it more
  suitable for transformations into e.g. TEI. The DSSSL stylesheets were
  adapted accordingly. Use only old stylesheets for documents containing
  old-style bibliographies, or re-create them with the current version.


____________________________
Version 0.8.0 (October 2001):

Bugfixes:

- fixed two potential coredumps due to NULL or unassigned pointers

- fixed canonicalize_path() which failed if the file does not
  exist

- refdbc now correctly handles the -t switch in batch mode


Improvements:

- added bib2ris converter to import BibTeX reference data

- refdbib can extract the citations from LaTeX documents and generate
  a .bib file for use with BibTeX

- added db2ris converter to import DocBook bibliography entries

- added a dos2unix script to help importing Windows reference
  databases

- added an Emacs major mode for editing RIS files

- the makefile now installs most of the scripts and the ris-mode

____________________________
Version 0.7.2 (August 2001):

Bugfixes:

- The example configuration file for refdbd used a wrong port. This
  is fixed now

- fixed logging in refdba

Improvements:

- The timeout command line switch of refdbd is now also -T instead of
  -t just as in the clients. The old version will still work in this
  release but it will be dropped eventually.

- refdbd can now also grok hostnames in addition to IP addresses

Backwards-incompatible changes:

- Now refdbd also uses -T instead of -t for the timeout switch, just
  like the clients. -t is still supported by this release but it will be
  dropped in upcoming versions.

____________________________
Version 0.7.1 (August 2001):

Bugfixes:

- configure now uses libncurses or libcurses if libtermcap is absent

- sequence of configure tests was changed to avoid incorrect
  readline error message if libtermcap/libcurses/libncurses cannot be
  found.

- changed the letters of a few command line options to achieve
  consistency across all programs and commands

Improvements:

- added the etc/ subdirectory with commented example configuration
  files for all programs

- added logging capabilities to refdbc and refdba

- added batch mode to refdba

Backwards-incompatible changes:

- Now all clients including refdbc and refdba support logging and a
  batch mode for use in scripts. Due to these modifications some command
  line option letters had to be changed. All options are now consistent in
  all applications. Use the -h switch of the applications or of the
  interactive commands to view the updated option lists.

__________________________
Version 0.7.0 (July 2001):

Bugfixes:

- Now compiles and links cleanly with readline 4.2

- nmed2ris now correctly detects the new "URLF- " tag

- syslog output in refdbd is fixed

Improvements:

- All new and shiny CGI-based web interface for the most common refdbc
  commands

- The configuration files were renamed to <progname>rc

- The global configuration files are no longer hidden. The RefDB
  applications now first look for hidden personal configuration files,
  then for non-hidden files.

- New shell scripts to simplify the installation of refdbd as a daemon
  on Unix-like systems

- The refdbd parent process now writes the process ID to a file on
  startup. This simplifies administration with the above scripts


Backwards-incompatible changes:

- All configuration files have been renamed to <progname>rc. The global
  files no longer have a leading dot, e.g. .refdbd-init is now
  refdbdrc. The personal configuration files may have a leading dot (the
  apps first look for a hidden config file, then for a non-hidden file
  if the former is not found).

__________________________
Version 0.6.0 (June 2001):

Bugfixes:

Improvements:

- Client-server dialog was changed to introduce versioned protocols

- Passwords are now encrypted in the client-server dialog

- The confserv command now has access control

- Simplified user management: Missing entries in mysql.user and in
  mysql.db (for refdb and refdbvar) will be automatically created

- The clients will use the login name as account name if no name
  is specified

Backwards-incompatible changes:

- The client-server communication protocol was changed. Old clients
  don't work with the new application server and vice versa

__________________________
Version 0.5.2 (June 2001):

Bugfixes:

- Cygwin invented a mkfifo stub that screwed the configure process
  A new macro in acinclude.m4 checks whether mkfifo() actually works


__________________________
Version 0.5.1 (June 2001):

Bugfixes:

- eliminated several potential memory leaks

- fixed the client-server dialog for the bibliography tool

- moved a homegrown m4 macro from aclocal.m4 to acinclude.m4 so the
configure script can be recreated from the input files without
problems

Improvements:

- better error reporting for SQL-related errors

- improved whichdb output: now shows number of references and highest
ID

- it is possible to use hostnames instead of IP addresses on the
command line or in the init files

_______________________
Version 0.5 (May 2001):

Initial public release. Alpha release.

