Oct 31, 2011, V6.1.4:
  * Upgrading from previous versions
    - Added information about upgrading from previous 6.1.x to 6.1.4
    - Enabled check for bad index due to XML fragment
      See: README.UPGRADE

  * Database engine
    - Added new implementation of search_excerpt that can handle both ANSI/UTF8 and Wide strings
    - Added new setting RdfFreeTextRulesSize
    - Added improved support for inference and RDF views to "non-default" storages
    - Added option to register post-processing callbacks to DESCRIBE
    - Added initial support for PHP 5.3
    - Added aggregate DB.DBA.GROUP_DIGEST which makes it possible to
      return part of big output of DB.DBA.GROUP_CONCAT without running out of row length limits
    - Added optimised codegen for built-in aggregate functions
    - Added option to enable/disable ?P statistics
    - Added support for HTML+Microformat, Microformat/JSON and JSON-LD output formats
    - Added support for SPARQL 1.1 build-in IF and COALESCE
    - Added support for SPARQL 1.1 Graph Store HTTP Protocol
    - Added support for SPARQL Graph CRUD
    - Added support for SQLQUERY syntax in declaration of RDF views
    - Added support to call XPath/XQuery functions in SPARQL
    - Added option to enable/disable ?P statistics
    - Fixed code generation using gawk 4
    - Fixed code generation for service invocation for case of IN parameter that is not bound in 
      SINV sub-query is neither external/global nor fixed in parent group pattern
    - Fixed col_default to be same dtp as col_dtp to prevent default value misuse
    - Fixed compiler warnings
    - Fixed connection leak in connection pool during long checkpoints
    - Fixed crash running FILTER query containing IN clause with only one item in it
    - Fixed deadlock on attempt of qr_recompile during the run of SPARQL-to_SQL front-end
    - Fixed disable dep cols check
    - Fixed disabled pg_check_map by default to make checkpoint faster
    - Fixed handling of GROUP BY and ORDER BY using expressions
    - Fixed hang or crash after checkpoint is finished
    - Fixed issues with cost based optimizer
    - Fixed issue with multiple transitive subqueries in sql optimizer
    - Fixed issue with ORDER BY expression optimization
    - Fixed JSON output for native parsers
    - Fixed key dep cols check for sample
    - Fixed lock status report
    - Fixed memory leaks
    - Fixed possible mutex deadlock
    - Fixed problems re-creating quad map
    - Fixed rdfview generation
    - Fixed recompile all qr's cached on cli connection when dropping a group or creating new
      graph group
    - Fixed set sl_owner before cpt_rollback in order to know which thread owns the process,
      otherwise other threads may wrongly go inside the wait_checkpoint
    - Fixed skip rules which perform http redirect when doing a POST
    - Fixed space calculation when changed records does not fit in available space on page
    - Fixed SPARQL OPTIONAL keyword sometimes causing queries to not return graph matches
    - Fixed SQL codegen bug in SPARQL queries of R2RML rewriter
    - Fixed when iri exceeds 2KB limit and flag is enabled then shorten the iri, instead of
      rejecting it
    - Rebuild Jena, Sesame2 and JDBC drivers
    - Updated documentation


  * SPARQL and RDF
    - Added new cartridges for Eventbrite, Eventful, Foursquare, Google+, Google Place, Google
      Product, Google Profile, Gowalla, Guardian, Hyperpublic, Jigsaw, LinkedIn, Plancast,
      ProgrammableWeb, Seatgeek, Seevl, SimpleGeo, Upcoming, XRD, Zappos and Zoopla
    - Added ontologies for OpenLink CV/Resume, Productontology
    - Added new cartridge for Twitter using REST API
    - Added enhancements to Facebook OpenGraph cartridge
    - Added support for social bookmarking
    - Added new HTML generation for /sparql endpoint
    - Added support for ms-author-va : sparql header
    - Added new UI in /fct for conditionals like = < > ranges and IN
    - Added support for proper permalink for /fct
    - Added support for javascript-like hrefs in RDFa
    - Added w3-1999-xhtml/vocab for RDFa 1.1
    - Added HTTP status codes in SPARQL graph store protocol
    - Added API for selective sponging
    - Added generation of CV from LinkedIn using the oplcv ontology
    - Added support for CREATE LITERAL CLASS "format string" ...
    - Fixed bad conversion of utf8 in rdf/xml
    - Fixed "delayed" filters like ?x p1 ?o1 ; p2 ?o2 . optional { ... } . filter (?o1 = ?o2)
    - Fixed map OpenLink Zillow ontology to geo:lat/long
    - Fixed map oplog:likes_XXX property to like:likes
    - Fixed minor issues
    - Fixed SPARUL LOAD INTO command creating duplicate graphs
    - Fixed translation from nodeID://xxx to _:xxx
    - Fixed url encoding issues in RDF/XML
    - Fixed when dropping a graph, also check if there is a quad map for it


  * ODS Applications
    - Added ACL eXecute flag
    - Added RDL and TTL representations to Offers
    - Added SIOC object services
    - Added WebID verify service
    - Added annotation rules
    - Added app discussion rules
    - Added discussion IRIs
    - Added header and head links for IRIs
    - Added ldap schema support to WebID
    - Added mail verification service
    - Added support for WebID idp
    - Added user's rewrite rules
    - Added user/mail availability action
    - Updated CKEditor to version 3.6.1
    - Fixed a++
    - Fixed ACL using patterns
    - Fixed API functions
    - Fixed call auth check only when needed
    - Fixed changing/deleting events does not trigger re-sync with publication
    - Fixed Delicious import/publish
    - Fixed description presentation
    - Fixed Facebook UI
    - Fixed IE JS problems
    - Fixed import atom sources
    - Fixed move/copy API with wrong source/destination
    - Fixed navigation and UI
    - Fixed Offers, Likes and Dislikes, Topic of Interest
    - Fixed search RSS problem
    - Fixed SIOC RDF links API functions
    - Fixed typo in messages
    - Fixed UI bug
    - Fixed UI bugs
    - Fixed WebDAV selection


March 30, 2011, V6.1.3:
  * Database engine
    - Added configurable normalization of accented characters
    - Added global X509 CA repository
    - Added IMAP, IMAPs and POP3s  client support
    - Added http maintenance functions
    - Added optimization for case when there is no locality
    - Added optimization to look at GS index only
    - Added optimization to boolean expression evaluation
    - Added read-ahead on extent
    - Added retry deadlock if http session is not flushed
    - Added retry on deadlock when sponging on multiple threads
    - Added support for CORS on http endpoints
    - Added support for passing NVARCHAR arguments to thread-safe dicts
    - Added support for S/MIME encrypt and decrypt
    - Added ssl const decoration in explain
    - Added three new aggregates mostly for use with SPARQL-BI
    - Added transitivity cache
    - Fixed busy loop when no free remaps
    - Fixed check for 5xx or 4xx status codes
    - Fixed check if subselect has a recursive ref
    - Fixed cost model to count inx cond and scale card at end
    - Fixed error on INSERT DATA with literals of non-default types
    - Fixed following checkpoint kill recovery remap extents may
      have allocated pages with no corresponding logical page because
      recovery performs unremap. Therefor if em remap page is allocated
      in em but free in dbs freemap, disregards and reset em allocation,
      if no logical page. If logical page, concider the dbs freeset
      in error and mark page as allocated.
    - Fixed increase delay on sequential deadlock
    - Fixed index_only on partial can return has data even if main row does not
    - Fixed infinite loop when dealing with string like abc&def and no token
    - Fixed issue parsing sparql function calls with zero arguments
    - Fixed issue with aggregates, distinct and ORDER BY
    - Fixed issue with closing XAConnection and connectionpool
    - Fixed issue with combination of UNION in the argument of IN
      causing General internal Optimized compiler error
    - Fixed issue with partial index when no path is followed
    - Fixed JDBC driver lost prepared data after execution query,
      so next execute of prepared query throws exception
    - Fixed memleaks
    - Fixed moved mutex lock/unlock calls to avoid deadlock
    - Fixed recovery mode
    - Fixed send body of 509 bandwidth error
    - Fixed set HTTP status to 503 when showing maintenance page
      and added a Retry-After: 1800 (seconds) header as a hint to the
      remote
    - Fixed set local timezone
    - Fixed size of input buffer of an XML parser is now adaptive
    - Updated documentation

  * SPARQL and RDF
    - Added attribution and Evri ontology
    - Added cartridges for EOL, Evry, Google Book, Groupon, hNews,
        hRecipe, ProductWiki, RDFa, RDFohloh
    - Added checking for rdfa dtd
    - Added Described By
    - Added expiration header
    - Added improvements for SPARQL-FED esp. to let XSLT access
      data from remote SPARQL endpoint
    - Added index to search over label text
    - Added initial codegen for ASK subquery
    - Added lax mode in csv import
    - Added MinExpiration param for sponger
    - Added more prefixes
    - Added namespace prefix 'fn' for for XPATH 2.0 and XQuery 1.0
      Core Functions library
    - Added new SPARQL-to-SQL codegen for type cast functions
    - Added new SQL optimization trick to convert 
        sprintf ('format', col0, col1, ..., colN) = exnp 
	into more index friendly: 
	( col0 = sprintf_inverse ('format', expn, 2)[0] and 
	  col1 = sprintf_inverse ('format', expn, 2)[1] and ...  
	  colN = sprintf_inverse ('format', expn, 2)[N] )
    - Added optimization of SPARQL arithmatic and numerical comparisons
    - Added RDFa W3c validation button
    - Added rdfs schema
    - Added refresh=clean mode, to drop cache even if it is in the
      middle of sponging on another threads
    - Added scheduler task to keep volume under some limit
    - Added special immutable setting for inf rules
    - Added support for CSV output mode
    - Added support for define input:inference in SAPRQL DESCRIBE
    - Added support for define output:format "NT"
    - Added support for FILTER EXISTST and FILTER NOT EXISTS
    - Added support for host-meta
    - Added support for IUD ops to XMLA endpoint
    - Added support for MINUS
    - Added support for posh triples
    - Added support for RDB2RDF
    - Added support of "seealso" predicate in case of recursive sponging
    - Added WebID based ACL support via https
    - Fixed datatype for twitter
    - Fixed datetime format
    - Fixed do not use triple dicts on long files
    - Fixed do not check immutable graph when dba is running
    - Fixed DOI and RDFa
    - Fixed enable xlat iris
    - Fixed hreview aggregates
    - Fixed issue with SPARQL CONSTRUCT/INSERT/DELETE/MODIFY queries
    - Fixed issue with sponging options and DESCRIBE on /sparql endpoint
    - Fixed issue with sparql FILTER with two OPTIONALS
    - Fixed issues reported by W3C Validator
    - Fixed issues with SPARQL-FED
    - Fixed missing column error in SPARQL-to-SQL preprocessor
    - Fixed missing namespace in </results>
    - Fixed security issue in SPARQL
    - Fixed sparql parse bug with NOT FROM NAMED queries like 
      select distinct ?g ?p not from named virtrdf: 
      where { graph ?g { ?s ?p ?o }}
    - Fixed sqltype and display size of DV_IRI_ID column
    - Fixed use common API to delete target
    - Fixed use doi proxy if no hslookup plugin
    - Fixed use dsn from content-location when it exists
    - Fixed use exclusive locks when doing SPARUL ops
    - Fixed when selection list contains expressions with constants
      do not inline OJ
    - Fixed small bugs

  * ODS Applications
    - Added ACL Inheritance
    - Added ACL semantic ping
    - Added group sharing
    - Added IMAP support
    - Added JSON format for webfinger
    - Added language and type options for offers
    - Added 'Likes', 'Dislikes', 'Owns', 'Knows' and 'Social Network'
    - Added linkblog pages
    - Added login with Google account
    - Added microblog template
    - Added new index on OL accounts
    - Added new login and register library
    - Added profile security for offers, likes etc
    - Added progress bar, ping and ACL
    - Added RDF graph property for links
    - Added RDFa info
    - Added RSS and Atom imports
    - Added signed mails
    - Added support for LinkedIn
    - Added support for Salmon protocol
    - Added support for SWD
    - Added support for Twitter
    - Added UI for Login Authentication Keys
    - Added WebID to 'My Profile'
    - Fixed ACL handling
    - Fixed HTTPS handling
    - Fixed certificates
    - Fixed hyperlink session expire issue
    - Fixed openID server parameters extraction
    - Fixed RDF object properties
    - Fixed Twitter and LinkedIn registration/login
    - Fixed WebID for Briefcase instances
    - Fixed X.509 certificates in user pages
    - Fixed XRDS
    - Updated to CKeditor version 3.5.2


July 09, 2010, V6.1.2:
  * Database engine
    - Added FOAF+SSL based authentication for client connection
    - Added support for following http redirects automatically
    - Added extra functions for graph diff, iteration over dictionary
      and obtaining biggest possible iri_id on given 32/64bit platform
    - Added initial support for bif_python_exec
    - Added semantic pingback client/server
    - Added ODBC setting WideasUTF16 to return UTF-16LE for SQLWCHAR
    - Fixed ODBC setting for UTF-8 when db keeps UTF-8 in varchars
    - Fixed ODBC SQLAllocStmt when using QtSql layer
    - Fixed handling http, soap, xml-rpc using proxies and reverse-proxies
    - Fixed when importing keys, let user decide which on to use as his
      WebID for odbc/sql login
    - Fixed handling of column default value of 0
    - Fixed handling multiple certs
    - Fixed support for bigint in parameter marshalling
    - Fixed issue with default maxmempoolsize
    - Fixed issue with extent map and free pages map
    - Fixed memory leaks
    - Fixed issue with freelist chain 
    - Fixed issue with partitioned top order by
    - Updated documentation

  * SPARQL and RDF
    - Added cartridges for CSV, Etsy, FaceBook OpenGraph, Html5, Idiomag,
      Tumblr, Vimeo, Wine and YouTube
    - Added more assertions to facets ontology
    - Added label as ipf
    - Added more properties for inferencing
    - Added support for extra encodings
    - Added initial support for ODATA atom serialization
    - Added EAV and SPO labeling modes
    - Added support for gz and zip compressed CSV
    - Added CSV parser mode option
    - Added CSV parser lax mode
    - Added optimization for large descriptions on about page 
    - Fixed add escape to CR/LF in JSON format
    - Fixed Odata, Tesco, html2 cartridges
    - Fixed create list of unique graphs
    - Fixed use label ontology to extract geo coordinates
    - Fixed SPARQL handling of distinct
    - Fixed SPARQL union selections
    - Fixed SPARQL statement with implicit group by; do not remove
      order by
    - Fixed RDFa failing to parse both rel/rev
    - Fixed abnormal long RDFa parsing of document with i18n uris
    - Fixed issue with ?? with sparql compiler inside sql query
    - Fixed support for subproperties of inverse functional properties
    - Fixed support for loading aaa ruleset from multiple contology graphs
    - Fixed gpf in sparul insert optimization
    - Fixed issue with extra nulls in hash join or group by
    - Enhanced iSPARQL using new internal RDF store for speed, browser
      fixes and cosmetic changes

  * Jena, Sesame 2 and Sesame 3
    - Added support for creating ruleset
    - Added support for inference graph
    - Added support for inference and query execution
    - Added support for queryengine interface, so now Jena provider support
      next query execution mode:
       a) parse and execute query via ARQ
       b) parse query via ARQ and execute query directly via Virtuoso
          (new mode)
       c) parse and execute query directly via Virtuoso
    - Added support for using Virtuosodatasource
    - Fixed issue with batch commit
    - Fixed Jena's lazy initialization when graph is created
    - Fixed handling of quote chars in literals
    - Fixed issues with variable binding
    - Fixed performance loading lang/type cache on empty db
    - Fixed small bugs

  * ODS Applications
    - Added OpenID 2.0 login and registration
    - Added FOAF+SSL registration for users pages (jsp, php, vsp etc)
    - Added FOAF+SSL based authentication using acl
    - Added shared files using FOAF+SSL
    - Added description for property value in offers
    - Added support for multiple certificates in user profile
    - Added photo and audio upload for jtml, vsp, php and jsp pages
    - Added relation ontology
    - Added support for PubSubHub
    - Fixed OpenID to work with personal iri
    - Fixed can have many certs in foaf
    - Fixed handing of multiple items in alt name
    - Fixed goodsrelation sioc data
    - Fixed VTIMEZONE component in Calendar export
    - Fixed offers, favorites


March 30, 2010, V6.1.1:
  * Database engine
    - Added support for CSV import
    - Added FOAF+SSL login for SQL clients
    - Added OPTIONS for http server
    - Added support for setMaxRows in JDBC driver
    - Added support for JDBC hibernate
    - Added support for unzip_file ()
    - Added swap guard option
    - Fixed deadlock retry
    - Fixed memory leaks
    - Fixed mtx checks for checkpoint and log write
    - Fixed X509ClientVerify flag of 0/1/2/3 to accept self signed or
      optional certificates
    - Fixed several issues with JDBC XA support
    - Fixed use sk_X509_ALGOR_* macros to support OpenSSL 1.0.0
    - Fixed wide character when getting procedure columns information.
    - Fixed remove id from hash before free structure
    - Fixed IN pred as iterator before index path
    - Fixed missing initialization in calculation of cost and cardinality
    - Fixed SQL codegen for NOT() retval expression
    - Updated documentation

  * SPARQL and RDF
    - Added support for oData
    - Added uStream cartridge
    - Added slidesix cartridge
    - Added support for Sesame 2 HTTP repository
    - Added optimization of sprintf_inverse(const)
    - Added improved version of xsl:for-each-row for both SPARQL and SQL
    - Added DefaultServiceMap and DefaultServiceStorage
    - Added immortal IRI for uname_virtrdf_ns_uri_DefaultServiceStorage
    - Added proper ASK support in web service endpoint
    - Fixed SPARQL 1.1 compatibility in result set syntax
    - Fixed incorrect codegen of formatter in ssg_select_known_graphs_codegen
    - Fixed do not encode default graph
    - Fixed check if datadump is gz 
    - Fixed detection of n3 and nt formats
    - Fixed regex to remove default ns from XML
    - Fixed run microformats independent of rdfa
    - Fixed bug with UTF-8 encoded strings in box
    - Fixed allow chunked content to be read as strses
    - Fixed SERVICE parameter passing
    - Fixed (!ask(...)) in filters
    - Fixed codegen for FILTER (?local = IRI(?:global)) .
    - Fixed codegen in LIMIT ?:global-variable and OFFSET ?:global-variable
    - Fixed support for positional and named parameters from exec() or
      similar in SPARQL, as if they where global variables of other sorts
    - Fixed rewriting of group patterns with filters replaced with 
      restrictions on equivs
    - Fixed faster loading of inference sets from single and graph groups
    - Upgraded to Jena 2.6.2
    - Upgraded to Sesame 2.3.1

  * ODS Applications
    - Added user's ontologies in favorites
    - Added a++ otion in user's pages
    - Added support for WebID
    - Added support for Google map v3
    - Added Register to vsp, php etc users pages
    - Added X.509 create certificate to users pages
    - Added 'Offers', 'Seeks' etc to user pages
    - Added 'Import' to user pages (vsp, php etc)
    - Fixed UI profile
    - Fixed SIOC subscriptions
    - Fixed object properties in favorites
    - Fixed ontology APIs
    - Fixed use newer OAT functions
    - Fixed invitation problem with multiple users
    - Fixed typo in scovo:dimension
    - Fixed image preview


February 03, 2010, V6.1.0:
  * Database engine
    - Added new 2+3 index scheme for RDF_QUAD table
    - Added new inlined string table for RDF_QUAD
    - Added optimizations to cost based optimizer
    - Added RoundRobin connection support
    - Removed deprecated samples/demos
    - Fixed align buffer to sizeof pointer to avoid crash on strict
      checking platforms like sparc
    - Fixed text of version mismatch messages
    - Fixed issue with XA exception, double rollback, transact timeout
    - Merged enhancements and fixes from V5 branch

  * SPARQL and RDF
    - Added support for owl:inverseOf, owl:SymmetricProperty and
      owl:TransitiveProperty.
    - Added DB.DBA.BEST_LANGMATCH() and bif_langmatches_pct_http()
    - Added initial support for SPARQL-FED
    - Added initial support for SERVICE { ... };
    - Added support for expressions in LIMIT and OFFSET clauses
    - Added support for Google Base, ithalia, revyu
    - Added built-in predicate IsRef()
    - Added new error reporting for unsupported syntax
    - Added rdf box id only serialization; stays compatible with 5/6
    - Added Yelp categories
    - Added support for SPARQL INSERT DATA / DELETE DATA
    - Added support for HAVING in sparql
    - Added special codegen for
      sparql select distinct ?g where { graph ?g { ?s ?p ?o }}
    - Added support for RDFa export
    - Added support for output:maxrows
    - Improved SPARQL parsing and SQL codegen for negative numbers
    - Improved recovery of lists in DB.DBA.RDF_AUDIT_METADATA()
    - Fixed iSPARQL use of external sparql endpoints
    - Fixed bad init in trans node if multiple inputs or step output values
    - Fixed redundant trailing '>' in results of TTL load when IRIs contain
      special chars
    - Fixed problem with rfc1808_expand_uri not using proper macros
      and allocate byte extra for strings
    - Fixed when different TZ is used, must find offset and transform via GMT
    - Fixed graph-level security in cluster
    - Fixed redundant equalities in case of multiple OPTIONALs with
      same variable
    - Fixed BOOLEAN_OF_OBJ in case of incomplete boxes
    - Fixed NTRIPLES serialization of triples
    - Merged enhancements and fixes from V5 branch

  * ODS Applications
    - Added support for ckeditor
    - Added new popup calendar based on OAT
    - Added VSP and REST implementation for user API
    - Added new API functions
    - Added FOAF+SSL groups
    - Added feed admin rights
    - Added Facebook registration and login
    - Removed deprecated rte and kupu editors
    - Removed support for IE 5 and 6 compatibility
    - Merged enhancements and fixes from V5 branch

October 16, 2009, V6.0.0:
  * Official release of Virtuoso Open Source Edition V6.0.0

April 23, 2009, V6.0.0-TP1:
  * Initial release of Virtuoso Open Source Edition V6.0
