Skip to content

Commit 035fc78

Browse files
authored
chore(release): prepare v1.4.9 (#569)
1 parent fc3f7e5 commit 035fc78

20 files changed

Lines changed: 203 additions & 43 deletions

.github/release-notes/v1.4.9.md

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
## CatGo 1.4.9
2+
3+
CatGo 1.4.9 makes large trajectory work fast and editable across the web app,
4+
desktop app, VS Code, and Antigravity. It also adds physics-aware verification
5+
for CatBot numerical results, per-pane structure-toolbar customization, and a
6+
periodic-aware JavaScript bond fallback for frontend-only sessions.
7+
8+
### Highlights
9+
10+
- **Fast trajectories on every CatGo surface** — indexed structure-only
11+
streaming avoids eagerly loading full multi-frame files and keeps the same
12+
trajectory behavior across browser, desktop, VS Code, and Antigravity.
13+
- **Edits remain valid across changing frame topologies** — add or remove atoms,
14+
continue playback, save the edited trajectory as extXYZ, or export every
15+
selected frame as a separate POSCAR.
16+
- **CatBot checks the physics, not only process exit codes**`catgo_verify`
17+
records provenance and applies workflow-consistency and scientific gates
18+
before numerical results can be trusted or submitted onward.
19+
- **A structure toolbar that fits each pane** — collapse it, choose individual
20+
tools, restore defaults, and retain open tool panels even when their buttons
21+
are hidden.
22+
23+
### Added
24+
25+
#### Cross-platform trajectory workflow
26+
27+
- Added indexed readers and frame streaming for supported text, compressed,
28+
ASE, HDF5, and JSON trajectory families without making the UI parse every
29+
frame up front.
30+
- Added a structure-only default path for responsive initial loading while
31+
frame metadata and plot data remain lazy.
32+
- Added variable-topology edit tracking so each frame can carry its actual atom
33+
count after atoms are added or deleted.
34+
- Added edited extXYZ saving and per-frame POSCAR export from the trajectory
35+
export panel.
36+
37+
#### Physics verification
38+
39+
- Added provenance and verifiability checks for claimed numerical quantities;
40+
absent or empty evidence cannot silently certify a result.
41+
- Added targeted gates for common silent-failure classes, including inconsistent
42+
reference energies, stale convergence claims, invalid vibrational data,
43+
scheduler/result disagreement, and implausible electrochemical outputs.
44+
- Added cross-step workflow checks and verification coverage accounting. An
45+
empty all-skipped verification does not clear an unverified session.
46+
- Added submission enforcement so numerical tools mark a session unverified and
47+
HPC submission remains blocked until a real verification gate has run.
48+
49+
#### Structure tools
50+
51+
- Added per-pane toolbar collapse and per-tool visibility with persisted
52+
preferences, legacy-key migration, responsive settings, capability filtering,
53+
accessibility labels, bilingual strings, and one-click default restoration.
54+
55+
### Fixed
56+
57+
#### Trajectory editing and interaction
58+
59+
- Fixed playback after atom deletion or insertion and invalid frame payloads
60+
caused by assuming that every frame has the original atom count.
61+
- Fixed atom and bond picking in trajectory views, ordered three-atom angle
62+
measurement, and pointer cleanup that could rotate the whole structure after
63+
an atom selection.
64+
- Fixed stale topology and bond caches after editing, including transitions
65+
between frames with different atom counts.
66+
- Improved analytic bond joins and paused-frame supersampling while retaining
67+
native-device-pixel-ratio rendering during playback.
68+
69+
#### Periodic bond fallback
70+
71+
- Made the JavaScript bond path periodic-boundary aware for orthogonal and
72+
skewed cells, including self-image bonds and parity with the WASM cutoff and
73+
atomic-radius rules.
74+
- Prevented frontend-only or temporarily unavailable-backend sessions from
75+
caching non-periodic bond results for periodic structures.
76+
77+
#### Documentation
78+
79+
- Corrected the canonical CatGo acknowledgement URL to
80+
`https://app.catgo-ucsd.org` throughout active documentation and release
81+
metadata.
82+
83+
### Upgrade notes
84+
85+
- No project, structure-file, or workflow-data migration is required.
86+
- Existing toolbar preferences migrate automatically; use **Restore defaults**
87+
in toolbar settings if you want the new standard layout.
88+
- Edited variable-topology trajectories should be saved as extXYZ. POSCAR export
89+
writes one independent structure file per frame.
90+
- CatBot sessions that produce numerical scientific results may now require a
91+
successful `catgo_verify` run before HPC submission. This is an intentional
92+
safety gate, not a job failure.
93+
94+
### Included pull requests
95+
96+
- [#566](https://github.com/Hello-QM/catgo-LRG/pull/566) — Correct the CatGo
97+
citation URL.
98+
- [#567](https://github.com/Hello-QM/catgo-LRG/pull/567) — Stream trajectories
99+
across platforms and harden editing, export, interaction, and rendering.
100+
- [#546](https://github.com/Hello-QM/catgo-LRG/pull/546) — Add the CatBot
101+
physics-verification layer and guarded submission flow.
102+
- [#568](https://github.com/Hello-QM/catgo-LRG/pull/568) — Add the collapsible,
103+
customizable structure toolbar and periodic-aware JavaScript bond fallback.
104+
105+
### Downloads
106+
107+
- **Windows**`.msi` or `-setup.exe`
108+
- **macOS**`.dmg` for Apple Silicon
109+
- **Linux**`.deb` or `.rpm`
110+
- **Android**`CatGo-v*-android-universal.apk`
111+
- **iOS**[TestFlight beta](https://testflight.apple.com/join/FdHup5Hz)
112+
113+
### License and citation
114+
115+
CatGo 1.4.9 distributions use **AGPL-3.0-or-later**.
116+
117+
If CatGo contributes to your work, please include this acknowledgement and the
118+
preferred citation:
119+
120+
> This work used CatGo (https://app.catgo-ucsd.org).
121+
122+
Please cite DOI
123+
[`10.26434/chemrxiv.15002984/v1`](https://doi.org/10.26434/chemrxiv.15002984/v1).
124+
This request is not an additional condition of the AGPL license. Third-party
125+
materials retain their own terms.
126+
127+
Historical AGPL grants remain in effect.
128+
129+
See the
130+
[CHANGELOG](https://github.com/Hello-QM/catgo-LRG/blob/main/CHANGELOG.md)
131+
for the complete release history.

.github/workflows/tauri-build.yml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,7 @@ jobs:
332332
One window for the whole loop: **read almost any code's files → build & edit → run DFT / ML / MD → submit to HPC → analyse → publish.** Ships with the bundled backend server (MLP libraries excluded to keep the download lean).
333333
334334
### License and citation
335-
CatGo 1.4.8 distributions use **AGPL-3.0-or-later**.
335+
CatGo 1.4.9 distributions use **AGPL-3.0-or-later**.
336336
337337
If CatGo contributes to your work, please include this acknowledgement and the preferred citation:
338338
@@ -362,10 +362,10 @@ jobs:
362362
- **Analysis** — DOS / band / COHP, Brillouin zone, XRD, phase diagrams, Gibbs & volcano plots
363363
- Built-in xTB / EMT calculators · OPTIMADE & PubChem search · HD render & trajectory video export
364364
365-
### New in 1.4.8
366-
- **Consistent periodic structures in both rendering modes** — standard WebGL and Large System Performance Mode now share atom, bond, boundary, camera, and visual-state data.
367-
- **Database search works again across the app and VS Code** — Materials Project, OPTIMADE, and PubChem now use current provider APIs, pagination, and extension-host routing.
368-
- **Large System Performance Mode remains WebGPU-accelerated** — the shared rendering contract removes visual drift while retaining the fast path and live interaction updates.
365+
### New in 1.4.9
366+
- **Large trajectories open and edit across every CatGo surface** — indexed structure-only streaming now covers the web app, desktop app, VS Code, and Antigravity, including variable-topology edits and per-frame POSCAR export.
367+
- **CatBot verifies physics before numerical results are trusted** — provenance, workflow-consistency, and scientific gates catch silent failures and guard HPC submission.
368+
- **Structure tools are customizable per pane** — collapse the toolbar, choose visible tools, and keep periodic bonds correct even when the frontend uses the JavaScript fallback.
369369
370370
See the [CHANGELOG](https://github.com/${{ github.repository }}/blob/main/CHANGELOG.md) for the full list.
371371
releaseDraft: true
@@ -531,12 +531,18 @@ jobs:
531531
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
532532
run: bash scripts/ensure-release-body.sh "$CATGO_RELEASE_TAG"
533533

534-
- name: Finalize canonical release body
534+
- name: Finalize canonical v1.4.8 release body
535535
if: env.CATGO_RELEASE_TAG == 'v1.4.8'
536536
env:
537537
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
538538
run: bash scripts/ensure-release-body.sh "$CATGO_RELEASE_TAG"
539539

540+
- name: Finalize canonical release body
541+
if: env.CATGO_RELEASE_TAG == 'v1.4.9'
542+
env:
543+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
544+
run: bash scripts/ensure-release-body.sh "$CATGO_RELEASE_TAG"
545+
540546
- name: Upload canonical legal bundle to release
541547
if: runner.os == 'Linux' && env.CATGO_RELEASE_TAG != ''
542548
env:

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,20 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [1.4.9] - 2026-08-01
6+
7+
### Added
8+
9+
- **Fast, cross-platform trajectory streaming and editing** — large and compressed trajectories open through indexed structure-only readers in the web app, desktop app, VS Code, and Antigravity; variable-topology frame edits remain playable and can be saved as extXYZ or exported as one POSCAR per frame.
10+
- **Physics verification for CatBot numerical results**`catgo_verify` checks provenance and workflow consistency, applies targeted scientific gates to silent-failure classes, and prevents unverified numerical results from flowing directly into HPC submission.
11+
- **Per-pane customizable structure toolbar** — each structure pane can collapse its toolbar, choose visible tools, migrate existing preferences, restore defaults, and retain mounted tool panels while buttons are hidden.
12+
13+
### Fixed
14+
15+
- **Trajectory interaction and rendering** — atom and bond picking, ordered three-atom angle measurement, pointer gesture cleanup, edited-frame topology caches, variable atom counts, analytic bond joins, and paused-frame supersampling now behave consistently.
16+
- **Periodic bonds without backend or WASM** — the JavaScript fallback now handles periodic images, skewed cells, self-image bonds, and the same cutoffs as the WASM path, avoiding incorrect cached bond sets in frontend-only sessions.
17+
- **Canonical citation link** — documentation and release metadata consistently use `https://app.catgo-ucsd.org`.
18+
519
## [1.4.8] - 2026-07-30
620

721
### Fixed

CITATION.cff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cff-version: 1.2.0
22
message: If CatGo contributes to your work, please acknowledge and cite it as described below. This request is not an additional condition of AGPL-3.0-or-later.
3-
version: 1.4.8
3+
version: 1.4.9
44
title: CatGo
55
license: AGPL-3.0-or-later
66
license-url: https://github.com/Hello-QM/catgo-LRG/blob/main/license

extensions/rust-wasm/CITATION.cff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cff-version: 1.2.0
22
message: If CatGo contributes to your work, please acknowledge and cite it as described below. This request is not an additional condition of AGPL-3.0-or-later.
3-
version: 1.4.8
3+
version: 1.4.9
44
title: CatGo
55
license: AGPL-3.0-or-later
66
license-url: https://github.com/Hello-QM/catgo-LRG/blob/main/license

extensions/vscode/CITATION.cff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cff-version: 1.2.0
22
message: If CatGo contributes to your work, please acknowledge and cite it as described below. This request is not an additional condition of AGPL-3.0-or-later.
3-
version: 1.4.8
3+
version: 1.4.9
44
title: CatGo
55
license: AGPL-3.0-or-later
66
license-url: https://github.com/Hello-QM/catgo-LRG/blob/main/license

extensions/vscode/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "catgo",
33
"displayName": "CatGo",
44
"description": "3D viewer for crystal structures, molecules and MD / optimization trajectories — reads the file formats of VASP, Quantum ESPRESSO, CP2K, ABACUS, ORCA, Gaussian, CASTEP, SIESTA, OpenMX, LAMMPS and ASE: POSCAR/CONTCAR · CIF · XYZ/extXYZ · mol2 · PDB · vasprun.xml · OUTCAR · XDATCAR · .traj · HDF5 · cube/CHGCAR isosurfaces. Cross-cell PBC bond rendering, moyo space-group + Wyckoff symmetry, trajectory scrubbing with energy/force overlays, themes that follow VS Code. Right-click → Render, or Ctrl/Cmd+Shift+V.",
5-
"version": "1.4.8",
5+
"version": "1.4.9",
66
"license": "AGPL-3.0-or-later",
77
"publisher": "Guangsheng",
88
"icon": "icon.png",

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"homepage": "https://github.com/Hello-QM/catgo-LRG",
55
"repository": "https://github.com/Hello-QM/catgo-LRG",
66
"license": "AGPL-3.0-or-later",
7-
"version": "1.4.8",
7+
"version": "1.4.9",
88
"type": "module",
99
"packageManager": "pnpm@10.28.2",
1010
"bugs": "https://github.com/Hello-QM/catgo-LRG/issues",

scripts/__tests__/docs-citation-license.test.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ test('CITATION.cff carries the exact non-binding citation request', () => {
4848
assert.equal(message, CITATION_REQUEST)
4949
assert.match(cff, new RegExp(
5050
`^cff-version: 1\\.2\\.0\\nmessage: ${escapeRegExp(CITATION_REQUEST)}\\n` +
51-
'version: 1\\.4\\.8\\ntitle: CatGo\\nlicense: AGPL-3\\.0-or-later\\n' +
51+
'version: 1\\.4\\.9\\ntitle: CatGo\\nlicense: AGPL-3\\.0-or-later\\n' +
5252
'license-url: https://github\\.com/Hello-QM/catgo-LRG/blob/main/license$',
5353
'm',
5454
))

scripts/__tests__/license-policy.test.mjs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ const licenseClaimInventory = {
155155
'.github/release-notes/v1.4.6.md',
156156
'.github/release-notes/v1.4.7.md',
157157
'.github/release-notes/v1.4.8.md',
158+
'.github/release-notes/v1.4.9.md',
158159
'.github/workflows/tauri-build.yml',
159160
],
160161
historicalOnly: [
@@ -293,7 +294,7 @@ test('canonical citation file requests citation without adding an AGPL condition
293294
assert.equal(existsSync(resolve(ROOT, 'citation.cff')), false)
294295
const text = read('CITATION.cff')
295296
assert.match(text, /^cff-version: 1\.2\.0$/m)
296-
assert.match(text, /^version: 1\.4\.8$/m)
297+
assert.match(text, /^version: 1\.4\.9$/m)
297298
assert.match(text, /^license: AGPL-3\.0-or-later$/m)
298299
assert.match(text, /^license-url: https:\/\/github\.com\/Hello-QM\/catgo-LRG\/blob\/main\/license$/m)
299300
assert.match(text, /CatGo: Bridging CLI Coding Agents/)

0 commit comments

Comments
 (0)