Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
16 changes: 15 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ jobs:
if: runner.os == 'Windows'
shell: pwsh
run: |
$flags = "--remap-path-prefix=$env:GITHUB_WORKSPACE=/src/rust-spine --remap-path-prefix=$env:USERPROFILE=/src/dependencies --remap-path-prefix=$env:CARGO_HOME=/src/dependencies"
$flags = "-C target-feature=+crt-static --remap-path-prefix=$env:GITHUB_WORKSPACE=/src/rust-spine --remap-path-prefix=$env:USERPROFILE=/src/dependencies --remap-path-prefix=$env:CARGO_HOME=/src/dependencies"
"RUSTFLAGS=$flags" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append

# gemm-f16's unoptimized AArch64 build currently fails in inline assembly:
Expand Down Expand Up @@ -129,6 +129,20 @@ jobs:
if: runner.os != 'Windows'
run: target/${{ matrix.target }}/release/spine --version

- name: Verify Windows needs no Visual C++ runtime installer
if: runner.os == 'Windows'
shell: pwsh
run: |
$vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
$dumpbin = & $vswhere -latest -products '*' -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -find 'VC\Tools\MSVC\**\bin\Hostx64\x64\dumpbin.exe' | Select-Object -First 1
if (-not $dumpbin) { throw "Cannot find dumpbin to verify Windows runtime dependencies" }
$imports = & $dumpbin /DEPENDENTS "target/$env:TARGET/release/spine.exe" | Out-String
if ($LASTEXITCODE -ne 0) { throw "Cannot inspect Windows runtime dependencies" }
Write-Output $imports
if ($imports -match '(?i)\b(?:vcruntime|msvcp|concrt)\d+[^\s]*\.dll\b') {
throw "Windows executable requires a separate Visual C++ runtime installation"
}

- name: Smoke-test Windows binary
if: runner.os == 'Windows'
shell: pwsh
Expand Down
9 changes: 8 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
# Changelog

## 0.3.0 — 2026-10-24
## 0.3.1 — 2026-10-24

- Includes the automatic setup and maintenance changes below.
- Windows release binaries statically link the C runtime, removing the separate
Visual C++ Redistributable installation step. Release checks reject external
Visual C++ runtime DLL dependencies.

## 0.3.0 — 2026-10-24 (validation tag; downloads not published)

- Run `spine` to start chat. First-run setup asks for one model server URL,
checks readiness and API access, downloads verified MiniLM assets when needed,
Expand Down
8 changes: 4 additions & 4 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ members = [
exclude = ["fuzz", "vendor/candle-core"]

[workspace.package]
version = "0.3.0"
version = "0.3.1"
edition = "2024"
rust-version = "1.99"
license = "MIT OR Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ RUN --mount=type=cache,target=/usr/local/cargo/registry,sharing=locked \

FROM alpine:3.24@sha256:be2656061b536c1883c4034790e21d0a09c5aaaf51968b89368a3c0371ea2c9a AS runtime

ARG APP_VERSION=0.3.0
ARG APP_VERSION=0.3.1
LABEL org.opencontainers.image.title="Spine" \
org.opencontainers.image.description="Standalone native Spine harness" \
org.opencontainers.image.version="${APP_VERSION}" \
Expand Down
4 changes: 3 additions & 1 deletion PROJECT_STATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@

## Baseline

- v0.3.0 includes first-run setup, the outstanding budget-aware file-pagination
- v0.3.1 includes first-run setup, the outstanding budget-aware file-pagination
fix, stable dependency updates, Rust 1.99.1, and refreshed pinned CI/container images.

- Windows release builds statically include the C runtime and verify that no
separate Visual C++ runtime installer is required.
- Standalone Rust workspace with no Python runtime imports.
- One encrypted heart contains the signed canonical event log and its versioned cognitive projection.
- The projection unifies DCMDb, per-agent Thymos, typed facts, learned risk, and context triangles.
Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Python, Node.js, npm, or separate web server to install.

## First-time setup

Spine v0.3.0 includes automatic memory-model setup and remembers successful
Spine v0.3.1 includes automatic memory-model setup and remembers successful
launch settings. Download the package for your platform, open Spine, connect your
model service once, and choose a heart passphrase.

Expand All @@ -20,6 +20,8 @@ model. The optional NLI answer checker can be configured later.
Download an archive and its checksum from the
[GitHub Releases page](https://github.com/Jaredcastorena/Rust-spine/releases).
No Rust, Git, Python, or Node.js is needed to run a prebuilt archive.
The Windows executable includes its C runtime, so no separate Visual C++
Redistributable installer is needed.

| System | Archive name contains |
| --- | --- |
Expand Down
6 changes: 3 additions & 3 deletions crates/spine-cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ rpassword.workspace = true
serde.workspace = true
serde_json.workspace = true
sha2.workspace = true
spine-heart = { version = "0.3.0", path = "../spine-heart" }
spine-models = { version = "0.3.0", path = "../spine-models" }
spine-runtime = { version = "0.3.0", path = "../spine-runtime" }
spine-heart = { version = "0.3.1", path = "../spine-heart" }
spine-models = { version = "0.3.1", path = "../spine-models" }
spine-runtime = { version = "0.3.1", path = "../spine-runtime" }
tokio.workspace = true
tempfile.workspace = true
walkdir.workspace = true
2 changes: 1 addition & 1 deletion crates/spine-models/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ candle-core.workspace = true
candle-nn.workspace = true
candle-transformers.workspace = true
serde_json.workspace = true
spine-heart = { version = "0.3.0", path = "../spine-heart" }
spine-heart = { version = "0.3.1", path = "../spine-heart" }
tokenizers.workspace = true

[dev-dependencies]
Expand Down
2 changes: 1 addition & 1 deletion crates/spine-runtime/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ reqwest.workspace = true
regex.workspace = true
serde.workspace = true
serde_json.workspace = true
spine-heart = { version = "0.3.0", path = "../spine-heart" }
spine-heart = { version = "0.3.1", path = "../spine-heart" }
thiserror.workspace = true
tokio.workspace = true

Expand Down
2 changes: 1 addition & 1 deletion fuzz/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading