Virtuoso 08.03.3330 Release Notes

Virtuoso 08.03.3330 Release Notes (draft)

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

This release includes new Lightweight Single Sign-on authentication support and the ability to specify a user’s password in create user commands; improvements include memory management, the JSON-LD parser, CSV import/attach and websocket support in the web server; many minor bug fixes in edge-cases of SQL and SPARQL queries.

Also see:

Virtuoso DBMS Engine Core

  • Added initial watchdog on VMsize
  • Added statistics for chash mempool
  • Added uptime and current page faults to status()
  • Added new JSON-LD parser mode for handling blank nodes (bug#19404)
  • Added create user .. with password and identified by syntax
  • Fixed several edge-cases in SQL compiler
  • Fixed issue getting lock information for status()
  • Fixed handling of parallel queries
  • Fixed concurrency issue in replication flush queue
  • Fixed issues with CSV import/attach
  • Fixed sql fragment may have div operation (bug#19433)
  • Fixed NaN behaviour in cmp_double same as ordering (bug#19426)
  • Fixed issue with TOP 1 on a cursor (bug#19301)
  • Fixed issue with TOP not working when DISTINCT is used
  • Fixed issue with outer hash join with GROUP BY
  • Fixed issues with OpenAPI server responses
  • Fixed issue with IN when using top/orderby/groupby on same colunm (bug#18915)

HTTP (Web) Server

  • Added support for ping/pong to websocket
  • Added support for binary frames to websocket
  • Fixed websocket framing on text messages
  • Fixed HTTP 101/204/304 responses MUST not have content
  • Fixed issue with double escaped path
  • Fixed http log records partial request over 4k
  • Fixed clear http method at session cleanup
  • Fixed HTTP CORS pattern support
  • Fixed issue parsing partial Accept headers
  • Fixed issue getting datatype from rdf box
  • Fixed issue when response is chunked/gzip by app
  • Fixed do not use gzip if no content is allowed
  • Fixed issue sending Content-Length when not expected
  • Fixed REST services registered as json return should not return HTML error body

SPARQL Query Processor

  • Added support for GRAPH decorations in TriG (bug#19412)
  • Fixed several edge cases in SPARQL compiler
  • Fixed issues with Default Graph IRI not picked up from SYS_SPARQL_HOSTS (bug#19301)
  • Fixed issue with user aggregate and constant in group by
  • Fixed issue with very long sparql queries

Data Transformation Middleware Layer (“Sponger”)

Note: XC = Extractor Cartridge; MC = Meta Cartridge.

  • Github XC: retrieve more issues and comments; misc bug fixes
  • JSON-LD XC: use native JSON parser; data-quality tidy-ups
  • HTML+V XC: OpenGraph and Twitter Card handling tidy-ups

Faceted Search and Browsing

  • Fixed issue with labels
  • Fixed issue with grants

Virtuoso Authentication Layer (VAL)

  • Added support for OAuth 2.0 client_secret_jwt authentication
  • Added support for API keys
  • Added support for Lightweight Single Sign-on
  • Fixed issues with reuse session
  • Fixed issues with solid
  • Fixed allow registration with non-local accounts
  • Fixed empty vhost string falls back to default host
  • Fixed use high grade 2048-bit key
  • Fixed terminal/http basic/digest client logins
  • Fixed issues using XSLT on /sparql endpoint
  • Fixed for digest.basic use realm specified by the VD

HTML-based Admin Interface (“Conductor”)

  • Added support for showing/hiding password in login dialog
  • Fixed issue refreshing status variables
  • Fixed issues with CSV import
  • Fixed redundant delete on optional & more often non-existing table

Installer Availability

On-premise Installers and Docker Containers

Cloud Edition Releases for Amazon AWS, Microsoft Azure, and Google Cloud Platform

Amazon AWS

Microsoft Azure

Google Cloud Platform

Upgrade Notes

For all upgrades

  • Always make sure the database has been properly shut down and the transaction log (virtuoso.trx) is empty before performing any of the following updates/upgrades. This is easily done by launching Virtuoso with the extra command-line argument, “+checkpoint-only”. Virtuoso will launch, replay the transaction log, run a checkpoint (which zeroes the transaction log), and exit cleanly.

  • Before upgrading any database, it is always a wise precaution to make a proper backup.

Upgrading an existing Cloud Instance Virtual Machine

Execute the relevant command for your operating system distribution:

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

Manually overwriting an older binary with the latest edition

Documentation: manual upgrades
If you choose to manually replace the Virtuoso server binary (virtuoso-iodbc-t) in-situ, you MUST also update the libraries in the Virtuoso hosting/ subdirectory due to incompatibilities between the latest binary and previous plugin versions. We also strongly RECOMMEND that you update the VAD packages in the vad/ subdirectory.

Upgrading from any previous version to the latest version

For best results with existing installations, we recommend following our simple step-by-step guide to upgrade from any previous version of Virtuoso to the latest version.

Additional Information