==================================================== BASEX CHANGELOG ===

 Welcome to the changelog. This file contains all code changes since
 BaseX 6.5:

VERSION 7.2.1 (April 27, 2012) -----------------------------------------

  - Our value indexes now support string-based range queries:
    http://docs.basex.org/wiki/Indexes#Value_Indexes
  - Our new XQJ API is based on Charles Foster's implementation.
    It fully utilizes the client/server architecture:
    http://xqj.net/basex
  - Import of XQuery modules has been simplified:
    http://docs.basex.org/wiki/Repository
  - Better Java code integration:
    http://docs.basex.org/wiki/Java_Bindings
  - Full support for the XQuery 3.0 Regular Expressions syntax:
    http://www.w3.org/TR/xpath-functions-30/#regex-syntax
  - Updating functions can now return values:
    http://docs.basex.org/wiki/Database_Module#db:output
  - Unified handling of document and database URIs:
    http://docs.basex.org/wiki/Databases#Access_Resources
  - Pinning of opened database replaced by filesystem locking:
    http://docs.basex.org/wiki/Transaction_Management#Locking
  - REST, RESTXQ, WebDav: concurrency issues fixed

VERSION 7.2 (March 24, 2012) -------------------------------------------

  - support for the new RESTXQ API for building XQuery web services
  - improved support for running BaseX as web application
  - XQuery: higher order functions added to speed up Top-K queries
  - proxy server settings added
  - advanced TagSoup options added for importing HTML files
  - XQuery: faster traversal of full-text index entries: ft:tokens()
  - Command-line: embedded readline and history support via JLine
  - XQuery 3.0: annotation added, updated EQName syntax (Q{uri}name)
  - opened databases are now pinned OS-wide to reduce write conflicts
  - HTML5 serialization of query results
  - a printable version of our Wiki documentation

VERSION 7.1.1 (February 19, 2012) --------------------------------------

  GUI:
  - new "Package" dialog: to list, install and delete XQuery Packages
  - "New/Add" dialog: "RAW" input format allows import of raw files;
    automatic detection of input formats, increased usability
  - "Export" dialog enhanced to support other methods like JSON,
    and various serialization parameters

  Command-Line:
  - new option -L: add trailing newline after query result
  - new option -C: execute commands from batch script

  REST:
  - new "option" parameter: set options before executing request

  Full-Text:
  - Indonesian Stemmer (thanks Andria Arisal!)

  IO:
  - faster read/write access to byte arrays

VERSION 7.1 (February 8, 2012) -----------------------------------------

  GUI
  - improved document management: hierarchical view of db resources
  - easier index creation/removal and database optimization
  - JSON/JsonML parser added
  - editor: updated and reopened files are reverted from disk

  REST
  - automatic XML conversion of popular content types
    (JSON/JsonML, CSV, HTML)

  XQUERY
  - new index module for directly accessing database index structures
  - new repository module to manage EXPath packages via XQuery
  - db:list-details() returns information on the database resources
  - db:content-type() retrieves content-type of a specific resource
  - ft:tokens() returns full-text tokens stored in the index
  - ft:tokenize() tokenizes a given input string
  - util:path() returns the path to the executed query file
  - util:time() prints the time needed to evaluate a given expression
  - util:mem() prints allocated memory for evaluating an expression
  - expanded QNames, computed namespace constructors

  COMMAND-LINE
  - multiple query files and -c/-i/-q flags can now be specified

  INDEXING
  - ID/Pre mapping, incremental indexing of value index structures
  - document index fix: correct replacement of existing documents
  - document index: faster updates

  OPTIONS
  - ADDRAW: add raw files if not filtered by CREATEFILTER
  - MAXLEN: max. length of strings to be added to the index structures
  - MAXCATS: max. number of distinct values stored in statistics
  - UPDINDEX: turn on incremental index updates for value indexes
  - improved BINDINGS option

  CLIENT/SERVER
  - improved log output if query iterator is used
  - new ActionScript API (thanks to Manfred Knobloch!)

  SERIALIZATION
  - "newline" parameter specifies the type of newline to be used

  COMMANDS
  - KILL command accepts IP:port combination to specify target

  TRANSLATIONS
  - Bahasa Indonesian: thanks to Andria Arisal!
  - Mongolian: thanks to Tuguldur Jamiyansharav!

VERSION 7.0.2 (November 11, 2011) --------------------------------------

  FULL TEXT
  - Stemming support for Japanese text corpora
    (thanks to Toshio HIRAI!)

  STARTUP
  - Updated start scripts (thanks to Ralf Jung!)
  - System property "org.basex.path" added to specify
    project's home directory (thanks to malamut2!)

  XQUERY
  - Numerous minor XQuery 3.0 enhancements and fixes
  - Fix for db:optimize() calls (thanks to Martin Hillert!)

  STORAGE
  - Fix to retain newly introduced namespaces
    (thanks to Laurent Chevalier!)

  USERS
  - Default privileges for new users set to "none"
    (thanks to Pascal Heus!)

  REST
  - query base URI for evaluated queries is now $HTTPPATH
    (thanks to Florent Georges!)

VERSION 7.0.1 (October 23, 2011) ---------------------------------------

  DISTRIBUTIONS
  - Windows installer was updated to support latest features
  - ZIP file was updated (initial config & directories added)
  - Short directory names are chosen if config file resides in app.dir.
  - Start scripts have been improved

  XQUERY
  - much faster execution of count() when applied to opened databases

  SERVER
  - Flag -c connects to an existing database server
  - Flag -s specifies a port for stopping the HTTP server (Jetty)
  - Flag -S starts the HTTP server as a service
  - running write operations will be completed before server is stopped

  API
  - Ruby, Python, PHP, Java: clients updated

VERSION 7.0 (October 14, 2010) TEI EDITION -----------------------------

  API
  - Native and tightly integrated REST implementation replaces JAXRX
  - WebDAV provides a file system like access to BaseX databases
  
  XQUERY
  - Parsing and serializing JSON documents
  - SQL module builds a JDBC bridge to access relational databases 
  - EXPath Cryptographic Module for encryption and XML Signatures
  - Full text engine tokenizes Japanese texts (thx to Toshio Hirai!)
  - db:retrieve() and db:store() handle raw data
  - util:uuid() to create random universally unique identifier
  - db:content-type() retrieves the content type of a resource
  - db:exists() checks if the specified database or resource exists
  - db:is-raw(), db:is-xml() check existence and type of a resource
  - db:list(), db:open() uses two separate arguments to specify
    database and resource path
  - further modifications: db:add(), 
  
  SERVER
  - BaseX HTTP Server activates the REST and WebDAV services
  - ITER command returns all results in one go and the client
    handles the iterative execution
  
  COMMANDS
  - FLUSH command to write all database buffers to disk
  - STORE command to store raw data in a database
  - RETRIEVE command to get raw data from the database
  - modified ADD command
  
  OPTIONS
  - SERVERHOST: to specify a server
  - KEEPALIVE: optional timeout to close inactive client sessions
  - AUTOFLUSH database buffers
  - QUERYPATH: path to executed query

VERSION 6.7.1 (July 28, 2011) BALISAGE EDITION -------------------------

  XQuery:
  - New database functions for adding, deleting, renaming
    and replacing documents, and optimizing databases:
    http://docs.basex.org/wiki/Database_Functions
  - XSLT transformations via Java or Saxon:
    http://docs.basex.org/wiki/XSLT_Functions
  - All XQuery 3.0 functions are now supported:
    http://docs.basex.org/wiki/XQuery_3.0
  - Tail-call optimizations to speed up recursive functions

  Storage:
  - Use ADDARCHIVES to parse files within archives
  - Use SKIPCORRUPT to skip non-well-formed files when
    creating a database: http://docs.basex.org/wiki/Options
  - Max. level depth limit (256) removed
  - The document index is now incrementally updated

  GUI:
  - "Manage Database" dialog now supports operations on
    multiple databases and the command-line glob syntax:
    http://docs.basex.org/wiki/Commands#Glob_Syntax
  - Drag and drop operations introduced for opening new files
    and copying file paths

  Client/Server:
  - Delay clients that repeatedly fail to login
  - All remaining plain-text password operations now use
    MD5 to send and log passwords

VERSION 6.7 (June 30, 2011) --------------------------------------------

  Main Features:
  [ADD] Native support for the EXPath Packaging system:
        http://docs.basex.org/wiki/Packaging
  [ADD] Client/server event notification:
        http://docs.basex.org/wiki/Events
  [ADD] Persistent document index added to speed up
        access to large collections
  
  XQuery:
  [ADD] New database and full-text functions:
        http://docs.basex.org/wiki/Database_Functions
        http://docs.basex.org/wiki/Full-Text_Functions
  [ADD] Event function added to fire events
  [MOD] Index optimizations, better cost estimations
  
  Commands:
  [ADD] Glob syntax introduced to database commands:
        http://docs.basex.org/wiki/Commands
  [ADD] New commands added: REPLACE, RENAME,
        REPO DELETE/INSTALL/LIST, CREATE/DROP EVENT
  [MOD] BACKUP optimized, renamed to CREATE BACKUP

VERSION 6.6.2 (May 13, 2011) LINUXTAG RELEASE --------------------------

  API:
  [ADD] JAX-RX API now supports basic user authentication:
        http://docs.basex.org/wiki/JAX-RX_API
  [ADD] The COPY creates identical database copies:
        http://docs.basex.org/wiki/Commands#COPY
  [ADD] The OPTIMIZE ALL command minimizes all database structures:
        http://docs.basex.org/wiki/Commands#OPTIMIZE

  XQuery:
  [ADD] map expressions and functions added:
        http://docs.basex.org/wiki/Map_Functions
  [MOD] File module aligned with latest EXPath specification:
        http://docs.basex.org/wiki/File_Functions
  [MOD] Speedup of full-text queries with keyword lists.
        Example: $x contains text { 'a', 'b', 'c', ...}
  [MOD] XQuery Update optimizations for replacing nodes;
        tree-aware updates.
  [MOD] XQuery optimizations to avoid materialization of sequences.

  GUI:
  [ADD] Multiple editor tabs added
  [ADD] Database management: copy databases

  Core:
  [ADD] Internal XML parser: HTML entities added
  [FIX] Glob syntax: support for multiple file suffixes

VERSION 6.6.1 (March 30, 2011) XML PRAGUE RELEASE ----------------------

  XQuery:
  [ADD] index rewritings added for .../text()[. = ..] syntax
  [ADD] optimizations of mixed axis path expressions, e.g.: //x/name()
  [MOD] index rewritings on collections fixed and generalized
  [MOD] faster evaluation of filters with pos. predicates, e.g.: $x[5]
  [FIX] fixed relocation of let clauses in GFLWOR expressions
  [FIX] trace function returned wrong original results
  [FIX] variables in catch clauses were discarded
  [FIX] HOF optimizations and fixes
   
  GUI:
  [FIX] language option (for Japanese, German, etc. interface) fixed

VERSION 6.6 (March 23, 2011) -------------------------------------------

  [ADD] XQuery 3.0: Full support of Higher Order Functions
        (dynamic function invocation, inlined functions, etc.)
  [ADD] XQuery: Full support of the EXPath ZIP and HTTP modules
  [MOD] XQuery Update: numerous speedups, memory consumption reduced
  [ADD] Commands: COPY command added to clone existing databases
  [ADD] CSV/Test importers revised, ENCODING option added to CSV/Text
        parsers
  [ADD] XQuery utility functions added:
        util:format(), util:crc32(), util:md5(), util:sha1(), etc.
  [ADD] XQuery 3.0: context item and decimal-format declarations
  [FIX] Storage and update features revised, bugs fixed

VERSION 6.5 (November 17, 2010) ----------------------------------------

  [ADD] Commands: LIST extended by optional database [path] argument
  [ADD] JAX-RX: full database path is now used to list documents within
        a database. Use "query" parameter to show document contents
  [ADD] JAX-RX: bind external variables to query and run parameter
  [ADD] Windows Installer: creates startmenu entries,
        sets file associations and path environment entries
  [ADD] GUI/Create: support different input formats: XML, HTML, Text, ..
  [MOD] Commands: Allow hierarchical paths in OPEN command
  [MOD] APIs: UTF-8 encoding added to Java binding
  [FIX] Storage: text decompression synchronized
  [FIX] XQuery: context choice in filter predicates
  [MOD] JavaDoc: package.html files added and updated

========================================================================
