Commit Graph

29 Commits

Author SHA1 Message Date
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
Zeke Foppa 7f34a1b375 Update C# DLLs to 1.4.0 (#3270)
# Description of Changes

I forgot to do this in
https://github.com/clockworklabs/SpacetimeDB/pull/3267.

# API and ABI breaking changes

None

# Expected complexity level and risk

1

# Testing
Unity tests passed on the release branch 🤷

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-09-23 18:27:52 +00:00
Zeke Foppa 12fb5d423b Update DLLs to 1.3.0 (#3018)
# Description of Changes

I forgot to do this in the original version bump PR... I just ran
`dotnet pack` and then moved the meta files.

# 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-08-01 20:03:55 +00:00
Zeke Foppa 79de507dee Bump to 1.2.1 (#332)
## Description of Changes
Updates the DLLs for
https://github.com/clockworklabs/SpacetimeDB/pull/2762, and bumps our
version numbers as well.

## API

 - [ ] This is an API breaking change to the SDK

Not a breaking change

## Requires SpacetimeDB PRs
None afaik

## Testsuite
SpacetimeDB branch name: master

## Testing
*Write instructions for a test that you performed for this PR*

- [x] Ran through Bitcraft tutorial
- [x] Blackholio on CI

---------

Co-authored-by: James Gilles <jameshgilles@gmail.com>
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-06-23 18:39:43 +00:00
Zeke Foppa 5baf66b628 Bump versions to 1.2.0 (#328)
## Description of Changes
Bump versions to 1.2.0, as well as update the DLLs from SpacetimeDB
(commit `fc8f7dcc8`). They don't have any changes, but the versions
needed bumping.

## API

This itself is not a breaking changes.

## Requires SpacetimeDB PRs
https://github.com/clockworklabs/SpacetimeDB/pull/2837

## Testsuite
SpacetimeDB branch name: release/v1.2.0

## Testing
CI only

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-06-06 18:07:24 +00:00
Zeke Foppa a198faddd5 Update DLLs to 1.1.2 (#322)
## Description of Changes
Update DLLs to the 1.1.2 versions that have been pushed to NuGet.

The SpacetimeDB tag that they were built from is
`v1.1.2-csharp-release`.

## API

 - [ ] This is an API breaking change to the SDK

*If the API is breaking, please state below what will break*

## Requires SpacetimeDB PRs
None, because we're updating the DLLs to essentially include SpacetimeDB
PRs.

## Testsuite
SpacetimeDB branch name: master

## Testing
CI I guess?

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-05-22 15:40:54 -04:00
james gilles b46a894d31 Faster deserialization (#315)
## Description of Changes
Leverages https://github.com/clockworklabs/SpacetimeDB/pull/2725 to
speed up row deserialization. Also updates DLLs for recent upstream
fixes.

Changes:
- Uses much simpler code when deserializing enums, avoiding the use of
reflection
- Uses manually monomorphized row deserialization methods, which again
avoid the use of reflection when constructing row objects

## API

 - [ ] This is an API breaking change to the SDK

*If the API is breaking, please state below what will break*

## Requires SpacetimeDB PRs
https://github.com/clockworklabs/SpacetimeDB/pull/2725

## Testsuite

SpacetimeDB branch name: jgilles/perf/faster-allocation

## Testing
*Write instructions for a test that you performed for this PR*

- [x] Blackholio
- [x] Bitcraft (have done a basic test but no in-depth testing)
2025-05-15 18:15:56 -04:00
james gilles c813fb321d Fix list equals (#316)
Update DLLs and generated code for SpacetimeDB 74ad4a14c
2025-05-12 20:55:15 +00:00
Zeke Foppa c99c4cb376 Update DLLs to 1.1.1 (#300)
## Description of Changes
Just bumping the DLLs for a version number update. No actual changes.

## API

No breaking changes

## Requires SpacetimeDB PRs


## Testsuite
SpacetimeDB branch name: master

## Testing
Just existing CI. This only bumps versions.

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-04-22 20:43:28 +00:00
Zeke Foppa f24b0e8f86 Update DLLs to 1.1.0 (#288)
## Description of Changes
Update DLLs to 1.1.0.

## API

 - [ ] This is an API breaking change to the SDK

## Requires SpacetimeDB PRs
https://github.com/clockworklabs/SpacetimeDB/pull/2566

## Testsuite
SpacetimeDB branch name: release/v1.1.0

## Testing
We tested this with some bots

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-04-15 14:48:05 -07:00
Zeke Foppa 23c2dc083f Update DLLs to 1.0.1 (#269)
## Description of Changes
I don't know if the DLLs need updating, but updated the DLLs just in
case.

## API

Incorporate any chances in SpacetimeDB 1.0.1. There should be no
breaking changes.

## Requires SpacetimeDB PRs
*List any PRs here that are required for this SDK change to work*

## Testsuite
SpacetimeDB branch name: release/v1.0.1

## Testing
None. Will test in release.

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-03-14 04:18:02 +00:00
rekhoff 25689c14bd Update C# server and client quickstart examples to match tutorial document. (#258)
# Description of Changes
Update the C# server and client SDK quickstart-chat example to match the
code presented in the tutorial, as of
https://github.com/clockworklabs/spacetime-docs/pull/170 .
Also renamed the directory from `quickstart` to `quickstart-chat` in
order to be more specific.

# 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

## Requires SpacetimeDB PRs
SpacetimeDB branch name: master
com.clockworklabs.spacetimedbsdk: master

# 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] Ran `quickstart-chat` C# server and C# client locally and:
  - Set my name.
  - Sent a message.
  - Restarted and viewed the message backlog.
  - Sent a few more messages.
- Exited, deleted my local token, restarted and connected as a new
identity.
  - Set my new identity's name.
  - Sent a message as my new identity.

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
Co-authored-by: John Detter <no-reply@boppygames.gg>
Co-authored-by: james gilles <jameshgilles@gmail.com>
2025-03-03 13:35:30 -08:00
Noa 03861217b3 Switch to Bearer auth (#236)
## Description of Changes

Switches to Bearer authentication, which is the more proper auth schema
to use with tokens.

## API

 - [ ] This is an API breaking change to the SDK

## Requires SpacetimeDB PRs
- https://github.com/clockworklabs/SpacetimeDB/pull/2181

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: master

---------

Co-authored-by: Zeke Foppa <196249+bfops@users.noreply.github.com>
Co-authored-by: rekhoff <r.ekhoff@clockworklabs.io>
Co-authored-by: James Gilles <jameshgilles@gmail.com>
2025-02-11 15:13:26 -05:00
james gilles 498b25f825 Emit Event.UnknownTransaction rather than throwing on unknown reducer (#244)
## Description of Changes
as described

## API

no breaks

## Requires SpacetimeDB PRs
https://github.com/clockworklabs/SpacetimeDB/pull/2241

## Testsuite

SpacetimeDB branch name: jgilles/unknown_reducer

## Testing

see SpacetimeDB PR
2025-02-11 13:21:06 -05:00
Phoebe Goldman 96d52c1a7b Rename Address to ConnectionId (#239)
## Description of Changes

Companion to [Rename `Address` to
`ConnectionId`](https://github.com/clockworklabs/SpacetimeDB/pull/2220).
See that PR's description for more.

Like all the SDKs, this PR does not change the SDK's behavior; the SDK
still generates a connection ID locally and passes it through the HTTP
API. This is not exposed to users, and can be changed in a follow-up.

Also, use `/usr/bin/env bash` instead of `/bin/bash` in tools, for
portability reasons.

## API

 - [x] This is an API breaking change to the SDK

`Address` is renamed to `ConnectionId`.

## Requires SpacetimeDB PRs

- https://github.com/clockworklabs/SpacetimeDB/pull/2220
- 
## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: phoebe/rename-address-to-connection-id

## Testing

- [x] Pretty much just automated testing.
- [x] @kazimuth will need to update and run Blackholio.

---------

Co-authored-by: James Gilles <jameshgilles@gmail.com>
2025-02-10 00:29:18 +00:00
Zeke Foppa f966144f3a Update DLLs (#241)
## Description of Changes
This seems to fix the unity testsuite, which otherwise is failing when
pointed at master.

## API

No breaking changes.

## Requires SpacetimeDB PRs
None

## Testsuite
This is meant to fix pointing at master.

SpacetimeDB branch name: master

## Testing
- [x] Unity testsuite now passes

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-02-07 15:21:32 -08:00
james gilles b4aa612239 Make Timestamp and TimeDuration special types (#233)
## Description of Changes

C# part of https://github.com/clockworklabs/SpacetimeDB/pull/1836
Needs to be rebased onto
https://github.com/clockworklabs/com.clockworklabs.spacetimedbsdk/pull/220
once that is merged.

## API

 - [x] This is an API breaking change to the SDK

ScheduleAt is now constructed in slightly different ways.

## Requires SpacetimeDB PRs
*List any PRs here that are required for this SDK change to work*

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: phoebe/timestamp-special-type

## Testing
Will need an update to blackholio as well.
2025-02-07 14:17:45 -05:00
Ingvar Stepanyan cefc727b76 Rewrite C# codegen to the new Lang infra + fixes (#220)
## Description of Changes

This is the companion PR for
https://github.com/clockworklabs/SpacetimeDB/pull/2184, please see the
other PR for full description.

On the client side main changes are:

- Regenerate .NET and Unity test client bindings and test snapshot.
- Remove `IDatabaseRow` since V9 multi-tables splits data types from
actual table definitions, so those "table data types" are no longer
special. Just using `IStructuralReadWrite` in its place now.
- Add base index classes as mentioned in the other PR.
- As a sub-improvement, the non-unique index class actually does
indexing instead of iterating over the entire table like we did before.
- Remove internal-but-not-really `InternalInvokeValueDeleted` and
`InternalInvokeValueInserted` methods in favour of private events.

## API

 - [x] This is an API breaking change to the SDK

Removes some technically-visible but internal APIs.

## Requires SpacetimeDB PRs
https://github.com/clockworklabs/SpacetimeDB/pull/2184

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: ingvar/csharp-new-codegen

## Testing
*Write instructions for a test that you performed for this PR*

- [x] Manually tested Blackholio

---------

Co-authored-by: James Gilles <jameshgilles@gmail.com>
2025-02-05 16:48:15 -05:00
Zeke Foppa 82ad0a069f Bump version to 1.0.0-rc4 (#225)
## Description of Changes
Corresponding change to
https://github.com/clockworklabs/SpacetimeDB/pull/2177. See that PR for
more details.

~~Note that this PR only bumps the versions, but does **not** update the
DLLs. This is because SpacetimeDB will likely have further changes, so
the DLLs will just need to be updated again (in principle, they should
be updated every time we push to SpacetimeDB `master`, which isn't
really feasible. For this reason, users should not use `staging` without
having their own copy of the SpacetimeDB repo as well).~~

## API

 - [ ] This is an API breaking change to the SDK

No breaking changes.

## Requires SpacetimeDB PRs
https://github.com/clockworklabs/SpacetimeDB/pull/2177

## Testsuite
SpacetimeDB branch name: master

## Testing
- [x] CI passes with that branch name
- [x] The branch name has been changed back to `master` after that PR
merges and CI still passes

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-01-29 10:51:26 -08:00
Zeke Foppa aa6cb5b5cf Revert DLLs to 1.0.0-rc3 (#224)
## Description of Changes
Revert DLLs, which I should have done in
https://github.com/clockworklabs/com.clockworklabs.spacetimedbsdk/pull/223.

See that PR for background on why it was necessary.

## API

 - [ ] This is an API breaking change to the SDK

Kinda, but it's a revert.

## Requires SpacetimeDB PRs
*List any PRs here that are required for this SDK change to work*

## Testsuite
SpacetimeDB branch name: master

## Testing
I would have liked to say that the current CI is sufficient as I did in
the last PR, but now I no longer feel confident.. Currently the repo is
in a somewhat inconsistent state, though, so I think we should merge
this right now as it will not make it _less_ consistent.

I'm very open to suggestions about how to test this properly.

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-01-27 21:14:55 +00:00
Zeke Foppa 27be3019bb Bump version to 1.0.0-rc3-hotfix3 (#222)
## Description of Changes
Bump the version and include the DLLs from the corresponding NuGet
packages / SpacetimeDB version.

## API

 - [ ] This is an API breaking change to the SDK

I believe not?

## Requires SpacetimeDB PRs
I believe this requires tag `v1.0.0-rc3-hotfix3`

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: v1.0.0-rc3-hotfix3

## Testing
Only automated testing, since this itself is just a version bump.

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-01-24 21:27:04 +00:00
Ingvar Stepanyan 2487c94967 Add CI check for Unity meta files (#209)
## Description of Changes

Adds CI check to prevent issues like #208.

## API

 - [ ] This is an API breaking change to the SDK

*If the API is breaking, please state below what will break*

## Requires SpacetimeDB PRs
*List any PRs here that are required for this SDK change to work*

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: master

## Testing
*Write instructions for a test that you performed for this PR*

- [ ] Describe a test for this PR that you have completed
2025-01-14 19:25:45 +00:00
Zeke Foppa 11896cb70b Bump version to RC3 and update DLLs (#210)
## Description of Changes
Bump package version to `1.0.0-rc3` and do a preliminary upgrade of the
DLLs.

I believe the DLLs might need updating again once the BSATN.Runtime
package is pushed to NuGet (because then it will be fetched from NuGet).

## API

Not API breaking.

## Requires SpacetimeDB PRs
https://github.com/clockworklabs/SpacetimeDB/pull/2094

## Testsuite
SpacetimeDB branch name: release/v1.0.0-rc3

## Testing
- [x] Existing CI is successful (pointed at the RC3 SpacetimeDB branch).

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2025-01-14 18:13:04 +00:00
Tyler Cloutier d8277ff8fd Updated DLLs I think 2024-12-13 20:14:02 -05:00
Zeke Foppa 3054a7f530 Bump version and update DLLs (#192)
## Description of Changes
Cherrypicking the changes from
https://github.com/clockworklabs/com.clockworklabs.spacetimedbsdk/pull/190,
which were merged directly to `master` (by me, without thinking it
through).

## API

Fixes API breakage related to endianness.

## Requires SpacetimeDB PRs
https://github.com/clockworklabs/SpacetimeDB/pull/1964

## Testsuite
SpacetimeDB branch name: master

## Testing
CI only. These changes have already been released.
2024-11-19 22:18:44 +01:00
Zeke Foppa cf3f37cf77 Update DLLs and bump package versions to 1.0.0-rc1 (#180)
## Description of Changes
Update the SpacetimeDB C# DLLs to be up to date with `master` in
SpacetimeDB (now that C# bindings have been bumped to `v1.0.0-rc1`).

We will need a followup PR

## API

Not a breaking change.

## Requires SpacetimeDB PRs
`master`

## Testing
Only automated tests

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2024-10-29 11:33:15 -07:00
Zeke Foppa f376c05433 0.12.0 DLLs (again) (#161)
## Description of Changes
Update with the latest DLLs from the current 0.12.0 branch.

## API

 - [ ] This is an API breaking change to the SDK

*If the API is breaking, please state below what will break*

## Requires SpacetimeDB PRs
*List any PRs here that are required for this SDK change to work*

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2024-10-03 21:43:39 -07:00
Zeke Foppa b320e5ec58 Update DLLs for 0.12.0 (#152)
## Description of Changes
Updated the DLLs for 0.12.0 from the PR:
```
commit 0a7512d2a8db0dcff05aaee92f260e53d71cdc80 (HEAD -> release/v0.12.0-beta, origin/release/v0.12.0-beta)
Author: Zeke Foppa <bfops@users.noreply.github.com>
Date:   Thu Oct 3 09:35:27 2024 -0700

    [release/v0.12.0-beta]: Manually apply open PR #1707: c# client generate
```

## API

 - [ ] This is an API breaking change to the SDK

*If the API is breaking, please state below what will break*


## Requires SpacetimeDB PRs
*List any PRs here that are required for this SDK change to work*

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
Co-authored-by: John Detter <4099508+jdetter@users.noreply.github.com>
2024-10-03 23:31:14 +00:00
Ingvar Stepanyan cb59ebac99 Merge Unity SDK into C# SDK (#117)
## Description of Changes

This creates a frankenstein monster of a repo that is compatible with
both .NET / MSBuild as well as can be consumed as a Unity package.

- `.meta` files, Unity manifests and Unity README were copied over from
the Unity repo.
- `examples` and `tests` folders were renamed to `examples~` and
`tests~` correspondingly, as the `~` suffix is the only way to get
entire folders ignored by Unity.
- MSBuild was configured to change `bin` and `obj` to `bin~` and `obj~`
for the same reasons. This doesn't matter for the Git repo, but helpful
for local development where you don't want Unity to try and load local
DLL artifacts.
- NuGet was configured to restore Unity-compatible NuGet DLLs (and
delete others) in a local folder and committed to the repo - so, from
now on, we can easily update them by modifying `.csproj` and via
standard `dotnet restore` / `dotnet build`.

After this change, this repo should be compatible with both .NET CLI
(e.g. `dotnet test`) as well as consumable from Unity, but due to amount
of metadata changes, it needs further testing before we merge repos
properly.

Fixes #114.

## API

 - [ ] This is an API breaking change to the SDK

*If the API is breaking, please state below what will break*


## Requires SpacetimeDB PRs

*List any PRs here that are required for this SDK change to work*

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2024-08-28 11:13:33 -07:00