Skip to content

Commit bdc215d

Browse files
Nigel TatschnerNigel Tatschner
authored andcommitted
release(v1.0.0): bump version for first stable release
Drops the pre-1.0 zero-major and the -beta suffix. Bumps: - workspace Cargo.toml (all crates inherit via version.workspace) - Cargo.lock (regenerated via cargo check) - tauri.conf.json (client app) - all workspace package.json files (root, tray-ui, web, api-client-ts) - release manifests (version + pub_date only; platform URLs and minisign signatures left untouched — those are overwritten by the release workflow when v1.0.0 artifacts upload) - CHANGELOG.md with [1.0.0] - 2026-05-18 entry covering EventMetadata, entity-first timeline, inference engine, unknown-line capture + review, system auto-start, schema_version 2, and the api-client-ts discriminated-union switch
1 parent 47cf709 commit bdc215d

12 files changed

Lines changed: 79 additions & 25 deletions

File tree

CHANGELOG.md

Lines changed: 62 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,73 @@ Tag-suffix → release-channel mapping (see `release-manifests/`):
2626

2727
### Fixed
2828

29-
- **Tray "Open on web" no longer opens the API subdomain.** The
30-
tray's profile-link button was falling back to `remote_sync.api_url`
31-
when `web_origin` was unset, which on the public install opens
32-
`https://api.starstats.app/u/<handle>` (JSON 404) instead of the
33-
apex site. Resolution moved Rust-side via
34-
`Config::effective_web_origin()` — strips a leading `api.` from the
35-
API host. Self-hosted users on a non-`api.` host can still set
36-
`web_origin` explicitly to override.
29+
- (nothing yet)
3730

3831
### Security
3932

4033
- (nothing yet)
4134

35+
## [1.0.0] - 2026-05-18
36+
37+
First stable release. Drops the pre-1.0 zero-major.
38+
39+
### Added
40+
41+
- **EventMetadata envelope on every event.** `primary_entity` (kind + id +
42+
display_name), `source` (Observed / Inferred / Synthesized), `confidence`,
43+
`group_key`, `field_provenance`, `inference_inputs`, `rule_id`. Stamped
44+
server-side on every parsed event so the wire format carries a canonical
45+
"impacted entity" facet and per-field provenance.
46+
- **Entity-first tray timeline.** New By-Entity default view with a
47+
Chronological toggle. Adjacent same-`group_key` events collapse into a
48+
single `<title> ×N` row with inline drill-in. Raw events stay in
49+
storage — collapse is a render decision only.
50+
- **Declarative inference engine.** Pure post-classify pass over a sliding
51+
event window. Ships with three built-in rules: implicit death after
52+
vehicle destruction, implicit location change, implicit shop-request
53+
timeout. Remote inference rules hot-reload via the parser-definitions
54+
manifest. Off by default behind `parser.enable_v2_metadata`.
55+
- **Unknown-line capture + review pane.** Tray-side shape normalisation,
56+
interest scoring, PII detection, per-token redaction toggle, and a
57+
review UI that submits curated samples to `POST /v1/parser-submissions`
58+
(UPSERT on `(shape_hash, client_anon_id)`).
59+
- **System auto-start on Windows / Linux / macOS** via
60+
`tauri-plugin-autostart`. Default ON; settings pane exposes the toggle.
61+
- **Stable per-install `client_anon_id`** generated server-side in a Tauri
62+
command so parser submissions and inference telemetry can deduplicate
63+
without leaking identity.
64+
- **`IngestBatch` schema_version bumped to 2.** Additive: v1 clients still
65+
accepted; server synthesises `EventMetadata` for legacy payloads so
66+
rollout is forward-compatible.
67+
68+
### Changed
69+
70+
- **`GameEventSchema` is now a discriminated union in `api-client-ts`.**
71+
No more opaque `Record<string, never>` casts at consumers.
72+
- **Validator enforces `EventMetadata` invariants.** Confidence range,
73+
Observed/Inferred consistency, presence of `inference_inputs` for
74+
inferred events.
75+
- **Zone-enrichment populates `metadata.field_provenance.zone`** correctly
76+
on `PlayerDeath` and friends when the zone was inferred rather than
77+
observed in the raw line.
78+
- **Tray "Open on web" no longer opens the API subdomain.** Resolution
79+
moved Rust-side via `Config::effective_web_origin()` — strips a leading
80+
`api.` from the API host. Self-hosted users on a non-`api.` host can
81+
set `web_origin` explicitly to override.
82+
83+
### Internal
84+
85+
- Inference engine sliding-window default is 200 events; tunable in
86+
`parser` config.
87+
- New `POST /v1/parser-submissions` endpoint with idempotent UPSERT on
88+
`(shape_hash, client_anon_id)`.
89+
90+
### Notes for release pipeline
91+
92+
- Release-manifest platform URLs and minisign signatures are NOT touched
93+
by this version bump. The release workflow overwrites those on the
94+
next `vX.Y.Z` tag push when artifacts upload.
95+
4296
## [0.0.7-beta]
4397

4498
### Added

Cargo.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ members = [
77
]
88

99
[workspace.package]
10-
version = "0.0.7-beta"
10+
version = "1.0.0"
1111
edition = "2021"
1212
license = "MPL-2.0"
1313
authors = ["StarStats contributors"]

apps/tray-ui/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "tray-ui",
3-
"version": "0.1.0",
3+
"version": "1.0.0",
44
"private": true,
55
"type": "module",
66
"scripts": {

apps/web/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "web",
3-
"version": "0.1.0",
3+
"version": "1.0.0",
44
"private": true,
55
"scripts": {
66
"dev": "next dev -p 3000",

crates/starstats-client/tauri.conf.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://schema.tauri.app/config/2",
33
"productName": "StarStats",
4-
"version": "0.0.7",
4+
"version": "1.0.0",
55
"identifier": "app.starstats.tray",
66
"build": {
77
"beforeDevCommand": "pnpm --filter tray-ui dev",

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "starstats-monorepo",
33
"private": true,
4-
"version": "0.1.0",
4+
"version": "1.0.0",
55
"description": "StarStats — EAC-safe personal Star Citizen metrics platform",
66
"license": "MPL-2.0",
77
"packageManager": "pnpm@9.15.0",

packages/api-client-ts/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "api-client-ts",
3-
"version": "0.1.0",
3+
"version": "1.0.0",
44
"private": true,
55
"description": "Generated TypeScript client for the StarStats API. Generated from server's OpenAPI spec via openapi-typescript.",
66
"type": "module",

release-manifests/alpha.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"version": "0.3.11-alpha",
3-
"pub_date": "2026-05-10T16:05:01.062Z",
2+
"version": "1.0.0",
3+
"pub_date": "2026-05-18T00:00:00.000Z",
44
"notes": "See https://github.com/ntatschner/StarStats/releases/tag/v0.3.11-alpha",
55
"platforms": {
66
"windows-x86_64": {

release-manifests/beta.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"version": "0.0.7-beta",
3-
"pub_date": "2026-05-17T23:25:42.375Z",
2+
"version": "1.0.0",
3+
"pub_date": "2026-05-18T00:00:00.000Z",
44
"notes": "See https://github.com/ntatschner/StarStats/releases/tag/v0.0.7-beta",
55
"platforms": {
66
"windows-x86_64": {

0 commit comments

Comments
 (0)