Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
265 commits
Select commit Hold shift + click to select a range
3cd376c
Bump github/codeql-action from 4.36.0 to 4.36.2
dependabot[bot] Jun 12, 2026
63a5d0c
Bump astral-sh/setup-uv from 8.1.0 to 8.2.0
dependabot[bot] Jun 12, 2026
4b25c23
Bump actions/checkout from 6.0.2 to 6.0.3
dependabot[bot] Jun 12, 2026
fcd9bcd
Bump github/codeql-action from 4.36.0 to 4.36.2 (#538)
CosmoCreeper Jun 13, 2026
b2d41d7
Bump astral-sh/setup-uv from 8.1.0 to 8.2.0 (#539)
CosmoCreeper Jun 13, 2026
aa394de
Bump actions/checkout from 6.0.2 to 6.0.3 (#540)
CosmoCreeper Jun 13, 2026
3b9084a
feat(linter): Lint globals, use strict rules, use JSDoc
CosmoCreeper Jun 13, 2026
b3892b9
Merge with cosine branch
CosmoCreeper Jun 13, 2026
f76b4fa
Switch to a map for unload listeners
CosmoCreeper Jun 13, 2026
18c28f5
feat(linter): Lint globals, use strict rules, use JSDoc. (#541)
CosmoCreeper Jun 13, 2026
5305ba2
Bump eslint from 9.39.1 to 10.4.1
dependabot[bot] Jun 13, 2026
8834002
Bump eslint from 9.39.1 to 10.4.1 (#537)
CosmoCreeper Jun 13, 2026
66b8ee6
Bump mocha from 11.7.5 to 11.7.6
dependabot[bot] Jun 13, 2026
8a2fca5
Bump eslint-visitor-keys from 4.2.1 to 5.0.1
dependabot[bot] Jun 13, 2026
a8b7cc9
Bump eslint-visitor-keys from 4.2.1 to 5.0.1 (#535)
CosmoCreeper Jun 14, 2026
8f893d2
Bump mocha from 11.7.5 to 11.7.6 (#536)
CosmoCreeper Jun 14, 2026
36d4e53
Bump oxfmt from 0.53.0 to 0.54.0
dependabot[bot] Jun 15, 2026
ff32f43
Bump oxfmt from 0.53.0 to 0.54.0 (#545)
CosmoCreeper Jun 15, 2026
aaf4e8b
docs: Update contributing guide (#546)
CosmoCreeper Jun 16, 2026
3afb956
Update workflow to disable credential persistence
CosmoCreeper Jun 17, 2026
f1f3423
Pin download-artifact usage to a full SHA
CosmoCreeper Jun 17, 2026
e12c784
fix(zizmor): Remove template expansion
CosmoCreeper Jun 17, 2026
bd0c2be
Split signing process from building (#549)
CosmoCreeper Jun 17, 2026
bbb72b0
Add publish_draft conditional to release workflow
CosmoCreeper Jun 17, 2026
9fe343c
Fix duplicate build_job id in release workflow
CosmoCreeper Jun 17, 2026
c35bb4a
Remove generator from Windows build configuration
CosmoCreeper Jun 17, 2026
ffb0ffc
Enhance asset preservation and verification logic
CosmoCreeper Jun 17, 2026
25e1cf5
Trigger post-build job after build job
CosmoCreeper Jun 17, 2026
c2c76b6
Handle artifacts in post-build properly
CosmoCreeper Jun 17, 2026
e440397
fix: Post-build step formatting
CosmoCreeper Jun 17, 2026
0e3cec3
Pin action usage to full-length SHAs
CosmoCreeper Jun 17, 2026
09a6f18
Bump actions/checkout from 6.0.2 to 6.0.3
dependabot[bot] Jun 19, 2026
a3a9147
Bump crowdin/github-action from 2.16.2 to 2.16.3
dependabot[bot] Jun 19, 2026
903ead3
Bump crowdin/github-action from 2.16.2 to 2.16.3 (#551)
CosmoCreeper Jun 19, 2026
daab007
Bump actions/checkout from 6.0.2 to 6.0.3 (#550)
CosmoCreeper Jun 19, 2026
581312d
Bump oxfmt from 0.54.0 to 0.55.0
dependabot[bot] Jun 22, 2026
37e23c2
Bump oxfmt from 0.54.0 to 0.55.0 (#556)
CosmoCreeper Jun 22, 2026
98da630
Bump oxlint-plugin-eslint from 1.69.0 to 1.70.0
dependabot[bot] Jun 22, 2026
1e253b1
Bump oxlint-plugin-eslint from 1.69.0 to 1.70.0 (#553)
CosmoCreeper Jun 22, 2026
835b572
Bump oxlint from 1.69.0 to 1.70.0
dependabot[bot] Jun 22, 2026
623b0b7
Bump oxlint from 1.69.0 to 1.70.0 (#555)
CosmoCreeper Jun 22, 2026
83d4c85
Remove unnecessary linting of Moxilla plugin.
CosmoCreeper Jun 22, 2026
5e1015e
Bump eslint-plugin-jsdoc from 63.0.2 to 63.0.4
dependabot[bot] Jun 23, 2026
c390d1f
Bump @typescript-eslint/parser from 8.61.0 to 8.61.1
dependabot[bot] Jun 23, 2026
c29d669
Bump @typescript-eslint/parser from 8.61.0 to 8.61.1 (#559)
CosmoCreeper Jun 24, 2026
91e4f0b
Bump eslint-plugin-jsdoc from 63.0.2 to 63.0.4 (#558)
CosmoCreeper Jun 24, 2026
b9c1366
Bump eslint-plugin-jsdoc from 63.0.4 to 63.0.5
dependabot[bot] Jun 24, 2026
7668192
Bump eslint-plugin-jsdoc from 63.0.4 to 63.0.5 (#560)
CosmoCreeper Jun 24, 2026
4dcbda3
Bump eslint-plugin-jsdoc from 63.0.5 to 63.0.6
dependabot[bot] Jun 25, 2026
11e3504
Bump eslint-plugin-jsdoc from 63.0.5 to 63.0.6 (#561)
CosmoCreeper Jun 25, 2026
48a26a6
Bump actions/checkout from 6.0.3 to 7.0.0
dependabot[bot] Jun 26, 2026
eb6fd10
Bump actions/checkout from 6.0.3 to 7.0.0 (#562)
CosmoCreeper Jun 26, 2026
2e57bcd
Bump oxlint from 1.70.0 to 1.71.0
dependabot[bot] Jun 29, 2026
d099c39
Bump eslint-plugin-jsdoc from 63.0.6 to 63.0.7
dependabot[bot] Jun 29, 2026
161074e
Bump oxlint from 1.70.0 to 1.71.0 (#565)
CosmoCreeper Jun 29, 2026
daba635
Bump eslint-plugin-jsdoc from 63.0.6 to 63.0.7 (#568)
CosmoCreeper Jun 29, 2026
bb852fe
Bump oxfmt from 0.55.0 to 0.56.0
dependabot[bot] Jun 29, 2026
cafba86
Bump oxlint-plugin-eslint from 1.70.0 to 1.71.0
dependabot[bot] Jun 29, 2026
3ab51d5
Bump oxfmt from 0.55.0 to 0.56.0 (#567)
CosmoCreeper Jun 29, 2026
93cde17
Bump oxlint-plugin-eslint from 1.70.0 to 1.71.0 (#566)
CosmoCreeper Jun 29, 2026
9e6a0b9
Bump @typescript-eslint/parser from 8.61.1 to 8.62.0
dependabot[bot] Jun 30, 2026
c6540e6
Bump @typescript-eslint/parser from 8.61.1 to 8.62.0 (#569)
CosmoCreeper Jul 1, 2026
9cde177
Bump eslint-plugin-jsdoc from 63.0.7 to 63.0.8
dependabot[bot] Jul 2, 2026
f468a7e
Bump eslint-plugin-jsdoc from 63.0.7 to 63.0.8 (#570)
CosmoCreeper Jul 3, 2026
0cc4978
Bump actions/attest-build-provenance from 4.1.0 to 4.1.1
dependabot[bot] Jul 3, 2026
c0794de
Bump eslint-plugin-jsdoc from 63.0.8 to 63.0.9
dependabot[bot] Jul 3, 2026
0184a73
Bump zizmorcore/zizmor-action from 0.5.6 to 0.5.7
dependabot[bot] Jul 3, 2026
87459d6
Bump zizmorcore/zizmor-action from 0.5.6 to 0.5.7 (#573)
CosmoCreeper Jul 4, 2026
b11f544
Bump eslint-plugin-jsdoc from 63.0.8 to 63.0.9 (#572)
CosmoCreeper Jul 4, 2026
e6f9111
Bump actions/attest-build-provenance from 4.1.0 to 4.1.1 (#571)
CosmoCreeper Jul 4, 2026
a2c7c86
Bump eslint-plugin-jsdoc from 63.0.9 to 63.0.10
dependabot[bot] Jul 6, 2026
4db6c0f
Bump oxlint-plugin-eslint from 1.71.0 to 1.72.0
dependabot[bot] Jul 7, 2026
9d0ec57
Bump @typescript-eslint/parser from 8.62.0 to 8.62.1
dependabot[bot] Jul 7, 2026
efbfccf
Bump eslint-plugin-jsdoc from 63.0.9 to 63.0.10 (#575)
CosmoCreeper Jul 8, 2026
45eadba
Bump oxlint-plugin-eslint from 1.71.0 to 1.72.0 (#576)
CosmoCreeper Jul 8, 2026
ada86b1
Bump @typescript-eslint/parser from 8.62.0 to 8.62.1 (#577)
CosmoCreeper Jul 8, 2026
55626df
Bump oxfmt from 0.56.0 to 0.57.0
dependabot[bot] Jul 8, 2026
bbd2698
Bump oxfmt from 0.56.0 to 0.57.0 (#578)
CosmoCreeper Jul 9, 2026
60574d1
Bump oxlint from 1.71.0 to 1.72.0
dependabot[bot] Jul 9, 2026
90cb610
Bump oxlint from 1.71.0 to 1.72.0 (#579)
CosmoCreeper Jul 10, 2026
458e913
Bump github/codeql-action/analyze from 4.36.2 to 4.36.3
dependabot[bot] Jul 10, 2026
bd52b66
Bump github/codeql-action/init from 4.36.2 to 4.36.3
dependabot[bot] Jul 10, 2026
df4c99e
Bump github/codeql-action/init from 4.36.2 to 4.36.3 (#581)
CosmoCreeper Jul 10, 2026
e42d38f
Bump github/codeql-action/analyze from 4.36.2 to 4.36.3 (#580)
CosmoCreeper Jul 10, 2026
a0eb124
Bump eslint-plugin-jsdoc from 63.0.10 to 63.0.12
dependabot[bot] Jul 13, 2026
67127c5
Bump @typescript-eslint/parser from 8.62.1 to 8.63.0
dependabot[bot] Jul 14, 2026
fc90f5e
Bump oxlint-plugin-eslint from 1.72.0 to 1.73.0
dependabot[bot] Jul 14, 2026
8111969
Bump oxlint-plugin-eslint from 1.72.0 to 1.73.0 (#586)
CosmoCreeper Jul 16, 2026
f2e8fc9
Bump @typescript-eslint/parser from 8.62.1 to 8.63.0 (#583)
CosmoCreeper Jul 16, 2026
5e70a41
Bump eslint-plugin-jsdoc from 63.0.10 to 63.0.12 (#582)
CosmoCreeper Jul 16, 2026
ae4e4b5
Bump oxfmt from 0.57.0 to 0.58.0
dependabot[bot] Jul 16, 2026
7e0dbe0
Bump oxfmt from 0.57.0 to 0.58.0 (#585)
CosmoCreeper Jul 16, 2026
c88dd14
Bump oxlint from 1.72.0 to 1.73.0
dependabot[bot] Jul 16, 2026
61eba9e
Bump oxlint from 1.72.0 to 1.73.0 (#584)
CosmoCreeper Jul 16, 2026
5c883a2
Bump astral-sh/setup-uv from 8.2.0 to 8.3.2
dependabot[bot] Jul 17, 2026
727aa37
Bump eslint-plugin-jsdoc from 63.0.12 to 63.0.13
dependabot[bot] Jul 17, 2026
995ac94
Bump github/codeql-action/analyze from 4.36.3 to 4.37.0
dependabot[bot] Jul 17, 2026
dfcee35
Bump github/codeql-action/init from 4.36.3 to 4.37.0
dependabot[bot] Jul 17, 2026
b966a57
Bump github/codeql-action/init from 4.36.3 to 4.37.0 (#590)
CosmoCreeper Jul 19, 2026
11e7b5b
Bump github/codeql-action/analyze from 4.36.3 to 4.37.0 (#589)
CosmoCreeper Jul 19, 2026
8fd05cc
Bump eslint-plugin-jsdoc from 63.0.12 to 63.0.13 (#588)
CosmoCreeper Jul 19, 2026
9c0f090
Bump astral-sh/setup-uv from 8.2.0 to 8.3.2 (#587)
CosmoCreeper Jul 19, 2026
8f05c23
Bump svgo from 4.0.1 to 4.0.2
dependabot[bot] Jul 20, 2026
a5beb92
Bump oxfmt from 0.58.0 to 0.59.0
dependabot[bot] Jul 21, 2026
0682f53
Bump @typescript-eslint/parser from 8.63.0 to 8.64.0
dependabot[bot] Jul 21, 2026
9bcda51
Bump @typescript-eslint/parser from 8.63.0 to 8.64.0 (#598)
CosmoCreeper Jul 22, 2026
9edcb82
Bump oxfmt from 0.58.0 to 0.59.0 (#597)
CosmoCreeper Jul 22, 2026
22780a8
Bump svgo from 4.0.1 to 4.0.2 (#593)
CosmoCreeper Jul 22, 2026
9c1ed52
Bump oxlint from 1.73.0 to 1.74.0
dependabot[bot] Jul 22, 2026
78f8022
Bump oxlint from 1.73.0 to 1.74.0 (#596)
CosmoCreeper Jul 22, 2026
54c5db1
Bump oxlint-plugin-eslint from 1.73.0 to 1.74.0
dependabot[bot] Jul 22, 2026
d1a3054
fix: Resolve linter errors
CosmoCreeper Jul 22, 2026
9f03609
Bump oxlint-plugin-eslint from 1.73.0 to 1.74.0 (#595)
CosmoCreeper Jul 22, 2026
4307518
Add eslint dev dependency
CosmoCreeper Jul 22, 2026
ad8af02
Add SignPath to sponsors
CosmoCreeper Jul 22, 2026
df78f21
Bump actions/checkout from 7.0.0 to 7.0.1
dependabot[bot] Jul 24, 2026
4553dd3
Bump github/codeql-action/analyze from 4.37.0 to 4.37.1
dependabot[bot] Jul 24, 2026
3b62826
Bump crowdin/github-action from 2.16.3 to 2.16.4
dependabot[bot] Jul 24, 2026
d9062e5
Bump zizmorcore/zizmor-action from 0.5.7 to 0.6.0
dependabot[bot] Jul 24, 2026
6fd9316
Bump github/codeql-action/init from 4.37.0 to 4.37.1
dependabot[bot] Jul 24, 2026
74c9b9b
Bump github/codeql-action/init from 4.37.0 to 4.37.1 (#606)
CosmoCreeper Jul 26, 2026
8ca22e7
Bump eslint-plugin-jsdoc from 63.0.13 to 63.2.0
dependabot[bot] Jul 27, 2026
cb308e2
Bump @typescript-eslint/parser from 8.64.0 to 8.65.0
dependabot[bot] Jul 28, 2026
398c24d
Bump @typescript-eslint/parser from 8.64.0 to 8.65.0 (#608)
CosmoCreeper Jul 28, 2026
d1c7960
Bump eslint-plugin-jsdoc from 63.0.13 to 63.2.0 (#607)
CosmoCreeper Jul 28, 2026
4865add
Bump zizmorcore/zizmor-action from 0.5.7 to 0.6.0 (#605)
CosmoCreeper Jul 28, 2026
0fd33de
Bump crowdin/github-action from 2.16.3 to 2.16.4 (#604)
CosmoCreeper Jul 28, 2026
720f436
Bump github/codeql-action/analyze from 4.37.0 to 4.37.1 (#603)
CosmoCreeper Jul 28, 2026
96c46ee
Bump actions/checkout from 7.0.0 to 7.0.1 (#601)
CosmoCreeper Jul 28, 2026
64ea996
Bump oxlint-plugin-eslint from 1.74.0 to 1.75.0
dependabot[bot] Jul 29, 2026
e69e842
Bump oxfmt from 0.59.0 to 0.60.0
dependabot[bot] Jul 29, 2026
1a1ba46
Bump oxfmt from 0.59.0 to 0.60.0 (#611)
CosmoCreeper Jul 31, 2026
1d002a8
Bump oxlint-plugin-eslint from 1.74.0 to 1.75.0 (#609)
CosmoCreeper Jul 31, 2026
0f9c7cc
Bump oxlint from 1.74.0 to 1.75.0
dependabot[bot] Jul 31, 2026
b2a3dfd
Bump oxlint from 1.74.0 to 1.75.0 (#610)
CosmoCreeper Jul 31, 2026
5388d51
Bump eslint-plugin-jsdoc from 63.2.0 to 63.2.2
dependabot[bot] Jul 31, 2026
8087a96
Bump github/codeql-action/analyze from 4.37.1 to 4.37.3
dependabot[bot] Jul 31, 2026
eaba9e0
Bump crowdin/github-action from 2.16.4 to 2.17.0
dependabot[bot] Jul 31, 2026
2ae3720
Bump astral-sh/setup-uv from 8.3.2 to 9.0.0
dependabot[bot] Jul 31, 2026
a3d57e9
Bump github/codeql-action/init from 4.37.1 to 4.37.3
dependabot[bot] Jul 31, 2026
fd35505
Bump zizmorcore/zizmor-action from 0.6.0 to 0.6.1
dependabot[bot] Jul 31, 2026
b6ba1a8
Bump zizmorcore/zizmor-action from 0.6.0 to 0.6.1 (#617)
CosmoCreeper Aug 2, 2026
1981478
Bump github/codeql-action/init from 4.37.1 to 4.37.3 (#616)
CosmoCreeper Aug 2, 2026
ddd0164
Bump astral-sh/setup-uv from 8.3.2 to 9.0.0 (#615)
CosmoCreeper Aug 2, 2026
2e148bb
Bump crowdin/github-action from 2.16.4 to 2.17.0 (#614)
CosmoCreeper Aug 2, 2026
610a7eb
Bump github/codeql-action/analyze from 4.37.1 to 4.37.3 (#613)
CosmoCreeper Aug 2, 2026
fe85006
Bump eslint-plugin-jsdoc from 63.2.0 to 63.2.2 (#612)
CosmoCreeper Aug 2, 2026
1e6841f
Bump oxlint-plugin-eslint from 1.75.0 to 1.76.0
dependabot[bot] Aug 3, 2026
c7e10fb
Bump eslint from 10.7.0 to 10.8.0
dependabot[bot] Aug 3, 2026
5a072f1
Bump oxfmt from 0.60.0 to 0.61.0
dependabot[bot] Aug 3, 2026
c42576e
Bump oxfmt from 0.60.0 to 0.61.0 (#622)
CosmoCreeper Aug 4, 2026
d658c5c
Bump oxlint-plugin-eslint from 1.75.0 to 1.76.0 (#619)
CosmoCreeper Aug 4, 2026
6f2bda7
Bump eslint from 10.7.0 to 10.8.0 (#621)
CosmoCreeper Aug 4, 2026
616bbcf
Bump oxlint from 1.75.0 to 1.76.0
dependabot[bot] Aug 4, 2026
0b199d8
Bump eslint-plugin-jsdoc from 63.2.2 to 63.3.2
dependabot[bot] Aug 4, 2026
a76fa1a
Bump eslint-plugin-jsdoc from 63.2.2 to 63.3.2 (#624)
CosmoCreeper Aug 4, 2026
b676706
Bump oxlint from 1.75.0 to 1.76.0 (#623)
CosmoCreeper Aug 4, 2026
6f45d5d
Bump github/codeql-action/analyze from 4.37.3 to 4.37.4
dependabot[bot] Aug 7, 2026
b1845b8
Bump github/codeql-action/init from 4.37.3 to 4.37.4
dependabot[bot] Aug 7, 2026
b8b40c2
Bump github/codeql-action/analyze from 4.37.3 to 4.37.4 (#625)
CosmoCreeper Aug 8, 2026
5b9f33e
Bump github/codeql-action/init from 4.37.3 to 4.37.4 (#626)
CosmoCreeper Aug 8, 2026
3014381
Bump oxlint-plugin-eslint from 1.76.0 to 1.77.0
dependabot[bot] Aug 10, 2026
2b07dc8
Bump eslint-plugin-jsdoc from 63.3.2 to 63.3.3
dependabot[bot] Aug 10, 2026
ba641b6
Bump eslint-plugin-jsdoc from 63.3.2 to 63.3.3 (#630)
CosmoCreeper Aug 10, 2026
ca98cfd
Bump oxlint-plugin-eslint from 1.76.0 to 1.77.0 (#629)
CosmoCreeper Aug 10, 2026
ef1a10a
Bump oxfmt from 0.61.0 to 0.62.0
dependabot[bot] Aug 10, 2026
3c0f4d3
feat: SHA-based store mod installation
CosmoCreeper Aug 10, 2026
f0c844b
Bump oxfmt from 0.61.0 to 0.62.0 (#628)
CosmoCreeper Aug 10, 2026
20c5059
Bump oxlint from 1.76.0 to 1.77.0
dependabot[bot] Aug 10, 2026
28ab163
Bump oxlint from 1.76.0 to 1.77.0 (#627)
CosmoCreeper Aug 10, 2026
6630abb
feat: SHA-based store mod installation (#631)
CosmoCreeper Aug 11, 2026
1eabdda
Trigger auto-updating for 2.3.4.0c
CosmoCreeper Aug 11, 2026
0f1aefd
Document release workflow for beta and stable versions
CosmoCreeper Aug 11, 2026
44418ed
Trigger auto-updating for 2.3.4.0c (#632)
CosmoCreeper Aug 11, 2026
16db7ed
Bump @typescript-eslint/parser from 8.65.0 to 8.66.0
dependabot[bot] Aug 11, 2026
792319d
Bump @typescript-eslint/parser from 8.65.0 to 8.66.0 (#633)
CosmoCreeper Aug 11, 2026
f3a6be9
Bump actions/attest-build-provenance from 4.1.1 to 4.2.2
dependabot[bot] Aug 14, 2026
e5732ad
Bump github/codeql-action/analyze from 4.37.4 to 4.37.6
dependabot[bot] Aug 14, 2026
e61e5f2
Bump github/codeql-action/init from 4.37.4 to 4.37.6
dependabot[bot] Aug 14, 2026
5834eda
Bump zizmorcore/zizmor-action from 0.6.1 to 0.6.2
dependabot[bot] Aug 14, 2026
75fa89c
Bump zizmorcore/zizmor-action from 0.6.1 to 0.6.2 (#639)
CosmoCreeper Aug 14, 2026
0ea918a
Bump github/codeql-action/analyze from 4.37.4 to 4.37.6 (#637)
CosmoCreeper Aug 14, 2026
266dbf7
Bump github/codeql-action/init from 4.37.4 to 4.37.6 (#638)
CosmoCreeper Aug 14, 2026
dc1c3fc
Bump actions/attest-build-provenance from 4.1.1 to 4.2.2 (#636)
CosmoCreeper Aug 14, 2026
b00b454
Add link to sineorg GitHub repository
CosmoCreeper Aug 14, 2026
b32e6f2
Bump @typescript-eslint/parser from 8.66.0 to 8.67.0
dependabot[bot] Aug 17, 2026
ed7ec19
Bump oxlint from 1.77.0 to 1.78.0
dependabot[bot] Aug 17, 2026
399c73b
Bump eslint-plugin-jsdoc from 63.3.3 to 64.0.2
dependabot[bot] Aug 17, 2026
872479c
Bump eslint from 10.8.0 to 10.8.1
dependabot[bot] Aug 17, 2026
83e19e4
Bump oxlint from 1.77.0 to 1.78.0 (#642)
CosmoCreeper Aug 18, 2026
cd17f44
Bump eslint from 10.8.0 to 10.8.1 (#645)
CosmoCreeper Aug 18, 2026
844bf0b
Bump eslint-plugin-jsdoc from 63.3.3 to 64.0.2 (#644)
CosmoCreeper Aug 18, 2026
2ded830
Bump @typescript-eslint/parser from 8.66.0 to 8.67.0 (#641)
CosmoCreeper Aug 18, 2026
05c011f
Bump oxlint-plugin-eslint from 1.77.0 to 1.78.0
dependabot[bot] Aug 18, 2026
5dd58ff
fix: Switch from ownerGlobal to windowRoot
CosmoCreeper Aug 18, 2026
47e99f5
Bump oxlint-plugin-eslint from 1.77.0 to 1.78.0 (#643)
CosmoCreeper Aug 18, 2026
e89eb1a
fix: Switch from ownerGlobal to windowRoot (#646)
CosmoCreeper Aug 18, 2026
9fc8faf
Bump oxfmt from 0.62.0 to 0.63.0
dependabot[bot] Aug 18, 2026
2c8c578
fix: Rehaul styling DOM (#564)
CosmoCreeper Aug 18, 2026
13bd3d1
Bump oxfmt from 0.62.0 to 0.63.0 (#647)
CosmoCreeper Aug 18, 2026
37c1573
Bump eslint-plugin-jsdoc from 64.0.2 to 64.1.0
dependabot[bot] Aug 18, 2026
f032f77
Bump eslint-plugin-jsdoc from 64.0.2 to 64.1.0 (#648)
CosmoCreeper Aug 18, 2026
671eab9
Wait for DOM to structure before pref injection
CosmoCreeper Aug 19, 2026
ab4ab4d
fix: Rehaul styling DOM (#564) (#649)
CosmoCreeper Aug 20, 2026
8863583
Bump signpath/github-action-submit-signing-request from 2.2 to 2.3
dependabot[bot] Aug 21, 2026
c844b4f
Bump github/codeql-action/analyze from 4.37.6 to 4.37.7
dependabot[bot] Aug 21, 2026
bf87716
Bump astral-sh/setup-uv from 9.0.0 to 10.0.1
dependabot[bot] Aug 21, 2026
8fa2252
Bump github/codeql-action/init from 4.37.6 to 4.37.7
dependabot[bot] Aug 21, 2026
a9b3642
fix: untrusted mod actors not loading
CosmoCreeper Aug 21, 2026
6e4cde0
fix: untrusted mod actors not loading (#655)
CosmoCreeper Aug 21, 2026
f735511
Bump github/codeql-action/init from 4.37.6 to 4.37.7 (#654)
CosmoCreeper Aug 21, 2026
dd99a50
Bump astral-sh/setup-uv from 9.0.0 to 10.0.1 (#653)
CosmoCreeper Aug 21, 2026
409d5bc
Bump github/codeql-action/analyze from 4.37.6 to 4.37.7 (#652)
CosmoCreeper Aug 21, 2026
b1baa90
Bump signpath/github-action-submit-signing-request from 2.2 to 2.3 (#…
CosmoCreeper Aug 21, 2026
755e814
Bump eslint-plugin-jsdoc from 64.1.0 to 64.2.0
dependabot[bot] Aug 24, 2026
11d9c7a
Bump eslint-plugin-jsdoc from 64.1.0 to 64.2.0 (#656)
CosmoCreeper Aug 25, 2026
fd7d4d3
Add macOS config adjustments for Git
CosmoCreeper Aug 25, 2026
5197ce5
Trigger auto-updating for 2.3.4.1c
CosmoCreeper Aug 25, 2026
e0e4408
Trigger auto-updating for 2.3.4.1c (#658)
CosmoCreeper Aug 25, 2026
d5add43
Bump eslint-plugin-jsdoc from 64.2.0 to 64.2.1
dependabot[bot] Aug 25, 2026
40c9391
Bump oxlint from 1.78.0 to 1.79.0
dependabot[bot] Aug 25, 2026
0e0ab07
Bump oxlint from 1.78.0 to 1.79.0 (#662)
CosmoCreeper Aug 26, 2026
ca22319
Bump eslint-plugin-jsdoc from 64.2.0 to 64.2.1 (#661)
CosmoCreeper Aug 26, 2026
8129557
Bump oxfmt from 0.63.0 to 0.64.0
dependabot[bot] Aug 26, 2026
e1fdc9f
Bump oxlint-plugin-eslint from 1.78.0 to 1.79.0
dependabot[bot] Aug 26, 2026
3465c53
Bump oxlint-plugin-eslint from 1.78.0 to 1.79.0 (#659)
CosmoCreeper Aug 26, 2026
16eb7ed
Bump oxfmt from 0.63.0 to 0.64.0 (#660)
CosmoCreeper Aug 26, 2026
c520df4
ci: enable native Wayland and X11 dual-backend support for Linux builds
Louis047 Aug 28, 2026
caa3dd1
Bump @types/bun from 1.3.14 to 1.4.0
dependabot[bot] Aug 28, 2026
045b431
Bump eslint from 10.8.1 to 10.9.0
dependabot[bot] Aug 28, 2026
fce8b30
Bump github/codeql-action/analyze from 4.37.7 to 4.37.8
dependabot[bot] Aug 28, 2026
e85567c
Bump crowdin/github-action from 2.17.0 to 2.17.1
dependabot[bot] Aug 28, 2026
2887cb8
Bump github/codeql-action/init from 4.37.7 to 4.37.8
dependabot[bot] Aug 28, 2026
ef4662b
Bump @types/bun from 1.3.14 to 1.4.0 (#664)
CosmoCreeper Aug 29, 2026
89628a3
Bump github/codeql-action/init from 4.37.7 to 4.37.8 (#668)
CosmoCreeper Aug 29, 2026
bc2b13d
Bump crowdin/github-action from 2.17.0 to 2.17.1 (#667)
CosmoCreeper Aug 29, 2026
cb292d8
Bump github/codeql-action/analyze from 4.37.7 to 4.37.8 (#666)
CosmoCreeper Aug 29, 2026
2f41d10
Bump eslint from 10.8.1 to 10.9.0 (#665)
CosmoCreeper Aug 29, 2026
f6221ee
Bump svgo from 4.0.2 to 4.1.0
dependabot[bot] Aug 31, 2026
5dab5ee
Bump oxfmt from 0.64.0 to 0.65.0
dependabot[bot] Aug 31, 2026
c5df0fc
Add Native Wayland support for Linux builds (#663)
CosmoCreeper Sep 1, 2026
0ed4502
Bump oxfmt from 0.64.0 to 0.65.0 (#672)
CosmoCreeper Sep 1, 2026
8e29fb9
Bump svgo from 4.0.2 to 4.1.0 (#671)
CosmoCreeper Sep 1, 2026
5acb69b
Bump oxlint from 1.79.0 to 1.80.0
dependabot[bot] Sep 1, 2026
adadba5
Bump oxlint from 1.79.0 to 1.80.0 (#670)
CosmoCreeper Sep 1, 2026
86ed434
Bump oxlint-plugin-eslint from 1.79.0 to 1.80.0
dependabot[bot] Sep 1, 2026
b0843e6
style: fix code formatting
CosmoCreeper Sep 1, 2026
ace6005
chore: resolve remaining conflict
CosmoCreeper Sep 1, 2026
f99bd50
chore: disable Mozilla sandbox
CosmoCreeper Sep 1, 2026
5ddb40a
Bump oxlint-plugin-eslint from 1.79.0 to 1.80.0 (#669)
CosmoCreeper Sep 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

- [ ] My pull request is programmed entirely or mostly with AI.
- [ ] My pull request only partially uses AI. <!-- How was it used? --> \
**If the above is applicable, I have used AI for:**
**If the above is applicable, I have used AI for:**
- [ ] I have only used AI for documentation of Firefox APIs or similar. **No code was written with it.**
- [ ] My pull request does not use any AI.

Expand Down
126 changes: 117 additions & 9 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,12 @@ jobs:
- os: windows
arch: x64
runner: windows-latest
generator: "Visual Studio 17 2022"
vs_arch: x64
triplet: x64-windows-static

- os: windows
arch: arm64
runner: windows-11-arm
generator: "Visual Studio 17 2022"
vs_arch: ARM64
triplet: arm64-windows-static

Expand Down Expand Up @@ -69,26 +67,55 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: Clone external repository
run: |
git clone --recurse-submodules https://github.com/sineorg/installer.git external

# ---------- Linux OpenGL / X11 ----------
- name: Install OpenGL dependencies (Linux)
# ---------- Linux OpenGL / Wayland / X11 ----------
- name: Install GUI dependencies (Linux)
if: matrix.os == 'linux'
run: |
sudo apt-get update
sudo apt-get install -y \
pkg-config \
libgl1-mesa-dev \
libegl1-mesa-dev \
libx11-dev \
libxrandr-dev \
libxinerama-dev \
libxcursor-dev \
libxi-dev
libxi-dev \
libxext-dev \
libxfixes-dev \
libwayland-dev \
libwayland-bin \
wayland-protocols \
libxkbcommon-dev \
libxkbcommon-x11-dev \
extra-cmake-modules

- name: Enable Wayland feature for GLFW (Linux)
if: matrix.os == 'linux'
run: |
python3 -c "
import json
with open('external/vcpkg.json', 'r') as f:
data = json.load(f)
for i, dep in enumerate(data.get('dependencies', [])):
if dep == 'glfw3':
data['dependencies'][i] = {'name': 'glfw3', 'features': ['wayland']}
elif isinstance(dep, dict) and dep.get('name') == 'glfw3':
features = dep.get('features', [])
if 'wayland' not in features:
features.append('wayland')
dep['features'] = features
with open('external/vcpkg.json', 'w') as f:
json.dump(data, f, indent=2)
"

# ---------- Ninja ----------
- name: Install Ninja (Linux)
Expand All @@ -98,6 +125,13 @@ jobs:
sudo apt-get install -y ninja-build

# ---------- vcpkg ----------
- name: Adjust config for macOS
if: matrix.os == 'macos'
run: |
git config --global http.lowSpeedLimit 1000
git config --global http.lowSpeedTime 300
git config --global http.postBuffer 524288000

- name: Setup vcpkg
uses: lukka/run-vcpkg@b1a0dd252f06b9e25b3c022a9a03bd7a427fb6a2 # v11.6
with:
Expand All @@ -110,15 +144,13 @@ jobs:
if: matrix.os == 'windows'
run: |
cmake -S external -B build `
-G "$env:GENERATOR" `
-A "$env:ARCH" `
-DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_ROOT\scripts\buildsystems\vcpkg.cmake" `
-DVCPKG_TARGET_TRIPLET="$env:TRIPLET" `
-DSINE_VERSION="$env:SINE_VERSION" `
-DBOOT_VERSION="$env:BOOT_VERSION"
env:
VCPKG_ROOT: ${{ github.workspace }}\vcpkg
GENERATOR: ${{ matrix.generator }}
ARCH: ${{ matrix.vs_arch }}
TRIPLET: ${{ matrix.triplet }}
SINE_VERSION: ${{ inputs.sine_version }}
Expand All @@ -129,8 +161,12 @@ jobs:
run: |
cmake -S external -B build \
-G "${GENERATOR}" \
-DCMAKE_TOOLCHAIN_FILE="${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" \
-DVCPKG_TARGET_TRIPLET="${VCPKG_DEFAULT_TRIPLET}" \
-DSINE_VERSION=${SINE_VERSION} \
-DBOOT_VERSION=${BOOT_VERSION}
-DBOOT_VERSION=${BOOT_VERSION} \
-DGLFW_BUILD_WAYLAND=ON \
-DGLFW_BUILD_X11=ON
env:
VCPKG_ROOT: ${{ github.workspace }}/vcpkg
VCPKG_DEFAULT_TRIPLET: ${{ matrix.triplet }}
Expand Down Expand Up @@ -224,3 +260,75 @@ jobs:
with:
name: sine-osx-${{ matrix.arch }}
path: artifacts/sine-osx-${{ matrix.arch }}

post-build:
runs-on: ubuntu-latest
needs: build
name: Handle post-build steps
steps:
- name: Check signing requirements
id: status
env:
REF_NAME: ${{ github.ref_name }}
run: |
if [[ "$REF_NAME" == "main" ]]; then
echo "should-sign=yes" >> $GITHUB_OUTPUT
else
echo "should-sign=no" >> $GITHUB_OUTPUT
fi

- name: Download all artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
path: ./artifacts

- name: Attest artifacts
uses: actions/attest-build-provenance@4d101475d8b20a2381f78447822ac1eab6504dd8 # v4.2.2
with:
subject-path: |
./artifacts/sine-linux-*/*
./artifacts/sine-osx-*/*
./artifacts/sine-win-*-unsigned/*

- name: Prepare SignPath Workspace
if: steps.status.outputs.should-sign == 'yes'
run: |
mkdir -p ./unsigned
find ./artifacts/sine-win-*-unsigned/ -type f -exec cp {} ./unsigned/ \;

- name: Upload Windows artifacts (for code signing)
if: steps.status.outputs.should-sign == 'yes'
id: upload-unsigned-zip
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: sine-package-for-signing
path: ./unsigned

- name: Submit signing request
if: steps.status.outputs.should-sign == 'yes'
id: signpath-code-signing
uses: signpath/github-action-submit-signing-request@c92b958760219087e01f8d67a1669ed57afe2627 # v2.3
with:
api-token: "${{ secrets.SIGNPATH_API_TOKEN }}"
organization-id: "1324b51a-cb3d-4d1e-aab7-27b1169bd402"
project-slug: "Sine"
signing-policy-slug: "release-signing"
github-artifact-id: "${{ steps.upload-unsigned-zip.outputs.artifact-id }}"
wait-for-completion: false

- name: Save code signing info
if: steps.status.outputs.should-sign == 'yes'
env:
SIGNING_REQUEST_ID: ${{ steps.signpath-code-signing.outputs.signing-request-id }}
SIGNING_REQUEST_WEB_URL: ${{ steps.signpath-code-signing.outputs.signing-request-web-url }}
run: |
mkdir -p artifacts/info
echo "$SIGNING_REQUEST_ID" | tee artifacts/info/signing-request-id.txt
echo "$SIGNING_REQUEST_WEB_URL" | tee artifacts/info/signing-request-web-url.txt

- name: Upload Artifact (signing info)
if: steps.status.outputs.should-sign == 'yes'
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: info
path: ./artifacts/info
6 changes: 3 additions & 3 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

Expand All @@ -72,7 +72,7 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4.36.0
uses: github/codeql-action/init@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4.37.8
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
Expand Down Expand Up @@ -100,6 +100,6 @@ jobs:
exit 1

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4.36.0
uses: github/codeql-action/analyze@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4.37.8
with:
category: "/language:${{matrix.language}}"
15 changes: 9 additions & 6 deletions .github/workflows/pr-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

Expand All @@ -26,7 +26,7 @@ jobs:
bun-version: latest

- name: Set up uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1

# Run ci script to install bun and uv deps
- name: Install dependencies
Expand All @@ -45,19 +45,19 @@ jobs:
security-events: write
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: Run zizmor
uses: zizmorcore/zizmor-action@5f14fd08f7cf1cb1609c1e344975f152c7ee938d # v0.5.6
uses: zizmorcore/zizmor-action@3dc1ecc9bcb9e94e9b2c709687979e1298497054 # v0.6.2

test:
name: Run tests
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

Expand All @@ -73,4 +73,7 @@ jobs:
run: bunx browsercfg select --browser zen-twilight --download

- name: Run tests
run: bun run test
run: |
# Disable mozilla sandbox to prevent hanging process
export MOZ_DISABLE_CONTENT_SANDBOX=1
bun run test
53 changes: 41 additions & 12 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,15 @@ on:
type: number
description: "Version type (0: normal, 1: abnormal, 2: bootloader, see docs/updates.md)"
required: true
run_id:
description: "GitHub Actions run_id when created the corresponding release"
required: false
type: string
publish_draft:
description: "If true, will publish draft release"
required: false
default: false
type: boolean

permissions:
id-token: write
Expand All @@ -25,7 +34,7 @@ jobs:
version: ${{ steps.format_inputs.outputs.sine_version }}
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

Expand Down Expand Up @@ -101,15 +110,15 @@ jobs:
VERSION_TYPE: ${{ inputs.version_type }}

- name: Set up uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1

- name: Generate packages
run: |
uv run python scripts/package.py
mv engine.zip artifacts/engine.zip

- name: Attest artifacts
uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v4.1.0
uses: actions/attest-build-provenance@4d101475d8b20a2381f78447822ac1eab6504dd8 # v4.2.2
with:
subject-path: artifacts/*

Expand All @@ -121,10 +130,20 @@ jobs:
inputs: '{ "sine_version": "${{ steps.format_inputs.outputs.sine_version }}", "boot_version": "${{ steps.format_inputs.outputs.boot_version }}" }'
wait-for-completion: true

- name: Trigger upload workflow
if: steps.extract_branch.outputs.suffix != 'c'
id: sign_job
uses: benc-uk/workflow-dispatch@31e2b3319479a63f0ab15bf800eff9e913504e26 # v1.3.2
with:
workflow: upload-signed-files.yml
inputs: '{ "run_id": "${{ inputs.run_id }}" }'
wait-for-completion: true

- name: Download artifacts
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RUN_ID: ${{ steps.build_job.outputs.runId }}
RUN_ID: ${{ steps.build_job.outputs.runId || steps.sign_job.outputs.runId }}
INPUT_RUN_ID: ${{ inputs.run_id }}
run: |
gh run download $RUN_ID -D build/

Expand All @@ -138,12 +157,22 @@ jobs:
filename=$(basename "$file")
foldername=$(basename "$folder")

if [ "$filename" = "$foldername" ]; then
extension="${filename##*.}"
tempname="${foldername}_file.$extension"
mv "$file" "artifacts/$tempname"
rmdir "$folder"
mv "artifacts/$tempname" "artifacts/$filename"
if [[ "$filename" == *"-unsigned.exe" ]]; then
new_name="${file/-unsigned/}"
mv "$file" "$new_name"
file="$new_name"
filename=$(basename "$file")
fi

if [[ "$filename" == "engine.zip" || "$filename" == "updater.bat" || "$filename" == "updater.sh" ]]; then
echo "Preserving core asset: artifacts/$filename"
continue
fi

if [[ "$filename" =~ ^sine-(linux|osx|win)- ]]; then
echo "Verifying attestation for $filename..."
gh attestation verify "$file" --repo CosmoCreeper/Sine || echo "Warning: Attestation verification failed for $filename"
echo "Processed 'artifacts/$filename'"
else
mv "$file" artifacts/
rmdir "$folder"
Expand Down Expand Up @@ -178,12 +207,12 @@ jobs:

deploy:
needs: build-and-upload
if: success()
if: success() && inputs.publish_draft == true
runs-on: ubuntu-latest
environment: production
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

Expand Down
Loading