Skip to content

chore(deps): update all dependencies (major)#57

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/major-all-deps
Open

chore(deps): update all dependencies (major)#57
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/major-all-deps

Conversation

@renovate

@renovate renovate Bot commented Nov 8, 2025

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence Type Update
Chickensoft.GameTools 2.1.143.1.27 age confidence nuget major
DotNext.Threading (source) 5.25.26.4.0 age confidence nuget major
SpacetimeDB.ClientSDK (source) 1.5.02.6.0 age confidence nuget major
SpacetimeDB.Runtime (source) 1.5.02.6.0 age confidence nuget major
actions/checkout v5v7 age confidence action major
actions/deploy-pages v4v5 age confidence action major
actions/upload-pages-artifact v4v5 age confidence action major
dotnet-sdk 9.0.30610.0.301 age confidence dotnet-sdk major
peter-evans/create-pull-request v7v8 age confidence action major
streetsidesoftware/cspell-action v7v8 age confidence action major

Release Notes

dotnet/dotNext (DotNext.Threading)

v6.4.0

Compare Source

v6.3.0

Compare Source

v6.2.0

Compare Source

clockworklabs/SpacetimeDB (SpacetimeDB.Runtime)

v2.6.0

2.6.0 adds Primary Key support for Views in Rust, TypeScript, and C#, improves event table automigrations, includes CLI binary distribution improvements, and brings various performance enhancements and bug fixes.

Features

Primary Key support for Views (Rust, TypeScript, and C#)

Procedural views now support primary keys in Rust, TypeScript, and C#

Note: C++ support for primary keys in views will be added in a future release.

  • Rust: Declare primary keys in the #[view] macro:

    #[spacetimedb::view(accessor = my_players, public, primary_key = id)]
    pub fn my_players(ctx: &spacetimedb::ViewContext) -> Vec<Player> {
        ctx.db.players().owner().filter(ctx.sender()).collect()
    }

    (#​5111)

  • TypeScript: Declare primary keys at the column/row level:

    const Player = t.row('Player', {
      id: t.u64().primaryKey(),
      owner: t.identity().index('btree'),
      name: t.string(),
    });
    
    export const my_players = spacetimedb.view(
      { public: true },
      t.array(players.rowType),
      ctx => Array.from(ctx.db.players.owner.filter(ctx.sender))
    );

    (#​5111)

  • C#: Following Rust and TypeScript support in previous releases, C# modules can now declare primary keys on procedural views:

    [SpacetimeDB.View(primaryKey: nameof(Player.Id))]
    public static List<Player> MyPlayers(ViewContext ctx) => ...

    (#​5246)

Performance & Correctness

  • Commitlog configuration knobs: Added max_segment_size, write_buffer_size, and preallocate_segments configuration options to config.toml for the commitlog. The default write_buffer_size has been increased from 8KiB to 128KiB to optimize high-throughput workloads.
    (#​5074)

Bug Fixes

  • Timestamp primary keys in C#: Timestamps can now be used as primary keys in C# modules, making C# consistent with the other module languages.
    (#​5262)

What's Changed

Full Changelog: v2.5.0...v2.6.0

v2.5.0

2.5.0 graduates procedures to stable availability, improves billing metric accuracy, and includes CLI usability fixes.


Features
Procedures are now stable (Ungated from unstable)

Procedures-scheduled, transaction-capable server-side functions-and the outgoing HTTP client (ctx.http) are now available without opting into unstable features (#​5164).

  • Rust: The #[spacetimedb::procedure] macro, ProcedureContext, with_tx/try_with_tx, and scheduled procedures now work without features = ["unstable"].
  • C#: [Experimental("STDB_UNSTABLE")] removed from ProcedureContext.WithTx/TryWithTx.
  • C++: Procedure ABI, transaction execution, and outgoing HTTP client are now available without SPACETIMEDB_UNSTABLE_FEATURES.

HTTP handlers/webhooks, views, and RLS (client_visibility_filter) remain gated behind unstable.

Primary key support for procedural views (C#)

Following Rust and TypeScript support in v2.4.1, C# modules can now declare primary keys on procedural views, enabling clients to receive OnUpdate events when subscribed to them (#​5246).

Layout-altering automigrations for event tables

Event tables now support a broader set of schema- and layout-altering automigrations, including column removal, reordering, and type changes that would be rejected for regular tables (#​5269). This enables more flexible schema evolution for event-only tables without requiring manual migration.


Performance & Correctness
  • Deterministic row insertion with BTreeSet storage (#​5071): Non-full pages are now stored in a BTreeSet sorted by available var-len granules rather than an unsorted Vec. This fixes accidentally-quadratic behavior during bulk inserts and ensures deterministic row insertion locations across datastore restarts

Bug Fixes
  • wasm_memory_bytes metric accuracy (#​5131): The metric now correctly reports memory for all Wasmtime instances (cooperatively updated via increment/decrement) and no longer includes V8 instances. Billing impact: billing code should now charge for the sum of wasm_memory_bytes + v8_used_heap_size_bytes. Expect recorded usage per database to increase as we now account for all instances, not just one.
  • Template version constraints (#​5228): All templates now consistently use major.minor version constraints. Previously, inconsistent version constraints could cause the CLI to initialize templates expecting versions that did not exist.
  • CLI publish --delete-data config fallback (#​5256): Removes the forced positional database name requirement, allowing spacetime.json to provide the database name.
  • CLI call with hex Identity arguments (#​5254): The call command now accepts hex strings for Identity parameters without requiring full JSON tuple syntax.
What's Changed
New Contributors

Full Changelog: clockworklabs/SpacetimeDB@v2.4.1...v2.5.0

v2.4.1

We are releasing two small patches on top of 2.4.0:

(#​5111) Add primary key support for procedural views to rust and ts modules

Adds support for primary keys to procedural views in rust and typescript modules. Now clients can receive update events when subscribed to such views.

(#​5145) Fix index schema from st tables.
This fixes #​4701.

More to come soon!

Full Changelog: clockworklabs/SpacetimeDB@v2.4.0...v2.4.1

v2.4.0

2.4.0 brings a headline new capability for Rust modules HTTP handlers alongside meaningful improvements to runtime performance, durability correctness, and server-side observability. The changelog is focused but every entry is production-relevant.

Features

HTTP handlers in modules

This is currently an unstable feature and will need to be enabled to have be available.

  • Rust users can enable unstable features in their Cargo.toml:
[dependencies]
spacetimedb = { version = "1.*", features = ["unstable"] }
  • C# users can enable unstable features by adding #pragma warning disable STDB_UNSTABLE at the top of your file.
  • C++ users can enable unstable features by adding #define SPACETIMEDB_UNSTABLE_FEATURES before including the SpacetimeDB header.

Modules can now define custom HTTP routes and serve arbitrary HTTP requests directly from module code (Rust: #​4636, Typescript: #​4980, C#: #​5024,C++: #​5023).

Using a Rust as an example, annotate a function with #[spacetimedb::http::handler] to create a handler, then wire it into your module's routing table with #[spacetimedb::http::router].

#[spacetimedb::http::handler]
fn insert(ctx: &mut HandlerContext, request: Request) -> Response {
    let body: Vec<u8> = request.into_body().into_bytes().into();
    let id = ctx.with_tx(|tx| tx.db.data().insert(Data { id: 0, body }).id);
    Response::new(Body::from_bytes(format!("{id}")))
}

#[spacetimedb::http::router]
fn router() -> Router {
    Router::new().post("/insert", insert).get("/retrieve", retrieve)
}

#​5024 adds the C# handler/router API [SpacetimeDB.HttpHandler], [SpacetimeDB.HttpRouter]
#​5023 adds the C++ handler/router API SPACETIMEDB_HTTP_HANDLER(), SPACETIMEDB_HTTP_ROUTER()

All user-defined routes are exposed under /v1/database/:name_or_identity/route/{*path}. Handlers have access to a HandlerContext that can open a database transaction, giving you full read/write access to your tables.

This opens the door to webhook integrations, REST-style APIs for non-realtime clients, and any other HTTP-driven interaction you want to build on top of your SpacetimeDB module.

Faster WASM reducer execution

Reducers now run on a dedicated synchronous WASM runtime backed by a single OS thread, instead of sharing the async runtime that procedures use (#​5095). Because reducers never yield, the old async scaffolding was pure overhead. The synchronous path removes that cost from the hot path for every reducer invocation.

Bug Fixes

  • Durability: silent data loss on resume fixed. The commitlog could silently corrupt a segment on restart if trailing bytes shorter than a commit header were left behind. A subsequent append would render the segment corrupt, and anything written after those trailing bytes would become unreachable after the next restart. The segment is now truncated to its validated size before writes resume (#​5116).
  • V8 heap metrics now cover procedure workers. Previously V8HeapMetrics were tracked only for reducer workers, leaving memory usage by JavaScript procedure workers invisible. Procedure worker heap usage is now aggregated and reported alongside the reducer worker metrics (#​5122).
  • Commitlog decode errors include context. Errors encountered while decoding commits now carry additional context, making it substantially easier to diagnose corrupted or truncated log segments in production (#​5129).
  • Reverted energy/execution-time conversion in V8 host. A regression introduced in v2.3.0 in how execution time was converted to energy units for JavaScript modules was reverted (#​4927).

What's Changed

Full Changelog: clockworklabs/SpacetimeDB@v2.3.0...v2.4.0

v2.3.0

This release brings first-party Godot support and major WebSocket performance improvements. We've also landed significant pipeline optimizations, commitlog enhancements, and expanded our framework coverage.

Features
First-party Godot SDK and Blackholio Tutorial

SpacetimeDB now officially supports Godot with a complete C# SDK integration. The new Blackholio tutorial walks through building a multiplayer asteroids-style game, demonstrating best practices for entity replication, player input handling, and game state management in Godot (#​4920).

Faster WebSocket Transport with Batched Responses

The WebSocket layer now pipelines and batches responses using the v3 protocol, significantly reducing per-message overhead under high load. Combined with pipelined JavaScript module operations (#​4962), WASM module operations (#​4973), and a fully pipelined WebSocket send path (#​5051), this delivers substantially improved throughput for real-time applications.

HTTP/2 Backend Support

The SpacetimeDB server now supports HTTP/2, enabling more efficient client connections with multiplexed streams and header compression (#​5027).

Vue useProcedure Hook

Following the React pattern, Vue developers now have a first-class useProcedure composable for calling SpacetimeDB procedures with full TypeScript support (#​4999).

Unity 6 WebGL Compatibility

C# modules and clients now support Unity 6's WebGL runtime, automatically selecting between getWasmTableEntry and dynCall as appropriate for the Unity version (#​4961).

Commitlog Performance and Operations

The durability layer gained several improvements:

  • Configurable commitlog compression knobs for operational tuning (#​5074)
  • Compression deferred when under write load to prioritize throughput (#​4974)
  • Non-blocking compression that doesn't hold locks (#​4981)
  • Proper handling of empty tail segments on resumption (#​4863)
Rust DbContext Generics

Rust modules can now be generic over DbContext, enabling code reuse between client and server contexts while maintaining type safety (#​4707).

API Changes
  • Deprecated: ReducerContext::identity is deprecated in favor of database_identity to clarify that this represents the module's identity, not the caller's (#​4843)
Bug Fixes
  • Fixed a segfault in the V8 JavaScript runtime that could crash the server (#​4986)
  • Fixed connection lifecycle callbacks not firing correctly in all disconnection scenarios (#​4935)
  • Fixed panics during unsubscribe operations (#​4938)
  • Fixed view auto-migration when using canonical names (#​4985)
  • Eliminated unnecessary msync calls on the entire offset index file, improving write performance (#​5018)
  • Fixed directory fsync issues on Windows snapshots (#​4939)
  • Fixed auth error details leaking in debug output (#​5000)
  • Prepared statements are now properly rolled back on transaction failure (#​4979)
Infrastructure
  • Client binaries are now distributed from AWS instead of DigitalOcean for improved reliability (#​5077)
  • Internal: cargo ci dlls renamed to cargo regen csharp dlls (#​4972)
What's Changed
New Contributors

Full Changelog: clockworklabs/SpacetimeDB@v2.2.0...v2.3.0

v2.2.0

2.2.0 is here, and this one is a meaningful step forward for SpacetimeDB's realtime performance, operational safety, and day-to-day developer workflow. There are plenty of smaller fixes in this release too, but these are the major changes worth calling out.

Features
Faster realtime transport and client throughput

We’ve introduced a new v3 WebSocket transport that batches multiple logical client messages into a single frame, cutting per-message overhead while keeping the existing message model intact (#​4761). The TypeScript SDK now uses the new transport by default (#​4784). Under the hood, this release also includes a substantial round of hot-path performance work across the TS client, JS module runtime, and durability pipeline to improve throughput and reduce scheduler overhead under load.

Safer production database operations

We added spacetime lock and spacetime unlock to protect databases from accidental deletion (#​4502). On top of that, spacetime delete now asks for confirmation by default (#​4770), spacetime list shows database names alongside identities (#​4769), and spacetime publish --yes can now skip only the prompts you intend to skip instead of skipping all of them (#​4885).

Better TypeScript app ergonomics

Web developers get two nice upgrades in 2.2.0. There’s now a first-party Astro + TypeScript template with SSR and a live React island for realtime updates (#​4688), and the TypeScript React bindings now include a typed useProcedure hook so procedures fit the same ergonomic pattern as reducers (#​4752).

Smoother schema evolution

Publishing schema changes is less brittle now. Empty tables can be dropped during auto-migration (#​4593), and changing or removing a primary key no longer leaves stale schema state behind that breaks future publishes (#​4666).

More powerful table and index APIs

Modules can now clear tables directly from Rust, C#, C++, and TypeScript (#​4729), and the index layer gained bytes-key B-tree support for more capable multi-column range scans (#​4733).

Bug Fixes
  • Improved crash resistance for JavaScript modules by preventing V8 near-heap-limit failures from taking down the server, and by rotating isolates when heap growth or fragmentation gets out of hand (#​4777, #​4684).
  • Fixed a schema migration bug where changing or removing a primary key could leave stale schema state behind and break a later publish (#​4666).
  • Fixed table migration sequence persistence so autoinc values no longer reset after restart when a table has been migrated (#​4902).
  • Windows CLI binaries are now code-signed, which should make installation and update flows smoother on Windows (#​4906).
  • Improved module panic backtraces so runtime failures are easier to diagnose (#​577).
  • Hardened local durability so snapshot files, metadata.toml, and pid files are properly synced to disk instead of being vulnerable to loss on an untimely crash (#​4891, #​4892, #​4890).
  • Fixed an Unreal SDK bug where overlapping subscriptions could fire duplicate OnInsert events for already-cached rows (#​4903).

If you run into anything new with this release, file an issue on GitHub or drop into Discord and let us know.

What's Changed

Note

PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot enabled auto-merge (squash) November 8, 2025 09:26
@renovate renovate Bot changed the title chore(deps): update streetsidesoftware/cspell-action action to v8 chore(deps): update all dependencies (major) Nov 12, 2025
@renovate renovate Bot force-pushed the renovate/major-all-deps branch 6 times, most recently from 1984f09 to 332875f Compare November 19, 2025 02:53
@renovate renovate Bot force-pushed the renovate/major-all-deps branch 4 times, most recently from 88b5dcc to 18b8cbc Compare November 27, 2025 09:40
@renovate renovate Bot force-pushed the renovate/major-all-deps branch 2 times, most recently from d73c132 to d765d65 Compare December 3, 2025 06:51
@renovate renovate Bot force-pushed the renovate/major-all-deps branch 2 times, most recently from d81b31f to 87688b7 Compare December 10, 2025 16:44
@renovate renovate Bot force-pushed the renovate/major-all-deps branch 3 times, most recently from e437d39 to 8d1a82d Compare January 15, 2026 09:39
@renovate renovate Bot force-pushed the renovate/major-all-deps branch from 8d1a82d to 6aff418 Compare January 26, 2026 20:52
@renovate renovate Bot force-pushed the renovate/major-all-deps branch 3 times, most recently from b24c94f to f2dd039 Compare February 17, 2026 21:36
@renovate renovate Bot force-pushed the renovate/major-all-deps branch 2 times, most recently from 810f4d6 to c7c7dc5 Compare February 26, 2026 21:35
@renovate renovate Bot force-pushed the renovate/major-all-deps branch 5 times, most recently from 812d657 to 036be45 Compare March 11, 2026 13:21
@renovate renovate Bot force-pushed the renovate/major-all-deps branch 2 times, most recently from e1d942b to 5137654 Compare April 2, 2026 05:51
@renovate renovate Bot force-pushed the renovate/major-all-deps branch 4 times, most recently from f3f50ee to b3d01b1 Compare April 16, 2026 18:14
@renovate renovate Bot force-pushed the renovate/major-all-deps branch from b3d01b1 to b850c35 Compare April 22, 2026 04:57
@renovate renovate Bot force-pushed the renovate/major-all-deps branch 2 times, most recently from b17796e to cd9c89f Compare May 7, 2026 20:39
@renovate renovate Bot force-pushed the renovate/major-all-deps branch 4 times, most recently from 53fe83e to e507bde Compare May 13, 2026 20:54
@renovate renovate Bot force-pushed the renovate/major-all-deps branch 3 times, most recently from fb9c4fa to d8d8672 Compare May 21, 2026 14:04
@renovate renovate Bot force-pushed the renovate/major-all-deps branch 3 times, most recently from 97a7e92 to 4f79663 Compare June 2, 2026 18:44
@renovate renovate Bot force-pushed the renovate/major-all-deps branch 5 times, most recently from 72674d6 to 85b8c83 Compare June 16, 2026 19:06
@renovate renovate Bot force-pushed the renovate/major-all-deps branch 4 times, most recently from 5a30a15 to 4f1e89b Compare June 19, 2026 13:06
@renovate renovate Bot force-pushed the renovate/major-all-deps branch from 4f1e89b to 4fb2e54 Compare June 22, 2026 12:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants