altimate-code 0.11.0-beta.5 → 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +63 -0
- package/package.json +9 -9
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,69 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.11.1] - 2026-09-09
|
|
9
|
+
|
|
10
|
+
Same-day patch to 0.11.0: fixes a first-run freeze that fresh installs hit, and adds the first-run health telemetry that would have caught it. Shipped straight to `latest` without a beta soak because the freeze blocked new users on the headline 0.11.0 feature (Altimate Base).
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **Fresh installs could freeze for 2.5–5 minutes on first launch.** 0.11.0 reified a ~60-package `@opencode-ai/plugin` install in-process into every config directory on every start, saturating Bun's event loop: `altimate serve` accepted no HTTP request for up to 5 minutes (so the Altimate Base consent could not land), and `altimate run` froze for ~2.5 minutes after the model had already answered. The install now runs only for config directories that can actually import the package (an existing `node_modules`, a local `tool`/`tools`/`plugin`/`plugins` source, or a `file://` plugin under the directory), decided once after all config sources have merged. Applies to `tui`, `serve`, and `run`. If you hit this on 0.11.0, upgrading fixes it; no config change is needed. A new `cold-start-regression` CI job guards against it coming back. (#1292)
|
|
15
|
+
- **The documented `"telemetry": {"disabled": true}` config opt-out now works.** Two problems, both found during this release's review: the config schema never declared a `telemetry` field, so a config file containing the opt-out failed to parse (breaking that file's other settings too) and telemetry fell open; and the TUI's server thread initialised telemetry before it had a project context, so it could not read the setting for the first session. The field is now part of the config schema and the worker initialises telemetry inside the instance context. The `ALTIMATE_TELEMETRY_DISABLED` env var was never affected. (#1296 tracks a remaining main-thread gap for the same setting.)
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- **First-run health telemetry** — three events so a startup freeze shows up in the data immediately instead of staying invisible: `startup_ready` (time from process start until the command can serve its first request or frame), `event_loop_stall` (the event loop was blocked for more than 1 s; capped at 20 per thread), and `altimate_base_registration` (outcome and duration of each Altimate Base registration). Fields are command names, durations, thread, and a result enum only; no paths, URLs, or error text. Nothing is sent when telemetry is disabled. Documented in [Telemetry](docs/docs/reference/telemetry.md). (#1294)
|
|
20
|
+
|
|
21
|
+
## [0.11.0] - 2026-09-09
|
|
22
|
+
|
|
23
|
+
Altimate Base — a free, no-signup hosted model — plus a round of driver, redaction, and skill-discovery hardening. Soaked across five beta releases (see below) before promotion to `latest`.
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
|
|
27
|
+
- **Altimate Base — a free, no-signup, no-API-key hosted model.** Choose it from the first-run picker, `/connect`, or `/model`. Rate limited; requests and responses are logged and may be used to improve Altimate's products, linked to a persistent per-installation identifier (**pseudonymous, not anonymous**) — avoid sending secrets or confidential code. The consent dialog defaults to **No**; nothing is sent until you accept. Waits up to 5 minutes for the gateway's first response byte (tunable via `ALTIMATE_BASE_HEADER_TIMEOUT_MS`), and surfaces legible errors for rate limits, oversized requests, and daily-allowance exhaustion instead of raw gateway output. `ALTIMATE_BASE_GATEWAY_URL` lets operators point it at a self-hosted gateway (HTTPS required, no embedded credentials). Registration is also reachable over HTTP for non-TUI hosts talking to `altimate serve` — currently a backend capability only; no shipping Altimate client (including the VS Code extension) calls it yet. (#1199, #1256, #1260, #1266, #1268)
|
|
28
|
+
- **Five deterministic completion-gate validators** (`dbt-build-green`, `dbt-nothing-built`, `dbt-deliverable-names`, `dbt-incremental-config`, `dbt-dialect-guard`) that refuse to terminate a session on a broken, vacuous, or misnamed dbt result. **Opt-in, shadow-mode only** for now (`ALTIMATE_VALIDATORS_SHADOW=1`); off by default — no cost or behavior change unless you opt in. (#1175)
|
|
29
|
+
- **`datamate_manager list-integrations` now lists extension-type integrations** (marked "(via VS Code)") and counts them when a live IDE bridge is serving them, instead of reporting them as categorically unusable. The attach announcement now mentions extension tools served this way. (#1236)
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
|
|
33
|
+
- **Big Pickle retired** as a new-user option. Existing users are detected on launch and offered Altimate Base through the consent gate (not silently migrated); declining routes to the model picker. (#1199)
|
|
34
|
+
- **Altimate Base consent gate copy simplified** — shorter dialog text; full data-handling details (including the persistent per-installation identifier) remain in the docs. (#1268)
|
|
35
|
+
- **Agent `data-qa` renamed to `analyst`**, now the documented "ask questions about your data" agent. Existing `default_agent: "data-qa"` configs keep working — they fall back to `analyst` with a one-time notice. (#1239)
|
|
36
|
+
- Builder prompt split into an invariant core plus named packs (byte-identical assembly), with an opt-in data-qa profile. (#1217)
|
|
37
|
+
|
|
38
|
+
### Breaking Changes
|
|
39
|
+
|
|
40
|
+
- **DuckDB and SQLite connections now require an explicit `path`.** A missing `path` used to silently default to an in-memory store — which could read a populated on-disk store as empty — and now errors. Set `"path": ":memory:"` if you want in-memory behavior. See [warehouses.md](docs/docs/configure/warehouses.md). (#1204)
|
|
41
|
+
|
|
42
|
+
### Fixed
|
|
43
|
+
|
|
44
|
+
- **Improved credential redaction** in the session-compaction ledger. (#1246)
|
|
45
|
+
- **Telemetry error text** now masks filesystem paths (home directories, cloud URIs, Windows/UNC). (#1117)
|
|
46
|
+
- **Safety threat messages** no longer echo raw non-SQL content that could resurrect a redacted secret. (#1111)
|
|
47
|
+
- **Clear error on non-JSON API responses** — the SDK client no longer crashes when an API returns a non-JSON body (e.g. an HTML error page); it surfaces a clear, actionable error instead. (#1093)
|
|
48
|
+
- `--dir` no longer reads a populated warehouse store as empty. (#1204)
|
|
49
|
+
- Drivers: load from the location the failing runtime named; concurrency-safe installs; a 2s deadline no longer fails healthy DuckDB stores; a broken client now says so. (#1201, #1198, #1238)
|
|
50
|
+
- `auth login` accepts a provider id and diagnoses plan/account on a Codex 400. (#1181)
|
|
51
|
+
- Skills no longer walk the whole tree to answer "does any file match" — cuts per-session skill auto-load cost outside a git repo from ~50s to ~7s, and fixes a correctness bug where a `dbt_project.yml` anywhere on the machine could auto-load dbt skills into an unrelated session. (#1213)
|
|
52
|
+
- **Datamate stdio MCP server now inherits the IDE entry's env** when wired from an IDE integration. (#1081)
|
|
53
|
+
- Main CI `dbt-tools E2E` job un-broken — restored the missing `--version` fallback that killed the setup script under `set -euo pipefail`. (#1252)
|
|
54
|
+
|
|
55
|
+
## [0.11.0-beta.5] - 2026-09-09
|
|
56
|
+
|
|
57
|
+
> **Beta channel release.** Publishes to the npm `beta` dist-tag; `latest` (0.10.0) is unaffected. Install: `npm i -g @altimateai/altimate-code@beta`.
|
|
58
|
+
|
|
59
|
+
### Added
|
|
60
|
+
|
|
61
|
+
- **Altimate Base registration over HTTP, for non-TUI hosts.** Previously only the interactive TUI could ever mint a Base credential — a host that talks HTTP to `altimate serve` (e.g. the VS Code extension) saw Altimate Base in `GET /provider`'s `all` list but could never connect it, failing with `model altimate-base not found`. Two new routes: `GET /altimate/base/disclosure` (read-only consent text plus a hash the client echoes back) and `POST /altimate/base/register` (verifies the echoed hash, then registers). Gated per-process — the TUI worker still owns registration when it's the one serving HTTP, and any other host gets `501`. (#1266)
|
|
62
|
+
|
|
63
|
+
### Changed
|
|
64
|
+
|
|
65
|
+
- **Altimate Base consent gate copy softened.** Dropped "Logs are linked to a persistent per-installation identifier" from the dialog (still disclosed in docs); "Usage is rate limited" → "Usage can be rate limited." (#1268)
|
|
66
|
+
|
|
67
|
+
### Fixed
|
|
68
|
+
|
|
69
|
+
- **Datamate stdio MCP server now inherits the IDE entry's env** when wired from an IDE integration. (#1081)
|
|
70
|
+
|
|
8
71
|
## [0.11.0-beta.4] - 2026-09-08
|
|
9
72
|
|
|
10
73
|
> **Beta channel release.** Publishes to the npm `beta` dist-tag; `latest` (0.10.0) is unaffected. Install: `npm i -g @altimateai/altimate-code@beta`.
|
package/package.json
CHANGED
|
@@ -14,20 +14,20 @@
|
|
|
14
14
|
"scripts": {
|
|
15
15
|
"postinstall": "bun ./postinstall.mjs || node ./postinstall.mjs"
|
|
16
16
|
},
|
|
17
|
-
"version": "0.11.
|
|
17
|
+
"version": "0.11.1",
|
|
18
18
|
"license": "MIT",
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@altimateai/altimate-core": "0.7.0"
|
|
21
21
|
},
|
|
22
22
|
"optionalDependencies": {
|
|
23
|
-
"@altimateai/altimate-code-darwin-x64-baseline": "0.11.
|
|
24
|
-
"@altimateai/altimate-code-linux-x64-baseline": "0.11.
|
|
25
|
-
"@altimateai/altimate-code-linux-arm64": "0.11.
|
|
26
|
-
"@altimateai/altimate-code-windows-x64-baseline": "0.11.
|
|
27
|
-
"@altimateai/altimate-code-darwin-arm64": "0.11.
|
|
28
|
-
"@altimateai/altimate-code-darwin-x64": "0.11.
|
|
29
|
-
"@altimateai/altimate-code-windows-x64": "0.11.
|
|
30
|
-
"@altimateai/altimate-code-linux-x64": "0.11.
|
|
23
|
+
"@altimateai/altimate-code-darwin-x64-baseline": "0.11.1",
|
|
24
|
+
"@altimateai/altimate-code-linux-x64-baseline": "0.11.1",
|
|
25
|
+
"@altimateai/altimate-code-linux-arm64": "0.11.1",
|
|
26
|
+
"@altimateai/altimate-code-windows-x64-baseline": "0.11.1",
|
|
27
|
+
"@altimateai/altimate-code-darwin-arm64": "0.11.1",
|
|
28
|
+
"@altimateai/altimate-code-darwin-x64": "0.11.1",
|
|
29
|
+
"@altimateai/altimate-code-windows-x64": "0.11.1",
|
|
30
|
+
"@altimateai/altimate-code-linux-x64": "0.11.1"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
33
|
"pg": ">=8",
|