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:
- Virtuoso DBMS Engine Core
- Web Server
- SPARQL Query Processor
- Data Virtualization
- GraphQL API Handler
- Faceted Search and Browsing
- Virtuoso Authentication Layer (VAL)
- Data Replication
- HTML-based Admin Interface (“Conductor”)
- Additional Information
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 aCHECKPOINT
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
andDOUBLE
- Fixed issue comparing
timezoneless
andtimezoned
dates in columnstore index - Fixed issue with
GROUP BY
onFLOAT
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 forapplication/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, orlang
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 whereSELECT
lists contain a reference to a parameter - Fixed
--MM-DD
is a validgMonthYear
- 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
, orlang
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 includeSQL 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 anxsd: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
andExpires
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
andFLOAT
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 forrdfs: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
- On-premise Installers for Linux, macOS, and Windows
- Docker Containers
Cloud Edition Releases for Amazon AWS and Microsoft Azure
Amazon AWS
- Virtuoso Virtual Machines for the Amazon AWS Cloud
- OpenLink Data Junction Box Virtual Machine for the Amazon AWS Cloud
- DBpedia Snapshot (Virtuoso PAGO) for Ubuntu on the Amazon AWS Cloud
Microsoft Azure
- Virtuoso Virtual Machines for the Microsoft Azure Cloud
- OpenLink Data Junction Box for the Microsoft Azure Cloud
- DBpedia Snapshot (Virtuoso PAGO) for Ubuntu on the Microsoft Azure Cloud
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.