Hiperspace 2.5.50

Prefix Reserved
dotnet add package Hiperspace --version 2.5.50
                    
NuGet\Install-Package Hiperspace -Version 2.5.50
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Hiperspace" Version="2.5.50" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Hiperspace" Version="2.5.50" />
                    
Directory.Packages.props
<PackageReference Include="Hiperspace" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Hiperspace --version 2.5.50
                    
#r "nuget: Hiperspace, 2.5.50"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Hiperspace@2.5.50
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Hiperspace&version=2.5.50
                    
Install as a Cake Addin
#tool nuget:?package=Hiperspace&version=2.5.50
                    
Install as a Cake Tool

Hiperspace

Hiperspace is an Object technology that uses a key-addressable store to expand an application data-model beyond the limits of memory that can be directly referenced in main memory.

Elements are not duplicated or changing to match database shapes.
Elements are serialized directly using Protocol Buffers to and from key/value structure for storage in memory stores including CXL expanded and pooled memory, shared cache , local SSD or key-value durable databases.
Elements that are not currently being used are released from main memory, and transparently (and quickly) reloaded when referenced. Memory stores allows petabytes of data to be addressed.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Hiperspace:

Package Downloads
Hiperspace.Rocks

HiperSpace RocksDB adaptor

Hiperspace.Heap

Hiperspace heap store for session, edge and testing purposes

Hiperspace.SQL

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.5.50 138 4/24/2026
2.5.47 160 4/15/2026
2.5.43 155 4/1/2026
2.5.39 3,062 3/20/2026
2.5.35 410 2/27/2026
2.5.33 3,702 2/14/2026
2.5.32 5,585 1/30/2026
2.5.29 6,953 1/17/2026
2.5.28 8,626 12/31/2025
2.5.26 9,706 12/21/2025
2.5.21 11,871 12/10/2025
2.5.18 13,902 12/3/2025
2.5.13 13,419 11/24/2025
2.5.8 13,403 11/15/2025
2.5.2 13,441 11/6/2025
2.5.1 13,390 10/23/2025
2.5.0 13,424 10/20/2025
2.4.6 13,444 9/23/2025
2.4.4 13,488 8/7/2025
2.4.2 13,368 7/28/2025
Loading failed

https://www.cepheis.com/hiperspace/20260424
# Overview
This release is a minor update to support the presentation Cube data in  Graph views with **Hiperspace.DB**, and minor updated to external references.
## Fact enhancement
A specific `ICubeFact<TFact>` inteface has been added to include `public IEnumerable<TFact> DrillDown(Type dimension);` for generic drilldown from one Cube to the next level when viewed in **Hiperspace.DB**.

The `ICubeDimension` interface now has a `GetCube()` function to get the named `ICubeFact` for use with a **PivotTable** view of the *Cube* through **Hiperspace.DB**.

## SubSpace enhancement
`SubSpaceParameters` has been enhanced to include `TransactionalPolicy`

|Policy|Notes|
|-|-|
|NotTransactional|Indicates that the Space is not transactional|
|Transactional|Specifies that a new transaction should be started|
|ParentTransaction|Indicates that the space participates in the transaction of its parent space|
|ContinueTransaction|Transaction is a continuation of a prior (long-running) transaction|

---

## Hilang enhancement
Added support sdupport for Cube aggregation of views in addition to {*entity, segment, aspect*}.

Consider the model where there are seperate *entitites* for {*FX, FI, EQ*} Trades that have different values for Entities, Bonds, Foreign Exchange, but can all be *viewed* as a Trade that has a booking_id, and a valuation (NPV).  This change adds support for **Cube** analytics of *views*  combining all trades in all entities that provide the view.

```
type Banking.TradeBase
(
Id : String
)
{
Book : Banking.Book,
@CubeMeasure(Aggregate.Sum)
NPV : Decimal
};

@CubeFact
view Banking.Trade : Banking.TradeBase;

entity Banking.FI.Trade : Banking.TradeBase = Banking.Trade();
entity Banking.FX.Trade : Banking.TradeBase = Banking.Trade();
entity Banking.EQ.Trade : Banking.TradeBase = Banking.Trade();

@CubeDimension
entity Banking.Book ( Id : String ) [ Trades : Banking.Trade (Book = this)];
```
When the schema is compiled with [HiLang](HiLang), `Banking.Book` has an additional property `Trade_Cube`  that aggregates NPV over the full set trades that can be *viewed* as a `Banking.Trade`.

### Enhanced List support
Keys in a hilang element can be:
* A Value including value elements defined in Hilang and primatives (e.g. String, Int32, Guid, etc)
* A Reference to an entity (only the Key-part of the referened entity is serialised)
* A List of Values (e.g. List<String>) but not a Set<> since a Set order can change

Key support for `List<>` in keys has been extended to include Keys of Lists of Values of Lists of Values, that can be placed in a `SortedSet`.  Examples include [FINIOS CDM](https://www.finos.org/common-domain-model) that supports complex identifiers that include list of identifiers

```
value CDM.PartyIdentifier ( identifier : String );
entity CDM.Party ( partyId : CDM.PartyIdentifier );
value CDM.PriceQuantity;
value CDM.AssetIdentifier
(
   identifer : String,
   version : Int32
);
value CDM.Identifer
(
   assignedIdentifier : List<CDM.AssetIdentifier>,
   issuerReference : CDM.Party,
   issuer : String
);
entity CDM.TradeLot
(
   lotIdentifier : List<CDM.Identifer>
)
{
   priceQuantity : List<CDM.PriceQuantity>
};
```
In this example `CDM.TradeLot` has a key that is a  `List<CDM.Identifer>` which itself contains a `List<CDM.AssetIdentifier>`.  Lists are supported in [HiLang](HiLang) models since the they can be unambiguously serialised to a store and retrived later.  **NB** `CDM.Identifer` contains a reference to `CDM.Party` which is a *entity* so only the *key* is stored, with `CDM.Party` retrived only when needed.