@altimateai/altimate-code 0.2.4 → 0.3.0

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 CHANGED
@@ -5,6 +5,54 @@ 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.3.0] - 2026-03-15
9
+
10
+ ### Added
11
+
12
+ - AI-powered prompt enhancement (#144)
13
+ - Altimate Memory — persistent cross-session memory with TTL, namespaces, citations, and audit logging (#136)
14
+ - Upstream merge with OpenCode v1.2.26 (#142)
15
+
16
+ ### Fixed
17
+
18
+ - Sentry review findings from PR #144 (#147)
19
+ - OAuth token refresh retry and error handling for idle timeout (#133)
20
+ - Welcome banner on first CLI run after install/upgrade (#132)
21
+ - `@altimateai/altimate-code` npm package name restored after upstream rebase
22
+ - Replace `mock.module()` with `spyOn()` to fix 149 test failures (#153)
23
+
24
+ ### Changed
25
+
26
+ - Rebrand user-facing references to Altimate Code (#134)
27
+ - Bump `@modelcontextprotocol/sdk` dependency (#139)
28
+ - Engine version bumped to 0.3.0
29
+
30
+ ## [0.2.5] - 2026-03-13
31
+
32
+ ### Added
33
+
34
+ - `/feedback` command and `feedback_submit` tool for in-app user feedback (#89)
35
+ - Datamate manager — dynamic MCP server management (#99)
36
+ - Non-interactive mode for `mcp add` command with input validation
37
+ - `mcp remove` command
38
+ - Upstream merge with OpenCode v1.2.20
39
+
40
+ ### Fixed
41
+
42
+ - TUI crash after upstream merge (#98)
43
+ - `GitlabAuthPlugin` type incompatibility in plugin loader (#92)
44
+ - All test failures from fork restructure (#91)
45
+ - CI/CD workflow paths updated from `altimate-code` to `opencode`
46
+ - Fallback to global config when not in a git repo
47
+ - PR standards workflow `TEAM_MEMBERS` ref corrected from `dev` to `main` (#101)
48
+
49
+ ### Changed
50
+
51
+ - Removed self-hosted runners from public repo CI (#110)
52
+ - Migrated CI/release to ARC runners (#93, #94)
53
+ - Reverted Windows tests to `windows-latest` (#95)
54
+ - Engine version bumped to 0.2.5
55
+
8
56
  ## [0.2.4] - 2026-03-04
9
57
 
10
58
  ### Added
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 Altimate Inc.
3
+ Copyright (c) 2025 opencode
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/package.json CHANGED
@@ -7,19 +7,20 @@
7
7
  "scripts": {
8
8
  "postinstall": "bun ./postinstall.mjs || node ./postinstall.mjs"
9
9
  },
10
- "version": "v0.2.4",
10
+ "version": "v0.3.0",
11
11
  "license": "MIT",
12
12
  "optionalDependencies": {
13
- "@altimateai/altimate-code-linux-x64": "v0.2.4",
14
- "@altimateai/altimate-code-linux-arm64-musl": "v0.2.4",
15
- "@altimateai/altimate-code-darwin-x64": "v0.2.4",
16
- "@altimateai/altimate-code-windows-x64": "v0.2.4",
17
- "@altimateai/altimate-code-linux-x64-musl": "v0.2.4",
18
- "@altimateai/altimate-code-darwin-x64-baseline": "v0.2.4",
19
- "@altimateai/altimate-code-linux-x64-baseline-musl": "v0.2.4",
20
- "@altimateai/altimate-code-linux-x64-baseline": "v0.2.4",
21
- "@altimateai/altimate-code-linux-arm64": "v0.2.4",
22
- "@altimateai/altimate-code-darwin-arm64": "v0.2.4",
23
- "@altimateai/altimate-code-windows-x64-baseline": "v0.2.4"
13
+ "@altimateai/altimate-code-linux-x64": "v0.3.0",
14
+ "@altimateai/altimate-code-windows-arm64": "v0.3.0",
15
+ "@altimateai/altimate-code-linux-arm64-musl": "v0.3.0",
16
+ "@altimateai/altimate-code-darwin-x64": "v0.3.0",
17
+ "@altimateai/altimate-code-windows-x64": "v0.3.0",
18
+ "@altimateai/altimate-code-linux-x64-musl": "v0.3.0",
19
+ "@altimateai/altimate-code-darwin-x64-baseline": "v0.3.0",
20
+ "@altimateai/altimate-code-linux-x64-baseline-musl": "v0.3.0",
21
+ "@altimateai/altimate-code-linux-x64-baseline": "v0.3.0",
22
+ "@altimateai/altimate-code-linux-arm64": "v0.3.0",
23
+ "@altimateai/altimate-code-darwin-arm64": "v0.3.0",
24
+ "@altimateai/altimate-code-windows-x64-baseline": "v0.3.0"
24
25
  }
25
26
  }
package/postinstall.mjs CHANGED
@@ -86,7 +86,8 @@ function prepareBinDirectory(binaryName) {
86
86
  }
87
87
 
88
88
  function printWelcome(version) {
89
- const v = `altimate-code v${version} installed`
89
+ const cleanVersion = version.replace(/^v/, "")
90
+ const v = `altimate-code v${cleanVersion} installed`
90
91
  const lines = [
91
92
  "",
92
93
  " Get started:",
@@ -112,6 +113,21 @@ function printWelcome(version) {
112
113
  console.log(bot)
113
114
  }
114
115
 
116
+ /**
117
+ * Write a marker file so the CLI can show a welcome/upgrade banner on first run.
118
+ * npm v7+ silences postinstall stdout, so the CLI reads this marker at startup instead.
119
+ */
120
+ function writeUpgradeMarker(version) {
121
+ try {
122
+ const xdgData = process.env.XDG_DATA_HOME || path.join(os.homedir(), ".local", "share")
123
+ const dataDir = path.join(xdgData, "altimate-code")
124
+ fs.mkdirSync(dataDir, { recursive: true })
125
+ fs.writeFileSync(path.join(dataDir, ".installed-version"), version.replace(/^v/, ""))
126
+ } catch {
127
+ // Non-fatal — the CLI just won't show a welcome banner
128
+ }
129
+ }
130
+
115
131
  async function main() {
116
132
  let version
117
133
  try {
@@ -126,7 +142,10 @@ async function main() {
126
142
  // On Windows, the .exe is already included in the package and bin field points to it
127
143
  // No postinstall setup needed
128
144
  console.log("Windows detected: binary setup not needed (using packaged .exe)")
129
- if (version) printWelcome(version)
145
+ if (version) {
146
+ writeUpgradeMarker(version)
147
+ printWelcome(version)
148
+ }
130
149
  return
131
150
  }
132
151
 
@@ -141,7 +160,10 @@ async function main() {
141
160
  fs.copyFileSync(binaryPath, target)
142
161
  }
143
162
  fs.chmodSync(target, 0o755)
144
- if (version) printWelcome(version)
163
+ if (version) {
164
+ writeUpgradeMarker(version)
165
+ printWelcome(version)
166
+ }
145
167
  } catch (error) {
146
168
  console.error("Failed to setup altimate-code binary:", error.message)
147
169
  process.exit(1)