Virtuoso 08.03.3327 Release Notes

Virtuoso 08.03.3327 Release Notes

We are pleased to announce immediate availability of a new Virtuoso Maintenance Release comprising a wide variety of bug fixes and feature enhancements across the following functionality realms:

Immediate benefits following installation of this maintenance release include higher performance & scalability — especially for write and delete operations — along with smarter security, increased stability, and a generally enhanced platform for exploiting the fundamental potential of secure and high-performance data connectivity across on-premise and cloud deployment configurations.

Virtuoso DBMS Engine Core

  • Added new JSON-LD parser
  • Added IRI validation bif: functions
  • Added GIT SHA1 signature to status and log output
  • Added current value of backup prefix to status report
  • Added option for soft CHECKPOINT, i.e., only perform a CHECKPOINT when the server is in idle state
  • Fixed PL debug to use better debug output for DateTime types
  • Fixed overflow in msec-based timestamps such as those used for AnyTime queries
  • Fixed issue with NULL in Aggregate groups
  • Fixed issue comparing NUMERIC and DOUBLE
  • Fixed issue comparing timezoneless and timezoned dates in columnstore index
  • Fixed issue with GROUP BY on FLOAT values
  • Fixed issue with revoke all privileges from xx

Web Server

  • Enhanced existing support for Websockets protocol
  • Added JSON-LD support to LDP protocol implementation
  • Added correct HTTP(S) protocol to %{WSBaseUrl} var
  • Added support for https connection timeout
  • Added support for internal CA list in https client
  • Fixed http_keep_session and related functions require NN 64-bit id
  • Fixed issue with .well-known/host-meta & co for application/jrd+json output
  • Fixed issue with Accept/profile; should follow RFC media type field rules
  • Fixed issue with SOCKS4 and SOCKS5 proxy handler
  • Fixed issue when socket is closed prematurely
  • Fixed missing JSON-LD in RDF-related DETs

SPARQL Query Processor

  • Added default SPARQL namespace prefixes for ActivityStreams, GoodRelations, OA, and PROV vocabularies
  • Added validation to default-graph parameter
  • Added error logging for bad IRIs
  • Added multi-threaded NQuads dump variant for RDF Quad Store via RDF_DUMP_NQUADS_MT()
  • Fixed issue with permissions; users with SPARQL_SELECT role can now use REST interface
  • Fixed issue with load get:accept pragma
  • Fixed issue with literals that have both LANG & TYPE
  • Fixed issue with detaching all filters
  • Fixed issue with casting RDF datetime to a string
  • Fixed issue with label insert when using with_delete
  • Fixed issue with serialization when datatype is missing, or lang is an empty string
  • Fixed issue with explicit datatype of literal class; must cast value to a string
  • Fixed issue trying to make IRI from incompatible types
  • Fixed issue with unnamed result from view
  • Fixed DISTINCT query compilation failure in certain cases where SELECT lists contain a reference to a parameter
  • Fixed --MM-DD is a valid gMonthYear
  • Updated support for duration
  • Updated Bootstrap to v5.2.3
  • Updated Bootstrap Icons to v1.10.3

Data Virtualization

  • Fixed issue with rr:template: default is IRI unless column, datatype, or lang are given

Data Transformation Middleware Layer (“Sponger”)

  • Added support for ActivityStreams Documents across Mastodon, Pixelfed, and other Fediverse sources
  • Added option to run cartridges in auto-commit mode (default: on)
  • Added API request timeout+retry+backoff to Twitter v2 XC
  • Fixed catch all to include SQL not found errors
  • Fixed conversation handling to get related media in the sponged graph
  • Fixed performance issues in Twitter v2 XC
  • Fixed sioc:id is a unique identifier; a literal, not an xsd:integer
  • Fixed TTL2HASH to make new IRIs in auto-commit mode, to reduce escalation and contention
  • Fixed transaction handling to reduce locking
  • Fixed issues with sponger cache handling of Cache-Control and Expires headers

GraphQL API Handler

  • Added graphql-ws protocol
  • Added GraphQL subscriptions support
  • Added implementation-specific directives for SQL/SPARQL optimization hints
  • Added transitivity for smarter and more concise GraphQL-to-RDF-Ontology mapping definitions
  • Added debug options to endpoint
  • Improved mutations support
  • Improved SDL-type schema import
  • Improved error reporting on conflicting schema & mapping/annotation definitions
  • Cleaned up introspection schema

Faceted Search and Browsing

  • Fixed format of INTEGER and FLOAT fields
  • Fixed issue calculating Unicode labels
  • Fixed issue calculating labels for blank nodes
  • Fixed issue with Unicode text in <span>
  • Fixed use schema:description as alt for rdfs:comment
  • Updated JQuery to v3.6.3
  • Updated JQuery UI to v1.13.2

Virtuoso Authentication Layer (VAL)

  • Enhanced Relying Party functionality for pure OAuth (without OIDC binding) for custom service types associated with Identity Providers such as Mastodon
  • Enhanced support for Microsoft Identity Platform
  • Enhanced UI of Apple Sign-In client secret generation
  • Added #this suffix to Service/Web IDs returned by authentication via VAL’s predefined OAuth bindings
  • Added #this suffix to Service/Web IDs returned by Mastodon authentication
  • Added ABAC ACL Configurator for simplifying ACL management
  • Added new procedure to generate signed JWT for use as client secret with Apple Sign-In; i.e., no need to run an external Ruby script to achieve this goal
  • Fixed typo in labels
  • Fixed OAuth MTLS client authentication
  • Fixed UI error reporting
  • Fixed handling of HTTPS in OAuth admin pages
  • Fixed issue with Solid client PKCE
  • Fixed issue with base64URL encoding
  • Fixed issue with scope parameter in OAuth client
  • Fixed issue with service ID when checking OAuth session

Data Replication

  • Added keep alive option for TCP socket connections
  • Added optional support to disconnect idle peers
  • Added connection timeout when subscriber tries to connect to publisher
  • Added timestamp of last replication status change
  • Fixed issue with replication and private graphs
  • Fixed issue with replication subscriber connect status
  • Fixed log text for replication keep-alive
  • Fixed possible memory leak when subscriber is dropped
  • Fixed disable replication in lite mode

HTML-based Admin Interface (“Conductor”)

  • Added Automatic Certificate Management Environment (ACME) client protocol support that eases HTTPS setup and use
  • Fixed issue in VAD installer when composing the VAD package file path
  • Fixed confirmation prompt behavior prior to removing user encryption keys from Virtuoso’s native key store

Availability

On-premise Installers and Docker Containers

Cloud Edition Releases for Amazon AWS and Microsoft Azure

Amazon AWS

Microsoft Azure

Additional Notes

Upgrading an existing Cloud Instance Virtual Machine

Simply execute the relevant command for your operating system:

  • Ubuntu — apt update & upgrade
  • RedHat — yum update

Manually overwriting an older binary with the latest edition

If adopting this approach to your upgrade, i.e., copying the Virtuoso server binary (virtuoso-iodbc-t) manually to replace an existing binary, you MUST also update the libraries in the Virtuoso ~/hosting sub-directory, due to incompatibilities between the latest binary and previous plugin versions.

Additional Information