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.7.2

Released: 8 August 2024

Component versions

RDF4J

Connectors

Workbench

4.3.13

16.2.9

2.7.2

Important

GraphDB 10.7.2 addresses a major issue with query evaluation in cluster setups as well as a number of less severe bugs.

We recommend everyone using a cluster setup to upgrade.

GraphDB Engine and Cluster

Bug fixing

  • GDB-10537 Explain plan does not understand the BNODE() SPARQL function

  • GDB-10536 Wrong order of evaluation for BIND/VALUES

  • GDB-10474 Empty result for query while a cluster node is shutting down

  • GDB-10467 “Cluster creation failed” error message in the log, but the cluster is actually created

  • GDB-10383 SPARQL templates do not handle SHACL validation errors

  • GDB-10248 CONSTRUCT query makes a cluster node unresponsive due to a memory issue

  • GDB-10241 Inconsistent error message for identical errors in cluster vs non-cluster setups

  • GDB-10176 Harmless but confusing “Closing connection from a different thread” messages in the logs when using SHACL

  • GDB-9898 Seemingly random NPE when trying to insert invalid (according to SHACL) data

GraphDB Workbench

Bug fixing

  • GDB-10626 Misplaced legend in the cluster view under Safari and Firefox browsers

  • GDB-10622 Executing requests via REST API documentation in Workbench does not work for GraphDB API when using HTTPS

  • GDB-10593 Rebuilding a Similarity index and aborting the operations before it completes leaves the index with an inconsistent “REBUILDING” status

  • GDB-10582 Aborting an import of an uploaded file results in an error

  • GDB-10573 Popups for settings and license icons in Repositories view disappear too quickly

  • GDB-10539 Importing a directory results in an error

  • GDB-10527 Various usability issues with internationalization

  • GDB-9968 Expanding the SPARQL editor and pasting a new line into a long query makes the editor collapse to the last line

GraphDB Connectors and Plugins

Bug fixing

  • GDB-10634 Duplicate values in RDF are propagated to ChatGPT Retrieval plugin

  • GDB-10591 ChatGPT Retrieval Connector fails when there are multiple values per metadata field

GraphDB distributions and deployment

New features and improvements

  • GDB-10627 Update various libraries to address known vulnerabilities

  • GDB-10619 Update RDF4J to 4.3.13

GraphDB 10.7.1

Released: 22 July 2024

Component versions

RDF4J

Connectors

Workbench

4.3.12

16.2.8

2.7.1

Important

In continuation of GraphDB 10.7.0, GraphDB 10.7.1 addresses another critical issue causing cluster instability after a clear graph operation and hitting the fingerprint mismatch safeguard mechanism. This release also provides many other fixes across various components.

We recommend everyone to upgrade.

GraphDB Engine and Cluster

Bug fixing

  • GDB-10519 S3 compatible service backup is not possible due to an invalid hostname

  • GDB-10389 Bidirectional path search fetches incorrect results when swapping start & end nodes

  • GDB-10363 Fingerprint mismatch during a stress test after a clear graph query

  • GDB-10353 NPE while attempting to apply a recovery snapshot after shutdown was started

  • GDB-9691 Non-deterministic graph path search may not find all paths

  • GDB-9583 Inadequate error handling when a plugin fails during query

GraphDB Workbench

Bug fixing

  • GDB-10471 Uploading multiple files for import at once may fail partially and leave the Import view in an erroneous state

  • GDB-10422 Import view prompts user for credentials via the browser if no repository is selected when navigating to the view

  • GDB-10417 The Preserve BNode IDs option in the Import view does not work for JSON-LD/NDJSON-LD

  • GDB-10399 After resizing the SPARQL editor and executing the query the size of the editor is reset to the default one

  • GDB-10391 Slow rendering of Import and Sparql views names when screen size changes

  • GDB-10382 Switching to an Ontop repository in the SPARQL view with inference off makes the view unqueryable

GraphDB distributions and deployment

New features and improvements

  • GDB-10495 Upgrade RDF4J to latest 4.3.12

  • GDB-10493 Update various libraries to address known vulnerabilities

Bug fixing

  • GDB-10207 Import folder for Server import in Workbench cannot be a symbolic link

GraphDB 10.7.0

Released: 4 July 2024

Component versions

RDF4J

Connectors

Workbench

4.3.10

16.2.8

2.7.0

Important

GraphDB 10.7 introduces several key enhancements and features designed to optimize the management of graph databases across various deployment environments. This release brings notable improvements in cluster operations, configuration management, user interface updates, and documentation enhancements, aiming to provide a more resilient, flexible, and user-friendly experience for our users.

With GraphDB 10.7, users will find significant advancements in system resilience and configuration flexibility, accommodating dynamic deployment scenarios such as those found in Docker and Kubernetes environments. The Workbench interface has also been streamlined, offering an improved user experience that simplifies the management and interaction with RDF data and cluster configurations.

This update addresses multiple bugs, including a critical issue that may prevent some statements from being properly deleted and cause cluster instability by hitting the fingerprint mismatch safeguard mechanism. Therefore, we recommend everyone to upgrade.

More Flexibility for Providing External Configuration

GraphDB 10.7 expands the system configuration capabilities with new mechanisms that cater to the needs of dynamic deployment environments such as Docker and Kubernetes. These new enhancements are designed to provide more flexibility and ease of use in managing configuration settings.

Environment Variables for Configuration

GraphDB now supports setting configuration properties directly via environment variables. This method offers the means to externalize the configuration, ensuring that environment-specific configurations can be applied effortlessly and securely, especially in containerized deployments. Users can now dynamically override configurations without the need to directly modify the graphdb.properties file or put everything into the GDB_JAVA_OPTS environment variable, which previously could lead to cumbersome reconfigurations and potential misconfigurations. This approach aligns with modern software practices, significantly simplifying deployment and configuration management processes.

Configuration via Separate Files

To further enhance configuration management, GraphDB 10.7 introduces a mechanism that allows the values for configuration properties to be specified via separate files. By appending @file to the name of any configuration property (for example, graphdb.auth.token.secret@file), the system will read the value directly from the specified file. This feature is useful for maintaining sensitive or environment-specific configurations outside of the main configuration file, allowing for cleaner setups.

These new features are part of our ongoing commitment to making GraphDB more adaptable and easier to integrate into complex IT ecosystems, ensuring that it remains a robust and versatile choice for users across various deployment scenarios.

Streamlined User Experience in Workbench

In GraphDB 10.7, we are excited to introduce several enhancements aimed at streamlining user interactions and improving operational transparency through the Workbench interface. These updates facilitate a more intuitive and effective experience for managing and interacting with your RDF data and cluster configurations.

Enhanced JSON-LD 1.1 Import/Export Capabilities

Building on the previous introduction of JSON-LD 1.1 in GraphDB 10.5, the latest release further integrates these capabilities directly into the Workbench UI. Users can now access the full suite of JSON-LD 1.1 settings, including options for flattened, framed, and compacted document forms, directly from the UI. This update simplifies workflows by allowing all JSON-LD 1.1 configurations to be managed within every view that supports the import or export of RDF data, making advanced data formatting tasks more accessible to all users.

Improved Import View

The import view in Workbench has been significantly upgraded to enhance user understanding and control over data import processes. New features include detailed displays of file sizes, import dates, and settings. Additionally, the updated interface clarifies the distinctions and use cases for file uploads versus server imports, helping users to make more informed decisions based on their specific needs and the nature of the data being handled.

Advanced Cluster Management and Monitoring

The GraphDB Workbench now provides a clearer and more comprehensive overview of cluster states and individual node conditions. This visualization enables users to quickly grasp the operational status of the cluster and promptly respond when intervention is required. The goal of these improvements is to make the management of complex cluster processes more transparent and user-friendly, ultimately enhancing the efficiency and effectiveness of cluster operations, and reducing the time required to check event logs when problems arise.

These updates collectively contribute to a more seamless and efficient experience for all GraphDB users, aligning with our commitment to continuously improve and adapt our tools to meet the evolving needs of our community.

Documentation is Key

In the release of GraphDB 10.7, we emphasize the significance of robust documentation as a cornerstone for enhancing user experience and operational efficiency. Recognizing this, we’ve made substantial improvements in two key areas: the interactive REST API documentation and the online documentation search capabilities.

Enhanced Interactive REST API Documentation

The interactive REST API documentation within the Workbench has undergone a significant upgrade. We have updated the Swagger interface to provide a more intuitive and user-friendly experience. Numerous bugs that previously hampered the usability of the documentation have been addressed, ensuring that users can now leverage the full potential of GraphDB’s capabilities through clearer, more accurate API documentation. This upgrade facilitates better understanding and engagement, enabling users to easily integrate and manipulate the GraphDB functionalities within their projects.

Improved Search Engine for Online Documentation

We have integrated a new search engine for the online documentation of GraphDB, designed to vastly improve the discovery of information. This new engine addresses the limitations of the previous search tool, enhancing the efficiency and relevance of search results. Users can now find the necessary documentation faster and more reliably, making it easier to learn and apply GraphDB’s features and solutions effectively.

These enhancements reflect our commitment to providing exceptional documentation. Good documentation is not just an add-on; it is essential to the successful deployment and operation of any software product. It empowers users, reduces learning curves, and supports efficient problem-solving, ultimately contributing to a smoother and more effective user experience with GraphDB 10.7.

X509 Authentication Behind a Load Balancer

GraphDB supports X509 authentication for user authentication when SSL configuration is enabled. In certain deployment scenarios, such as when GraphDB is situated behind a proxy or load balancer that handles SSL termination — take AWS’s Application Load Balancer as an example — client certificates are transmitted via HTTP headers, a process referred to as TLS passthrough. This allows backend applications to maintain the mutual authentication workflow.

GraphDB 10.7 introduces a feature that allows the system to interpret and utilize client certificates or certificate chains from request headers for X509 authentication, emulating a direct certificate-based connection to 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 and Cluster

New features and improvements

  • GDB-10274 Enable S3 cloud backup to work with Netapp S3 services

  • GDB-10222 Enhance logging in cluster

  • GDB-10197 Mask sensitive values in graphdb.properties included in server reports

  • GDB-10047 Add support for setting GraphDB configuration properties via environment variables

  • GDB-9981 Read X509 authentication certificates from request headers

  • GDB-9960 Allow audit logging for the cluster proxy

  • GDB-9959 Add X-Forwarded-For header to requests handled by the external proxy

  • GDB-9564 Introduce a mechanism for specifying values for configuration properties via separate files

Bug fixing

  • GDB-10413 Some statements may be skipped during deletion, which may manifest as fingerprint mismatch and a cluster node going out-of-sync

  • GDB-10368 Suboptimal optimization of deletes in a repository with a custom ruleset

  • GDB-10347 Improved error handling when requesting a non-whitelisted JSON-LD resource

  • GDB-10290 Cluster may become unwritable and still report as healthy after many node restarts

  • GDB-10250 JSON-LD profile parameter not correctly processed for multiple URIs

  • GDB-10191 NDJSON-LD named graph export also exports default graph when it is not marked

  • GDB-10086 Cluster node goes out of sync due to “RejectedExecutionException”

  • GDB-10050 System entities are allowed in the context position

  • GDB-9991 Export repository in cluster is not load-balanced and thus always executed by the leader

  • GDB-9955 Issues with memory consumption during backup

  • GDB-9936 Improved error handling when the config specifies an unknown GPT model

  • GDB-9911 Simplified cluster logging by removing some multiline messages

  • GDB-9650 Downloaded repository config is rejected when trying to create a repository with it

  • GDB-9573 Cannot replace cluster node with a new node having the same address

  • GDB-9296 Improve error message when attempting to change security without total quorum in cluster

GraphDB Workbench

New features and improvements

  • GDB-10149 Improve Workbench cluster management view

  • GDB-9964 Improved handling of running many concurrent queries in SPARQL editor

  • GDB-9962 As a user, I need a well documented REST API

  • GDB-9577 Improve user flow in Workbench Import view

  • GDB-9448 Freeze row numbers in SPARQL results when through many columns horizontally

  • GDB-9211 Allow user to specify JSON-LD 1.1 export settings in Workbench

  • GDB-9198 Allow user to specify JSON-LD 1.1 import settings in Workbench

  • GDB-3698 Allow zooming further out the visual graph

Bug fixing

  • GDB-10304 Mouse hover on some Google Chart visualizations in SPARQL editor causes blinking

  • GDB-10301 Disabled inference from a previous SPARQL editor session may prevent executing queries to an Ontop virtual repository

  • GDB-10195 REST API in Workbench shows incomplete URL when GraphDB is behind a reverse proxy with a context path different from /

  • GDB-10156 Misaligned “Download as” and “Visual” buttons in SPARQL editor

  • GDB-10136 “Enable replacement of existing data” checkbox in Import dialog is disabled when importing a single item via selection

  • GDB-10085 Show full recovery message on mouseover in Cluster management view

  • GDB-10064 Wrong translation of Save button in French

  • GDB-9968 Expanding the SPARQL editor and pasting a new line into a query collapses the screen to the last line

  • GDB-9946 Allow copying truncated values in SPARQL results when “Compact view” is selected

  • GDB-9881 A SPARQL editor tab that was opened by navigating from another view and then closed by the user may reopen if the user reloads the view

  • GDB-9719 Show loader while rendering SPARQL result table after changing view settings

  • GDB-9657 Similarity plugin UI breaks when selecting a result type

  • GDB-9502 Google charts in SPARQL results uses only half of the screen width

  • GDB-9464 Abort queries (but not updates) when leaving the SPARQL view

  • GDB-9462 Unable to close a SPARQL editor tab when there are numerous saved results in local storage

  • GDB-9430 SPARQL view in side-by-side mode overlaps with Workbench footer

  • GDB-9365 Similarity indexes view - different color of buttons

  • GDB-9316 Unexpected error when following the interactive guides and and enabling autocomplete index

  • GDB-9306 Various issues with the French translation

  • GDB-9304 Translate labels in Google chart configuration dialog of SPARQL view

  • GDB-9247 Sorting by column in Pivot table of SPARQL results does not work as expected

  • GDB-9242 Improved response time when viewing many SPARQL results and changing the Compact view/Hied row numbers settings

  • GDB-9233 Incorrect SPARQL syntax highlight of RDF-star embedded triples

  • GDB-9126 Downloading SPARQL query results may fail for certain queries

  • GDB-8670 Error/success toasts in Workbench may show HTML tags like “<b>unknown</b>” instead of interpreting them

  • GDB-3107 Sorting by column in SPARQL results should take into account the type of the values

GraphDB Connectors and Plugins

New features and improvements

  • GDB-10231 Update Elasticsearch version in connector to 8.13

Bug fixing

  • GDB-10300 History plugin: null pointer exception in shutdown during write while collecting history is disabled

  • GDB-10077 Elasticsearch connector with a raw query that uses function score and nested script score does not work

  • GDB-9521 History plugin: null pointer exception in shutdown during write

  • GDB-9453 Change tracking plugin logs misleading errors about connection sharing between threads

  • GDB-8471 Kafka Connector sends deletes (null body documents) for documents that were never sent to Kafka

GraphDB distributions and deployment

New features and improvements

  • GDB-10367 Update various libraries to address known vulnerabilities

  • GDB-9579 Improved search engine for online documentation