Virtuoso 08.03.3323 Release Notes

Virtuoso 08.03.3323 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 in regards to write and delete operations), smarter security, increased stability, and generally enhanced platform for exploiting the fundamental potential of secure and high-performance data connectivity across on-premise and cloud deployment configurations.

Virtuoso Engine

  • Added faster check for version of installed VAD package
  • Added initial list of languages to decrease risk of deadlocks
  • Added support for handling X-Forwarded-Proto header from proxy
  • Added more secure bif s
  • Added support for cast epoch time back to date / datetime
  • Added Elliptic Curve Digital Signature Algorithm (ECDSA) support
  • Added support for CONNECT to allow http proxy (like squid ) to tunnel https:// requests
  • Added optimization of rdf_delete_triple_c() for faster DELETE operations
  • Fixed dc_max_batch_sz cannot be more than sz of boxed array
  • Fixed handling tableName attribute, both quoted table names as well as fully qualified table names, as per spec
  • Fixed return HTTP 503 when faults occur at the protocol level, even if Maintenance Page response page doesn’t exist or hasn’t been configured
  • Fixed missing index index creation following upgrade of older databases
  • Fixed missing qualifiers and uppercase names in built-in Stored Procedures
  • Fixed only use charset_recode if value is varchar
  • Fixed efficiency of RDF label language lookup
  • Fixed UTF-8 encoding to prevent loss of encodings
  • Fixed backup_online syntax inconsistencies
  • Fixed support for NCHAR , NVARCHAR , and LONG NVARCHAR fields in SQL Tables
  • Removed redundant checkpoints when creating new database
  • Fixed issue with backup restore and DDL from plugins
  • Fixed lower limit for max batch to 100K
  • Fixed allow srv_stat ('git_head') on all builds
  • Fixed issue with registering tables in plugin
  • Fixed issue building getrusage bif
  • Fixed trace to log warnings as WARN_0 instead of ERRS_0
  • Fixed allow certain digest functions to accept string or binary args to avoid explicit type cast
  • Fixed small issue in http_proxy_v2
  • Fixed check for https behind proxy for dynamic local
  • Fixed issue executing vec exec expression in WHERE clause
  • Fixed return 404 error if usage.vsp is called with bad url
  • Fixed HTTP logging save correct CEST timezone values
  • Fixed Windows binary to prevent crash loading database statistic diagnostic file
  • http_proxy extended to support HTTPS
  • Fixed Virtuoso Windows service crash running security vulnerability scan
  • Added “ MaxGroupByHashKeys ” INI file param to control number of keys in GROUP BY or hash JOIN

SPARQL Query Processing

  • Added support to fine-tune size of memory pool used by SPARQL CONSTRUCT with MaxMemInUse param
  • Added missing JSON support function to format output of ASK query
  • Added support to use built-in rdf_label to prevent duplicate caching of literal object values
  • Added dump_graph and dump_nquads as built-in stored procedures
  • Added use a standard namespace URI for special bif: and sql: with regards to SPARQL Built-in functions
  • Fixed incorrect handling of UTF8 characters on SPARQL HTTP endpoint
  • Fixed issue with Anytime Query and default query timeout values presented via /sparql query editor
  • Fixed issue with SPARQL ASK in embedded Stored Procedures in regards to SPASQL
  • Fixed issue with SPARQL variables containing Unicode characters
  • Fixed vectorized functions for creating RDF literals
  • Fixed RDF loading re. transaction modalities and ACID
  • Fixed LDP metadata generation
  • Fixed issue with SPARQL ASK
  • Fixed issue with incomplete RDF box in regards to SPASQL usage by ODBC or JDBC clients
  • Fixed decoding of percent-encoded URLs when used as labels
  • Fixed caching query via plink
  • Fixed issue with bnodes
  • Fixed memory leaks in transitive queries
  • Fixed SPARQL endpoint to correctly process comments in query
  • Fixed scenario where SPARQL query comprising “ HAVING ” clause lead to crashes
  • Fixed scenario where SPARQL query comprising “ GROUP BY ” and “ HAVING ” clause lead to crashes
  • Fixed /sparql-auth endpoint where input Form Page redirected to /sparql following query execution rather that returning back to /sparql-auth
  • Fixed Access-Control-Allow-Headers response headers to include DPoP as a supported OpenID Connect modality
  • Fixed G IN hash mechanism to work for O IN predicate
  • Fixed ttlp() function to correctly handle loading of xsd:boolean types


  • Added GEOS-isValid bif

Data Virtualization

R2RML Processor

  • Fixed R2RML to always use rr:graph setting when specified

Data Transformation Middleware Layer (“Sponger”)

  • Fixed Sponger description pages to only make live links when protocol scheme is safe ( http , https , ftp )
  • Fixed Sponger /about HTML page auto refresh issue

Faceted Search and Browsing

  • Added FCT configuration options for managing HTTP server cache directives returned via response headers
  • Added amount of ‘memory in use’ in footer
  • Added some nofollow and noindex hints for bots

Virtual Authentication Layer (VAL)

  • Added Bitcoin Block Chain (BTC) as a Profile Provider supported by the NetID authentication protocol enhancement
  • Added protocol hooks for WebID/NetID
  • Fixed only use RPERM to handle error in VAL
  • Fixed WebID authentication API

SHACL Data Validation


Data Replication

  • Fixed Graph replication to delete string object values publisher and subscriber nodes

HTML-based Admin Interface (“Conductor”)

  • Fixed irrelevant errors from Conductor DAV browser pages
  • Fixed missing checks related to ODS Briefcase instances

WebDAV File System

  • Added helper function for fixing DAV COL_FULL_PATH

Native Connectors for Jena and RDF4j

  • Upgraded to use of native rdf_delete_triple_c() procedure for faster SPARQL delete operations
  • Upgraded Native Jena4 Provider to use latest version of junit and log4j
  • Fixed Native Jena providers to prevent “ SR491 Too many open statements ” errors in the JDBC driver
  • Fixed SQLConnect handling of empty strings in szDSN and szUID


On-premise Installers and Docker Containers

New BYOL (Bring-Your-Own License) and PAGO (Pay-As-You-Go) Virtual Machine Releases for Cloud Computing Platforms (Amazon AWS and Microsoft Azure)

Note: To update existing instances of Virtual Machines listed above, simply execute the relevant command:

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