Commit Graph

61 Commits

Author SHA1 Message Date
Zeke Foppa 141048cdd8 Bump versions to 1.11.0 (#3808)
# Description of Changes

Bumping versions to 1.11.0 in preparation for an upcoming release.

# API and ABI breaking changes

None

# Expected complexity level and risk

1

# Testing

- [x] Existing CI passes

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-12-02 22:45:29 +00:00
John Detter 0590f7022d Upgrade to version 1.10.0 (#3769)
# Description of Changes

<!-- Please describe your change, mention any related tickets, and so on
here. -->

This upgrades the SpacetimeDB version to 1.10.0.

# API and ABI breaking changes

<!-- If this is an API or ABI breaking change, please apply the
corresponding GitHub label. -->

None

# Expected complexity level and risk

1

<!--
How complicated do you think these changes are? Grade on a scale from 1
to 5,
where 1 is a trivial change, and 5 is a deep-reaching and complex
change.

This complexity rating applies not only to the complexity apparent in
the diff,
but also to its interactions with existing and future code.

If you answered more than a 2, explain what is complex about the PR,
and what other components it interacts with in potentially concerning
ways. -->

# Testing

This is just a version bump - not tested.
2025-11-26 17:55:26 +00:00
John Detter 77886a50a9 Upgrade to version 1.9.0 (#3709)
# Description of Changes

<!-- Please describe your change, mention any related tickets, and so on
here. -->

Upgrade to version 1.9.0.

# API and ABI breaking changes

None - just a version upgrade.

<!-- If this is an API or ABI breaking change, please apply the
corresponding GitHub label. -->

# Expected complexity level and risk

1

<!--
How complicated do you think these changes are? Grade on a scale from 1
to 5,
where 1 is a trivial change, and 5 is a deep-reaching and complex
change.

This complexity rating applies not only to the complexity apparent in
the diff,
but also to its interactions with existing and future code.

If you answered more than a 2, explain what is complex about the PR,
and what other components it interacts with in potentially concerning
ways. -->

# Testing

<!-- Describe any testing you've done, and any testing you'd like your
reviewers to do,
so that you're confident that all the changes work as expected! -->

- [x] I verified that the license has been updated
- [x] The version number looks correct (1.9.0)

---------

Co-authored-by: Zeke Foppa <196249+bfops@users.noreply.github.com>
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-11-22 01:22:40 +00:00
Jason Larabie 78c28d4936 Add C# client SDK procedures (#3666)
# Description of Changes

Closes: #3533 
Updated the C# SDK to handle procedures and procedure callbacks in a
similar fashion to the Rust client as well as added the codegen to
support it.

# API and ABI breaking changes

N/A

# Expected complexity level and risk

2 - This adds a new testing frame that should be removed once procedures
are handled with C# module bindings

# Testing

Added /sdks/csharp/examples~/regression-tests/procedure-client to match
modules/sdk-test-procedure which we can roll into the standard
regression-tests once C# supports the procedure attribute.

- [x] Add C# client test of sdk-test-procedure

---------

Signed-off-by: Jason Larabie <jason@clockworklabs.io>
2025-11-21 19:39:21 +00:00
John Detter 6bd557254d Upgrade to version 1.8.0 (#3633)
# Description of Changes

<!-- Please describe your change, mention any related tickets, and so on
here. -->

- This upgrades the versions of all SDKs, the CLI, etc. to 1.8.0

# API and ABI breaking changes

<!-- If this is an API or ABI breaking change, please apply the
corresponding GitHub label. -->

None

# Expected complexity level and risk

<!--
How complicated do you think these changes are? Grade on a scale from 1
to 5,
where 1 is a trivial change, and 5 is a deep-reaching and complex
change.

This complexity rating applies not only to the complexity apparent in
the diff,
but also to its interactions with existing and future code.

If you answered more than a 2, explain what is complex about the PR,
and what other components it interacts with in potentially concerning
ways. -->

1

# Testing

<!-- Describe any testing you've done, and any testing you'd like your
reviewers to do,
so that you're confident that all the changes work as expected! -->

- [x] I verified that all versions seem to be updated including the BSL
license update <!-- maybe a test you want to do -->

We have 1 `1.7.0` that didn't get upgraded automatically because it is
part of the module bindings for a template:

```
crates/cli/.templates/parent_parent_crates_bindings-typescript_examples_quickstart-chat/src/module_bindings/index.ts:    cliVersion: '1.7.0',
```

A case could possibly be made for bumping the template but it shouldn't
cause any issues as the module bindings directory should just get
regenerated by the user. @cloutiertyler should we be bumping module
bindings for templates when we upgrade versions?

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
Co-authored-by: Zeke Foppa <196249+bfops@users.noreply.github.com>
2025-11-12 12:21:09 +00:00
Zeke Foppa 34b4a2b899 Bump versions to 1.7.0 (#3550)
# Description of Changes

Bump versions to 1.7.0 in preparation for the release.

# API and ABI breaking changes

<!-- If this is an API or ABI breaking change, please apply the
corresponding GitHub label. -->

# Expected complexity level and risk

1

# Testing

- [x] CI passes

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-11-04 19:26:51 +00:00
Jason Larabie 32dad5d9e9 Added the Blackholio Unreal Blueprint Tutorial (#3313)
# Description of Changes

- Expanded on the Unreal tutorial to create the Blueprint version,
~~this uses :::server-cpp and :::server-blueprint which might not work
yet when deploying~~ with using Docusaurus Tabs.
- Updated the server side code to use signed integers as discussed for
both Rust + C# server modules.

# API and ABI breaking changes

None

# Expected complexity level and risk

1 - Documentation update, does update the server side 

# Testing

- [x] Manually tested both Rust + C# modules
- [x] Ran through all images and steps
2025-10-29 19:15:00 +00:00
rekhoff 023a7d31e3 Add a SpacetimeDBException to C# SDK to aid in debugging (#3386)
# Description of Changes

This implements a fix to an issue with debugging using the C# SDK, by
adding new exception types:
* `SpacetimeDBException`, 
* `SpacetimeDBArgumentException`,
* `SpacetimeDBEmptyReducerNameException`

Additional, regenerating bindings will now allow clients to report an
`SpacetimeDBEmptyReducerNameException` rather than an
`ArgumentOutOfRangeException` when the client receives an empty reducer
name from the server.

An example of the generated code currently, that results in the
exception:
https://github.com/clockworklabs/SpacetimeDB/blob/544e2edc2d1f7d1dd118832a815b6dbd7a6c1d82/sdks/csharp/examples~/quickstart-chat/client/module_bindings/SpacetimeDBClient.g.cs#L475

Note: Normally this is not an issue for a client, because the
`SpacetimeDBEmptyReducerNameException` would be caught by the
[Try/Catch](https://github.com/clockworklabs/SpacetimeDB/blob/9f59118e24449cdd2d3e182bd44fdb26078e921b/sdks/csharp/src/SpacetimeDBClient.cs#L421C25-L421C42)
statement, but a debugger will still catch the exception and halt
operation. This can be annoying to a developer when debugging.

By separating out the exception into a custom `Exception` type, we allow
a developer to flag the new exception type as something it can ignore,
without ignoring other relevant exceptions.

# API and ABI breaking changes

Not a breaking change.
Clients will need to regenerate bindings to get the new exceptions

# Expected complexity level and risk

1

# Testing

- [X] Tested regenerating bindings and confirmed intended output.
- [X] Tested debugging and receiving
`SpacetimeDBEmptyReducerNameException` when expected.

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-10-24 20:59:19 +00:00
Zeke Foppa d4837c37ab Bump versions to 1.6.0 (#3413)
# Description of Changes

Bumping versions to 1.6.0 in preparation for upcoming release.

# API and ABI breaking changes

None

# Expected complexity level and risk

1
# Testing

- [x] Existing CI only

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-10-16 01:26:35 +00:00
Jason Larabie f34ffd0a74 Fix UPROPERTY initialization and new Blueprint Library for FContextBase (#3287)
# Description of Changes

Closes: https://github.com/clockworklabs/SpacetimeDBPrivate/issues/2058

- Updated the generation code to setup basic initialization to
properties for Unreal Blueprints
- Added new Blueprint library to interact with FContextBase to allow
access to inherited properties from all contexts in Blueprint

# API and ABI breaking changes

No breaking changes

# Expected complexity level and risk

2 - Updates the generation code

# Testing

- [x] Ran Unreal tests to confirm no breaking changes
2025-10-01 17:20:58 +00:00
Zeke Foppa ea61c949e1 Bump versions to 1.5.0, update DLLs, and regenerate files (#3310)
# Description of Changes

Bumping versions to 1.5.0 since we have merged some new features (at the
very least, https://github.com/clockworklabs/SpacetimeDB/pull/3292)

# API and ABI breaking changes

None

# Expected complexity level and risk

1

# Testing
None

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-09-30 18:18:47 +00:00
Kim Altintop 43389dd4e0 Make the .NET global.json file global (#3297)
Move the global.json file to the repo root, which should make `dotnet`
resolve the correct SDK regardless of the directory it is run in.

Where a copy of the global.json file is needed, symlink it to the one at
the root.

Should fix "C#/Unity - Test Suite".
2025-09-30 16:39:21 +00:00
Jason Larabie 20ef7cfbaa Add Unreal Blackholio (#3260)
# Description of Changes

Closes: https://github.com/clockworklabs/SpacetimeDBPrivate/issues/1925

This adds Unreal Blackholio to the demo/Blackholio folder matching the
Unity version using server-rust as the default. Includes:
- Leaderboard
- Circle Material - wavy border
- Split/Sucide/Input Lock
- Parallax Background
- Camera movement based on total mass

# API and ABI breaking changes

No changes

# Expected complexity level and risk

1 - Only adds the demo has no impact elsewise

# Testing

I've tested this backwards and forwards against the server-rust version
and played alongside the Unity client.

- [ ] Run it locally for review

---------

Co-authored-by: John Detter <4099508+jdetter@users.noreply.github.com>
2025-09-22 20:16:33 +00:00
Jason Larabie d0d99b946f Recombining circles doesn't work (#3234)
# Description of Changes

Fixes #3149
- Fix for MoveAllPlayers calculation to force the circles apart
- Fix for PlayerSplit to properly calculate Scheduled_At for the
recombine timer

# API and ABI breaking changes

None

# Expected complexity level and risk

1 - Trivial

# Testing

I've loaded this up against the Unreal Blackholio comparing the
server-rust vs server-csharp.

- [x] Confirm split + recombine work correctly in the Unity client

*Note*: The demo/Blackholio/client-unity project is currently generated
with the server-rust bindings
2025-09-19 16:11:37 +00:00
Tyler Cloutier 8b0e5b1ee3 Remove version number and git commit from all but one file in codegen (#3216)
# Description of Changes

Closes https://github.com/clockworklabs/SpacetimeDBPrivate/issues/1987

# API and ABI breaking changes

This does not affect any APIs but it does affect the code generated

# Expected complexity level and risk

1

# Testing

<!-- Describe any testing you've done, and any testing you'd like your
reviewers to do,
so that you're confident that all the changes work as expected! -->

- [ ] Snap tests
2025-09-05 00:44:20 +00:00
Zeke Foppa f6f0909ea4 Update all licenses (#3002)
# Description of Changes

We recently merged several repos together. This PR clarifies the license
terms for several subdirectories, as well as the relationship between
the licenses.

The licenses in our subdirectories have become symbolic links to
licenses in our toplevel `licenses` directory. For any particular
subdirectory's license file in the diff, you can click `... -> View
file` and then click on the text that says "Symbolic Link" on that page.
This will take you to the license file that it links to.

I have also updated the `tools/upgrade-version` script to update the
change date in the new `licenses/BSL.txt` file.

# API and ABI breaking changes

None.

# Expected complexity level and risk

1

# Testing

None. Only changes to license files.

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-08-12 18:20:58 +00:00
Zeke Foppa 4921983024 C#/Unity SDK - Add some developer docs (#3140)
# Description of Changes

Migrating
https://github.com/clockworklabs/com.clockworklabs.spacetimedbsdk/pull/349
since we are merging that repo into this one.

> Add some developer docs.

# API and ABI breaking changes

None

# Expected complexity level and risk

1

# Testing

None. Docs only.

---------

Co-authored-by: James Gilles <jameshgilles@gmail.com>
Co-authored-by: Phoebe Goldman <phoebe@goldman-tribe.org>
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-08-11 16:52:20 +00:00
Zeke Foppa 3f48d651d4 Blackholio - Enable more tests (#3135)
# Description of Changes

Migrating https://github.com/clockworklabs/Blackholio/pull/4 into this
repo.

See that PR for details.

---------

Co-authored-by: John Detter <no-reply@boppygames.gg>
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
Co-authored-by: John Detter <4099508+jdetter@users.noreply.github.com>
2025-08-08 18:52:25 +00:00
John Detter 18b29c762b Blackholio - Logging back in and resuming gameplay (#2990)
# Description of Changes

- Previous to this PR if you login, create a player, then logout and log
back in you are prompted for a username again instead of just resuming
your gameplay. This is confusing to players because it seems like your
token is not being reused and you are just creating a new player.

# API and ABI breaking changes

None

# Expected complexity level and risk

1 - this is a demo change but technically affects the testsuite

# Testing

1. Clear your token, then open the game, create a player. Then logout
2. Without clearing your token, log back into the game.
3. Make sure that:
  - Your username is correct
- Your circles are where you left them (and the amount of circles is
correct.)
2025-08-08 15:15:26 +00:00
Zeke Foppa b53f998941 Add repo migration notice workflows (#3127)
# Description of Changes

Added a repo migration notice workflow to each repository that we've
merged into SpacetimeDB.

These need to be mirrored back to the actual repos with a process like:
```bash
git subtree split --prefix=sdks/typescript -b release/typescript
git push -f git@github.com:clockworklabs/spacetimedb-typescript-sdk.git release/typescript:main
git branch -D release/typescript
```

Once they're migrated there, the bot will automatically comment on any
PR or issue opened in those repos.

# API and ABI breaking changes

None. CI-only changes.

# Expected complexity level and risk

2

# Testing

- [x] In a demo repo, it properly commented and closed a PR:
https://github.com/clockworklabs/github-tooling-test/pull/42
- [x] In a demo repo, it properly commented and closed an issue:
https://github.com/clockworklabs/github-tooling-test/issues/43

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-08-05 20:30:42 +00:00
Zeke Foppa b2cd943733 Blackholio - Hide generated files from diffs (#3119)
# Description of Changes

Just add a `.gitattributes` file that hide Blackholio autogenerated
files from GitHub diffs

# API and ABI breaking changes

None

# Expected complexity level and risk

1

# Testing

- [x] If I change one of the autogenerated files, it's hidden:
https://github.com/clockworklabs/SpacetimeDB/pull/3119/files/8601b4d5316c66f91a2555e720fcfeb01b3241db

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-08-04 16:11:15 +00:00
Zeke Foppa ccc4d06ddb Update GitHub files for C#/Unity SDK (#2952)
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-07-21 14:44:47 +00:00
Zeke Foppa 83f52cad97 Blackholio import - README updates (#2947)
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-07-17 17:53:48 +00:00
John Detter c16bc4f2e9 Add instructions to README (#28)
* Add instructions to README

* Update README.md
2025-03-14 15:18:34 -07:00
Zeke Foppa 73aa13868b fix broken links in README (#26)
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-03-10 20:30:43 -07:00
WeslomPo 04ba1528be Fix version and old property (#24)
* Fix version and old property

Changed version from 1.0.0-rc4 to 1.0.0
Replaced ctx.CallerIdentity to ctx.Sender

* Regenerated autogen files with actual version of spacetimedb
Changed package from stage to regular

* Create global.json

Added global.json, to prevent trying to generate code with wrong net sdk version

* Updated manifest with dependency address used in quickstart guide

---------

Co-authored-by: rekhoff <r.ekhoff@clockworklabs.io>
2025-03-06 14:48:20 -08:00
rekhoff bb50146932 Updates to fix multiplayer bug found in tutorial. (#23)
These changes match those found in the Docs side with PR https://github.com/clockworklabs/spacetime-docs/pull/169
2025-03-03 18:32:34 -08:00
james gilles 724ac3b45a Update for Timestamp stuff & EventContext stuff & ConnectionId stuff (#19)
* Fix C# server bug with overlapping circles

Update for Timestamp stuff

* Update for EventContext changes (TODO: update package .jsons once c# SDK PR is merged

* Regenerate

* Fix package .jsons

* Update for new AuthToken logic

* Update for no onUnhandledReducerError + fix package jsons

* Revert server-rust/Cargo.toml change
2025-02-11 15:37:29 -05:00
james gilles 636e7fed28 Update for new codegen (#18)
* Fix C# server build process & get rid of dead link in client manifest.json

* Fix unfinished paste

* Update for new c# codegen

* Update generated code and package jsons

* Revert server-rust dependency override
2025-02-05 17:25:02 -05:00
rekhoff abbf0430ae Merged the player and logged_out_player tables (#16)
Merged the player and logged_out_player tables into only a player table, to match the way it is used in the tutorial documentation. Slight changes to how logged_out_player was being referenced was required due to the tables having different architecture.
2025-01-24 08:04:16 -08:00
rekhoff 30852e70c6 Renamed client directory to client-unity (#15) 2025-01-24 08:03:21 -08:00
james gilles 30629f6b9d Test with upstream subscription API + fix respawns + add suicide for testing (#13)
* Test with upstream subscription API + fix respawns + add suicide for testing

* Add comment on not loading Auth Token for testing.

* Remove dangling meta file?

* Switch server-csharp to local build temporarily & fix all issues

* Remove needless comment

* Add comment to csproj

* Remove debug logs
2025-01-23 16:09:34 -05:00
SteveGibson 0f5e0b6a30 Blackholio Rebrand and Polish (#11)
* Circle splitting and recombining;
Client re-coloring

* Renamed Entity.id into Entity.entity_id

* Client refactor; Polish; Bugfixes

* Store username between game runs

* Renamed EntityActor.OnUpdate to OnEntityUpdate

* [WIP] C# server

* [WIP] C# server

* Changed `DateTimeOffset` to `long` in C# module

* Parallax background

* Animate entities when they get consumed

* Fixed respawn button

* Draft into Steve's branch (#12)

* Small changes

* Changes to align with the tutorial.

* Fixed rebase issue

* Merged ConnectionManager and EntityManager into GameManager for tutorial simplicity

* Renaming Actor -> Controller for simplicity's sake, although Actor is a good name

* actor -> entityController

* Merged ArenaController into GameManager for simplicity and cleaned up a few things

* Small cleanup to keep it in line with the tutorial

* Small changes to how overlapping works

* Rebrand to Blackholio

* Rebrand to Blackholio (missed one)

* Added a README.md

* fixed readme

---------

Co-authored-by: Steve Gibson <steve@clockwokrlabs.io>
Co-authored-by: Tyler Cloutier <cloutiertyler@users.noreply.github.com>
Co-authored-by: Tyler Cloutier <cloutiertyler@aol.com>
2025-01-18 01:10:32 -05:00
Ingvar Stepanyan 8b6f13208d Update to the new scheduling syntax (#10)
The attribute no longer exist, we now either infer the name automatically or specify it within the `table(scheduled(at = ...))` attribute instead.
2025-01-07 18:39:44 +00:00
Ingvar Stepanyan 1265ac70d3 Fix scheduled tables (#8)
* Fix scheduled tables

The API has changed upstream and requires user to specify those columns manually.

* Regenerate and fix paths
2024-12-13 00:39:21 -05:00
Zeke Foppa c6a003fda0 Upgrade to 1.0.0-rc1 (#9)
* upgrade to 1.0.0-rc1

* fixed compilation errors

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
Co-authored-by: Tyler Cloutier <cloutiertyler@aol.com>
2024-12-12 13:27:32 -05:00
John Detter 8bacbd74e5 C#/Unity SDK Testsuite (#3)
* First pass of moving C# SDK Testsuite here

* Keeping scene name as Main

* Don't use local reference for C# package

* Update client/Assets/Scripts/GameManager.cs

* Several fixes, testsuite passing

* This can be merged post 1.0.0-rc1

Small fix

---------

Co-authored-by: John Detter <no-reply@boppygames.gg>
2024-12-12 12:08:31 -05:00
John Detter c8f3332836 API 0.12 Upgrade (#2)
* Upgraded module to 0.12

* 0.12 upgrade is working

* Fixes

* Fixed some server warnings

* Small fix

* Apply suggestions from code review

* Update Cargo.toml

* Package upgraded to 0.12.0

* Renamed SampleScene => Main

---------

Co-authored-by: John Detter <no-reply@boppygames.gg>
Co-authored-by: Tyler Cloutier <cloutiertyler@users.noreply.github.com>
2024-10-16 16:08:08 -05:00
Tyler Cloutier 3921bbc7fc Small optimizations 2024-09-19 21:09:00 -04:00
Tyler Cloutier 917c0b3616 Added the network manager 2024-09-19 19:33:36 -04:00
Tyler Cloutier 38d509dca1 Fixed compile errors and made tables public 2024-09-19 19:22:25 -04:00
Tyler Cloutier 673297dc82 Upgraded to 0.11.1, still not building on the client 2024-09-19 18:21:14 -04:00
Tyler Cloutier 0559b3f685 Fixed the rng issues 2024-09-19 17:57:31 -04:00
Tyler Cloutier bc456ab55f Get circle game compiling on 0.11.1 2024-09-18 13:02:17 -04:00
Tyler Cloutier c4379051cf Added more gitignore 2024-09-18 11:52:31 -04:00
John Detter 9f18c23e54 Fixed bugs 2023-11-29 12:06:40 -06:00
John Detter d08784a871 Fix issue when you have no circles remaining 2023-11-29 11:46:03 -06:00
John Detter 5b146b9885 Updated leaderboard 2023-11-29 11:27:05 -06:00
John Detter 9abf32296c Updated logout/login logic 2023-11-29 11:16:40 -06:00
John Detter 227971fa60 Testing with Tyler 2023-11-29 11:05:49 -06:00