           .                                          
          .`        `                                 
          ,      `:.                                  
         `,`    ,:`                                   
         .,.   :,,                                    
         .,,  ,,,                                     
    .    .,.:::::  ````                               
    ,`   .::,,,,::.,,,,,,`;;                      .:  
    `,.  ::,,,,,,,:.,,.`  `                       .:  
     ,,:,:,,,,,,,,::.   `        `         ``     .:  
      ,,:.,,,,,,,,,: `::, ,,   ::,::`   : :,::`  :::: 
       ,:,,,,,,,,,,::,:   ,,  :.    :   ::    :   .:  
        :,,,,,,,,,,:,::   ,,  :      :  :     :   .:  
  `     :,,,,,,,,,,:,::,  ,, .::::::::  :     :   .:  
  `,...,,:,,,,,,,,,: .:,. ,, ,,         :     :   .:  
    .,,,,::,,,,,,,:  `: , ,,  :     `   :     :   .:  
      ...,::,,,,::.. `:  .,,  :,    :   :     :   .:  
           ,::::,,,. `:   ,,   :::::    :     :   .:  DB
           ,,:` `,,.                                  
          ,,,    .,`                                  
         ,,.     `,                 DOCUMENT-GRAPH DBMS   
       ``        `.                                   
                 ``                                   
                 `                                 
*******************************************************************************
                                ORIENT DATABASE
                       http://www.orientechnologies.com
*******************************************************************************
This document enlist the last changes to the OrientDB project.

-------------------------------------------------------------------------------
VERSION 1.0 - (May, 14th 2012)
-------------------------------------------------------------------------------
- new Multi-Master Replication architecture
- new Object Database interface that use run-time enhancement. Now handles lazy
  loading, it's lighter and faster than before
- new OTraverse class to traverse graphs via Java API using a stack-free
  approach
- Data segments: added support for multiple ones and create/drop commands
- new ODocument.undo() to revert local changes
- new Server Side Scripting support
- Query: new context variables
- Console: new check database command
- Studio: improved Graph management
- Improved OSGi support
- Fixed more than 40 bugs

Full list: http://code.google.com/p/orient/issues/list?can=1&q=label%3Av1.0

-------------------------------------------------------------------------------
VERSION 1.0rc9 - (March, 26th 2012)
-------------------------------------------------------------------------------
- Studio new look&feel and improved Query panel
- SQL: new sub query, new SKIP keyword for pagination,
       INSERT accepts SET syntax like SQL UPDATE
- Update Tinkerpop stack: Gremlin 1.5, Blueprints 1.2 and Pipes 1.0
- Schema: new support for metadata on property
- Many bug fixed, 35 issues in total

Full list: http://code.google.com/p/orient/issues/list?can=1&q=label%3Av1.0rc9

-------------------------------------------------------------------------------
VERSION 1.0rc8 - (February, 2nd 2012)
-------------------------------------------------------------------------------
- New TRAVERSE command to traverse records by relationships
- New fetch-plan to support more complex use cases
- Asynchronous API to speedup insert, update and delete via remote network
- New DECIMAL type to handle currency without pains of float and double types
- Strict schema mode to work like a Relational DBMS
- Resolved the "big-node" problem when a record has many links to other
  records by using a MVRB-Tree to handle relationships
- SQL: new NOT and INSTANCEOF operators
- Index works also against MAP types
- Supported JPA @Embedded annotation
- Many bug fixed, 54 issues in total

Full list: http://code.google.com/p/orient/issues/list?can=1&q=label%3Av1.0rc8

-------------------------------------------------------------------------------
VERSION 1.0rc7 - (December, 5th 2011)
-------------------------------------------------------------------------------
- Transactions: Improved speed, up to 500x! (issue 538)
- New Multi-Master replication (issue 589). Will be final in the next v1.0
- SQL insert supports MAP syntax (issue 582), new date() function
- HTTP interface: JSONP support (issue 587), new create database (issue 566),
  new import/export database (issue 567, 568)
- many bug fixed, 34 issues in total

Full list: http://code.google.com/p/orient/issues/list?can=1&q=label%3Av1.0rc7
-------------------------------------------------------------------------------
VERSION 1.0rc6 - (October, 11th 2011)
-------------------------------------------------------------------------------
- SQL engine: improved link navigation (issue 230)
- Console: new "list databases" command (issue 389)
- Index: supported composite indexes (issue 405), indexing of collections
        (issue 554)
- JPA: supported @Embedded (issue 436) and @Transient annotations
- Object Database: Disable/Enable lazy loading (issue 563)
- Server: new Automatic backup task (issue 556), now installable as
          Windows Service (issue 61)
- Client: Load balancing in clustered configuration (issue 557)

-------------------------------------------------------------------------------
VERSION 1.0rc5 - (August, 22nd 2011)
-------------------------------------------------------------------------------
- SQL engine: new [] operator to extract items from lists, sets, maps and
  arrays
- SQL engine: ORDER BY works with projection alias
- SQL engine: Cross trees and graphs in projections
- SQL engine: IN operator uses Index when available
- Fixed all known bugs on transaction recovery
- Rewritten the memory management of MVRB-Tree: now it's faster and uses much
  less RAM
- Java 5 cmopatibility of common and core subprojects
- 16 issues fixed in total

Full list: http://code.google.com/p/orient/issues/list?can=1&q=label%3Av1.0rc5

-------------------------------------------------------------------------------
VERSION 1.0rc4 - (August, 1st 2011)
-------------------------------------------------------------------------------
- SQL engine: improved mixing functions and operators all together in complex
  combinations
- SQL engine: supported array, collection and maps as query parameters
- New SQL TRUNCATE RECORD command
- JARs are OSGi compliant
- GraphDB: Renamed Vertex "outEdges" and "inEdges" in respectively "out" and 
  "in"
- Fixed problems with drop clusters
- 21 issues fixed in total

Full list: http://code.google.com/p/orient/issues/list?can=1&q=label%3Av1.0rc4

-------------------------------------------------------------------------------
VERSION 1.0rc3 - (July, 14th 2011)
-------------------------------------------------------------------------------
- Improved Index manager to use index also with multiple query condition
  (many thanks to the Exigen team!) 
- Fixed problems with schema refreshing
- Fixed a lot of bugs with distributed clustered configuration (thanks to the
  NuvolaBase team!) 
- New SQL ALTER CUSTER command
- New SQL operator EXISTS
- GraphDB: new SQL GREMLIN() operator to execute Gremlin scripts against the
  SQL query resultset
- GraphDB: integrated Gremlin as command script implementation
- Improved disk space allocation
- Improved performance in general
- 34 issues fixed in total!

Full list: http://code.google.com/p/orient/issues/list?can=1&q=label%3Av1.0rc3

-------------------------------------------------------------------------------
VERSION 1.0rc2 - (June, 17th 2011)
-------------------------------------------------------------------------------
- Fixed multi-threads problems
- Speeded up index searching
- Refactored schema, index and security managers to work in multi-threads
- When use remote as protocol, triggers now work at server-side level
- New SQL BETWEEN operator, useful specially against indexes to execute
  ranged queries
- New SQL ALTER CLASS and ALTER PROPERTy to refactor the db schema
- New Console DROP DATABASE command
- New Console INDEXES command that displays the configured indexes
- New DATE type to handle dates only with YYYY/MM/SS
- New SQL distinct() function
- New SQL union(), intersect() and difference() functions to work with
  collections
- MVCC (Multi-version Concurrency Control) system is enabled also outside
  transactions by default, but can be turned off
- Supported +, -, *, / and % math operations in SQL Query
- Enforced security checks
- GraphDB support multiple edges between two vertexes
- Core is Java5 compatible, the server needs Java6
- 80 issues fixed in total!

Full list: http://code.google.com/p/orient/issues/list?can=1&q=label%3Av1.0rc2

-------------------------------------------------------------------------------
VERSION 1.0rc1 - (May, 3rd 2011)
-------------------------------------------------------------------------------
- New defrag algorithm to reduce holes and therefore disk space
- New super fast lazy collections that optimizes marshalling/unmarshalling
- HTTP protocol handles multipart requestes
- New HTTP Download and Upload commands
- Fixed problems with cluster configuration when multiple dbs was opened
- Added 8 new configuration parameters
- new OLockManager class to lock at record level
- Many bugs fixed

Full list: http://code.google.com/p/orient/issues/list?can=1&q=label:v1.0rc1

-------------------------------------------------------------------------------
VERSION 0.9.25 - (March, 2nd 2011)
-------------------------------------------------------------------------------
- Brand new memory model with level-1 and level-2 caches (Issue #242)
- SQL prepared statement (Issue #49)
- SQL Projections with the support of links (Issue #15)
- Graphical editor for documents in OrientDB Studio app (Issue #217)
- Graph representation in OrientDB Studio app
- Support for JPA annotation by the Object Database interface (Issue #102)
- Smart Console under bash: history, auto completition, etc. (Issue #228)
- Operations to work with GEO-spatial points (Issue #182)
- @rid support in SQL UPDATE statement (Issue #72)
- Range queries against Indexes (Issue #231)
- 100% support of TinkerPop Blueprints 0.5
- Many bugs fixed

Full list: http://code.google.com/p/orient/issues/list?can=1&q=label:v0.9.25

-------------------------------------------------------------------------------
VERSION 0.9.24 - (December, 10th 2010)
-------------------------------------------------------------------------------
New features:
- Support for Clustering with synchronous and asynchronous replication
- New SQL RANGE keyword: SELECT FROM ... WHERE ... RANGE <from> [,<to>]
- New SQL LIMIT keyword: SELECT FROM ... WHERE ... LIMIT 20
- Improved CREATE INDEX command
- New REMOVE INDEX command
- New console command INFO CLASS
- New console command TRUNCATE CLASS and TRUNCATE CLUSTER
- MRB+Tree now is faster and stable
- Improved import/export commands
- Improved JSON compliance
- Improved TRAVERSE operator with the optional field list to traverse
- Fixed a lot of bugs

For the complete list:
http://code.google.com/p/orient/issues/list?can=1&q=label:v0.9.24

-------------------------------------------------------------------------------
VERSION 0.9.23 - (October, 18th 2010)
-------------------------------------------------------------------------------
New features:
- Issue  92: Support for logical cluster in TX
- Issue 125: Cross-domain access to the DB server for Silverlight and Flash
             clients
Bugs:
- Issue  65: Slow query on Index when the value isn't in the database
- Issue  73: OrientDB Studio issues
- Issue  83: ClassCastException occurs
- Issue  99: Deleting docs one by one will cause exception
- Issue 110: ClassCastException occurs in OrientDB Studio
- Issue 113: RegisterEntityClasses once with ODatabaseObjectPool should be
             enough
- Issue 115: Concurrent access fails various ways and performance is bad
- Issue 116: Referenced POJOs are not stored during save
- Issue 117: TreeMap performance degrades under high load
- Issue 118: Registering classes should use fully qualified class name, not
             strings
- Issue 119: Error occurs call OSQLQuery method with the query string that
             starts with white space.
- Issue 121: Debug option in base-build.xml
- Issue 122: An error has occurred while building the revision 1465
- Issue 131: REST api record update requires to repeat all attributes
- Issue 132: Error 500 on curl POST to REST api
- Issue 133: REST api: cannot change record class?
- Issue 135: Stacktrace contradiction, Type BINARY must be a collection
- Fixed other minor bugs

-------------------------------------------------------------------------------
VERSION 0.9.22 - (September, 15th 2010)
-------------------------------------------------------------------------------
New features:
- Issue  21: Full text index against schema fields
- Issue  91: SQL UPDATE against collections and maps
- Issue  94: Support for GREMLIN graph language
- Issue 108: Regular expression support in WHERE clause
- Issue 109: Support for memory clusters inside regular persistent database

Bugs:
- Issue  86: Cannot insert record from console
- Issue  87: Cannot query records from OrientDB Studio Command-page
- Issue 100: Transaction does not work as expected
- Issue 101: Error in using orient queries having ' character
- Issue 104: Bulk record creation in cluster with pre-created indices causes
             ClassCastException
- Issue 105: Error in using UPDATE query
- Fixed other minor bugs

-------------------------------------------------------------------------------
VERSION 0.9.21 - (July, 29th 2010)
-------------------------------------------------------------------------------
- Issue 60: GraphDB implementation
- Issue 8:  Import of exported database
- Issue 70: Connection pool
- Issue 67: Support lazy loaded collections and maps also for ODocument
- Issue 66: Optimize loading of database schema at opening using the fetch plan
- Issue 71: Support record internal field in queries
- Issue 63: Server: logs by default should reside in files
- Issue 69: Java 1.6 creep
- Issue 74: Create class from console
- Issue 75: Sequential document updates from different connections yields
            conncurrent modification exception
- Issue 78: Database corruption
- Issue 79: Error parsing example query
- Issue 80: Root cause not reported on query parsing
- New annotations to control object mapping: ORawBinding, ODocumentId and
  ODocumentInstance
- Fixed other minor bugs

-------------------------------------------------------------------------------
VERSION 0.9.20 - (July, 12nd 2010)
-------------------------------------------------------------------------------
- New run-time Fetch Plans. Example: "parent:0 Address.city:1 *:-1" (Issue #54)
- New database properties (Issue #54)
- POJO callback on serialization/deserialization (Issue #56)
- New annotation to use RAW binding (Issue #57)
- Enhance the base-build.xml to create all required directories (Issue #58)
- Fixed object graph management
- Fixed other minor bugs

-------------------------------------------------------------------------------
VERSION 0.9.19 - beta (June, 25th 2010)
-------------------------------------------------------------------------------
- Issue #10: support for native inheritance between Documents and POJOs
- Issue #45: implemented not-unique indexes
- Issue #47: support ORDER BY clause in SQL SELECT statements
- Issue #53: Improved description on errors 
- Issue #50: Auto register Remote Engine if available
- Fixed other bugs (user loading, logical cluster casts)
-------------------------------------------------------------------------------
VERSION 0.9.18 - beta (June, 21st 2010)
-------------------------------------------------------------------------------
- New SQL command "create link" to create physical connection between records.
  Useful when import a Relational DBMS. Use the "inverse" form to map 1-N
  relationships
- New console command "import documents" to import JSON document 
- New SQL command "create property" to add schema full properties
- Added status in OUser and checked when login. By default is ACTIVE
- Issue #44: support of ORID in queries. Example: SELECT FROM profile WHERE
             friends IN [10:3, 10:1]
- Fixed other bugs (not null, not equals, encoding)

-------------------------------------------------------------------------------
VERSION 0.9.17 - beta (June, 7th 2010)
-------------------------------------------------------------------------------
- New Index API to create a unique index for each property. This speed up the
  performance of queries but slow down updates, inserts and deletes
- OrientDB Studio: new rendering for links
- Fixed bug on embedded type in collections

-------------------------------------------------------------------------------
VERSION 0.9.16 - beta (May, 31st 2010)
-------------------------------------------------------------------------------
- New Hook API. Like triggers of RDBMS but call Java app code
- Fixed all the bugs reported by the user in the last weeks (schema and
  serialization)

-------------------------------------------------------------------------------
VERSION 0.9.15 - beta (May, 27th 2010)
-------------------------------------------------------------------------------
- New management of users and roles
- New SQL commands: GRANT and REVOKE to manage permissions
- Enforced security in OrientDB Server with the support of Server users. The
  Server administrator account is created at first start of the Server with
  a random password
- Fixed minor issues
- Changed *.config files to *.xml

-------------------------------------------------------------------------------
VERSION 0.9.14 - beta (May, 21st 2010)
-------------------------------------------------------------------------------
- New Database structure. Logical clusters now are well integrated at storage
  level
- Improved OrientDB Studio with authentication, user, roles, clusters,
  db and server properties, etc.
- New User and Role management
- More flexible management of types in ODocument instances
- Supported HTTP Authentication basic
- Fixed some bugs in concurrency with high number of clients

-------------------------------------------------------------------------------
VERSION 0.9.13 - beta (May, 10th 2010)
-------------------------------------------------------------------------------
- New HTTP RESTful interface to the OrientDB Server
- New OrientDB Server Studio GUI to manage documents, requests and monitor the
  active connections. It's 100% web client-side
  application built with HTML, CSS and JQuery
- Fixed minor bugs on http-connections

-------------------------------------------------------------------------------
VERSION 0.9.12 (beta) - beta (May, 5th 2010)
-------------------------------------------------------------------------------
- Full support to asynchronous remote command execution. Now only SQL has been
  implemented (select, insert, update, delete)
- Fixed bug on LIKE operator
- Improved JMX monitoring support for OrientDB Server: active sessions,
  configured handlers and protocols, status, etc.
- Changed the default OrientDB Server port to 2424 and for OrientKV Server has
  been assigned the 2431.

-------------------------------------------------------------------------------
VERSION 0.9.11 (beta) - beta (April, 28th 2010)
-------------------------------------------------------------------------------
- New support for SQL commands INSERT, UPDATE and DELETE. Now everybody that
  knows SQL can start using OrientDB without the need to learn a complex syntax
  or, at worst, a Map/Reduce!

-------------------------------------------------------------------------------
VERSION 0.9.10 (beta) - beta (April, 24th 2010)
-------------------------------------------------------------------------------
- Operator traverse now accepts optional parameters to limit deep of
  recursivity: traverse(minDeep, maxDeep)
- any() and all() can accept chain of field operators such. Example:
  select from Profile where any() traverse(0,3) (any().indexOf( 'Navona' ) >-1)
- Orient Server loads any db placed in $ORIENT_HOME/databases directory without
  the need to configure them
- Memory databases can be used and shared on any Orient Server instances."temp"
  is the memory database pre-configured by default

-------------------------------------------------------------------------------
VERSION 0.9.9 (beta) - beta (April, 21st 2010)
-------------------------------------------------------------------------------
- Refactored SQL query engine to support external custom operators
- Improved POJO <-> ODocument conversion and performance
- New operators in test: any(), all() and traverse()
- Migrated demo database from petshop to demo with a Twitter-like app called
  "Whiz", specially useful to test traverse of graphs
- Implemented constraints on date (min/max)
- Fixed bug on circular references problem
- New Lazy-loaded list of pojo from ODocument converted only upon request

-------------------------------------------------------------------------------
VERSION 0.9.8 (beta) - beta (April, 18th 2010)
-------------------------------------------------------------------------------
- Fixed issue #20 (http://code.google.com/p/orient/issues/detail?id=20)
- Minor refactoring to support partitioning in Key/Value Server

-------------------------------------------------------------------------------
VERSION 0.9.7 (beta) - beta (April, 14th 2010)
-------------------------------------------------------------------------------
- Fixed problem on 'create database' and 'create cluster' console commands.
- Removed buggy 'create record' command in favor of new SQL 'insert' available
  in the next days

-------------------------------------------------------------------------------
VERSION 0.9.6 (beta) - beta (April, 12nd 2010)
-------------------------------------------------------------------------------
- Splitted Orient release in two: Database and Key/Value Server. Starting from
  now the Key/Value Server is distributed separately

-------------------------------------------------------------------------------
VERSION 0.9.5 (beta) - beta (April, 9th 2010)
-------------------------------------------------------------------------------
- Improved the speed of Key/Value Server +35%
- New console commands: get, set, properties, browse class, browse cluster,
                        export record
- The console now is able to display any kind of record
- New method ODocument.toJSON() that export in JSON format

-------------------------------------------------------------------------------
VERSION 0.9.4 (beta) - beta (April, 8th 2010)
-------------------------------------------------------------------------------
- Fixed bug on Key/Value Server in HTTP protocol parsing
- New benchmarks folder to test performance of the Key/Value Server
- Renamed many classes to the final names

-------------------------------------------------------------------------------
VERSION 0.9.3 (beta) - beta (April, 6th 2010)
-------------------------------------------------------------------------------
- Added new console commands:
  - dictionary keys
  - dictionary get
  - dictionary put
  - load record
  - display record
- Fixed minor bug on serialization

-------------------------------------------------------------------------------
VERSION 0.9.2 (beta) - beta (April, 2nd 2010)
-------------------------------------------------------------------------------
First public release created by the knowledge acquired by Orient ODBMS. The new
engine was totally rewritten in Java (before it was in C++) with a lot of
improvement and new functionalities.