@toddzheng024/dscode-desktop 0.7.41 → 0.7.42
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/README.md +2 -2
- package/docs/CHANGELOG.md +8 -0
- package/docs/distribution.md +6 -4
- package/docs/releases/0.7.41.md +5 -2
- package/docs/releases/0.7.42.md +23 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
DSCODE adds a coding preset, browser workflows, cross-session collaboration,
|
|
4
4
|
memory and task management to the official DeepSeek Harness Desktop application.
|
|
5
5
|
|
|
6
|
-
**Version:** 0.7.
|
|
6
|
+
**Version:** 0.7.42 · **Harness runtime:** 0.2.0-rc.2
|
|
7
7
|
|
|
8
8
|
Preview release candidate; publication is a separate step.
|
|
9
9
|
|
|
@@ -48,7 +48,7 @@ public release; a candidate build alone does not publish a package.
|
|
|
48
48
|
## Install a published version
|
|
49
49
|
|
|
50
50
|
After this version is available on npm, enter
|
|
51
|
-
`@toddzheng024/dscode-desktop@0.7.
|
|
51
|
+
`@toddzheng024/dscode-desktop@0.7.42` in **Plugins → Add plugin**,
|
|
52
52
|
review the installation, install, then choose **Enable now**. Using the exact
|
|
53
53
|
version keeps the installation tied to these instructions and compatibility
|
|
54
54
|
requirements. The `preview` tag tracks the current Desktop preview release.
|
package/docs/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,14 @@ Per-release notes live in [`docs/releases/`](releases/); the entries below summa
|
|
|
10
10
|
|
|
11
11
|
## [Unreleased]
|
|
12
12
|
|
|
13
|
+
## [0.7.42] - 2026-10-12
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
|
|
17
|
+
- Allow complete archive file listings above Node's default subprocess buffer limit. Version 0.7.41 failed with `ENOBUFS` before replacing the application; user data and the installed package were retained.
|
|
18
|
+
- Let the shell installer repair 0.7.41 with the newly verified package's updater, retaining target ownership and active-session checks. Rerun the curl installer once, then use `dscode update` for subsequent upgrades.
|
|
19
|
+
- Require full candidate archive replacement and effective user-setting preservation in both architecture qualification jobs. Small updater fixtures did not expose the original failure.
|
|
20
|
+
|
|
13
21
|
## [0.7.41] - 2026-10-12
|
|
14
22
|
|
|
15
23
|
### Changed
|
package/docs/distribution.md
CHANGED
|
@@ -8,7 +8,7 @@ macOS 14+ is supported. Git is used for repository and patch operations. Google
|
|
|
8
8
|
|
|
9
9
|
```sh
|
|
10
10
|
mkdir dscode-app
|
|
11
|
-
tar -xzf dscode-0.7.
|
|
11
|
+
tar -xzf dscode-0.7.42-darwin-arm64-standalone.tar.gz -C dscode-app
|
|
12
12
|
./dscode-app/dscode
|
|
13
13
|
```
|
|
14
14
|
|
|
@@ -19,7 +19,7 @@ The optional installer downloads and verifies the same package:
|
|
|
19
19
|
```sh
|
|
20
20
|
curl -fsSL https://raw.githubusercontent.com/qiz029/dscode/main/install.sh | sh
|
|
21
21
|
# Pin an exact release:
|
|
22
|
-
curl -fsSL https://raw.githubusercontent.com/qiz029/dscode/main/install.sh | sh -s -- 0.7.
|
|
22
|
+
curl -fsSL https://raw.githubusercontent.com/qiz029/dscode/main/install.sh | sh -s -- 0.7.42
|
|
23
23
|
# Or install an already unpacked package, without a download:
|
|
24
24
|
sh dscode-app/install.sh
|
|
25
25
|
```
|
|
@@ -40,7 +40,7 @@ The application does not import `~/.dsh` configuration, Hub tokens or the old `~
|
|
|
40
40
|
|
|
41
41
|
```sh
|
|
42
42
|
dscode update # newest published self-contained release
|
|
43
|
-
dscode update 0.7.
|
|
43
|
+
dscode update 0.7.42 # an exact release, including an explicit rollback
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
Exit running DSCODE sessions and schedulers first. Startup and update share kernel admission locks; each running child retains protection even if its launcher is killed. Both the program location and the selected data directory are protected. Concurrent ordinary sessions from the same package remain supported. A different package must wait until those sessions exit before taking over the same data directory. The stable `dscode-app` profile preserves native model/settings edits in `cordis.patch.yml` across upgrades and package relocation. Generated application defaults live in a separate private base bundle under the data directory.
|
|
@@ -49,6 +49,8 @@ The updater downloads a matching platform archive from GitHub, requires its publ
|
|
|
49
49
|
|
|
50
50
|
A default update never downgrades an application newer than the published release. An explicit version may downgrade only to another self-contained package; older source/prebuilt releases are refused. `/update` schedules this same updater after the TUI exits. Its version check uses GitHub, not npm.
|
|
51
51
|
|
|
52
|
+
Version 0.7.41 has an archive-listing buffer bug in its updater. Rerun the `curl` installation command once to repair that version using the new package's updater. The repair retains the same session locks, checksum checks and external user data. From 0.7.42 onward, use `dscode update` normally. Homebrew installations continue to use `brew upgrade dscode`.
|
|
53
|
+
|
|
52
54
|
## Migration from older DSCODE installations
|
|
53
55
|
|
|
54
56
|
Old installations remain usable. New archives have a `-standalone` suffix so an old updater refuses them instead of applying the wrong installation or state-migration procedure. Check `type -a dscode` and `dscode --version` before changing your command link; npm, Homebrew and source links may coexist. Install the new package in a separate program directory and remove or rename an old command link only after identifying its owner.
|
|
@@ -67,7 +69,7 @@ Automatic credential merging and conversion of future incompatible session schem
|
|
|
67
69
|
|
|
68
70
|
The release build generates `artifacts/dscode.rb` from the exact two application archives and their checksums. The new formula installs the complete package into `libexec`, links only `dscode`, and has no Node/npm dependency. Its marker makes `dscode update` direct users to `brew upgrade dscode`; Homebrew replaces the whole package, never a separate Hub profile.
|
|
69
71
|
|
|
70
|
-
The maintained tap
|
|
72
|
+
The maintained [qiz029/homebrew-tap](https://github.com/qiz029/homebrew-tap) uses this generated formula. Its daily and on-demand updater follows GitHub releases, verifies the formula digest and both archive checksums, and rejects incomplete releases before changing the tap. The repository build produces the formula; tap synchronization remains a separate publication step.
|
|
71
73
|
|
|
72
74
|
## Build and release
|
|
73
75
|
|
package/docs/releases/0.7.41.md
CHANGED
|
@@ -12,13 +12,16 @@ DSCODE supplies its own Harness home and private runtime, discards inherited DSH
|
|
|
12
12
|
|
|
13
13
|
## Whole-package upgrades
|
|
14
14
|
|
|
15
|
+
Public installation passed, but a real full-archive upgrade subsequently exposed an `ENOBUFS` error while listing the archive. This fails before replacement and preserves the old application and user data. Version 0.7.42 fixes the updater. Users of 0.7.41 must rerun the curl installer once to receive the repair; Homebrew users run `brew upgrade dscode`.
|
|
16
|
+
|
|
17
|
+
|
|
15
18
|
The updater checks the release digest, platform, version and bundled modules before replacing the application. Failed checks preserve the old version and failed swaps restore it. User data is never moved into the update staging tree. Kernel locks protect running sessions; successful updates keep the previous package. The default update does not downgrade and there is no npm fallback. Power-failure transactional recovery is not promised.
|
|
16
19
|
|
|
17
|
-
The build also generates a Homebrew formula consuming the same archives.
|
|
20
|
+
The build also generates a Homebrew formula consuming the same archives. The maintained Homebrew tap has adopted this formula and now follows verified GitHub release assets instead of npm launcher versions. Desktop remains a separate extension distribution.
|
|
18
21
|
|
|
19
22
|
## Verification
|
|
20
23
|
|
|
21
|
-
The
|
|
24
|
+
The Node 22 and Node 24 CI gates each passed 1,148 unit/component cases with 80.04% measured first-party `.mjs` coverage. The normal-exit lease regression passed with the existing launcher lifecycle cases. The final provider, email and standalone data-isolation suite passed all 94 cases, and all 28 terminal rendering/panel cases passed. New cases cover environment and path isolation, installer checksum rejection, foreign-command protection, and successful/failed whole-package replacement without moving user data. Archive qualification uses an isolated home and deliberately unusable foreign Node/npm/DSH commands; digest-bound receipts record private native imports, PTY, cold composition, local Host diagnostics, shell installation and settings preservation. Local Intel rehearsal used Rosetta; release CI also passed on a separate native Intel runner. See the [verification record](https://github.com/qiz029/dscode/blob/main/docs/verification.md).
|
|
22
25
|
|
|
23
26
|
Lint, both TypeScript configurations, native integration, package checks and 63 offline evaluations passed. After unifying the TUI startup lookup and `/update` routing with the package updater, lint, both TypeScript checks, documentation checks and 21 update/standalone regressions passed. The deferred updater has process tests; the TUI keyboard dispatch has no dedicated end-to-end interactive case.
|
|
24
27
|
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# DSCODE 0.7.42
|
|
2
|
+
|
|
3
|
+
Whole-package updates now handle the complete archive, and the installer can repair the updater shipped in 0.7.41.
|
|
4
|
+
|
|
5
|
+
## Full archive updates
|
|
6
|
+
|
|
7
|
+
The real 0.7.41 archive has a file listing larger than Node's default subprocess output buffer. Public installation succeeded, but `dscode update` stopped with `ENOBUFS` before replacing the application. Increase the command buffer to a bounded 64 MiB. Digest, platform, version, native module and rollback checks remain in force. This does not add power-loss transaction guarantees.
|
|
8
|
+
|
|
9
|
+
## Repairing 0.7.41
|
|
10
|
+
|
|
11
|
+
Rerun the installation command once:
|
|
12
|
+
|
|
13
|
+
```sh
|
|
14
|
+
curl -fsSL https://raw.githubusercontent.com/qiz029/dscode/main/install.sh | sh
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
When the installed version is 0.7.41, the installer verifies a fresh package and uses its updater against the existing installation. The target's session locks, Homebrew ownership checks and external data directory still apply. This fixes the installed updater without requiring users to delete their program or settings. Later updates use `dscode update` normally. Homebrew users continue to run `brew upgrade dscode`.
|
|
18
|
+
|
|
19
|
+
## Verification
|
|
20
|
+
|
|
21
|
+
Regression coverage includes subprocess output above 1 MiB, installer repair routing, target active-session protection and Homebrew ownership rejection. The archive qualification now replaces an installation with the entire candidate archive on both architectures and checks that a saved native setting remains effective afterward; release metadata is local in this probe and the prior version is synthetic.
|
|
22
|
+
|
|
23
|
+
The local repository gate passed lint, both TypeScript configurations, all 1,150 unit/component cases, native integration, package checks and 63 offline evaluations; measured first-party `.mjs` coverage was 80.04%. Both archives built, and Apple Silicon qualification passed, including real full-archive replacement. Release CI also requires the same qualification on a native Intel runner. Public installation and repair are checked after assets become available. Live provider inference and macOS permission dialogs are outside this verification; no power-loss recovery case is provided.
|
package/package.json
CHANGED