OrientDB Changelog

What's new in OrientDB 3.0.16

Mar 1, 2019
  • Core:
  • Optimize disk cache (increased read buffer size, change of management of dirty entries)
  • Fix index iterator (regression in v 3.0.14-15)
  • Optimize metadata update in remote
  • Fix ClassCastException on hash index
  • SQL:
  • Fix usage of indexes in SQL SELECT when value is a RID Issue #8765
  • Fix NullPointerException on SQL ALTER PROPERTY Issue #8763
  • Fix query execution planning with batch variables and multiple indexes (index union)
  • Fix execution of scripts in distributed environment
  • Distributed:
  • Refactor to make sure to allocate record ids inside lock for guarantee order
  • Make sure that in case of sync request timeout the database stay offline
  • Fixed issue in delta sync with record version management

New in OrientDB 3.0.15 (Feb 13, 2019)

  • Changes:
  • Core:
  • fixed issue with pool high concurrency when pool run out of resources
  • Implementation of cluster based storage configuration.
  • fixed locking issues on concurrent modification exception when a single node is running in quorum 1
  • CHM based async. cache and WTinyLFU policy are introduced.
  • fixed locking issue on high concurrent transactions on the same records
  • Speed up of allocation of new cache pages
  • SQL:
  • Fix result set serialisation (null OType)
  • Fix order of execution of LET statements in SQL
  • Fix SELECT FROM INDEX from a subquery Issue #8745
  • REST:
  • Add option to disable return of execution plan from REST/JSON Issue #8743
  • TinkerPop2.x:
  • Fix moveToClass() in legacy TinkerPop2 API

New in OrientDB 3.0.14 (Feb 13, 2019)

  • Bugs Fixed:
  • SQL:
  • Fix nested projections to support *:{*} Issue #8724
  • Fix map() function to be recognised as an aggregate function from new SQL executor Issue #8714
  • Fix equality of DECIMAL values in SQL (scale) Issue #8706
  • Enhancements:
  • Core:
  • Enhanced tree index performance

New in OrientDB 3.0.13 (Feb 13, 2019)

  • Bugs Fixed:
  • Studio:
  • Fix CSV Export Issue #8335
  • SQL:
  • Fix keys()/values() methods Issue #8705
  • Fix return of multiple results in batch queries
  • Fix CREATE EDGE to avoid to throw exceptions when vertices do not exist (it was like that already for TO vertices, making the behaviour consistent)
  • Enhancements:
  • SQL:
  • Automatic initialisation of embedded collections on SQL UPDATE Issue #8701
  • Add lazy traversal on MATCH execution Issue #

New in OrientDB 3.0.12 (Feb 13, 2019)

  • Bugs Fixed:
  • Core:
  • Fix LINKSET usage in transaction Issue #8634
  • Console:
  • Add checks to avoid wrong db drop from console Issue #8690
  • SQL:
  • Fix decoding of special characters (eg. n t ) in SQL strings inside JSON Issue #8681
  • Fix calculation of SQL function parameters, also including context and metadata values (eg. LET values) Issue #8671
  • Fix SQL CONTAINS with lists of lists Issue #8653
  • Fix nested projections on INSERT RETURN statement Issue #8543
  • JDBC Driver:
  • Fix NullPointerException on JDBC getByte() and getBoolean() Issue #8677
  • Fix JDBC ResultSet.wasNull() Issue #8674
  • Enhancements:
  • Console:
  • Add --disable-history to OrientDB console Issue #7890

New in OrientDB 3.0.11 (Feb 13, 2019)

  • Bugs Fixed:
  • SQL:
  • Fix management of "parent" property names in SQL Issue #8669
  • Support parameters for INSERT with CONTENT Issue #8666
  • Fix NPE on index chain calculation (query execution planning) Issue #8665
  • Fix nested projections with nested star Issue #8662
  • Fix CONTAINS operator on list of maps Issue #8654
  • Fix UPDATE REMOVE with LINKSET and subqueries Issue #8647
  • Fix insert on LINKMAP with subqueries Issue #8646
  • Fix SQL GROUP BY with multiple columns that do not appear in the projections Issue #8625
  • Fix general count() with no matching records in SQL Issue #8621
  • Console:
  • Fix execution of batch scripts in console with "load script" Issue #8627

New in OrientDB 3.0.10 (Oct 26, 2018)

  • Bugs Fixed:
  • Core:
  • Fix potential non-completed atomic operatios
  • SQL:
  • Fix IndexOutOfBounds on traversedElement() function Issue #8624
  • Enhance MATCHES condition to allow any expression on the right Issue #8612
  • Fix CONTAINS operator on lists of maps Issue #8604
  • Fix .append() method to correctly manage quoted strings Issue #6250

New in OrientDB 3.0.9 (Oct 26, 2018)

  • Bugs Fixed:
  • Core:
  • Fix live queries with ridbags Issue #8594
  • SQL:
  • Fix comparison with subqueries Issue #8540
  • Fix usage of LET with indexes Issue #8572
  • Fix NullPointerException on SQL queries with orphaned links Issue #8574
  • Fix UPDATE SET on embedded maps with subqueries Issue #8583
  • Fix execution planning of inner TRAVERSE statements Issue #8592
  • Fix usage of "parent" as a projection name in SQL Issue #8565
  • Enhancements:
  • HTTP:
  • Add actual execution time to SQL query requests Issue #8579

New in OrientDB 3.0.8 (Sep 28, 2018)

  • Bugs Fixed:
  • Core:
  • Fix JSON array serialization with NULL values Issue #8531
  • SQL:
  • Fix multiple edge creation in BATCH scripts Issue #8444
  • Fix usage of LUCENE indexes with subqueries Issue #8521
  • Fix usage of indexes with subqueries Issue #8528
  • Fix ALTER PROPERTY with "name" to work also without quotes Issue #8541
  • Fix SQL aggregate projections together with back-tick quoted aliases Issue #8544
  • Fix nested SQL INSERT statements Issue #8555
  • Fix query caching problem with nested queries Issue #8563

New in OrientDB 3.0.7 (Sep 12, 2018)

  • Bugs Fixed:
  • SQL:
  • Fix usage of class aliases for edge traversal Issue #8505
  • Fix usage of $parent in subqueries Issue #8412

New in OrientDB 3.0.6 (Aug 14, 2018)

  • BUGS FIXED:
  • Console:
  • Fix hanging OETL process Issue #8447
  • SQL:
  • Fix usage of indexes on maps by key/value

New in OrientDB 3.0.5 (Aug 2, 2018)

  • BUGS FIXED:
  • Console:
  • Fix parsing of MATCH statement in console Issue #8414
  • Fix parsing of SELECT/MATCH in console Issue #8430
  • SQL:
  • Fix type conversion with IN operator Issue #8428
  • Fix graph traversal projections in SQL Issue #8415
  • Fix INSERT with RETURN Issue #8411
  • Fix UPDATE EDGE with subqueries Issue #8406
  • Fix subqueries with TRAVERSE and projections Issue #8395

New in OrientDB 3.0.4 (Jul 13, 2018)

  • BUGS FIXED:
  • SQL:
  • Fix usage of $parent and $current in new SQL executor Issue #8383
  • Fix case sensitive cluster names in queries

New in OrientDB 3.0.3 (Jul 4, 2018)

  • BUGS FIXED:
  • Core:
  • Fix remote nested TX usage with old SQL executor Issue #8311
  • Fix hierarchical role classes Issue #8338
  • SQL:
  • Fix count() when no records match criteria Issue #8280
  • Fix lazy execution batch scripts in IF statements Issue #8305
  • Studio:
  • Fix Teleporter Importer UI Failure Issue #512
  • OrientDB Gremlin:
  • Fixed JSON encoding issue Issue #8327
  • ENHANCEMENTS:
  • SQL:
  • FOREACH block in SQL scripts (experimental) details here
  • WHILE block in SQL scripts (experimental) details here
  • negative (NOT) patterns in MATCH statements (experimental) details here

New in OrientDB 3.0.2 (Jun 7, 2018)

  • ODB2.2.20 OOM errors
  • Not able to drop database in embedded distributed, works fine with just embedded db
  • Issue using lucene indexes and the OR operator with list fields
  • Cannot open local storage 'C:/orientdb-teleporter-community-2.2.23/databases/OSystem' with mode=rw at first run
  • Continue import if import of separate records fails
  • Problem with nested collections
  • NPE during creation of a property for a specific class
  • Studio should show Custom Conflict Strategy
  • Unclear exception and wrong exceptions order
  • OIndexException when trying to use index partially
  • Log is filled with memory leak warnings

New in OrientDB 3.0.1 (May 19, 2018)

  • ENHANCEMENTS
  • SQL:
  • Implement UPSERT EDGE Issue #4436
  • BUGS FIXED:
  • Core:
  • Fix retrieving function metadata from Java API Issue #5779
  • Fix ArrayIndexOutOfBoundsException Issue #7794
  • Fix connection reopen in pool Issue #8195
  • Fix tx visibility issue Issue #8224
  • Fix issue with disk space management Issue #8252
  • SQL:
  • Fix batch script execution Issue #8263
  • Fix usage of IN operator with unique hash index Issue #8270
  • Object database:
  • Fix detachAll for and maps Issue #8256
  • Distributed:
  • Fix import in distributed mode Issue #7268

New in OrientDB 3.0.0 (May 19, 2018)

  • Bugs Fixed:
  • See https://github.com/orientechnologies/orientdb/issues?q=is:issue+milestone:3.0.0+is:closed
  • Enhancements:
  • Lucene upgraded to v 7.3
  • Geospatial module merged to base Lucene module and with the main distribution. The license is now compatible with Apache 2.0

New in OrientDB 2.2.33 (Mar 12, 2018)

  • Core:
  • Fix Page File index placed in wrong list Warning - Issue #7971
  • SQL:
  • Fix OOM Exception on Fetching Records with the help of functions - Issue #8135

New in OrientDB 3.0.0 RC 2 (Mar 2, 2018)

  • Storage:
  • Improvements of 300% on write speed
  • Improved storage caching for reduced latency
  • New mechanics of fuzzy checkpoints based on tracking of flushed LSN of dirty pages borrowed from classic ARIES publication was implemented.
  • New write cache based on copy-on-write during data flush was created.
  • Dynamic management of WAL size was implemented.
  • APIs:
  • Graph-document concepts unification in core API: New interface called OElement (to replace ODocument class). As of OrientDB v3.0 any character is allowed as a valid character in property names
  • New database administration API
  • New database access and pooling API
  • The object API now is on a separate module
  • Queries:
  • New execution plan based query engine
  • Increased Transaction isolation with remote connections: This solves the ancient problem when by using a remote connection in the middle of a transaction, queries were executed outside the transaction scope. Now the changes are flushed to the server before to execute the server side query.
  • Support streaming of query result set: Queries are streamed to the client through the remote protocol. This means much less RAM used and less latency because the result is sent immediately during the query execution.
  • TinkerPop:
  • TinkerPop 3.x: Finally the support for TinkerPop 3 has arrived and it’s released as a plugin. In this way, there is no conflict with the old TinkerPop 2.6 API.
  • TinkerPop 2.x: We know how important is the backward compatibility for our users in production. For this reason, we still provide the TinkerPop 2.6 API through a plugin.
  • New Demo DB:
  • New Demo DB ‘Social Travel Agency’: - We bid goodbye to our long-lasting “GratefulDeadConcerts” Demo Database which as now been replaced with the new ‘Social Travel Agency’ demo. This demo database provides better examples to help understand OrientDB’s Multi-Model perspective and concepts.
  • Compatibility:
  • OrientDB v3.0 is 90% compatible with code running on OrientDB v2.2.x thanks to the support of the TinkerPop 2.6 API (now as a separate module). Main compatibility issues involve the new SQL engine, which is more strict than before, but also significantly smarter and faster.

New in OrientDB 2.2.32 (Feb 6, 2018)

  • Core:
  • Automatic conversion of tree ridbags to embedded when switching to distributed mode
  • fix DROP INDEX with invalid index name - Issue #8007
  • SQL:
  • Fix ArrayIndexOutOfBoundsException on shortestPath() - Issue #8013
  • Console:
  • Fix case sensitivity on CREATE DATABASE - Issue #7923

New in OrientDB 3.0.0 RC 1 (Jan 8, 2018)

  • New database administration, access and pooling API
  • Graph-document concepts unification in core API
  • New execution plan based query engine
  • Support for query on remote transactions
  • Support streaming of query result set
  • Integration with Apache TinkerPop 3.x
  • Integration with Apache TinkerPop 2.x
  • Externalization of object API
  • Improvements of storage caching for reduce latency
  • New Demo DB 'Social Travel Agency'

New in OrientDB 2.2.30 (Nov 15, 2017)

  • BUGS FIXED:
  • Core:
  • Fixed CancellationException on wal close. - Issue #7808
  • In previous versions of OrientDB to get the total amount of physical memory on PC we used reflection to call a method of a class which is placed inside "sun" package. In the new version, we merely requesting attribute value of JMX bean from JMX server avoiding any limitations of JDK 9 module system - Issue #7773
  • Fixed OSGi compatibility issue - Issue #7772
  • Lucene:
  • Fixed issue with lucene in memory due to autoclose. Issue #7844
  • SQL:
  • Fixed NPE on Dijkstra function - Issue #7869
  • Fixed parsing issue with ALTER PROPERTIES with two blank spaced in between - Issue #7809
  • Support LET x = RID - Issue #7633
  • Distributed:
  • Inhibit usage of SBTree Ridbags in case of distributed execution - Issue #7825
  • Console:
  • Fixed management of WINCH signal on Win systems - Issue #7863
  • FUNCTIONALITIES ADDED:
  • SQL:
  • Added logging of running queries in case of OOM - Issue #7861
  • Added support for keys() and values() functions on embedded documents - Issue #7795

New in OrientDB 2.2.29 (Oct 6, 2017)

  • BUGS FIXED:
  • Core:
  • Fixed issue on edge creation: in case of high load graphdb cache may contain records with diff content but the same version. This could lead to lost of edge pointers in vertices. - Issue #7786
  • Console:
  • Fix problem with upper and lowercase js/JS jss/JSS and multi-line scripts - Issue #7782
  • Studio:
  • Fixed issue in header menu - Issue #485

New in OrientDB 2.2.28 (Sep 26, 2017)

  • BUGS FIXED:
  • Core:
  • Fix overwrite of disk cache use when set by user API - Issue #7760
  • Fix WAL compatibility issue - Issue #7756
  • Add a check to block execution of database if data corruption on disk is detected - Issue #7540
  • Remote:
  • Add outdate detection and reload of storage configuration in the case of new clusters

New in OrientDB 2.2.27 (Sep 14, 2017)

  • FUNCTIONALITY ADDED OR CHANGED:
  • Studio:
  • Added default query pagination configuration Issue #494
  • BUGS FIXED:
  • Core:
  • Fixed problems with Direct Buffer allocation Issue #7665, Issue #7586 and Issue #7641
  • Fixed a corruption problem can happen during power off of a server Issue #7562
  • ETL:
  • Fixed "skipDuplicates" doesn't work in debug mode Issue #7682
  • SQL:
  • Fixed NullPointerException on MATCH statement when the filter involves @class attribute
  • Fixed LIKE operator to work on links with LET and subquery
  • Fixed usage of composite index with IS NULL condition
  • Studio:
  • Fixed Issue with server soles in cluster management Issue #492
  • Distributed:
  • Fixed issue during fix/rollback of transactions that caused to write a wrong record count.
  • Enterprise:
  • Improved RAM consumed by the Enterprise Profiler Issue #7623

New in OrientDB 2.2.26 (Sep 2, 2017)

  • FUNCTIONALITY ADDED OR CHANGED:
  • Distributed:
  • Upgraded Hazelcast version to 3.8.4. Warning: As a result of this change it is not possible to perform a hot (rolling) upgrade from versions 2.2.25. Rolling upgrades are supported again for upgrades between v1 and v2, where v1 and v2 are equals or higher than 2.2.26
  • Studio:
  • Implemented removal of permission in Role UI - Issue #420
  • Add a delete button to remove an entry on security panel - Issue #420
  • BUGS FIXED:
  • Core:
  • Preserve superclass order - Issue #7460
  • Fix deadlock on edge unique index - Issue #7589
  • OrientDB able to automatically correct direct memory consumption even if flag XX:MaxDirectMemorySize is not set. But because OrientDB allocates direct memory by the big amount of chunks in previous versions amount of memory to be allocated in the last chunk can exceed direct memory limits. This issue was fixed. Issue #7627
  • Fix multiple usages of the same sequence in the same TX Issue #7547
  • Fix possible updated information in cache state file after shutdown/startup Issue #7601
  • SQL:
  • Fix DELETE statement parsing with RETURN COUNT Issue #7598
  • Lucene:
  • Lucene Spatial indices were closed incorrectly - Issue #7585 & Internal Issue #9132
  • Studio:
  • The databases that are populated in the connection window are now sorted alphabetically - Issue #486
  • Distributed:
  • Under certain conditions, when a node was starting up, a database was mistakenly deleted. Now fixed - Internal Issue #9064

New in OrientDB 2.2.25 (Aug 3, 2017)

  • FUNCTIONALITY ADDED OR CHANGED:
  • Studio
  • A new 'Neo4j to OrientDB Importer' plugin that connects to Neo4j via the Neo4j remote bolt protocol has now been integrated into both OrientDB Community and Enterprise Editions. This is in addition to the already existing command-line 'Neo4j to OrientDB Importer" tool, that made use of embedded connections via the Java API (and that is still available as an external package) - Issue #432
  • Distributed:
  • Improved java client reconnection when Data Centers are used: two new values for the -Dnetwork.retry.strategy option have now been added: same-dc and auto- Issue #7509 - Documentation
  • ETL:
  • Added support for algorithm parameter in index creation - Issue #7581
  • BUGS FIXED:
  • Core:
  • Fixed Bug on JSON import in multithreading environment - Internal Issue #9020
  • Fixed bug with database backup/restoration and cache state file, cache state file is now ignored - Issue #7601 & Internal Issue #9024
  • Improved performance of rid bag compare - Internal Issue #8803
  • SQL:
  • Fixed query parsing issue when "in" clause occurs after "or" condition with parentheses - Issue #6834
  • Fixed exception in select from collection of DATETIME or DATE, using prepared statement - Issue #7574
  • Fixed comparison of Short values with IN and CONTAINS in SQL - Issue #7578
  • Fixed StackOverflow exception when a list of enums is passed as an SQL param - Issue #7418
  • Fixed usage of include function in Match statement - Issue #271
  • Fixed security checks in SQL to allow reading of own OUser record - Issue #7549
  • Server:
  • Implemented GZip Compression for static resources - Issue #476
  • Distributed:
  • When executing the HA SYNC CLUSTER command, part of the cluster was not migrated. Now fixed - Internal Issue #8982. Warning: HA SYNC CLUSTER will now trigger an automatic rebuild of the indices defined on the Class the cluster belongs to. Depending on the number of defined indices and amount of data included in the Class this operation can take some time. Furthermore it is important to wait that the sync cluster operation has finished before performing any database operations that involve that cluster.
  • Fixed issue related to local DC quorum management - Issue #7539 & Internal Issue #8981
  • Enlarged default timeout for database chunk deployment - Internal Issue #8923
  • Fixed issue that was causing record version to be different on different nodes - Internal Issue #9003
  • Fixed issue with distributed sequences
  • Lucene Spatial:
  • Fixed lifecycle on the legacy spatial index - Issue #7585
  • Console:
  • Fixed retrieval of custom conflict strategy from remote - Internal Issue #8931

New in OrientDB 3.0.0 M2 (Jul 31, 2017)

  • APIs:
  • Graph-document concepts unification in core API: New interface called OElement (to replace ODocument class). As of OrientDB 3.0 any character is allowed as a valid character in property names
  • New database administration API
  • New database access and pooling API
  • The object API now is on a separate module
  • Queries:
  • New execution plan based query engine
  • Support for query on remote transactions: This solves the ancient problem when by using a remote connection in the middle of a transaction, queries were executed outside the transaction scope. Now the changes are flushed to the server before to execute the server side query.
  • Support streaming of query result set: Queries are streamed to the client through the remote protocol. This means much less RAM used and less latency because the result is sent immediately during the query execution.
  • TinkerPop:
  • TinkerPop 3.x: Finally the support for TinkerPop 3 is arrived and it’s released as plugin. In this way there is no conflict with the old TinkerPop 2.6 API.
  • TinkerPop 2.x: We know how important is the backward compatibility for our users in production. For this reason we still provide the TinkerPop 2.6 API through a plugin.
  • Caching:
  • Improvements of storage caching for reduced latency
  • New DB Demo:
  • New Demo DB ‘Social Travel Agency': - We bid goodbye to our long lasting “GratefulDeadConcerts” Demo Database which as now been replaced with the new ‘Social Travel Agency’ demo. This demo database provides better examples to help understand OrientDB’s Multi-Model perspective and concepts.
  • Compatibility:
  • OrientDB v3.0 is 90% compatible with code running on OrientDB v2.2.x thanks to the support of the TinkerPop 2.6 API (now as separate module). Main compatibility issues involve the new SQL engine, which is more strict than before, but also significantly smarter and faster.
  • For a complete list of features, enhancements and supporting documents, take a look at our Official OrientDB 3.0 documentation.
  • Known Issues:
  • OrientDB 3.0.0-M2 is still under development. The following known issues have currently been reported and are being addressed:
  • The distributed module is still in active development. Please do not use it in 3.0-m2.
  • The Neo4j to OrientDB Importer tool has not been refactored using the new Multi-Model API. As a consequence, if you plan to use the Neo4j to OrientDB Importer, please use it with the CE-TP2 package of OrientDB 3.0. For more information on the available 3.0 packages, please refer to this page.

New in OrientDB 2.2.24 (Jul 21, 2017)

  • FUNCTIONALITY ADDED OR CHANGED:
  • Studio:
  • Implemented Custom Conflict Strategy - Issue #7544
  • SQL:
  • Query timeout strategy is now configurable at a global level using the new global property query.timeout.defaultStrategy which accepts "EXCEPTION" or "RETURN" as value - Internal issue #8715
  • BUGS FIXED:
  • Core:
  • Server Log was filled with warnings 'SEVER OCachePointer.finalize: readers != 0 [OCachePointer]'. Now fixed - Issue #7388
  • Under certain conditions, an OIndexException was thrown on graph.getVertices - Issue #7484
  • Database import now continues even if some single record import fails - Issue #7550
  • In case backup of the disk cache state is broken, a warning is now show (previously the server could not be started). This has been implemented as broken backup of the disk cache state does not affect the functionality of database, only its initial performance - Issue #7558
  • -d64 switch has been added on server startup scripts (server and dsever). As a result, on systems where both a 32bit and a 64bit JVM is installed, the 64bit JVM will be used by OrientDB - Issue #7553
  • In early versions of OrientDB deleted files did not preserve their ids correctly, as result after upgrade to latest version and creation of the cluster with the same name all cluster files are assigned the same id, so one file overwrites another file in file system and created cluster contains incomplete information about its state. Now fixed - Issue #7546
  • SQL:
  • Fixed parsing of MOVE VERTEX statement inside batch scrips - Internal Issue #8854
  • Fixed timeout on queries with expand() - Internal issue #8715
  • Fixed wrong tracking flag on select insert - Issue #7538
  • Fixed binary comparison of date/datetime Issue #7557
  • Lucene:
  • Fixed issue with OR condition and list fields - Issue #7554 & Internal Issue #8929
  • 'Laziness' on Lucene indexes (fulltext and spatial): starting with 2.2.24 only after the first access (read or write) the index is opened. If the index is in idle mode for a while (the time is configurable, 20s by default) it is closed. This results in less threads, less file handlers and less used memory. Useful in case the database has an high number of fulltext or spatial indexes rarely used - Issues #7555 and #7545
  • Object:
  • Fixed bug on convert of nested collections of objects to document structure - Issue #7548
  • Server:
  • Improved shutdown process with early signal to all the execution threads
  • Remote:
  • Fixed bug with sequences generation in case of transaction in remote, [Issue #7547] (https://github.com/orientechnologies/orientdb/issues/7547)
  • HA:
  • Fixed issue with backup of old database on server startup - Internal Issue #8934
  • Locks were kept for too much time as the background thread that checks the timeout was not working correctly. Now fixed - Issue #5012
  • Node-id is now used as suffix of the temporary files used for the distributed backup. This avoids that the files are overlapped in case the nodes are running all on the same machine - partial fix for internal Issue #8923
  • Recreating a database after dropping it was failing in embedded distributed mode. Now fixed - Issue #7571
  • OTHER:
  • Neo4j to OrientDB Importer:
  • Added more tests in the automated test suite
  • Migration / compatibility tests with Neo4j 3.2.2

New in OrientDB 2.2.23 (Jul 12, 2017)

  • Core:
  • Attempting to remove a non existing field from a class instead of throwing an OSchemaException exception like in 2.1 was dumping an entire stack trace to the logger as an ERROR. As a result in certain conditions logs were filled with unnecessary stack traces, and an ERROR event instead of a WARNING was produced. Now fixed – Internal Issue #8841
  • A NPE was fixed – Internal Issue #8835
  • A NPE during database upgrade was fixed – Issue #7512
  • Under rare conditions, when -1 was being sent as record version, uniqueness constraint was violated and duplicates in the database could occur. Now fixed – Issue #7518
  • SQL:
  • Fixed square bracket filtering on maps
  • Fixed usage of Lucene index in SQL, when multiple indexes are defined on a property and the query uses LUCENE operator – Issue #7513
  • Fixed parsing problem in INSERT FROM SELECT where the SELECT has no target – Issue #7517
  • Removed misleading log message on long running queries – Issue #6889
  • CONFLICT-STRATEGY field was empty after setting a new CONFLICTSTRATEGY using the ALTER CLUSTER command – Internal Issue #8879
  • Fixed NPE that can happen when defining custom record conflict strategies
  • Fixed SQL transactions with a mix of binary and non-binary filtering strategies – Issue #7534
  • Server:
  • Fixed issue on error management on sessions without token – Issue #7528
  • Studio:
  • Fixed bug with LinkList/LinkSet when editing/creating Vertex/Edge – Issue #478
  • Fixed bug on document create in browse section that didn’t show the red bar in case of error – Issue #468
  • Distributed:
  • A ClassCastException was being logged each time a distributed transaction was rolled back. Now fixed – Internal Issue #8858
  • Refreshed active session with updated storage in case of HA SYNC – Internal Issue #8804
  • Fixed bug during resurrection of a record – Internal Issue #8791
  • Security:
  • Fixed vulnerability in SQL for queries on OUser/ORole without the privileges. An independent security researcher has reported this vulnerability to Beyond Security’s SecuriTeam Secure Disclosure program.

New in OrientDB 2.2.22 (Jun 20, 2017)

  • CORE:
  • Fixed bug on toLowerCase/toUpperCase that didn’t take care of Localeinfoicon
  • SERVER:
  • Fixed bug on server startup when automatic backup plugin is disabledinfoicon
  • SQL:
  • Use of indexes for range queries when >= and

New in OrientDB 2.2.21 (Jun 6, 2017)

  • CORE:
  • Fixed bug on file management after restoring a 2.1.x backup on 2.2.x
  • STUDIO:
  • Fixed bug on client blocked in case of error on message reading
  • GRAPH:
  • Fixed integration with gremlin for result set of collectionsinfoicon
  • HIGH AVAILABILITY:
  • Improved performance of messages exchange
  • Fixed locking problem with distributed transactions
  • Fixed OSGi dependency of distributed module from graphdb

New in OrientDB 2.2.20 (May 11, 2017)

  • Core:
  • Fixed retain of storage instance in the profile after close/delete - Issue #7320
  • Studio:
  • Fixed Bug in CSV download - Issue #7376
  • Lucene:
  • Fixed bug on date range queries - Issue #7382
  • Closed issues:
  • Non expected behavior when sending result of a query to the graph visualization
  • Strange working SQL GET query for fields with type OType.DATE
  • Sequence Property Default Value Not Lazily Evaluated
  • CI tests periodically fail with report that JVM was crashed
  • Native memory leak because of usage direct byte buffer during WAL flush
  • MATCH Query not using index
  • Error querying linklist RIDs after commit
  • Lucene's range queries on dates: timezone mismatch
  • Can't save CSV from studio
  • Trouble with order of params in graph.getVertices when using index
  • Cannot query on an emmbedded-list (long) with the operator 'between x and y'
  • WebLogic 12c Embedded xerces Class Cast Exception
  • HA: implement a dead-lock checker in case of distributed locks
  • NULL values are not visible in query with GROUP BY
  • Case Sensitivity in Console Batch Commands

New in OrientDB 2.2.19 (Apr 27, 2017)

  • Functionality Added or Changed:
  • Core:
  • Improved statistic of byte buffer exposed through JMX
  • SQL:
  • Supported wildcards in exclude() and include() functions - Issue #4773
  • New -force and -full options in HA SYNC DATABASE command - Issue #7355
  • HA:
  • Improved distributed logs: Information on who is the coordinator server are now printed
  • Added timeout in every lock request
  • Bugs Fixed:
  • Core:
  • Storage name now are registered in case insensitive way - Issues #7358 and #7327
  • Studio:
  • Removed in/out properties when adding/editing new edges from the GraphEditor - Issues #7339 and #464
  • Fixed Graph in memory cache on vertices/edges add/remove - Issue #466
  • Fixed issue with the dropdown menu in New Edge Popup - Issue #465
  • HA:
  • Fixed bug with re-election of coordinator
  • Fixed deadlock in case multiple servers went down
  • Fixed problem when nodes start at the same time
  • Fixed synchronization issue between nodes in case of high concurrency (many threads running on each available nodes and trying to modify the same vertex)
  • SQL:
  • Fix index estimation on MATCH statement execution planning - Internal Issue #8562
  • Fix parsing of UPDATE statement with multiple SET/ADD/REMOVE... clauses - Issue #7362
  • JDBC:
  • Some null values were not included in the result set: field's names mapping from documents to reusultSET has now been improved - Internal Issue #8555
  • Improved data type mapping and Spark compatibility of JDBC driver - Internal Issue #8594

New in OrientDB 2.2.18 (Apr 6, 2017)

  • Console:
  • New LOAD SCRIPT commandinfoicon
  • Studio:
  • New studio notifications and enhancements.
  • Fixed Match visualisation issues.
  • Fixed visibility issue in Backup Management with Firefox/IE
  • Core:
  • Added access of active Intent on database
  • Lucene:
  • Fixed NPE in index cursorinfoicon

New in OrientDB 2.2.17 (Feb 17, 2017)

  • HIGHLIGHTS:
  • Important Notes:
  • A critical issue which may lead to corruption of records during update was fixed. We recommend all users and Customers running OrientDB 2.2 upgrade to v.2.2.17.
  • Scripts:
  • New ‘delay’ option in stresstester script.
  • Increase the default heap size on console.sh/.bat to 1GB and let configure via variable ORIENTDB_OPTS_MEMORY.
  • JDBC:
  • Improve interaction with managemnt tools about database metadata.

New in OrientDB 2.2.16 (Feb 2, 2017)

  • Fixed issues:
  • Unexpected behavior for creation/query of kebab-case property keys
  • Import from JSON throws NPE
  • Deletion of vertex does not properly delete attached edges in 2.2.15
  • Call to uuid() returns base64 encoded Java object name
  • Error on creating ETL processor
  • Async save returns invalid ORecordId
  • A* SQL function returns paths of increasing length for consecutive, identical queries
  • file lock is null
  • thread local leak
  • Wrong placing of `-Xmx` option in console.sh
  • Error on closing file
  • Synchronization in a cluster fails
  • Error on registering local node on cluster
  • Repair utility is too slow
  • expand(outE()) throws a nullpointer exception in orientdb server side
  • Studio: interrupt button not working
  • Nodes auto-removal from the cluster does not work for one case
  • OrientDB looses data when we restart cluster after some nodes crashed
  • Errors when adding edges using multithread
  • Very high memory consumption performance
  • readme.txt has incorrect numbered list documentation
  • Lucene not working correctly with "Cluster:xx" query enhancement
  • Impossible to add a null identifiable in a ridbag
  • Corrupt state of distributed cluster when frozen db gets a write and then is released.
  • Inconsistent behavior when querying with explicit gremlin
  • [2.2.0-beta] PLocal instance crashes randomly when opening a transaction
  • Studio Usability #1 enhancement
  • broken pipe [ONetworkProtocolHttpDb]

New in OrientDB 2.2.14 (Dec 23, 2016)

  • NOTEWORTHY ENHANCEMENTS:
  • Symmetric Key Authentication: As of OrientDB 2.2.14 Symmetric Key Authentication has been provided as an Enterprise only feature.
  • Along with OrientDB 2.2.14 we have also released an new version of the Neo4j to OrientDB Importer. For those working in the Biometrics industry, this latest version includes enhancements that allow for more efficient Reactome database migrations. The Reactome database is an open source curated pathway database that provides pathway and network analysis tools for life science researchers.
  • OTHER ENHANCEMENTS INCLUDE:
  • Enhancements for Neo4j migrations in case original nodes have multiple Labels
  • Improvements in migration speeds.

New in OrientDB 2.2.13 (Nov 15, 2016)

  • NOTEWORTHY ENHANCEMENTS:
  • We are happy to announce that in this release we closed a long wanted enhancement (Issue #3597). IF NOT EXISTS clause are now available for the following commands:
  • CREATE CLASS
  • DROP CLASS
  • CREATE PROPERTY
  • DROP PROPERTY

New in OrientDB 2.2.12 (Oct 21, 2016)

  • Fixed issues:
  • Method "executeQuery" from Statement not works.
  • NullPointerException during incremental restore
  • Corrupt database, removeVertex gives NPE
  • OrientJdbcResultSet.getBoolean error
  • Cluster Strategy inexplicably changes to round-robin in distributed setup
  • Sequences in distributed configuration don't work anymore with 2.2.5-SNAPSHOT
  • repair database --fix-graph throws NPE
  • Default heap/cache size on large data
  • NullPointerException in serializer
  • .OConcurrentModificationException: Cannot UPDATE the record #0:1 because the version is not the latest.
  • Pulling RID of a Vertex from Java JDBC Library
  • remote access using Java API broken in 2.2.2 in OSGi environment?
  • wow cache: fix truncate on delete
  • NPE while updating Lucene-indexed field
  • HA: restart server HTTP API
  • HA: distributed tests fail
  • Error exporting database with automatic backup
  • problem using LET in console.sh batch mode

New in OrientDB 2.2.11 (Oct 3, 2016)

  • deleting property's attribute "regexp" does not work
  • custom field is saved wrong when I am writing string with backslash and apostrophe
  • Live query stops working after timeout
  • HTTP API race condition bug duplicate
  • High CPU usage
  • NULL value was NOT indexed as documented
  • Database import reports success when it actually failed, and has non-deterministic errors documentation
  • Test cases failing with " SIG TRAP " errors"
  • OrientGraphFactory transaction checking uses extra server connections (v2.0)
  • [ OrientDB version >= 2.1.12 ] Token based authentication behaviour
  • different behaviour between EMBEDDEDLIST with linkedtype and EMBEDDEDLIST with linked class
  • Cannot open remote database
  • Stored row in cluster shows different record count after ODB hangs
  • WARNI Receiving invalid LiveQuery token: 1857716960 [OStorageRemoteAsynchEventListener]
  • Updating child record via parent. Works on 2.1, fails on ^2.2.0
  • OIndexTxAware* search for records, changed inside transaction, dont follow index definition
  • Problem with composite index that has embeddedset followed by datetime
  • NullPointerException on index.getVersion()
  • startup of fairly big (160GB) dbase takes 30mins before accessible
  • ouser.cpm was not found on database start
  • Transaction rollback is inconsistent if exception raised during commit
  • java.lang.ArrayIndexOutOfBoundsException (negative cluster) for subqueries
  • Graph creation operation fails with "Invalid value of TX counter"
  • @rid values cannot be compared with !=, unlike all other scalar types
  • date field gets interpreted as datetime
  • Drop Database command doesn't drop database on all cluster nodes client
  • [HTTP API] Updating a document via PUT method returns the Content-Type header with invalid value
  • Orientdb UI
  • Studio New Class Description Needs Updating low
  • Error during releasing of frozen database with Lucene indexes
  • Expand on Traverse queries through OrientJS bug
  • HA: enable manual control on replication (EE only)
  • 'HA REMOVE SERVER' doesn't work
  • Order BY @RID DESC stops working in 2.2
  • Graph Canvas Save Configuration
  • Studio "Graph" view should have option to change LIMIT
  • SQL batch unusable in a distributed multi-master setup
  • Incorrect calculation (returns negative number) of free disk space available on very large volume (AWS EFS)

New in OrientDB 2.2.10 (Sep 15, 2016)

  • HA: allow overriding OLocalClusterStrategy
  • java.lang.IllegalArgumentException: Cluster segment #-2 does not exist in database
  • JDBC: null values
  • ETL: csv extractor throws exception when trying to use predefinedFormat: Default
  • NullPointerExceptions during stress testing with ORecordCacheSoftRefs
  • Distribution storage calculate average bug
  • High number of CPUs triggers multi-gigabyte memory usage by OLockManager storage team
  • Maven build: Some tests fail in orientdb-core due to missing objenesis classes
  • Automatic backup plugin "dbInclude" does not appear to work
  • DEFAULT schema values and CUSTOM fields not preserved on import/export
  • Cannot index record #62:0: found duplicated key 'null' in index 'v_user.ID' previously assigned to the record #57:0

New in OrientDB 2.2.8 (Aug 24, 2016)

  • Dates loaded via ETL using dateFormat yyyy-mm-dd in CSV extractor only sets month to january (01) bug
  • OrientDB documentation is wrong on ETL "dateFormat" field for CSV Extractors duplicate
  • ETL CSV extractor won't load dates if you provide a "columns" field
  • OrientDB failing to start on Ubuntu 16.04 with systemd waiting reply
  • OrientGraphFactory.getNoTx keeps warning on IO errors bug workaround-available
  • Deadlock in embedded server bug storage team
  • Getting test cases failure : SEVERE: Unable to determine the amount of installed RAM enhancement question
  • Unsupported backup against remote storage locks database on writes bug
  • deadlock in orient db 2.2.6 storage team
  • Profiler: redesign the profiler to be less expensive in terms of CPU performance
  • Close WAL file once it becomes inactive enhancement storage team
  • server doesn't shut down on windows invalid question

New in OrientDB 2.2.7 (Aug 12, 2016)

  • Fixed issues:
  • Distributed: auto-repair of database
  • Error on database import (2.1.8)
  • OutOfMemory due to hanging client(?)
  • Lucene indexes raise an exception after database backup
  • Fix Lucene indexes raise an exception after database backup #6544
  • [Question] Retrieve score in a query using a Lucene Index
  • Studio EE: show not only CRUD but also Transaction, conflicts and number of retries
  • Bad IP used in the network configuration
  • Only one wal file is created for few databases with the storage.wal.path setting
  • running docker with -Ddistributed=true throws error with databasis of type 'memory'
  • set JAVA_OPTS_SCRIPT only if it has not been set before
  • Unable to store data to the database using orient db etl
  • NPE during atomic operation freeze/release
  • Studio EE: measuring unit in the CRUD charts
  • Cannot set network.http.useToken to true
  • GUI > Graph: node cut by container div
  • Graph Editor - Out (Tail), In (Head) Links
  • Studio always draws standard edge first time

New in OrientDB 2.2.6 (Jul 28, 2016)

  • Encryption at rest not supported by OrientGraphFactory
  • Trying to add an event metric while connect as localhost returns limited and different options
  • Add homebrew packaging updates to release process
  • Distributed: speedup the serialization by using DataOutput instead of ObjectOutputStream
  • Create index blocks database

New in OrientDB 2.2.5 (Jul 20, 2016)

  • Fixed issues:
  • [Distributed] Not properly saving record?
  • Performance Tuning
  • Console "desc" or "info class" does not show property type
  • Encryption at rest accepts any key
  • Unable to store data to the database using orient db etl
  • Stuck on "Creating delta backup of database" [Distributed]
  • NPE in OEmbeddedRidBag if OIntentMassiveInsert is declared
  • Remove global transaction lock
  • @size variable is null in select
  • Using the uuid() function returns a Base64 encoding of the values
  • MicroTx support for Legacy Spatial Index
  • Automatic conversion between embedded rid bag and bonsai rid bag is broken in the tx mode
  • Migrate non-tx index updates to atomic operations manager

New in OrientDB 2.2.4 (Jul 9, 2016)

  • Fixed issues:
  • Database setting for record conflict strategy is not taken at database load time
  • Spatial Functions Index explain enhancement
  • On CI envinronement Lucene tests failed because of wrong path but tests are passed
  • Concurrent INSERTs and DELETEs cause deadlock.
  • error creating abstract class in studio (wrong order in syntax)
  • Distributed: Introduce DC quorum enhancement
  • Removed tracking from result sets.
  • Altering the name of a property if it already has a value returns both property names and values
  • Querying a previously abstract class returns an empty result set
  • Distributed: auto remove a node from the configuration after configurable seconds
  • About new lucene spatial plugin. enhancement
  • Migrate JDBC driver to Partitioned Pool
  • Caught I/O errors from localhost, trying to reconnect (error: java.io.InvalidClassException: com.orientechnologies.orient.core.exception.OCoreException: local class incompatible)
  • New record allocated but expected another rid
  • storage.diskCache.bufferSize does not take effect
  • java.net.SocketException: Too many open files
  • Orient DB 2.1.17 thread frozen on FileDispatcherImpl.pread0
  • LiveQuery do not work after an exceptional shutdown of NodeJS resolved
  • Index Engine error at startup for OrientDB 2.2.0
  • Type ANY does not support converting value
  • ODocument should use DB independent way for serialization
  • Record locking is broken in 2.2 version
  • Read graph action throws com.orientechnologies.orient.core.exception.OStorageException: Error on executing command.
  • [ Bynary Protocol ] When a wrong authentication token is provided the response lacks a field and break the protocol
  • OrientGraphMultithreadRemoteTest periodically fails
  • Error defining MIN value on a DATETIME property

New in OrientDB 2.2.3 (Jun 20, 2016)

  • Fixed issues:
  • broken uuid() function
  • Error message in orientdb studo
  • Refactor client retry
  • Strange behavior after OrientGraphNoTx.dropVertexType()
  • studio visual bug when trying to create edge on the graph tab
  • GUI > Graph: load hang up on query
  • Management of the drop of the last cluster of a class

New in OrientDB 2.1.17 (May 16, 2016)

  • Fix ODatabaseDocumentTx ignoring iPolymorphic parameter on countClass()
  • Can't update embedded field when cluster is selected
  • java.lang.ArithmeticException "/ by zero" when using PARALLEL keyword
  • Random NullPointer on CI tests
  • Data purging mechanism
  • Case-sensitive commands in console
  • server.bat does not set ORIENTDB_HOME environment variable
  • Error saving record - OSBTreeException: We reached max level of depth of SBTree but still found nothing, seems like tree is in corrupted state. You should rebuild index related to given query.
  • added flag to disable transaction check for move vertex operations
  • NPE in OAtomicOperation.startAtomicOperation
  • NPE creating index entry
  • Possible socket leak
  • exponential performance drop with OEntityManager.registerEntityClass after update to 2.1.12
  • IllegalMonitorStateException in OAdaptiveLock (debug logging output)
  • OServerAdmin credentials are over-written after a connection to a database is acquired through a connection pool factory bug
  • out(). converts embedded json to array in OrientDB 2.1.10 bug
  • Different transaction behavior for embedded memory/plocal vs remote question
  • Setting field of ODocument after commit/close fails with OrientGraph question
  • Transaction issue - sql parser and rollback does not work bug waiting reply
  • 2.1.3 - ODatabaseException: Error on retrieving record #-1:-7 (cluster: null) bug cannot replicate
  • Import database does not activate functions. cannot replicate
  • Escaped values do not work properly in the let block bug
  • OScheduler throw NPE when creating new OSchedule object. bug wontfix
  • OServerLifecycleListener behaviour after a improper shutdown of application enhancement
  • `DELETE EDGE` breaks transaction in `remote` connections.
  • OEntityManager.registerEntityClasses does not check for cycles.

New in OrientDB 2.2 RC 1 (May 6, 2016)

  • Distributed database breaks down after removing node
  • JSON escaping not supported
  • Cached sequences created with an increment value greater than 1 don't use increment value
  • Supported recycling of RIDs
  • Storage: support recycling of RIDs
  • A star path finding function and test added to graph sql functions
  • OdocumentDatabaseTx.getMetadata().getSequenceLibrary().getSequenceNames() returns null
  • A Star function now added to graph functions
  • Distributed: calculate the write quorum only with MASTER servers
  • Commit should not be possible after graph.shutdown()
  • Live Query not working as expected
  • Initial DB replication
  • OrientDB Startup: check available RAM
  • Create class in distributed immediately after creating db
  • Duplicate keys cause deadlock on unique indexes in case of distributed storage
  • Distributed: use incremental backup for 1st node synch with Enterprise Edition
  • New API to get the RAM used by OrientDB
  • Insufficient validation in OSchemaShared.checkClassNameIfValid()
  • Database create does not successfully create a database on all nodes in a three node cluster.
  • Record locking is broken in 2.2 version
  • Commit for OrientDB 2.2 snapshot March10 not working for linklist
  • Stop OrientDB if -XX:MaxDirectMemorySize is not set enhancement storage team
  • OrientDB 2.1.10 distributed mode: Autodeploy and Replication not happening
  • SET SERVER USER console command giving exception on 2.2.0 beta

New in OrientDB 2.1.16 (Apr 19, 2016)

  • Spring cannot create proxies for some OrientDb classes
  • [ Regression on versions >= 2.1.12 ] Regression or changed behaviour with stateless session based on the token.
  • FullCheckPoint Listener
  • vertex creation fails silently if field value is not quoted properly
  • JDBC contract not supported
  • JSON escaping not supported
  • case insensitive ISSUE
  • Issues with pivoting query on singleton Collections
  • ParseException with the keyword "desc"

New in OrientDB 2.1.15 (Apr 4, 2016)

  • Threading deadlock with Edge unique indexes
  • Serious error for version 2.1.12 (urgent)
  • Server deadlock with multiple concurrent binary clients
  • Cannot open local storage with mode=rw
  • Critical error : no delection executed
  • Case insensitive collation has no effect when using "like" clause
  • OrientDB 2.1.5: composite key index not valid after delete
  • Invalid value of TX counter

New in OrientDB 2.1.14 (Mar 30, 2016)

  • Unable to set timezone "Europe/Rome"
  • skip not working when filtering edges by field
  • rebuild index gets stuck after upgrade to 2.1.13
  • Manual index entries not persisted through a server restart
  • Composite index issue
  • Invalid JSON result on HTTP API request
  • com.orientechnologies.common.concur.lock.OLockException. File 'internal.cpm' is locked by another process, maybe the database is in use by another process. Use the remote mode with a OrientDB server to allow multiple access to the same database
  • Create sbtree bonsai cache for sbtreebonsai components not on logical instances
  • delete binary records via sql problem
  • Transaction propagation is not working
  • Opening Document Database in Windows with UNC path is not working
  • transaction commit no longer work for version 2.1.8
  • SErVER Can not change cache size in runtime because storage engine plocal was not registered
  • NPE while commiting unique index
  • ClassCastException when save a ODocument:OSBTreeException: Error during removing key OCompositeKey
  • GratefulDeadConcerts DB broken? or OrientDB bug?
  • OrientGraph.begin() does not increment TX nesting counter (2.1.x)
  • Why is that vertex persisted even though I am committing through different Tx?
  • Issue with OUser.name index
  • transaction roll back more times
  • Transaction rollbacked back issue.
  • ODB server doesn't totally respect the "storage.diskCache.pageSize" directive

New in OrientDB 2.1.13 (Mar 15, 2016)

  • include() stopped working with inline filtering
  • OETL randomly stucks
  • console batch mode doesn't work as documented
  • JDBC Implementation
  • Support ability to rebuild indexes in production
  • Tomcat redeploy using OrientGraphFactory - still happening
  • Support for Decimal Type
  • Server throws OOM and crashes on heavy load
  • ORecordDuplicatedException upon new record after cluster has been truncated but index still has it
  • Parameter Replacement with Create Edge
  • the server truncates files before drop database
  • Can't create user in 2.1.5
  • OrientTokenHandler prevents daemon from stopping
  • ODatabaseDocumentTxPooled.getUser() sometimes is returning null under heavy load
  • _NOT_PARSED_ in embedded property

New in OrientDB 2.1.12 (Mar 2, 2016)

  • Changed superclass causes objects to be unqueryable with index
  • OrientDB 2.1: OCommandSQLParsingException
  • Modificationlock
  • ODatabaseDocumentTx isClosed returns false after server shutdown
  • NullPointerException on new ORecordIteratorClass if no connection
  • Tons of warning "Maximum amount of pinned pages is reached , given page..."
  • incorrect calculation of disk free space causing failure
  • Filtering on edge property returns NO results
  • orientdb with two db connection pools creates clusters in wrong database on open
  • Index creation hang performance
  • MBean for read cache cannot be registered / unregistered
  • OPartitionedDatabasePoolFactory returns a closed pool
  • COLLATE ci on embedded collection
  • Inside [] support full SQL functions and operators [moved]

New in OrientDB 2.1.11 (Feb 15, 2016)

  • Lucene Manual Index with multiple keys bug
  • Added fixes for auth timing attacks for OrientDB 2.1.x contributor friendly security
  • serCustom method not run outside database bug workaround-available
  • Delete Multiple Records bug
  • Find References on link within an embedded object bug
  • Explain command fails with wildcard in fetchplan bug resolved
  • Java remote client runs out of memory
  • Using built-in constant-time comparison function to avoid timing attacks
  • contributor friendly security
  • Security vulnerability + preferred disclosure channel security
  • ArrayIndexOutOfBoundsException on dropVertexType/dropClass bug resolved
  • Escaped values do not work properly in the let block bug
  • Error in deleteOrfans bug

New in OrientDB 2.1.10 (Feb 4, 2016)

  • Fixed issues:
  • exception in number promotion or no existence of number type suffix for constants
  • Studio and creating databases with a space in the name
  • Issue importing database into 2.1.9
  • UNWIND returning empty resultset
  • question for new batch functionality (if block) - exception
  • Avoid System.exit on distributed plugin startup fatal error
  • DELETE EDGE not removing all identical lightweightEdges
  • can't clear intent in console with OrientDB 2.1.9
  • How to fix illegal state in vertex field
  • ETL test NPE
  • Can't migrate database from DB 2.1.5 to 2.1.9
  • Failed to create Class property results in property created.
  • Composite index is very slow | Performance degradation
  • Tests are failing
  • Audit logs incomprehensible
  • OrientDB JDBC driver with Apache Drill
  • Import database fail in distributed
  • Problem autodeploy new database on node join
  • OrientJS - Lexical error in batch
  • orientdb 2.0.16 exception with java 1.7
  • Java NullPointerException in Profiler (Studio)
  • java.lang.NullPointerException for studio profiler
  • SELECT syntax with = does not work for embeddedlist
  • Problem to start the Workbench
  • query count of vertices is wrong using DICTIONARY Index
  • Cannot update the record because the version is not the latest

New in OrientDB 2.1.9 (Jan 7, 2016)

  • Core (2): https://github.com/orientechnologies/orientdb/issues?q=milestone:2.1.9

New in OrientDB 2.1.8 (Dec 17, 2015)

  • Core (2): https://github.com/orientechnologies/orientdb/issues?q=milestone:2.1.8
  • Studio (3): https://github.com/orientechnologies/orientdb-studio/issues?q=milestone:2.1.8

New in OrientDB 2.1.7 (Dec 8, 2015)

  • Core (17): https://github.com/orientechnologies/orientdb/issues?q=milestone:2.1.7

New in OrientDB 2.1.6 (Nov 24, 2015)

  • Core (30): https://github.com/orientechnologies/orientdb/issues?q=milestone:2.1.6

New in OrientDB 2.1.5 (Nov 24, 2015)

  • Core (27): https://github.com/orientechnologies/orientdb/issues?q=milestone:2.1.5
  • Starting from this release, ETL, Lucene and JDBC repositories are part of the core.

New in OrientDB 2.1.4 (Nov 24, 2015)

  • Core (32): https://github.com/orientechnologies/orientdb/issues?q=milestone:2.1.4+is:closed
  • Lucene(2): https://github.com/orientechnologies/orientdb-lucene/issues?q=milestone:2.1.4+is:closed

New in OrientDB 2.1.3 (Oct 4, 2015)

  • Core (42): https://github.com/orientechnologies/orientdb/issues?page=2&q=milestone:2.1.3
  • ETL (4)..: https://github.com/orientechnologies/orientdb-etl/issues?q=milestone:2.1.3
  • Lucene(4): https://github.com/orientechnologies/orientdb-lucene/issues?q=milestone:2.1.3
  • JDBC (4).: https://github.com/orientechnologies/orientdb-jdbc/issues?q=milestone:2.1.3

New in OrientDB 2.1.0 (Aug 6, 2015)

  • Enhanced Security:
  • Auditing functionalities facilitate adoption of OrientDB in highly regulated environments. OrientDB Enterprise Auditing allows customers to track Change, Read, Update and Delete (CRUD) operations on every object. Polymorphic auditing allows objects to inherit auditing directives, further simplifying policy definitions.
  • 24×7 Support Services Available Globally:
  • OrientDB is formally switching to a 24×7 support offering to cover around-the-clock requests.
  • Rock Solid Stability:
  • Thousands of users have tested 2.1 in highly concurrent environments with extremely large datasets. Extensive feedback, focused effort and six release candidates have made this version the best ever. Together the OrientDB team and external contributors closed an impressive total of 389 issues with this release.

New in OrientDB 2.1 RC 6 (Jul 29, 2015)

  • 153 issues resolved from OrientDB 2.1-rc5.
  • Core (126).: https://github.com/orientechnologies/orientdb/issues?q=milestone:2.1-rc6+is:closed
  • ETL (6)....: https://github.com/orientechnologies/orientdb-etl/issues?q=milestone:2.1-rc6+is:closed
  • Lucene (8).: https://github.com/orientechnologies/orientdb-lucene/issues?q=milestone:2.1-rc6+is:closed
  • JDBC (1)...: https://github.com/orientechnologies/orientdb-jdbc/issues?q=milestone:2.1-rc6+is:closed
  • Studio (12): https://github.com/orientechnologies/orientdb-studio/issues?q=milestone:2.1-rc6+is:closed

New in OrientDB 2.1 RC 5 (Jul 4, 2015)

  • Bug fixing: 43 issues from 2.1-rc4.

New in OrientDB 2.0.11 (Jun 20, 2015)

  • Fixed bugs:
  • Auto-create databases for distributed-mode OrientDB
  • Fixed #4371. approved feature contributor friendly enhancement
  • Sometime running server with distributed configuration in 2.0.10/2.0.9 generate exception: java.lang.ClassCastException bug
  • OrientDB shouldn't check static paths bug
  • Transaction commits event if edge isn't created bug
  • Atomic operation was rolled back by internal component bug waiting reply
  • Error creation of sbtree with namecollections_14 bug
  • OSharedResourceAdaptive.acquireExclusiveLock() locks for twenty minutes or more (Orient 2.0.10) bug
  • Fix for 4303, fix for records in lazy sets with ids that are not persisted contributor friendly
  • java.util.ConcurrentModificationException on commit in remote for document with LINKSET bug contributor friendly
  • cannot create index of linkset on distributed mode bug
  • Sleep on retry transaction in batch enhancement
  • Out of Memory (Memory Leak) bug
  • Starting up in distributed mode bug
  • Calling graph.getEdges on some vertices throws exception after a restore operation bug
  • Import of Export Fails due to deleted rows invalid wontfix
  • Instability using tinkerpop remote client question waiting reply
  • RecordId cannot support negative cluster id: -51 bug waiting reply
  • No space left on device error on client side bug waiting reply
  • unique index not enforced on edges waiting reply
  • Can't add nodes/servers to an OrientDB distributed cluster bug
  • Error executing simple function from Studio in progress
  • NullPointerException during orient shutdown (2.0.4) bug
  • Strictmode ignored for embedded classes bug
  • Cannot create the index

New in OrientDB 2.1 RC 4 (Jun 18, 2015)

  • Fixed bugs:
  • How to make a HTTP Post request to a server side function (JavaScript) passing the parameters inside the request body? question
  • Deadlock bug
  • Creating edge between non-vertex classes bug
  • SQL: optimize database command enhancement
  • Remove creation of `ORIDs` class enhancement
  • error in delete command from a index query(error also in log result ) bug
  • Multi-Threading: avoiding misleading behavior for ODatabaseDocumentTx enhancement
  • Sub transactions commit/rollback outer ones with in-memory DB invalid wontfix
  • Property lost when updating vertex in an auto-merge mode bug waiting reply
  • 2.1-rc3: $depth = count(Edge)+count(Vertex) ???? wontfix
  • import with migrateLinks=true fails on links within embedded structures bug
  • NullPointerException when querying vertex bug
  • Distributed: commands against sharded classes should return composite results bug
  • Distributed: distributed transactions against sharded classes bug
  • NullPointerException when querying out vertices bug in progress
  • Querying vertex hangs bug
  • Sql select fail on from a class with 'edge' name it fail also with name escaping bug in progress
  • Support minimum clusters per class, not only as database setting enhancement
  • Classes lose custom fields after import / export operations bug
  • Asynchronous replication mode (1 node) - properties and edges lost for some vertices bug
  • Cannot obtain an OUser instance when the username contains a single quote character (')
  • Graph: case insensitivity on edge class names (label) is only partial bug
  • "Removing disconnected network channel '127.0.0.1:2424/XXX'"/"Database 'remote:localhost/xxx' is closed" when executing queries bug invalid
  • Index stores temporary RIDs for vertices created in transaction (remote storage) bug
  • deadlock on mixed create / get operations bug in progress

New in OrientDB 2.1 RC 3 (May 23, 2015)

  • Bug fixing: 38 issues from 2.1-rc2.

New in OrientDB 2.0.9 (May 15, 2015)

  • Different results of outE()
  • fix for issue #4108 and added a test case for limit query on metadata:schema bug contributor Parse error in OrientDB 2.1-rc2 when querying metadata:schema with limit clause bug contributor friendly
  • Distributed: UPDATE and DELETE command get QUORUM = ALL instead of WRITE bug
  • Distributed: speedup node join by reusing backups enhancement
  • Can't move vertex with unique index bug waiting reply
  • [2.0.x] Fix DESC iterator for classes with multiple clusters contributor friendly
  • Fix for found record in transaction with the same RID warning. contributor friendly
  • NPE while creating the index bug
  • ODB stopped listening at port 2424 bug
  • Expand shortest path with variables cannot replicate wontfix
  • "alter class myClass SUPERCLASS" - falsely report success bug
  • removeEdge leaves traces in Vertex
  • sql batch doesn't respect to unique index for 2.0.8 version
  • Error on fetching record during browsing. The record has been skipped and seems deadlock bug
  • OrientGraphFactory create OrientGraph not work
  • Orient storage doesn't support Windows UNC paths bug
  • getVertices(String,String[],Object[]) returns results from other classes bug
  • GetVertices(...) does not work with indexes built on a single property bug
  • Index (composite unique hash) file breaks on startup waiting reply
  • Cannot unlock a never acquired lock bug

New in OrientDB 2.1 RC 2 (May 6, 2015)

  • Bug fixing: 32 issues from 2.1-rc1.

New in OrientDB 2.0.8 (Apr 23, 2015)

  • Fixed issues:
  • Fix database should clean 0:0 records enhancement
  • SQL Batch: inconsistent return values when using objects or arrays
  • SQL Batch: altered returned object
  • NPE when returning object or array from console batch mode
  • java.lang.IndexOutOfBoundsException: Index: 0, Size: -1
  • Class create by a select query for lightweigth edges bug
  • Include regexp in properties for GET /database/ request contributor friendly
  • CLUSTERSELECTION balanced does not seem to work
  • Fix schema generation for serializable fields that point to other orient entity/schema classes contributor friendly
  • Set properties value does not work when using 'move vertex' SQL
  • import CSV problem
  • Gremlin queries close database for session
  • Schema generation for reference to Serializable classes makes a CUSTOM type property instead of LINK contributor friendly
  • Expand(out("edgeName")) VS Expand(out("edgeName").@RID) Performance Difference performance
  • Create edge in document database

New in OrientDB 2.1 RC 1 (Apr 17, 2015)

  • Schema:
  • Support for Multiple inheritance where classes can extend from multiple super classes
  • Support for default values (functions are allowed)
  • Core:
  • Improved WAL management (Journal) to enforce Consistency with transactions
  • Fetch-plan supports wildcard for names
  • SQL:
  • New SQL parser by default on with new databases and off with those created with old versions
  • Prepared Statements and substitution of parameters and target
  • New Live Query to write Reactive applications
  • New optimization about using of indexes in sub-classes if present
  • New concat() function
  • Distributed:
  • Support for slave (read-only) nodes
  • Included Hazelcast-all.jar including also Cloud support
  • ETL:
  • Skip duplicated vertices
  • Bug fixing:
  • 104 issues in total

New in OrientDB 2.0.7 (Apr 15, 2015)

  • Compatibility problems between OrientDB 1.7.8 and 2.0.6 bug client In Progress

New in OrientDB 2.0.6 (Apr 1, 2015)

  • java.sql.DatabaseMetaData.getTables(): wrong order of columns in ResultSet
  • Fixing when using a token issued for a user in subclass of OUser
  • contributor friendly
  • Count is broken when deleting a vertex when count is used in the same transaction
  • NPE while retrieving field from document
  • Whenever you try to raname class of edges, it's objects looses their chain of inheritance. wontfix
  • Commit transaction does nothing and produces no error messages
  • UPSERT should manage OConcurrentModificationException
  • Export Records result count
  • MOVE VERTEX no longer updates edges
  • Fixed size of ArrayBlockingQueue for asynchronous replication does not allow full replication of data.
  • Cannot route READ_RECORD operation for #-1:-2 to the node
  • Adjusting hazelcast timeouts and lack of errors in async mode
  • OConcurrentModificationException while creating relations between verticies wontfix
  • Unable to see asynchronous replication working
  • java.lang.ArrayIndexOutOfBoundsException: 0 on remote select after restore from backup
  • Wrong number of results is returned when LIMIT is used with intersecting indexes sql
  • Distribute shutdown issue 'WARNING Distributed server is not yet ONLINE '
  • OrientDB 2.0.1 fails to start on Linux using OpenJDK 6 (IcedTea)
  • OException: Cannot find best cluster for class

New in OrientDB 2.0.5 (Mar 13, 2015)

  • Problem with edge creation using binary protocol in distributed mode bug distributed
  • Problem with edge creation using console in distributed mode. distributed
  • Bug in 2.0.4? Schema violations are not detected in transactions bug
  • NullPointerException in OObjectProxyMethodHandler.getDocFieldValue bug objectdb
  • "commit retry 100" seems to always cause repeated execution bug
  • OrientElementIterator throws NPE (orient 2.0) bug
  • NullPointerException during orient shutdown (2.0.4) bug
  • Transactions fail in distributed mode (com.orientechnologies.orient.core.exception.ODatabaseException: Error on retrieving record #-1:-3 (cluster: null)) bug distributed
  • Database closed bug
  • Wiki Download page / update latest snapshot versions + dependency inconsistencies in Sonatype documentation
  • GraphAPI and detached properties

New in OrientDB 2.0.4 (Mar 4, 2015)

  • fix partial delete multi value index unexpected behavior
  • sql batch return invalid results bug sql
  • Fix for #3644
  • Graph transaction auto-started even when explicitly told not to, when using OrientGraphFactory. bug
  • OrientEdgeIterator - Found a record (#0:0) that is not an edge bug client core medium priority
  • Some wrong query in console produce around 40 million lines of Exception bug low priority remote
  • Issues with Dynamic-Hooks RC-1 bug

New in OrientDB 2.0.3 (Feb 20, 2015)

  • Bug fixing:
  • 10 issues from 2.0.2

New in OrientDB 2.0.2 (Feb 10, 2015)

  • traverse out("E") doesn't work
  • Patch 1
  • unable to access results of custom functions when called from sql bug
  • 3edge creation increases version number by 2 in distributed+embedded mode enhancement
  • 2"java.lang.OutOfMemoryError: GC overhead limit exceeded" on massive Insert bug
  • Replication and Transaction problem bug client distributed ETA: 4hour
  • Update OGlobalConfiguration.java contributor friendly documentation
  • Warning log during backup bug low priority
  • OrientDB 2.0: A record isn't created on 3-node cluster bug
  • Getting cyclic error in console - Error on reading console input: null bug
  • #3474 opened 14 days ago by degustator
  • Orient 2.0 final - wal file size growing more than the storage.wal.maxSize bug client

New in OrientDB 2.0.1 (Jan 29, 2015)

  • Bug fixing: 10 issues from 2.0.
  • OrientDB 2.0 - create index with COLLATE
  • transaction roll back more times
  • Server still got lock after load testing
  • Lightweight Edge LinkBag Index Does Not Enforce Unique Constraint (OrientDB 2.0 Final)
  • ODocument.toJSON broken when ODocument contains null linked records
  • Distributed: error on creating cluster
  • DB building suspended with message 'Max cache limit is reached (3000 vs. 3001), sync flush is performed'
  • NPE in collate case insensitive index creation
  • [Distributed embedded] ArrayOutOfBound on browsing a class
  • Embedded property : case insensitive collate not working

New in OrientDB 2.0 (Jan 21, 2015)

  • CORE:
  • Avoids rebuilding of indexes if working in Transactional mode
  • New Schema Driver Serialization avoids writing field names for records with Schema resulting in 20% performance improvement
  • New RW-Locks to speed-up internal parallelism
  • In-Memory database uses off-heap cache now
  • Disabled SNAPPY compression by default
  • Improved schema concurrency using immutable instances
  • Added strategies to manage conflict: by content and auto-merge. Furthermore can be injected custom strategy via Java API
  • Cache, removed 2nd level cache and improved 1st level cache
  • Cluster selection strategy now can decide on the input document content
  • Clusters can be detached (offline) and re-attached (online)
  • Better automatic allocation of Heap and Disk-Cache
  • Fetch-Plan: support for wildcards
  • Using SIGTRAP (kill -5) to dump OrientDB information
  • Logged database name on server and embedded messages
  • Removed a couple of internal layers on Document API to speedup and simplify implementation. Added also ODocument.fromMap() and ODocument.toMap()
  • Merged in core commons and native-os modules
  • On first run, the server asks for the root password. Blank means auto-generate (like before)
  • Global settings are copied in database at creation time and can be update
  • Lucene plugin for Full-Text and Spatial indexes is now in bundle with default distribution
  • DISTRIBUTED:
  • 3x performance improvement
  • New asynchronous replication
  • On first run, ask for node name. Blank means auto-generate (like before)
  • Unified script and config files with stand-alone server
  • JAVASCRIPT:
  • Invoking of JS functions is now 10x faster due to caching of the JVM Script engine
  • NETWORK:
  • Support for stateless requests using Token
  • GRAPH API:
  • Disabled light-weight edges by default
  • New OGraphBatchInsertBasic and OGraphBatchInsert API for massive insertion on graphs: 13x faster than Blueprints
  • New SQL MOVE VERTEX command to refactor portion of graphs and to move vertices between distributed nodes
  • Improved OrientGraphFactory performance reducing recycling time. Added central config of generated graphs in Factory
  • Creation of edges can be set to avoid updating both vertices
  • SECURITY:
  • Added configurable SSL to HTTP and binary connections
  • SQL:
  • New UUID() function to generate Unique IDs
  • New statistic functions: mode(), variance(), stddev(), median(), percentile()
  • Rewritten implementation of shortestPath() function to be much faster
  • Improvement for “order by @rid desc” to browse results in opposite direction without use an index or RAM
  • Added UNSAFE to CREATE PROPERTY command to avoid slow checks auto conversion from map when working on EMBEDDED types
  • TOOLS:
  • Studio: New Layout, new Graph Editor, new Security panel (Users and Roles management)
  • New ETL module to import data from JDBC, CVS and JSON input sources

New in OrientDB 2.0 RC 2 (Jan 13, 2015)

  • Bug fixing:
  • 86 total issues from 2.0-RC1.

New in OrientDB 2.0 RC 1 (Dec 18, 2014)

  • Core: Avoid rebuild of indexes if working in Transactional mode
  • Javascript: Invoking of JS functions now is 10x faster
  • Network: Support for state less requests using Token
  • Graph API: Disabled light weight edges by default
  • Bug fixing: 87 total issues from 2.0-M3.

New in OrientDB 2.0 Milestone 3 (Nov 19, 2014)

  • Schema:
  • used immutable instances to reduce locking contention
  • Document API:
  • Removed a couple of internal layers to speedup and simplify implementation
  • Studio:
  • Simplified database creation (graph - no lightweight edges by default)
  • Console:
  • Displayed also @class
  • Bug fixing:
  • 115 total issues from 2.0-M2.
  • GRAPH API:
  • New OGraphBatchInsertBasic and OGraphBatchInsert API for massive insertion on graphs:
  • 13x faster than Blueprints
  • CORE:
  • Cluster selection strategy now can decide on the input document content:
  • Better automatic alloc of Heap and Disk-Cache
  • Clusters can be detached (offline) and re-attached (online)
  • FetchPlan: support for wildcards
  • Improved pools
  • Using SIGTRAP (kill -5) to dump OrientDB information
  • Fixed connection pool problem on high usage
  • Cache is always ON and can’t be disabled anymore. This avoids many common issues with users

New in OrientDB 2.0 Milestone 1 (Sep 18, 2014)

  • Studio: New Layout, new Graph Editor, new Security panel (Users and Roles management)
  • Security: Added configurable SSL keystore and truststore
  • Memory: In-Memory database uses off-heap cache
  • Graph API:
  • New OrientGraphAsynch, first experimental version of asynchronous graph
  • New SQL MOVE VERTEX command to refactor portion of graphs and to move vertices between distributed nodes
  • Improved OrientGraphFactory performance reducing recycling time. Added central config of generated graphs in Factory
  • Creation of edges doesn’t update both vertices anymore. Much faster now
  • Console: Improved layout
  • Distributed: 3x of performance improvement
  • Core:
  • New Schema Driver Serialization: avoid writing field names for records with Schema
  • Added strategies to manage conflict: by content and auto-merge. Furthermore can be injected custom strategy via Java API
  • New RWLocks to speedup internal parallelism
  • Disabled SNAPPY compression by default
  • Improved schema concurrency
  • Removed 2nd level cache
  • SQL:
  • New UUID() function to generate Unique IDs
  • New statistic functions: mode(), variance(), stddev(), median(), percentile()
  • New SQL MOVE VERTEX command to refactor portion of graphs and to move vertices between
  • Rewritten implementation of shortestPath() function
  • Improvement for “order by @rid desc” to browse results in opposite direction without use an index or RAM.
  • Configuration: Global settings are copied in database at creation time and can be update
  • Bug fixing: 20 from 1.7.9, hundreds from 1.7.

New in OrientDB 1.7.8 (Aug 14, 2014)

  • Hot fixes:
  • https://github.com/orientechnologies/orientdb/issues?q=is:issue+milestone:1.7.8+is:closed

New in OrientDB 1.7.7 (Jul 24, 2014)

  • Hot fixes: https://github.com/orientechnologies/orientdb/issues?milestone=24&page=1&state=closed.

New in OrientDB 1.7.4 (Jun 24, 2014)

  • Hot fixes.

New in OrientDB 1.7.3 (Jun 12, 2014)

  • Hot fixes.

New in OrientDB 1.7.1 (Jun 5, 2014)

  • Hot fixes only.

New in OrientDB 1.7 (May 27, 2014)

  • Core:
  • new “minimumclusters” to auto-create X clusters per class
  • new cluster strategy to pick the cluster. Available round-robin, default and balanced
  • added record locking via API
  • removed rw/locks on schema and index manager
  • cached most used users and roles in RAM (configurable)
  • Server:
  • New support for SSL connections on binary and HTTP protocols
  • Console: New “script” command to execute multiple SQL statements + transaction control
  • New “next” command to move the cursor on the next record in the result set
  • New “pref” command to move the cursor on the previous record in the result set
  • New “move ” command to move from current record by executing a predicate
  • New “eval ” command to evaluate a predicate against current record
  • Ability to ignore errors by setting “set ignore = true”
  • Distributed:
  • New support for sharding
  • Simplified (JSON) configuration
  • Graph:
  • New functions to return the traversed items: traversedVertex(), traversedEdge() and traversedElement()
  • addEdge() can takes ORID to use implicitly last record version
  • SQL:
  • New PARALLEL keyword to run the query on multiple threads
  • New “INSERT INTO … SELECT” to copy records
  • New “INSERT INTO … RETURN ” to return expressions on INSERT
  • New “UPDATE … RETURN ” to return expressions on UPDATE
  • distance() accepts measure unit (default = km)
  • HTTP:
  • added support for context variables in SCRIPT command
  • Indexes:
  • Added Full-Text Lucene indexes (as plugin)
  • Added GEO Spatial Lucene indexes (as plugin)
  • Added WAL (Journal) support for Hash-Index so can be used in Transactions
  • Added NULL support for composite and non-composite indexes
  • Full-Text can be configured through METADATA keyword
  • Full-Text now indexes also sub-words
  • Improved SQL optimizer by avoiding calling evaluate() when not needed
  • LINKSET types can be indexed now
  • RID can be used on composite indexes
  • Studio:
  • Bookmarks for queries
  • Ability to interrupt running commands
  • Bug fixing:
  • 135 issues in total

New in OrientDB 1.7 RC 2 (Mar 26, 2014)

  • Core: supported retro-compatibility for databases created with OrientDB v1.5 or further (#1899)
  • Improved performance on ORDER BY against indexes (#1843)
  • Improved performance on RENAME CLASS (#1818)
  • Graph: added support for vertex-centric traversal by using SQL (#2079)
  • added support for vertex-centric traversal by using SQL (#2079)
  • SQL: new UPSERT keyword to execute an INSERT or UPDATE based on a condition (#2032)
  • UPDATE now can ADD also to sub-document fields (#2031)
  • Indexes: added support for external engines (#1774)
  • Studio: new Query Timeline to the History, new Index Panel, Fixed many bugs
  • Bug fixing: 62 bugs in total

New in OrientDB 1.7 RC 1 (Feb 6, 2014)

  • Engine: new LINKBag to manage LINKS by using SBTree indexes. This drastically improved performance
  • SQL: new LOCK keyword to specify locking strategy
  • new RETURNING keyword to let to UPDATE and DELETE commands to return modified records
  • new include() and exclude() to respectively include or exclude fields of documents
  • operator [] now can be used in chain, also with functions
  • projections can be reused as variables
  • support for LET also in UPDATE and DELETE commands
  • Graph API: support for ordered edge list
  • new detach() and attach() method to work with Graph Element offline
  • new OrientGraphFactory to manage pooled instances
  • HTTP: new support for ETag, If-Match and If-None-Match headers
  • new PATCH method against /document command and /documentbyclass for partial updates
  • Distributed: database deploy now is chunked to avoid RAM saturation
  • Backup and Restore: improved speed from 5x to 50x
  • Studio: new CSV download of Query result

New in OrientDB 1.6.4 (Jan 16, 2014)

  • Integrated Blueprints API in “graphdb” module
  • Bug fixing

New in OrientDB 1.6.3 (Dec 30, 2013)

  • Bug fixing.

New in OrientDB 1.6.2 (Dec 10, 2013)

  • Support for COLLATE to case insensitive compare fields.
  • Bug fixing.

New in OrientDB 1.6.1 (Nov 21, 2013)

  • Bug fixing
  • Full list at https://github.com/orientechnologies/orientdb/issues?milestone=10&page=1&state=closed

New in OrientDB 1.6 (Nov 1, 2013)

  • SBTree: new index engine with the support for transactions and range queries
  • Distributed: new Architecture based on Hazelcast, new Distributed Transaction support across nodes, new Database Sharding feature
  • Studio: total rewriting in a new tool hosted on separate project
  • HTTP: execute commands in batch mode, partial document updates, JSON as return of create and update documents, management of multi databases in the same connection
  • Scripts: new "Orient" variable to get database instances, new switchUser() API to change current user
  • Plugins: new hot deployment plugin as folders, zip and jar files
  • SQL: new target "metadata" to retrieve schema and indexes
  • Console: new silent mode
  • Many features and performance improvements on plocal and hash indexes
  • Bug fixing

New in OrientDB 1.5.1 (Sep 4, 2013)

  • This is a minor release, only bug fixing:
  • Fix OStorageException during commit of huge transaction via remote client
  • FormatSettings keepTypes parameter is always true
  • OConcurrentModificationException during Gremlin queries
  • Error: com.orientechnologies.orient.core.exception.OCommandExecutionException: The 'plocal' storage mode does not exists
  • end() is never called in OCommandResultListener when using OSQLAsynchQuery towards a remote server
  • Issue with record level, role based security
  • ORecordSerializerSchemaAware2CSV fails to serialize/deserialize top level embedded list

New in OrientDB 1.5.0 (Jul 31, 2013)

  • New PLOCAL (Paginated Local) storage engine. In comparison with LOCAL it's more durable (no usage of MMAP) and supports better concurrency on parallel transactions
  • New Hash Index type with better performance on lookups. It does not support ranges
  • New "transactional" SQL command to execute commands inside a transaction. This is useful for "create edge" SQL command to avoid the graph get corrupted
  • Import now migrates RIDs allowing to import databases in a different one from the original
  • "Breadth first" strategy added on traversing (Java and SQL APIs)
  • Server can limit maximum live connections (to prevent DOS)
  • Fetch plan support in SQL statements and in binary protocol for synchronous commands too
  • Distributed configuration
  • Bug fixing

New in OrientDB 1.4.1 (Jun 19, 2013)

  • Bug fixing:
  • Database instance name the first letter is missing invalid
  • Memoryleak during massive insert in Version 1.4.0 bug
  • Unable to create edges in the latest 1.4.0 (June 7th, 2013) invalid
  • ORecordSerializerSchemaAware2CSV failing to parse null values bug
  • java.lang.NullPointerException when calling filed operators bug
  • Transactions don't work for remote databases in console duplicate
  • Problem on key index bug
  • OutOfMemory using automatic indexes: OMVRBTreeDatabaseLazySave "cache" field retains huge data amount bug invalid

New in OrientDB 1.4.0 (Jun 8, 2013)

  • Graph: total rewrite of Blueprints API that now are the default Java interface, support for light-weight edges (no document), labeled relationships using separate classes and vertex fields
  • Storage: new Paged-Local compressed "plocal" engine (not yet transactional)
  • SQL: INSERT and UPDATE supports JSON syntax, improved usage of indexes upon ORDER BY, supported timeout in query and global, new create function command, flatten() now is expand(), new OSQLMethod classes to handle methods even in chain, new encode() and decode() functions, support for new dictionary: as target in SELECT and TRAVERSE
  • new SCHEDULER component using CRON syntax
  • new OTriggered class to use JS as hook
  • MMap: auto flush of pages on regular basis
  • Fetch-plan: support for skip field using "-2"
  • Index: auto rebuild in background, usage of different data-segment
  • Export: supported partial export like schema, few clusters, etc.
  • Console: improved formatting of resultsets
  • HTTP: new /batch command supporting transaction too, faster connection through /connect command, /document returns a JSON
  • Studio: UML display of class

New in OrientDB 1.3.0 (Dec 27, 2012)

  • SQL: new eval() function to execute expressions
  • SQL: new if() and ifnull() functions
  • SQL: supported server-side configuration for functions
  • SQL: new DELETE VERTEX and DELETE EDGE commands
  • SQL: execution of database functions from SQL commands
  • SQL: new create cluster command
  • Graph: bundled 2 algorithms: Dijkstra and ShortestPath between vertices
  • Performance: improved opening time when a connections is reused from pool
  • Performance: better management of indexes in ORDER BY
  • Schema: new API to handle custom fields
  • HTTP/REST: new support for fetch-plan and limit in "command"
  • Moved from Google Code to GitHub: https://github.com/nuvolabase/orientdb

New in OrientDB 1.2.0 (Oct 11, 2012)

  • Functions: these are like Stored Procedures for RDBMS but in Javascript
  • Record Level Security, just let the class to protect overriding the ORestricted abstract class
  • Profiler: generation of snapshots
  • JMX now is a plugin (not more installed by default)
  • Automatic rebuild of schema index on restart after a crash/hard shutdown
  • SQL: new EXPLAIN command to profile any commands, new SQL LET keyword to set context variables, support for Sub-Queries in CREATE EDGE
  • Object Database JPA interface: support for configurable naming policy
  • Supported abstract classes (without record cluster)
  • Partial unmarshalling of fields to speed up queries
  • Automatic backup can start at concrete time
  • Console: prompt password if not provided
  • Renamed traverse's WHERE in WHILE
  • 65 bugs fixed!

New in OrientDB 1.1.0 (Jul 25, 2012)

  • New distributed server architecture with balance of workload, full replication and management of failures
  • New MMAP manager optimized for 64bit OS
  • Index: new support for binary keys and collections in composite keys
  • Support for in-memory database replication
  • Object Database added support for attach/detach, ENUM and binary data (ORecordBytes)
  • SQL: new DROP CLUSTER command, INSERT now supports clusters, new CREATE VERTEX and CREATE EDGE commands
  • Support for Gephi visual tool
  • 50 bugs fixed

New in OrientDB 1.0 (May 15, 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

New in OrientDB 1.0 RC 9 (Mar 28, 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
  • Schema: new support for metadata on property
  • Many bug fixed, 35 issues in total

New in OrientDB 1.0 RC 8 (Feb 4, 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, 34 issues in total

New in OrientDB 1.0 RC 7 (Dec 7, 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

New in OrientDB 1.0 RC 5 (Aug 22, 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 compatibility of common and core subprojects
  • 16 issues fixed in total

New in OrientDB 1.0 RC 4 (Aug 2, 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

New in OrientDB 1.0 RC 3 (Jul 18, 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!

New in OrientDB 1.0 RC 2 (Jun 20, 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!

New in OrientDB 1.0 RC 1 (May 25, 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

New in OrientDB 0.9.22 Beta (Oct 4, 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

New in OrientDB 0.9.21 Beta (Jul 30, 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 concurrent 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

New in OrientDB 0.9.20 Beta (Jul 13, 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

New in OrientDB 0.9.19 Beta (Jun 26, 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)

New in OrientDB 0.9.18 Beta (Jun 22, 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)

New in OrientDB 0.9.17 Beta (Jun 7, 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

New in OrientDB 0.9.14 Beta (May 22, 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

New in OrientDB 0.9.13 Beta (May 10, 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