Release notes

GraphDB release notes provide information about the features and improvements in each release, as well as various bug fixes. GraphDB’s versioning scheme is based on semantic versioning. The full version is composed of three components:

major.minor.patch

e.g., 10.4.3 where the major version is 10, the minor version is 4 and the patch version is 3.

Occasional versions may include a modifier after a hyphen, e.g., 10.5.0-RC1 to signal additional information, e.g., a test release (TR1, TR2 and so on), a release candidate (RC1, RC2 and so on), a milestone release (M1, M2 and so on), or other relevant information.

Note

Releases with the same major and minor versions do not contain any new features. Releases with different patch versions contain fixes for bugs discovered since the previous minor. New or significantly changed features are released with a higher major or minor version.

GraphDB 10 includes the following components with their version numbers:

  • RDF4J

  • GraphDB Connectors

  • GraphDB Workbench

Their versions use the same semantic versioning scheme as the whole product, and their values are provided only as a reference.

GraphDB 10.6.4

Released: 7 June 2024

Component versions

RDF4J

Connectors

Workbench

4.3.10

16.2.7

2.6.4

Important

GraphDB 10.6.4 contains several critical fixes that affect cluster stability.

We recommend everyone to upgrade.

GraphDB engine & cluster

Bug fixing

  • GDB-10285 Incorrect memory check may cause exports to fail with insufficient available memory error

  • GDB-10213 Cluster leader fails to release repository lock when losing leadership before commit

  • GDB-10212 Incorrect handling of a SPARQL query containing only OPTIONAL and a FILTER/BIND

  • GDB-10153 Cluster group elects two leaders during large imports plus repository creation

  • GDB-10142 Cannot add nodes to cluster during writes

  • GDB-10125 Running compact indexes may throw out of heap error and break monitoring

  • GDB-10089 “Statement (…) found in one collection, but not found in another!” error soon after restarting a cluster node

  • GDB-10035 Cluster group elects two leaders after node goes out of sync

  • GDB-10009 Cluster with three nodes cannot elect leader when only two of the nodes are alive

  • GDB-9696 Cluster node may build an invalid snapshot from a not-fully processed transaction entry

  • GDB-9684 Cluster node remains locked and unusable if a streaming error occurs while serving a backup

  • GDB-9572 Requesting last-committed query results may fail to return the latest data

  • GDB-9301 Cluster node may fail to provide a snapshot for recovery

GraphDB Workbench

Bug fixing

  • GDB-10242 Visual graph config preview results in a 404 error if GraphDB is behind a reverse proxy with a context path different from /

  • GDB-10124 The values of sensitive properties (secrets, tokens, passwords) set via -D on the command line are shown in Workbench under Help -> System information -> JVM Arguments

GraphDB 10.6.3

Released: 19 April 2024

Component versions

RDF4J

Connectors

Workbench

4.3.10

16.2.7

2.6.3

Important

GraphDB 10.6.3 contains critical fixes that affect the cluster, SHACL and the general stability of the system. In addition to that, there are minor fixes in other components.

Note that GDB-10144 addresses an issue introduced in GraphDB 10.6.2 so if you have not upgraded to GraphDB 10.6.2, you are unaffected.

We recommend everyone to upgrade.

GraphDB engine & cluster

New features and improvements

  • GDB-10144 Interrupting a SHACL validation and possibly other workflows may lead to data corruption

  • GDB-10053 Various issues with transaction finalization and recording/replay

  • GDB-10020 Parallel Path Search does not return accurate number of paths

  • GDB-9998 Integer overflow when using 40bit entities and more than 2B entities

  • GDB-9975 Shortest path search fetches paths with various lengths

  • GDB-9935 Regress in some SPARQL queries with BIND inside a UNION

  • GDB-9928 Unable to abort running Path Search query during adjacent node evaluation

  • GDB-9899 Repository may enter unusable state after a ClosedChannelException

  • GDB-9696 Node can build a snapshot for an entry in ‘processing’ (or not yet processed) state

  • GDB-9683 There’s a chance to have repositories without TX log and channels in the cluster

  • GDB-9630 Out of sync node builds a snapshot for other nodes

  • GDB-9556 SPARQL gpt:table function may fail with Index out of bounds exception

  • GDB-9554 Cluster fingerprint mismatch during an update with an OpenSearch connector

  • GDB-9552 “Bad IRI string: id X, type -NN –> iriString null” error on a SHACL repository

  • GDB-8493 All cluster nodes report FOLLOWER state

GraphDB Workbench

Bug fixing

  • GDB-10046 Cluster recovery states are not properly visualized Workbench

  • GDB-9952 “View SPARQL query” for a ChatGPT Retrieval Connector instance does not include the document filter of nested fields

  • GDB-9883 Misaligned icons in global monitoring area

GraphDB distributions & deployment

New features and improvements

  • GDB-9893 Upgrade RDF4J to 4.3.10

GraphDB 10.6.2

Released: 8 March 2024

Component versions

RDF4J

Connectors

Workbench

4.3.9

16.2.6

2.6.2

Important

GraphDB 10.6.2 contains critical fixes and improvements that enhance the overall stability of the engine and the cluster. In addition, there are several minor fixes in Workbench and Proof plugin.

We recommend everyone to upgrade.

GraphDB engine & cluster

New features and improvements

  • GDB-9680 Relax fingerprint checking when propagating cluster transactions

  • GDB-9551 Update GraphDB 9.x repository config migration to handle a broader range of cases

  • GDB-9529 Improved handling of cluster nodes with insufficient storage to create a snapshot

Bug fixing

  • GDB-9692 Importing JSON-LD data without “Preserve BNode IDs” does not handle links between blank nodes

  • GDB-9658 Allow node to delete its own cluster configuration when the other nodes are not reachable and the force=true option is given

  • GDB-9633 FGAC may prevent users with legitimate access from deleting some statements

  • GDB-9602 Improved error handling when initializing cluster transaction log

  • GDB-9566 Repository config migration converts non-GraphDB repos to GraphDB ones

  • GDB-9405 Issues when compact indexes is executed under heavy load

  • GDB-9399 Cluster node might ask other nodes for a snapshot that is not processed by any node, thus failing to recover

  • GDB-9298 Concurrent parallel transactions in cluster may lead to a deadlock if one of the transactions is rolled back, manifesting as node going out of sync and not requesting a snapshot

  • GDB-9104 Issues related to errors “Could not read entity NN” or “Couldn’t get actual entities size”

  • GDB-8823 Synchronization issues with concurrent rollback/shutdown may lead to updates failing with “page:xxx” errors

GraphDB Workbench

Bug fixing

  • GDB-9678 Abort button not translated when there are multiple running queries

  • GDB-9628 Opening a new tab in SPARQL editor with “Editor only” mode switches to “Editor and results” mode

  • GDB-9578 Invalid RDF-star triple on copy link in SPARQL editor

  • GDB-9517 ACL management autocomplete dropdown may not be shown fully

  • GDB-9510 Interactive guides panels point to browser corner instead of inside the SPARQL Editor

  • GDB-8247 Various usability issues with showing SPARQL results

GraphDB Connectors & plugins

Bug fixing

  • GDB-9581 Proof plugin fails with NoSuchMethodError

GraphDB distributions & deployment

New features and improvements

  • GDB-9600 Update various libraries to address known vulnerabilities

GraphDB 10.6.1

Released: 20 February 2024

Component versions

RDF4J

Connectors

Workbench

4.3.9

16.2.5

2.6.1

Important

GraphDB 10.6.1 contains important fixes that improve the overall stability of the cluster, Workbench and Elasticsearch connector. In addition, there are several minor improvements in logging and Workbench.

We recommend everyone to upgrade.

GraphDB engine & cluster

New features and improvements

  • GDB-9527 Improved logging during repository initialization on rebuilding predicate statistics

Bug fixing

  • GDB-9402 Cluster node stuck trying to rollback a transaction

  • GDB-9301 Cluster node unable to provide a snapshot for recovery

GraphDB Workbench

New features and improvements

  • GDB-9514 Prevent closing of last SPARQL editor tab

  • GDB-9480 Select SPARQL editor tab name on edit so the new name can be typed directly

Bug fixing

  • GDB-9549 Can’t execute queries through WB when GraphDB is behind a context path

  • GDB-9528 Copy link buttons of an RDF star link not properly displayed.

  • GDB-9513 Home view does not load saved SPARQL queries when selecting a repository

  • GDB-9479 Wrong French translation on Abort button in SPARQL editor

GraphDB Connectors & plugins

Bug fixing

  • GDB-9501 Elasticsearch connector: “Cannot get ‘Nested’ variant: current variant is ‘Object’” after GraphDB restart

GraphDB 10.6.0

Released: 14 February 2024

Component versions

RDF4J

Connectors

Workbench

4.3.9

16.2.4

2.6.0

Important

GraphDB 10.6 introduces a suite of enhancements aimed at refining its functionality and user experience. This update sees the expansion of the Fine-Grained Access Control system to cover a broader range of operations, ensuring more nuanced access control at multiple levels. Significant improvements in the integration of new nodes into GraphDB clusters, particularly in cloud environments, have been made to streamline operations and reduce downtime. The YASGUI component in the GraphDB Workbench SPARQL editor has been upgraded to address multiple bugs, and allow for concurrent running of multiple SPARQL queries and more efficient data handling. Additionally, there is a focus on keeping third-party libraries up-to-date, ensuring the security and reliability of the product. These developments collectively enhance GraphDB’s capabilities in managing complex data environments and improve the overall user experience. Please see below a detailed introduction to the new features in GraphDB 10.6.

Manage Access with Fine-Grained Access Control

GraphDB 10.6 introduces the Fine-Grained Access Control (FGAC) system. This extends the quad-based access control for statement read operations, introduced in GraphDB 10.4, to cover statement write operations and other operations not directly related to statements.

FGAC provides access control below the repository level and employs an Access Control List (ACL) consisting of a number of rules. Each rule has a policy (deny or allow), role membership, scope, operation type (read or write), and optional elements that depend on the scope and identify specific resources within a given scope. The first matching rule determines whether a given resource can be read or written to.

The rule scope is a new concept that determines the general applicability of a rule based on what components of the GraphDB engine are responsible for executing the operation.

The Statement scope governs operations that affect repository statements, including read and write access to all data statements. It is typically used for restricting access to specific predicates (for example, salary) or entire named graphs.

The Clear Graph scope controls operations that delete statements identified only by a named graph or all graphs at once, especially used for restricting access to the ‘CLEAR ALL’ operation.

The Plugin scope applies to operations managed by plugins and can be used to restrict write operations on GraphDB Connectors to prevent accidental removal of a connector instance.

The System Scope pertains to operations involving system statements, with common use cases including the restriction of write operations that change the ruleset of the repository.

The operation type allows FGAC to distinguish between read and write operations. Read operations are those that read data without altering its state, including data queries and queries answered by plugins. Write operations are those that write or potentially change the state of data, including data inserts, deletes, and updates handled by plugins.

FGAC in GraphDB 10.6 ensures a more nuanced approach to access control, catering to various operation scenarios and enhancing overall data security.

Streamline Node Addition in GraphDB Clusters

Significant enhancements have been made to improve the operability of the GraphDB cluster. These updates address a critical issue in cluster topology, particularly in cloud environments. Previously, the system faced challenges in seamlessly integrating new nodes in place of those that went offline. This limitation became apparent in scenarios where a failed node was replaced by a new instance with the same disk but a different hostname, preventing the new node from joining the cluster due to hostname discrepancies.

To resolve this, GraphDB 10.6 includes a revamped procedure for incorporating a node into an existing topology with pre-existing data. This approach allows nodes with altered hostnames to join a cluster without requiring the replication of all repository-related data, assuming it is already present on the node.

This enhancement not only streamlines the process of incorporating nodes into a cluster but also minimizes downtime and eliminates the necessity for file system updates.

These changes are part of our ongoing commitment to improving the GraphDB experience and ensuring robust, flexible solutions for complex data environments.

Query Like a Pro with Upgraded YASGUI in GraphDB Workbench

We are excited to announce a significant upgrade to the YASGUI (Yet Another SPARQL GUI) component in the GraphDB Workbench SPARQL editor. This major version upgrade brings a host of new features, enhancements, and bug fixes, significantly improving the user experience for working with SPARQL.

Users can now run multiple SPARQL queries concurrently and edit a SPARQL query in one tab while another query is running in a different tab. This feature is a substantial improvement, allowing for more efficient data exploration and analysis, uninterrupted workflow, and increased productivity.

This upgrade to YASGUI, comprising both YASQE (Yet Another SPARQL Query Editor) and YASR (Yet Another SPARQL Result), is part of our continued dedication to providing the best tools and features to our GraphDB users. We believe these improvements will significantly enhance your data querying capabilities and overall experience with GraphDB.

Stay Up-to-date with the Latest Versions of Third-party Libraries

As a general strategy to offer a secure and reliable product, we strive to provide up-to-date versions of third-party libraries. This includes features and bug fixes provided by the libraries and addresses newly identified public vulnerabilities.

GraphDB engine & cluster

New features and improvements

  • GDB-9227 Merged the configuration parameters graphdb.health.minimal.free.storage with health.minimal.free.storage

  • GDB-9097 As a user, I need to specify ACL for access to system predicates for read and write operations

  • GDB-9096 As a user, I need to specify ACL for access to plugins for read and write operations

  • GDB-9095 As a user, I need to specify ACL for clear graph operations

  • GDB-9094 As a user, I need to specify ACL for access to statements for read and write operations

  • GDB-8907 Improved migration of custom Sail configurations from GraphDB 9.x

  • GDB-8673 Improved error reporting for the SHACL REST API

  • GDB-8567 As a user, I want to add new nodes to cluster with matching repositories

Bug fixing

  • GDB-9495 SPARQL NOW() returns different values per single query execution

  • GDB-9489 Snapshot replication takes a large amount of off-heap memory on slow networks

  • GDB-9486 Security context in cluster is propagated without expanded authorities

  • GDB-9467 Cluster node cannot initialize repository manager due to error “WriteAvailabilityHealthCheckFactory could not be instantiated”

  • GDB-9456 Cloud restore throws a NPE when restoreOptions are not provided

  • GDB-9452 Repository monitor operations return code 500 for virtual repositories

  • GDB-9391 Cluster node is not operational after restart, error “Error creating bean with name similarityIndexService”

  • GDB-9385 Importing a JSON-LD file with context provided as a URL within the file throws ClassCastException

  • GDB-9367 Socket Read Timeout of internal and external cluster proxies

  • GDB-9362 Case sensitivity of LDAP groups should obey the case sensitivity setting of the configured authorization database

  • GDB-9342 Entity pool fingerprint mismatch after failed update in the cluster

  • GDB-9287 Cluster operations that require total quorum wait instead of failing instantly

  • GDB-9161 Removed confusing log message related to debugging

  • GDB-8271 GraphDB with a SHACL repository hangs on repository restart

GraphDB Workbench

New features and improvements

  • GDB-9175 Usability: Visual graph and Similarity views — Reset and Save button on the right side

  • GDB-9164 Usability: Edit SPARQL Templates — swap position of Cancel and Save buttons

  • GDB-9159 Usability: SQL table configuration — Cancel and Save buttons on the right side

  • GDB-8684 Add search filter in the Resource view, similar to the SPARQL view

  • GDB-7729 Upgrade YASGUI (YASQE and YASR), the principal component of the SPARQL editor

Bug fixing

  • GDB-9451 Editing repository configuration does not work for Ontop repositories

  • GDB-9351 SQL table preview with security ON returns “unauthorized” error

  • GDB-8691 Editing similarity indexes Workbench displays an empty error panel

  • GDB-8687 Creating a similarity index from an existing index does not copy the index type

  • GDB-8686 Error “Could not save xxx: template … (The SPARQL template xxx: already exists)” on editing a SPARQL template and saving without any changes

  • GDB-8682 Error “Cannot load visual graph! class java.lang.NullPointerException” when clicking the Visual button with some queries

  • GDB-8622 When switching the tabs of the Resource view with many triples, the browser may hang

  • GDB-3191 Unhelpful quote behavior in the SPARQL editor

GraphDB Connectors & plugins

New features and improvements

  • GDB-8796 Improved handling of the Elasticsearch connector’s indexCreateSettings option for better compatibility with previous versions

Bug fixing

  • GDB-9463 OpenSearch connector: “Cannot get ‘Nested’ variant: current variant is ‘Object’” after GraphDB restart

  • GDB-9179 Error when creating similarity index from existing one with the same name

GraphDB distributions & deployment

New features and improvements

  • GDB-9485 Update various libraries to address known vulnerabilities

  • GDB-9416 Update RDF4J to 4.3.9

Bug fixing

  • GDB-9344 User data script in Terraform module does not configure security in the Prometheus config