Hiperspace.Rocks
2.6.2
Prefix Reserved
See the version list below for details.
dotnet add package Hiperspace.Rocks --version 2.6.2
NuGet\Install-Package Hiperspace.Rocks -Version 2.6.2
<PackageReference Include="Hiperspace.Rocks" Version="2.6.2" />
<PackageVersion Include="Hiperspace.Rocks" Version="2.6.2" />
<PackageReference Include="Hiperspace.Rocks" />
paket add Hiperspace.Rocks --version 2.6.2
#r "nuget: Hiperspace.Rocks, 2.6.2"
#:package Hiperspace.Rocks@2.6.2
#addin nuget:?package=Hiperspace.Rocks&version=2.6.2
#tool nuget:?package=Hiperspace.Rocks&version=2.6.2
Hiperspace.Rocks
RocksDB is a remarkable technology, originally developed by Google (LevelDB) and optimized by Facebook for
absolutely lowest possible latency writing to SSD devices.
RocksDB used Log-structured-Merge (LSM) to stream updates while maintaining fast key access.
It is used both as a key/value database, and also as a driver for relational-databases, message-stores,
blockchain and various analytical services. The use of LSM optimizes performance and life of SSD devices.
Hiperspace.Rocks uses RockDB to store elements in durable SSD memory
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Hiperspace (>= 2.6.2)
- Microsoft.Bcl.HashCode (>= 6.0.0)
- protobuf-net.Core (>= 3.2.56)
- RocksDB (>= 10.10.1.1747)
- System.Numerics.Tensors (>= 10.0.9)
-
net8.0
- Hiperspace (>= 2.6.2)
- Microsoft.Bcl.HashCode (>= 6.0.0)
- protobuf-net.Core (>= 3.2.56)
- RocksDB (>= 10.10.1.1747)
- System.Numerics.Tensors (>= 10.0.9)
-
net9.0
- Hiperspace (>= 2.6.2)
- Microsoft.Bcl.HashCode (>= 6.0.0)
- protobuf-net.Core (>= 3.2.56)
- RocksDB (>= 10.10.1.1747)
- System.Numerics.Tensors (>= 10.0.9)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.6.3 | 41 | 7/20/2026 |
| 2.6.2 | 107 | 7/6/2026 |
| 2.5.52 | 130 | 5/9/2026 |
| 2.5.50 | 121 | 4/24/2026 |
| 2.5.47 | 125 | 4/15/2026 |
| 2.5.43 | 123 | 4/1/2026 |
| 2.5.39 | 123 | 3/20/2026 |
| 2.5.35 | 134 | 2/27/2026 |
| 2.5.33 | 140 | 2/14/2026 |
| 2.5.32 | 139 | 1/30/2026 |
| 2.5.29 | 143 | 1/17/2026 |
| 2.5.28 | 147 | 12/31/2025 |
| 2.5.26 | 221 | 12/21/2025 |
| 2.5.21 | 477 | 12/10/2025 |
| 2.5.18 | 714 | 12/3/2025 |
| 2.5.13 | 242 | 11/24/2025 |
| 2.5.8 | 222 | 11/15/2025 |
| 2.5.2 | 265 | 11/6/2025 |
| 2.5.0 | 247 | 10/20/2025 |
| 2.4.6 | 254 | 9/23/2025 |
https://www.cepheis.com/hiperspace/20260706
# Overview
This release is a significantly enhances support for [XML Schema](https://www.w3.org/XML/Schema), an introduces generated mapping for [ISO20022](https://www.iso20022.org/) messages.
ISO20022 includes a large family of 761 XSD schema files comprising 39954 separate type definitions (*many of which are duplicated in each schema file, but some specific domain variations*).
As a *proof-of-principle* the message schema has been mapped *as-is* with payments messages augmented to show how a **Graph** and **Cube** functionality can be added with minimal changes to store messages in hiperspace. *Messages* stored in hiperspace are *naturally* compressed from the XML or JSON source using protobuf encoding that replaces type names with the equivalent **#id** and native types instead of text encoding.
## Hilangc changes
Import of XSD schema has been added to the command-line tool
|Option |┃| Notes|
|-|-|-|
|--xsd|┃| Import the XML schema file (.xsd) to an equivalent hilang model |
| --xn|┃| Set the XML schema tag for all imported elements |
| --xe|┃| Import references to a list of names as *entities*|
| --xs|┃| Import references to a list of names as *segments*|
| --xa|┃| Import references to a list of names as *aspects*|
| --xt|┃| Import references to a list of names as abstract *types* - the default is *values*|
## Hilang changes
The directive `%reference (domain.schema.dll);` imports *elements* from pre-compiled domain schema [all.hilang](https://github.com/channell/Hiperspace.ISO20022/blob/main/all/all.hilang) uses the reference import to build a consolidated ISO20022 schema including element definitions from each domain specific models {acmt, admi, auth, caaa, caad, caam, cafc, cafm, cafr, cain, camt, canm, casp, casr, catm, catp, colr, fxtr, head, pacs, pain, reda, remt, secl, seev, semt, sese, setr, trck, tsin, tsmt, tsrv}
The directive `%annotations;` has been added to simplify maintenance of XSD mapping. The code
```
@XmlNameSpace ("urn:iso:std:iso:20022:tech:xsd:pain.001.001.12"), ValidationCheck
entity ISO20022.Pain001001.CustomerCreditTransferInitiationV12 #35044
(
@XmlElement GrpHdr : ISO20022.Pain001001.GroupHeader114 #1,
)
{
@XmlElement SplmtryData : List<ISO20022.Pain001001.SupplementaryData1> #2,
};
```
could be modeled as
```
@XmlNameSpace ("urn:iso:std:iso:20022:tech:xsd:pain.001.001.12"), ValidationCheck
entity ISO20022.Pain001001.CustomerCreditTransferInitiationV12 #35044
{
@Key, XmlElement GrpHdr : ISO20022.Pain001001.GroupHeader114 #1,
@XmlElement SplmtryData : List<ISO20022.Pain001001.SupplementaryData1> #2,
};
```
to transform the the `GrpHdr` element of `ISO20022.Pain001001.CustomerCreditTransferInitiationV12` from a *value* to a *key* without reordering the memvbers of the element.
This is intended to simplify the tracking of a golden-source of model using code change-control tools
## Hiperspace changes
Various Hiperspace structures have been changed from `struct` to `class` to avoid stack-space issues with huge models.
`netstandard2.0` has been added as a target for Hiperspace assembly to enable meta-data definitions to be read by Hilang during compilation (or generation using *hilangc*)
Interface functions that were marked as Obsolete in earlier releases have been removed.
Additional Transactional versions of the `Bind`, `Get` and `Find` functions have been added, initially using the old functions. These functions take a **MVCC Transaction** reference has an additional parameter and a [DurableType](https://github.com/channell/Hiperspace/blob/master/src/Hiperspace/DurableType.cs) to allow the functions to be used for:
|Type|┃|Notes|
|-|-|-|
|Elements |┃| Entities, Segments, Aspects |
|Versioned|┃| Versioned Entities, Segments, Aspects|
|MetaModel|┃| dictionary that ensures that Hiperspaces cannot be used by incompatible clients|
| VectorSpace|┃| VectorSpace token lists for geospatial and nearest neighbor search|
| Sequences|┃| Sequence numbers |
| Transaction|┃| {start, end, reference} elements for MVCC |
|**MetaMap**|┃| protobuf transformation structure for Meta-Model compliant serialisation of elements|
|**Fingerprint**|┃| To avoid re-generation of meta-map when Hiperspace has been reopened by a pre-validated client|
Hiperspace `Find` will search for hiperspace using the *key* or *index* values. The new function extends the search parameters to include a collection of values that are not part of a *key/index* to reduce the number of elements returned from hiperspace to pre-filter elements close to source.