Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
e6397c3
experimental switch to STJ
JR-Morgan Apr 1, 2026
55bc54c
pool array buffer
JR-Morgan Apr 2, 2026
980342d
temp remove test requirement
JR-Morgan Apr 9, 2026
e5361d5
Merge remote-tracking branch 'origin/main' into jrm/stj-experiment
JR-Morgan Apr 16, 2026
6c0975c
relock
JR-Morgan Apr 16, 2026
6d36528
Potential fix for netstandard 2.0
JR-Morgan Apr 16, 2026
ca71eac
format
JR-Morgan Apr 16, 2026
72f6898
Keep old serializer separate
JR-Morgan Apr 17, 2026
a83b74a
Fixed broken detaching
JR-Morgan Apr 17, 2026
411a89c
Add tests
JR-Morgan Apr 17, 2026
38cfb8d
remove unneeded tests
JR-Morgan Apr 17, 2026
87dc3ac
hex convert
JR-Morgan Apr 17, 2026
a0a651f
remove comment
JR-Morgan Apr 17, 2026
c8ec0ad
more tests
JR-Morgan Apr 17, 2026
94f9cea
reintroduce TEST on pack
JR-Morgan Apr 17, 2026
8c1844d
test projects
JR-Morgan Apr 20, 2026
1ad76fe
Merge branch 'main' into jrm/stj-experiment
JR-Morgan Apr 21, 2026
0c609c7
merge
JR-Morgan Apr 27, 2026
1c6d66b
Ensure ingestion progress happens on worker threadpool
JR-Morgan Apr 28, 2026
e105b2b
Merge branch 'main', remote-tracking branch 'origin' into jrm/stj-exp…
JR-Morgan Apr 28, 2026
f70d387
Stream blobs ato disk
JR-Morgan Apr 28, 2026
0aaab5e
Merge branch 'main', remote-tracking branch 'origin' into jrm/stj-exp…
JR-Morgan Apr 28, 2026
17e69f9
Min version 7.0.0 to match grasshoper 8
JR-Morgan Apr 29, 2026
0917e97
lock to 7
JR-Morgan Apr 29, 2026
54af0e8
Drop all the way down to 5.x.x
JR-Morgan Apr 29, 2026
04c8c21
tiny optimisation
JR-Morgan Apr 30, 2026
0ddb631
fix bug with netstandard serializer
JR-Morgan Apr 30, 2026
55a4e70
Extra tests
JR-Morgan Apr 30, 2026
d0bffde
fix tests
JR-Morgan Apr 30, 2026
7e0d992
revert local testurl
JR-Morgan Apr 30, 2026
736985e
Temporary assertion
JR-Morgan Apr 30, 2026
9da0fb6
More tests
JR-Morgan May 4, 2026
ee5b5c4
Lower `System.Memory` requirement back to 4.5.4
JR-Morgan May 5, 2026
e01828b
go with the more explicit option for byte offsets
JR-Morgan May 5, 2026
84efb75
Support NaN and Infinity doubles
JR-Morgan May 5, 2026
4688ef6
correct tests for integer serialization
JR-Morgan May 6, 2026
72eb9b9
Fix test
JR-Morgan May 6, 2026
83c7ca5
maybe fix tests?
JR-Morgan May 8, 2026
40c1784
remove health check requirement
JR-Morgan May 8, 2026
b66853a
removed out of date comment
JR-Morgan May 11, 2026
f9211b6
Rename JSON class for clarity
JR-Morgan May 11, 2026
3a5718b
More comments
JR-Morgan May 11, 2026
8ff9d91
Merge remote-tracking branch 'origin/main' into jrm/stj-experiment
JR-Morgan May 12, 2026
7e83545
Downgrade m.e.logging
JR-Morgan May 13, 2026
02b9e65
Pin dotnet sdk to 10.0.2xx
JR-Morgan May 13, 2026
95ee22f
Merge branch 'main', remote-tracking branch 'origin' into jrm/stj-exp…
JR-Morgan May 13, 2026
c3d1dbe
ensure Microsoft.Dependency.Injection is include
JR-Morgan May 13, 2026
e5fa39d
revert changes to me.logging
JR-Morgan May 13, 2026
fd1bfdc
add health check
JR-Morgan May 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@ indent_size = 2
tab_width = 2

# Verify settings
[*.{received,verified}.{json}]
[*.{received,verified}.{json,txt}]
charset = utf-8-bom
end_of_line = lf
indent_size = unset
Expand Down
3 changes: 2 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@
*.txt text eol=crlf

# Verify
*.verified.json text eol=lf working-tree-encoding=UTF-8
*.verified.json text eol=lf working-tree-encoding=UTF-8
*.verified.txt text eol=lf working-tree-encoding=UTF-8
4 changes: 2 additions & 2 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
<ItemGroup>
<PackageVersion Include="altcover" Version="9.0.102" />
<PackageVersion Include="AwesomeAssertions" Version="9.4.0" />
<PackageVersion Include="BenchmarkDotNet" Version="0.14.0" />
<PackageVersion Include="BenchmarkDotNet" Version="0.15.8" />
<PackageVersion Include="Bullseye" Version="6.1.0" />
<PackageVersion Include="GraphQL.Client" Version="6.1.0" />
<PackageVersion Include="Glob" Version="1.1.9" />
Expand Down Expand Up @@ -63,7 +63,7 @@
<PackageVersion Include="System.Threading.Channels" Version="[9.0.4,]" />
<PackageVersion Include="Verify.Quibble" Version="2.1.1" />
<PackageVersion Include="Verify.Xunit" Version="31.12.5" />
<PackageVersion Include="System.Text.Json" Version="8.0.5" />
<PackageVersion Include="System.Text.Json" Version="10.0.7" />
<PackageVersion Include="xunit" Version="2.9.3" />
<PackageVersion Include="xunit.assert" Version="2.9.3" />
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
Expand Down
1 change: 1 addition & 0 deletions Speckle.Sdk.slnx
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
<File Path="docker-compose.yml" />
<File Path="global.json" />
<File Path="README.md" />
<File Path=".gitattributes" />
<File Path=".github\copilot-instructions.md" />
<File Path=".github\git-commit-instructions.md" />
</Folder>
Expand Down
22 changes: 12 additions & 10 deletions docker-compose-internal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,24 @@ services:
# Speckle Server dependencies
#######
postgres:
image: "postgres:16.4-alpine3.20@sha256:d898b0b78a2627cb4ee63464a14efc9d296884f1b28c841b0ab7d7c42f1fffdf"
image: 'postgres:18.3-alpine3.23@sha256:54451ecb8ab38c24c3ec123f2fd501303a3a1856a5c66e98cecf2460d5e1e9d7'
restart: always
environment:
POSTGRES_DB: speckle
POSTGRES_USER: speckle
POSTGRES_PASSWORD: speckle
volumes:
- ./.volumes/postgres-data:/var/lib/postgresql/data/
- ./.volumes/postgres-data:/var/lib/postgresql
- ./setup/db/10-docker_postgres_init.sql:/docker-entrypoint-initdb.d/10-docker_postgres_init.sql
- ./setup/db/11-docker_postgres_authentik_init.sql:/docker-entrypoint-initdb.d/11-docker_postgres_authentik_init.sql
command: postgres -c max_prepared_transactions=150
healthcheck:
# the -U user has to match the POSTGRES_USER value
test: ["CMD-SHELL", "pg_isready -U speckle"]
interval: 5s
test: ["CMD-SHELL", "pg_isready -U speckle -d speckle"]
interval: 10s
timeout: 5s
retries: 30

retries: 5
start_period: 20s

redis:
image: "valkey/valkey:8.1-alpine@sha256:0d27f0bca0249f61d060029a6aaf2e16b2c417d68d02a508e1dfb763fa2948b4"
restart: always
Expand All @@ -32,7 +35,7 @@ services:
retries: 30

minio:
image: "minio/minio:RELEASE.2023-10-25T06-33-25Z"
image: "minio/minio:RELEASE.2025-09-07T16-13-09Z"
command: server /data --console-address ":9001"
restart: always
volumes:
Expand Down Expand Up @@ -102,8 +105,7 @@ services:

LOG_PRETTY: "true"

FF_NEXT_GEN_FILE_IMPORTER_ENABLED: "true"
FF_LARGE_FILE_IMPORTS_ENABLED: "true"
FF_DATA_MODULE_ENABLED: 'true'

networks:
default:
Expand Down
9 changes: 6 additions & 3 deletions src/Speckle.Automate.Sdk/Speckle.Automate.Sdk.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,12 @@
<ItemGroup Label="Package References">
<PackageReference Include="Newtonsoft.Json.Schema" />
<PackageReference Include="System.CommandLine" NoWarn="NU5104" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0'">
<PackageReference Include="System.Text.Json" />
<!--Overide to match the lowest of the .NET core targets, we don't care about having a huge compatiblity window-->
<PackageReference
Include="System.Text.Json"
OverrideVersion="8.0.6"
Condition=" '$(TargetFramework)' == 'netstandard2.0'"
/>
</ItemGroup>
<ItemGroup Label="Project References">
<ProjectReference Include="..\Speckle.Objects\Speckle.Objects.csproj" />
Expand Down
101 changes: 66 additions & 35 deletions src/Speckle.Automate.Sdk/packages.lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,16 +53,17 @@
},
"System.Text.Json": {
"type": "Direct",
"requested": "[8.0.5, )",
"resolved": "8.0.5",
"contentHash": "0f1B50Ss7rqxXiaBJyzUu9bWFOO2/zSlifZ/UNMdiIpDYe4cY4LQQicP4nirK1OS31I43rn062UIJ1Q9bpmHpg==",
"dependencies": {
"Microsoft.Bcl.AsyncInterfaces": "8.0.0",
"System.Buffers": "4.5.1",
"System.Memory": "4.5.5",
"System.Runtime.CompilerServices.Unsafe": "6.0.0",
"System.Text.Encodings.Web": "8.0.0",
"System.Threading.Tasks.Extensions": "4.5.4"
"requested": "[10.0.7, )",
"resolved": "10.0.7",
"contentHash": "F8Pu2QLUMeniVbtiyk7n7LCfFYxlcJ8ASaSwglJyq6dxa34iCQrikQszsgJClIJWuSWjcyhKkV7daAzYJqeVwA==",
"dependencies": {
"Microsoft.Bcl.AsyncInterfaces": "10.0.7",
"System.Buffers": "4.6.1",
"System.IO.Pipelines": "10.0.7",
"System.Memory": "4.6.3",
"System.Runtime.CompilerServices.Unsafe": "6.1.2",
"System.Text.Encodings.Web": "10.0.7",
"System.Threading.Tasks.Extensions": "4.6.3"
}
},
"GraphQL.Client.Abstractions": {
Expand Down Expand Up @@ -199,28 +200,38 @@
},
"System.Buffers": {
"type": "Transitive",
"resolved": "4.5.1",
"contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg=="
"resolved": "4.6.1",
"contentHash": "N8GXpmiLMtljq7gwvyS+1QvKT/W2J8sNAvx+HVg4NGmsG/H+2k/y9QI23auLJRterrzCiDH+IWAw4V/GPwsMlw=="
},
"System.ComponentModel.Annotations": {
"type": "Transitive",
"resolved": "4.5.0",
"contentHash": "UxYQ3FGUOtzJ7LfSdnYSFd7+oEv6M8NgUatatIN2HxNtDdlcvFAf+VIq4Of9cDMJEJC0aSRv/x898RYhB4Yppg=="
},
"System.IO.Pipelines": {
"type": "Transitive",
"resolved": "10.0.7",
"contentHash": "LTxXYYKmRhPKWveYmfzuRTUnzsfY7CN+WOq6aTRgYE9vJ8BUvIWPCaSx4HxqBwXViTPSjR9cHDOVuVPuZGRR/Q==",
"dependencies": {
"System.Buffers": "4.6.1",
"System.Memory": "4.6.3",
"System.Threading.Tasks.Extensions": "4.6.3"
}
},
"System.Memory": {
"type": "Transitive",
"resolved": "4.5.5",
"contentHash": "XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==",
"resolved": "4.6.3",
"contentHash": "qdcDOgnFZY40+Q9876JUHnlHu7bosOHX8XISRoH94fwk6hgaeQGSgfZd8srWRZNt5bV9ZW2TljcegDNxsf+96A==",
"dependencies": {
"System.Buffers": "4.5.1",
"System.Numerics.Vectors": "4.4.0",
"System.Runtime.CompilerServices.Unsafe": "4.5.3"
"System.Buffers": "4.6.1",
"System.Numerics.Vectors": "4.6.1",
"System.Runtime.CompilerServices.Unsafe": "6.1.2"
}
},
"System.Numerics.Vectors": {
"type": "Transitive",
"resolved": "4.4.0",
"contentHash": "UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ=="
"resolved": "4.6.1",
"contentHash": "sQxefTnhagrhoq2ReR0D/6K0zJcr9Hrd6kikeXsA1I8kOCboTavcUC4r7TSfpKFeE163uMuxZcyfO1mGO3EN8Q=="
},
"System.Reactive": {
"type": "Transitive",
Expand All @@ -233,8 +244,8 @@
},
"System.Runtime.CompilerServices.Unsafe": {
"type": "Transitive",
"resolved": "6.0.0",
"contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg=="
"resolved": "6.1.2",
"contentHash": "2hBr6zdbIBTDE3EhK7NSVNdX58uTK6iHW/P/Axmm9sl1xoGSLqDvMtpecn226TNwHByFokYwJmt/aQQNlO5CRw=="
},
"System.Runtime.InteropServices.WindowsRuntime": {
"type": "Transitive",
Expand All @@ -243,20 +254,20 @@
},
"System.Text.Encodings.Web": {
"type": "Transitive",
"resolved": "8.0.0",
"contentHash": "yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ==",
"resolved": "10.0.7",
"contentHash": "WUH+viO8VDG8NpFKvOBwpeyKUiPOMz3kQpA6AKCD4b2NG1pBhyC4AwTb357iZmTxZDnkM4IsFnvzN8W8OKmsHg==",
"dependencies": {
"System.Buffers": "4.5.1",
"System.Memory": "4.5.5",
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
"System.Buffers": "4.6.1",
"System.Memory": "4.6.3",
"System.Runtime.CompilerServices.Unsafe": "6.1.2"
}
},
"System.Threading.Tasks.Extensions": {
"type": "Transitive",
"resolved": "4.5.4",
"contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==",
"resolved": "4.6.3",
"contentHash": "7sCiwilJLYbTZELaKnc7RecBBXWXA+xMLQWZKWawBxYjp6DBlSE3v9/UcvKBvr1vv2tTOhipiogM8rRmxlhrVA==",
"dependencies": {
"System.Runtime.CompilerServices.Unsafe": "4.5.3"
"System.Runtime.CompilerServices.Unsafe": "6.1.2"
}
},
"speckle.objects": {
Expand All @@ -273,9 +284,11 @@
"Microsoft.Data.Sqlite": "[7.0.5, )",
"Microsoft.Extensions.DependencyInjection": "[2.2.0, )",
"Microsoft.Extensions.Logging": "[2.2.0, )",
"Microsoft.Extensions.ObjectPool": "[6.0.0, )",
"Speckle.DoubleNumerics": "[4.1.0, )",
"Speckle.Newtonsoft.Json": "[13.0.2, )",
"Speckle.Sdk.Dependencies": "[1.0.0, )"
"Speckle.Sdk.Dependencies": "[1.0.0, )",
"System.Text.Json": "[5.0.2, )"
}
},
"speckle.sdk.dependencies": {
Expand All @@ -298,10 +311,10 @@
"Microsoft.Bcl.AsyncInterfaces": {
"type": "CentralTransitive",
"requested": "[9.0.4, )",
"resolved": "9.0.4",
"contentHash": "9VGI5kxIvrNG2mqLQZnUR6y/3fcnygD8eNpHR+CqfbnIXvea6nehnYknDKQTxZVPMpzpNca+7DxLBmpdB3q0Bw==",
"resolved": "10.0.7",
"contentHash": "g0Xp9A+B8jCf5pNIIhFOQXPJkte3D87shfTLY+ylwfSh22U5oQH6tvvmcUuqJvt/wtwKk0WdNp2OGEczHJlJdg==",
"dependencies": {
"System.Threading.Tasks.Extensions": "4.5.4"
"System.Threading.Tasks.Extensions": "4.6.3"
}
},
"Microsoft.CSharp": {
Expand Down Expand Up @@ -341,6 +354,12 @@
"Microsoft.Extensions.Options": "2.2.0"
}
},
"Microsoft.Extensions.ObjectPool": {
"type": "CentralTransitive",
"requested": "[9.0.4, )",
"resolved": "6.0.0",
"contentHash": "7hR9FU0JJHOCLmn/Ary31pLLAhlzoMptBKs5CJmNUzD87dXjl+/NqVkyCTl6cT2JAfTK0G39HpvCOv1fhsX3BQ=="
},
"Speckle.DoubleNumerics": {
"type": "CentralTransitive",
"requested": "[4.1.0, )",
Expand Down Expand Up @@ -506,8 +525,8 @@
"dependencies": {
"GraphQL.Client": "[6.1.0, )",
"Microsoft.Data.Sqlite": "[10.0.0, )",
"Microsoft.Extensions.DependencyInjection": "[10.0.0, )",
"Microsoft.Extensions.Logging": "[10.0.0, )",
"Microsoft.Extensions.ObjectPool": "[10.0.0, )",
"Speckle.DoubleNumerics": "[4.1.0, )",
"Speckle.Newtonsoft.Json": "[13.0.2, )",
"Speckle.Sdk.Dependencies": "[1.0.0, )"
Expand Down Expand Up @@ -558,6 +577,12 @@
"Microsoft.Extensions.Options": "10.0.0"
}
},
"Microsoft.Extensions.ObjectPool": {
"type": "CentralTransitive",
"requested": "[9.0.4, )",
"resolved": "10.0.0",
"contentHash": "bpeCq0IYmVLACyEUMzFIOQX+zZUElG1t+nu1lSxthe7B+1oNYking7b91305+jNB6iwojp9fqTY9O+Nh7ULQxg=="
},
"Speckle.DoubleNumerics": {
"type": "CentralTransitive",
"requested": "[4.1.0, )",
Expand Down Expand Up @@ -723,8 +748,8 @@
"dependencies": {
"GraphQL.Client": "[6.0.0, )",
"Microsoft.Data.Sqlite": "[7.0.5, )",
"Microsoft.Extensions.DependencyInjection": "[8.0.0, )",
"Microsoft.Extensions.Logging": "[8.0.0, )",
"Microsoft.Extensions.ObjectPool": "[8.0.0, )",
"Speckle.DoubleNumerics": "[4.1.0, )",
"Speckle.Newtonsoft.Json": "[13.0.2, )",
"Speckle.Sdk.Dependencies": "[1.0.0, )"
Expand Down Expand Up @@ -774,6 +799,12 @@
"Microsoft.Extensions.Options": "8.0.0"
}
},
"Microsoft.Extensions.ObjectPool": {
"type": "CentralTransitive",
"requested": "[9.0.4, )",
"resolved": "8.0.0",
"contentHash": "4pm+XgxSukskwjzDDfSjG4KNUIOdFF2VaqZZDtTzoyQMOVSnlV6ZM8a9aVu5dg9LVZTB//utzSc8fOi0b0Mb2Q=="
},
"Speckle.DoubleNumerics": {
"type": "CentralTransitive",
"requested": "[4.1.0, )",
Expand Down
Loading
Loading