Repository navigation
Expand file tree
/
Copy pathpatchnotes.html
More file actions
456 lines (446 loc) · 42.9 KB
/
Copy pathpatchnotes.html
File metadata and controls
456 lines (446 loc) · 42.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title data-i18n="patchnotes.meta.title">SpaceCorps 2027 · Patch notes</title>
<meta name="description" content="Every update of SpaceCorps 2027, newest first: what changed for players in each release." data-i18n-content="patchnotes.meta.description">
<meta name="color-scheme" content="dark">
<meta name="theme-color" content="#141312">
<meta name="robots" content="index, follow, max-snippet:-1, max-image-preview:large">
<meta name="googlebot" content="index, follow, max-snippet:-1, max-image-preview:large">
<meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large">
<meta name="author" content="SpaceCorps">
<link rel="canonical" href="https://spacecorps.github.io/play/patchnotes.html">
<link rel="sitemap" type="application/xml" href="https://spacecorps.github.io/play/sitemap.xml">
<link rel="alternate" type="text/markdown" href="https://spacecorps.github.io/play/patchnotes.md">
<link rel="alternate" type="application/json" href="https://spacecorps.github.io/play/patchnotes.json">
<link rel="help" href="https://spacecorps.github.io/play/llms.txt">
<link rel="icon" href="favicon.ico" sizes="32x32">
<link rel="icon" type="image/svg+xml" href="img/favicon.svg">
<link rel="icon" type="image/png" sizes="48x48" href="img/favicon-48.png">
<link rel="icon" type="image/png" sizes="96x96" href="img/favicon-96.png">
<link rel="icon" type="image/png" sizes="32x32" href="img/favicon-32.png">
<link rel="icon" type="image/png" sizes="16x16" href="img/favicon-16.png">
<link rel="apple-touch-icon" sizes="180x180" href="img/apple-touch-icon.png">
<link rel="manifest" href="site.webmanifest">
<meta property="og:type" content="article">
<meta property="og:site_name" content="SpaceCorps">
<meta property="og:title" content="SpaceCorps 2027 · Patch notes">
<meta property="og:description" content="Every update of SpaceCorps 2027, newest first: what changed for players in each release.">
<meta property="og:url" content="https://spacecorps.github.io/play/patchnotes.html">
<meta property="og:image" content="https://spacecorps.github.io/play/img/og.jpg">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="SpaceCorps 2027 · Patch notes">
<meta name="twitter:image" content="https://spacecorps.github.io/play/img/og.jpg">
<link rel="stylesheet" href="style.css">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "SpaceCorps",
"item": "https://spacecorps.github.io/"
},
{
"@type": "ListItem",
"position": 2,
"name": "SpaceCorps 2027",
"item": "https://spacecorps.github.io/play/"
},
{
"@type": "ListItem",
"position": 3,
"name": "Patch Notes",
"item": "https://spacecorps.github.io/play/patchnotes.html"
}
]
},
{
"@type": "CollectionPage",
"@id": "https://spacecorps.github.io/play/patchnotes.html#webpage",
"url": "https://spacecorps.github.io/play/patchnotes.html",
"name": "SpaceCorps 2027 Patch Notes",
"description": "Chronological release history and changelogs for SpaceCorps 2027.",
"publisher": {
"@type": "Organization",
"name": "SpaceCorps",
"url": "https://spacecorps.github.io/",
"logo": "https://spacecorps.github.io/play/img/icon-128.png"
}
}
]
}
</script>
<script>
if (new URLSearchParams(window.location.search).get('mode') === 'agent') {
window.location.href = 'patchnotes.md';
}
</script>
<!-- The releases below are written by the game repository's scripts/release/patchnotes.py at
each release (between the patchnotes:list markers), from its docs/releases/v<version>.md;
patchnotes.json holds the same, and patchnotes.md is the Markdown mirror. -->
<script src="i18n.js"></script>
<script src="app.js" defer></script>
<!-- patchnotes:head -->
<style>
/* patchnotes-site 1: the patch notes page's list of releases and its release pages. Written
between the patchnotes:head markers by scripts/release/patchnotes.py from
scripts/marketing/patchnotes-site/notes.css in the game repository: edit it there, not on the
site. Colours and sizes come from style.css. */
.note-index { padding: 14px 8px 8px; min-width: 0; }
.note-index > h2 { font-size: 14px; font-weight: 600; color: var(--text-2); letter-spacing: 0.02em; margin: 0 16px 8px; }
.note-index-list { list-style: none; margin: 0; padding: 0; }
.note-index-list > li { border-top: 1px solid var(--separator); }
.note-index-list > li:first-child { border-top: 0; }
/* style.css already keeps 72px (scroll-padding-top) clear of the top bar. */
.note-index-list details[id] { scroll-margin-top: 16px; }
.note-index-list summary, .note-index-list a.note-row {
list-style: none; cursor: pointer; display: grid; grid-template-columns: 14px 4.4em 9.2em minmax(0, 1fr);
gap: 2px 12px; align-items: baseline; padding: 11px 16px; border-radius: var(--radius-control);
color: var(--text-2); font-size: 14.5px; line-height: 1.45; text-decoration: none;
}
.note-index-list summary::-webkit-details-marker { display: none; }
.note-index-list summary::before { content: ""; width: 7px; height: 7px; justify-self: center; align-self: center; border-right: 1.8px solid currentColor; border-bottom: 1.8px solid currentColor; transform: rotate(-45deg); transition: transform 150ms ease; }
.note-index-list details[open] > summary::before { transform: rotate(45deg) translate(-2px, -2px); }
.note-index-list a.note-row::before { content: "\2191"; justify-self: center; color: var(--text-3); }
.note-index-list summary:hover, .note-index-list a.note-row:hover { background: rgba(255, 255, 255, 0.04); color: var(--text); }
.note-index-list details[open] > summary { color: var(--text); }
/* Once the notes are in, they start with the lead the summary is the first sentence of. */
.note-index-list details[open][data-state="done"] > summary .note-s { display: none; }
.note-v { color: var(--text); font-weight: 600; font-variant-numeric: tabular-nums; }
.note-d { color: var(--text-3); font-size: 13.5px; white-space: nowrap; }
.note-s { min-width: 0; overflow-wrap: anywhere; }
.note-old-body { padding: 6px 16px 20px 42px; }
.note-old-body > a { color: var(--accent); font-weight: 600; font-size: 14.5px; }
.note-old-body > a:hover { color: var(--accent-hover); }
.note-old-body .note-lead { font-size: 15.5px; }
.note-old-body .note-meta { margin-top: 14px; }
.note-index-list details[data-state="loading"] .note-old-body { opacity: 0.6; transition: opacity 150ms ease; }
.note-index-list details[data-state="failed"] .note-old-body > a::after { content: " \26A0"; }
.note-pager { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; font-size: 14.5px; font-variant-numeric: tabular-nums; }
.note-pager a { color: var(--text-2); }
.note-pager a:hover { color: var(--text); }
.note-pager > :nth-child(2) { margin-inline: auto; }
@media (max-width: 640px) {
.note-index { padding: 12px 0 4px; }
.note-index-list summary, .note-index-list a.note-row { grid-template-columns: 14px auto minmax(0, 1fr); padding: 12px 16px; }
.note-s { grid-column: 2 / -1; }
.note-old-body { padding: 4px 16px 18px; }
}
@media (prefers-reduced-motion: reduce) {
.note-index-list summary::before, .note-index-list details[data-state="loading"] .note-old-body { transition: none; }
}
</style>
<!-- /patchnotes:head -->
</head>
<body>
<a class="skip" href="#main" data-i18n="skip">Skip to content</a>
<svg width="0" height="0" class="sprite" aria-hidden="true" focusable="false">
<symbol id="i-download" viewBox="0 0 24 24"><path d="M12 4v11m0 0-4.5-4.5M12 15l4.5-4.5M5 19.5h14"/></symbol>
<symbol id="i-check" viewBox="0 0 24 24"><path d="m5 12.5 4.5 4.5L19 7.5"/></symbol>
<symbol id="i-globe" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3c2.5 2.5 3.8 5.5 3.8 9s-1.3 6.5-3.8 9c-2.5-2.5-3.8-5.5-3.8-9S9.5 5.5 12 3z"/></symbol>
<symbol id="i-chevron" viewBox="0 0 24 24"><path d="m7 10 5 5 5-5"/></symbol>
</svg>
<header class="topbar">
<div class="topbar-inner">
<a class="brand" href="./" aria-label="SpaceCorps 2027, back to the top" data-i18n-aria-label="nav.home">
<img src="img/icon-128.png" width="28" height="28" alt="">
<span class="brand-name">SpaceCorps <span class="brand-year">2027</span></span>
</a>
<nav class="nav" aria-label="Sections" data-i18n-aria-label="nav.label">
<a href="./#screenshots" data-i18n="nav.screenshots">Screenshots</a>
<a href="./#features" data-i18n="nav.features">Features</a>
<a href="./#download" data-i18n="nav.download">Download</a>
<a href="./#help" data-i18n="nav.help">Help</a>
<a href="wiki.html" data-i18n="nav.wiki">Wiki</a>
<a href="patchnotes.html" aria-current="page" data-i18n="nav.patchnotes">Patch notes</a>
</nav>
<a class="status" href="./#server" data-status="checking" title="Game server status" data-i18n-title="status.title">
<span class="status-dot" aria-hidden="true"></span>
<span class="status-text" role="status" aria-live="polite" data-i18n="status.pill.checking">Server</span>
</a>
<details class="lang" id="lang">
<summary class="lang-button" aria-label="Language: English">
<svg class="icon" aria-hidden="true"><use href="#i-globe"/></svg>
<span class="lang-name" aria-hidden="true">English</span>
<span class="lang-code" aria-hidden="true">EN</span>
<svg class="icon lang-chevron" aria-hidden="true"><use href="#i-chevron"/></svg>
</summary>
<ul class="lang-menu" role="list">
<li><a href="?lang=en" hreflang="en" lang="en" aria-current="true">English<svg class="icon" aria-hidden="true"><use href="#i-check"/></svg></a></li>
<li><a href="?lang=de" hreflang="de" lang="de">Deutsch<svg class="icon" aria-hidden="true"><use href="#i-check"/></svg></a></li>
<li><a href="?lang=es" hreflang="es" lang="es">Español<svg class="icon" aria-hidden="true"><use href="#i-check"/></svg></a></li>
<li><a href="?lang=fr" hreflang="fr" lang="fr">Français<svg class="icon" aria-hidden="true"><use href="#i-check"/></svg></a></li>
<li><a href="?lang=pt-BR" hreflang="pt-BR" lang="pt-BR">Português (Brasil)<svg class="icon" aria-hidden="true"><use href="#i-check"/></svg></a></li>
<li><a href="?lang=sv" hreflang="sv" lang="sv">Svenska<svg class="icon" aria-hidden="true"><use href="#i-check"/></svg></a></li>
<li><a href="?lang=ru" hreflang="ru" lang="ru">Русский<svg class="icon" aria-hidden="true"><use href="#i-check"/></svg></a></li>
<li><a href="?lang=ja" hreflang="ja" lang="ja">日本語<svg class="icon" aria-hidden="true"><use href="#i-check"/></svg></a></li>
<li><a href="?lang=ko" hreflang="ko" lang="ko">한국어<svg class="icon" aria-hidden="true"><use href="#i-check"/></svg></a></li>
<li><a href="?lang=zh-CN" hreflang="zh-CN" lang="zh-CN">简体中文<svg class="icon" aria-hidden="true"><use href="#i-check"/></svg></a></li>
</ul>
</details>
</div>
</header>
<main id="main">
<section class="section notes-page" aria-labelledby="notes-title">
<div class="section-head">
<h1 id="notes-title" data-i18n="patchnotes.heading">Patch notes</h1>
<p data-i18n="patchnotes.page-lede">Every update of SpaceCorps 2027, newest first. The notes are written in English.</p>
</div>
<p class="notes-cta">
<a class="btn btn-secondary" href="./#download">
<svg class="icon" aria-hidden="true"><use href="#i-download"/></svg><span data-i18n="patchnotes.download">Download the latest version</span>
</a>
</p>
<div class="notes">
<!-- patchnotes:list -->
<article class="card note" id="v0.4.20" aria-labelledby="v0.4.20-title">
<header class="note-head">
<h2 class="note-title" id="v0.4.20-title">0.4.20 <span class="note-badge" data-i18n="patchnotes.latest">Latest</span></h2>
<p class="note-meta"><time datetime="2026-10-10" data-date>10 October 2026</time> <span aria-hidden="true">·</span> <a href="https://github.com/SpaceCorps/play/releases/tag/v0.4.20">GitHub</a></p>
</header>
<p class="note-lead" lang="en">SpaceCorps 2027 0.4.20 is the Ore Bay and the longer sign-in update: ore from a giant excavator can finally be moved into your Skylab, the game renews your sign-in while you play, the Wrath Wardens chase and call bigger waves, aliens fly round asteroids instead of into them, the Auction lists for 7 to 21 days with ten free listings a day, and the giant excavators lay twice as much.</p>
<div class="note-body" lang="en">
<h3>Highlights</h3>
<ul><li><strong>The Ore Bay: a new Skylab module for the ore you carry.</strong> Built on Core 2 from Core level 10 (5,000 Credits, 250 Thulium, 10 Ship Fragments): park your ship and it moves the Velkonite and the Orvium of your inventory, an excavator's boxes included, into the Resource storage, where the Forgery and the Research Centre take them. It moves 10 ore an hour at level 1 and 320 at level 20 and keeps a day of it; ore only goes in.</li><li><strong>The giant excavators lay twice as much</strong> of every resource (a run of Thulium is 9,643 in Alpha, it was 4,821); a run of Velkonite or Orvium is capped at 8 hours of a level 20 collector (4 before). The Star System map marks every Danger Sector's excavator in its state's colour, and the pulsars shine from the first day.</li><li><strong>You are not signed out in the middle of a flight any more.</strong> The game renews your sign-in at the start, every hour and when your computer wakes; it ends 30 days after you typed your password. <strong>A 0.4.19 game cannot renew its sign-in until it updates.</strong></li><li><strong>The Wrath Wardens chase</strong> the pilot who hit them, so shooting one from afar is not free any more. <strong>The Wrath Warden III calls a wave every 40 seconds (60 before), up to four at once (three), of 8, 15 and 15 aliens (5, 10 and 10), and every wave holds a Crystalys while it has less than half its hull.</strong> What a Warden brings arrives aimed at its attackers. <strong>The Brood Warden still stands where it was called.</strong></li><li><strong>Aliens and company pilots fly round asteroids</strong> and no longer shoot the rock you hide behind: they go round to see you. The Dormant Lances of the swamp's Inert Masses damage asteroids.</li><li><strong>The Auction lists for 7, 14 or 21 days, the first 10 listings of every UTC day pay no deposit,</strong> a chart shows what the other pilots ask for the same item, and <strong>3 lots an hour</strong> open instead of 1.</li><li><strong>The Forge's list has an All / Equipped / In inventory switch</strong> and shows the pieces fitted into other items. <strong>A rewarded Engine II or III, or Adaptive Core II or III,</strong> (a code, a quest, an invitation, an administrator) <strong>comes with its research.</strong></li><li><strong>Smaller:</strong> the pulsar is remodelled as a neutron star, the excavator's hum swells once in the 4 seconds the pulsar takes to turn, and a laser that a rock stops ends at the rock's edge.</li></ul>
<h3>If you already play: what changes for you</h3>
<ul><li><strong>Update the game.</strong> A 0.4.12, 0.4.13, 0.4.14, 0.4.15, 0.4.16, 0.4.17, 0.4.18 or 0.4.19 game installs it as a patch (a Linux AppImage game from 0.4.14), and downloads the whole package if the patch cannot be used. A 0.4.11 or older game downloads the whole package.</li><li><strong>The rules change on the server at once:</strong> the Wardens, the aliens and the rocks, the excavators' output, the Auction's times, deposits and lots, the sign-in's renewal and the Ore Bay's route. A 0.4.19 game keeps working under them but cannot renew its sign-in, and it lacks what is new on the screen: the Ore Bay's card, the star map's marks, the chart and the free listings, the Forge's switch.</li><li><strong>Nothing you own is taken, and no Credits, Thulium or items are paid, moved or removed.</strong> Solar makes 35 to 100 more power from Core level 10 on (17,990 at level 20, it was 17,890) for the Ore Bay's draw, so a full station is covered as before; the producers that were dark under the old table resume from the start.</li><li><strong>Your rewards from now on count:</strong> an Engine II or Adaptive Core piece given to you after this update comes with its research. A reward of a rocket does not unlock its craft.</li><li><strong>A listing you made keeps the days you chose</strong> (1, 3 or 7 days before), and the lots that are open keep their price; the extra lots begin at the next hour.</li></ul>
<h3>The Ore Bay</h3>
<div class="note-table"><table><thead><tr><th scope="col">Level</th><th scope="col">1</th><th scope="col">5</th><th scope="col">10</th><th scope="col">15</th><th scope="col">20</th></tr></thead><tbody><tr><th scope="row">Ore it moves an hour</th><td>10</td><td>30</td><td>80</td><td>174</td><td>320</td></tr><tr><th scope="row">A day of it, kept</th><td>240</td><td>720</td><td>1,920</td><td>4,176</td><td>7,680</td></tr><tr><th scope="row">Power</th><td>15</td><td>22</td><td>35</td><td>57</td><td>92</td></tr></tbody></table></div>
<ul><li><strong>What it moves.</strong> Velkonite and Orvium, the two ores the Resource storage keeps; never what is in your Transport Cache. Cataclysite and Quorvium are fuel that the Research Centre and the Forge take from your inventory, and Thulium goes to your wallet when you pick it up.</li><li><strong>How.</strong> Your ship must be landed. Choose the ore on the Ore Bay's sheet, type an amount or press Max, and press Move: a transfer is instant, and it is cut at the ore you carry, at the room the Resource storage has left and at the allowance, and the sheet says which. A new Ore Bay starts with a full day and an upgrade keeps what was stored. It has a quiet sound of its own.</li><li><strong>What it costs.</strong> Its upgrades cost and take what the Resource storage's do (to level 10: 619,500 Credits and 359 Thulium with the build). It draws power and can be switched off; in a blackout it moves nothing.</li></ul>
<h3>The giant excavators</h3>
<ul><li><strong>Twice the output.</strong> Per run in Alpha, Beta and Gamma: Thulium 9,643, 15,429 and 19,286; Cataclysite 2,314, 3,703 and 4,629; Quorvium 1,029, 1,646 and 2,057; Velkonite 640 and Orvium 320 in every world. Fuel, heat, hull, waves and Voids did not change.</li><li><strong>The ore of a box</strong> goes into your cargo as before. The Forgery and the Research Centre take Velkonite and Orvium from the Resource storage only, so the Ore Bay is the way in.</li><li><strong>Pulsars from day 1.</strong> A pulsar shines on DS-1, DS-2 and DS-3 from the first day of the season and nothing else of the excavator exists before season day 11: no panel, no radiation, no boxes, no Voids. Rocks keep out of the pulsar's disk from day 1.</li></ul>
<h3>The Wardens and the rocks</h3>
<ul><li><strong>What a Warden does when it is hit.</strong> The three Wrath Wardens fly at the first pilot who hit them and stop in their laser's range (700, 800 and 900 units); the Siege Wardens keep roaming and fire their rocket; the Brood Warden fights in place, as its drones heal it. The Wrath Wardens are harder to farm from range for that reason.</li><li><strong>What a Wrath Warden III sends.</strong> The smallest crew of its gear that wins on x2 ammo is 31 pilots on x-2, 32 on x-3 and 38 on x-4 in the model's best case (26 before the waves); a level 3 clan holds 50. A whole wave pays 24,000, 45,000 or 75,000 Credits in Alpha to whoever kills it, and a Crystalys 75,000 Credits, 200 Thulium, 12,000 XP and 52 honor; the Wrath Warden III itself pays what it paid.</li><li><strong>Rocks.</strong> An alien's body stays out of a rock's circle with its hull and a little more; a wave and a Warden's crew are not made inside a rock. A laser of an alien is not fired at a rock at all, and a rocket of an alien that a rock stops takes nothing off it. The Dormant Lance of an Inert Mass takes its own damage off the rock it meets, and nobody is paid for it.</li></ul>
<h3>Signing in</h3>
<ul><li><strong>What is renewed, and when.</strong> The game asks for a new token at the start, every hour and the moment your computer wakes; the server also renews a token an hour old on any call. A token lives 24 hours from its last renewal and 30 days from the sign-in with your password, never longer.</li><li><strong>Two games on one computer</strong> keep their own sign-in and stop overwriting each other's remembered one; closing the second game, or docking, no longer shows you Offline to your group for a moment.</li><li><strong>Changing a password</strong> gives that game a fresh token and ends the other sessions of the account within the hour.</li></ul>
<h3>The Auction</h3>
<ul><li><strong>7, 14 or 21 days.</strong> The deposit is 0.25% of the price for each 24 hours the listing runs (0.4% from level 10), a quarter of what it was in 0.4.19 (1%; 1.5% from level 10): 1.75, 3.5 and 5.25% for 7, 14 and 21 days (2.8, 5.6 and 8.4% from level 10). A listing that the season's end shortens pays for the hours it actually runs. The first 10 listings of each UTC day, counted from the day's start whether they sell, expire or are cancelled, pay no deposit; the 5% sale tax is as it was.</li><li><strong>The chart.</strong> It shows the asking prices of the other pilots for the same item and enchant in the currency you chose, with your own price as a line and the cheapest, the median, the least price and the last sale marked; with fewer than three other listings it is a plain list. It never shows who sells.</li><li><strong>Three lots an hour</strong> (a table of 72 for the day, each hour one lot of x2 ammo, one of x3 ammo or EMP Charges and one of rockets). Twelve are open at once and the board lists the last 36 results.</li></ul>
<h3>What you see and hear</h3>
<ul><li>One new quiet sound (the Ore Bay's transfer) and every new text in 12 languages.</li><li>The Forge's filter says how many pieces it hides, and choosing a merge's donor is never blocked by it.</li></ul>
<h3>For administrators and the server</h3>
<ul><li><strong>At the first start:</strong> one data step (<code>skylab-solar-v5</code>, which brings every Skylab up to the start under the 0.4.19 power table and then applies the new one) and no schema change: the backup gate lists that one line. Six data files change (<code>SkylabConfig.json</code>, <code>Excavator.json</code>, <code>ClanWardens.json</code>, <code>ClanLines.json</code>, <code>Market.json</code> and <code>Auction.json</code>), none is new, and the seeder adds nothing. Three new routes (<code>POST /api/skylab/bay/transfer</code>, <code>GET /api/market/spread</code> and <code>POST /api/auth/refresh</code>) and one new hub message (<code>ExcavatorSectors</code>, sent to games that announce <code>dormant-ds</code>). A token now carries two more signed claims and the answer to any call may carry an <code>X-Refreshed-Token</code> header. No new environment variable, client feature string or dependency.</li><li><strong>Rolling back to 0.4.19</strong> is the job's code-only rollback; lots that are open with a held maximum have the proxy-bid hazard of 0.4.19 (docs/DEPLOY.md).</li></ul>
</div>
</article>
<section class="card note-index" aria-labelledby="note-index-title">
<h2 id="note-index-title" data-i18n="patchnotes.all">All patch notes</h2>
<ul class="note-index-list">
<li><a class="note-row" href="#v0.4.20"><span class="note-v">0.4.20</span><time class="note-d" datetime="2026-10-10" data-date>10 October 2026</time><span class="note-s" lang="en">The Ore Bay and the longer sign-in update: ore from a giant excavator can finally be moved into your Skylab…</span></a></li>
<li><details id="v0.4.19">
<summary><span class="note-v">0.4.19</span><time class="note-d" datetime="2026-10-10" data-date>10 October 2026</time><span class="note-s" lang="en">The gear and economy update: every thruster gives 15% less, the Engine II and the Adaptive Core II are made in Assembly…</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.4.19.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.4.19"}'>Everything new in 0.4.19</a></div>
</details></li>
<li><details id="v0.4.18">
<summary><span class="note-v">0.4.18</span><time class="note-d" datetime="2026-10-09" data-date>9 October 2026</time><span class="note-s" lang="en">Fixes the Danger Sector update: the pulsars, the giant excavators and the Dormant Swamp now show when you fly into a Danger Sector through…</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.4.18.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.4.18"}'>Everything new in 0.4.18</a></div>
</details></li>
<li><details id="v0.4.17">
<summary><span class="note-v">0.4.17</span><time class="note-d" datetime="2026-10-09" data-date>9 October 2026</time><span class="note-s" lang="en">The Danger Sector update: when a season reaches day 11 (the Tech Surge), the machines of a lost civilisation wake up.</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.4.17.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.4.17"}'>Everything new in 0.4.17</a></div>
</details></li>
<li><details id="v0.4.16">
<summary><span class="note-v">0.4.16</span><time class="note-d" datetime="2026-10-09" data-date>9 October 2026</time><span class="note-s" lang="en">The clans and ships update: clans get a page, posts, a daily bonus and wars that end by consent…</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.4.16.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.4.16"}'>Everything new in 0.4.16</a></div>
</details></li>
<li><details id="v0.4.15">
<summary><span class="note-v">0.4.15</span><time class="note-d" datetime="2026-10-08" data-date>8 October 2026</time><span class="note-s" lang="en">The Skylab update: when your Core reaches level 10 a bridge builds a second Core with six module seats, and two new modules…</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.4.15.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.4.15"}'>Everything new in 0.4.15</a></div>
</details></li>
<li><details id="v0.4.14">
<summary><span class="note-v">0.4.14</span><time class="note-d" datetime="2026-10-08" data-date>8 October 2026</time><span class="note-s" lang="en">Adds a research queue of five, an asteroid mission at every level from 1 to 8 and a mark for the missions and Challenges you can accept.</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.4.14.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.4.14"}'>Everything new in 0.4.14</a></div>
</details></li>
<li><details id="v0.4.13">
<summary><span class="note-v">0.4.13</span><time class="note-d" datetime="2026-10-07" data-date>7 October 2026</time><span class="note-s" lang="en">Lets lasers hurt asteroids, shortens every rocket's recharge to 3 seconds and triples what rocks pay.</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.4.13.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.4.13"}'>Everything new in 0.4.13</a></div>
</details></li>
<li><details id="v0.4.12">
<summary><span class="note-v">0.4.12</span><time class="note-d" datetime="2026-10-07" data-date>7 October 2026</time><span class="note-s" lang="en">Opens the Auction, where pilots of level 5 and up sell what they earned to each other, and asteroid mining…</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.4.12.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.4.12"}'>Everything new in 0.4.12</a></div>
</details></li>
<li><details id="v0.4.11">
<summary><span class="note-v">0.4.11</span><time class="note-d" datetime="2026-10-06" data-date>6 October 2026</time><span class="note-s" lang="en">Makes ranks per company, draws the drone formations as shapes round your ship, gives the Group window a new layout…</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.4.11.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.4.11"}'>Everything new in 0.4.11</a></div>
</details></li>
<li><details id="v0.4.10">
<summary><span class="note-v">0.4.10</span><time class="note-d" datetime="2026-10-05" data-date>5 October 2026</time><span class="note-s" lang="en">Rebuilds the Skylab's numbers and adds 16 drone formations in two new research trees, reworked level missions…</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.4.10.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.4.10"}'>Everything new in 0.4.10</a></div>
</details></li>
<li><details id="v0.4.9">
<summary><span class="note-v">0.4.9</span><time class="note-d" datetime="2026-10-04" data-date>4 October 2026</time><span class="note-s" lang="en">Adds the Research Centre to the Skylab: from Core level 10 you feed it resources and research technologies…</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.4.9.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.4.9"}'>Everything new in 0.4.9</a></div>
</details></li>
<li><details id="v0.4.8">
<summary><span class="note-v">0.4.8</span><time class="note-d" datetime="2026-10-03" data-date>3 October 2026</time><span class="note-s" lang="en">Puts three swarms of alien bosses on the map.</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.4.8.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.4.8"}'>Everything new in 0.4.8</a></div>
</details></li>
<li><details id="v0.4.7">
<summary><span class="note-v">0.4.7</span><time class="note-d" datetime="2026-10-02" data-date>2 October 2026</time><span class="note-s" lang="en">Puts ten missions about your Skylab into Mission Control and gives Solar enough power for the whole station.</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.4.7.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.4.7"}'>Everything new in 0.4.7</a></div>
</details></li>
<li><details id="v0.4.6">
<summary><span class="note-v">0.4.6</span><time class="note-d" datetime="2026-10-01" data-date>1 October 2026</time><span class="note-s" lang="en">Adds the Ironclad, a crafted tank with the most hull of any ship, and reworks the shields: the best set is 80 percent…</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.4.6.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.4.6"}'>Everything new in 0.4.6</a></div>
</details></li>
<li><details id="v0.4.5">
<summary><span class="note-v">0.4.5</span><time class="note-d" datetime="2026-10-01" data-date>1 October 2026</time><span class="note-s" lang="en">Lets you choose where to come back when your ship is destroyed, adds a kill feed with funny lines to the Global chat…</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.4.5.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.4.5"}'>Everything new in 0.4.5</a></div>
</details></li>
<li><details id="v0.4.4">
<summary><span class="note-v">0.4.4</span><time class="note-d" datetime="2026-09-30" data-date>30 September 2026</time><span class="note-s" lang="en">Brings groups of up to five pilots from any company with three chat channels, a rework of the rockets with fixed damage…</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.4.4.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.4.4"}'>Everything new in 0.4.4</a></div>
</details></li>
<li><details id="v0.4.3">
<summary><span class="note-v">0.4.3</span><time class="note-d" datetime="2026-09-30" data-date>30 September 2026</time><span class="note-s" lang="en">Brings rockets, three active abilities, the Cloaking CPU and the EMP, the Forge…</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.4.3.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.4.3"}'>Everything new in 0.4.3</a></div>
</details></li>
<li><details id="v0.4.2">
<summary><span class="note-v">0.4.2</span><time class="note-d" datetime="2026-09-29" data-date>29 September 2026</time><span class="note-s" lang="en">Rebalances weapons, ships, Repair Drones and aliens (some setups got weaker, and this page says which), draws critical hits differently…</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.4.2.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.4.2"}'>Everything new in 0.4.2</a></div>
</details></li>
<li><details id="v0.4.1">
<summary><span class="note-v">0.4.1</span><time class="note-d" datetime="2026-09-28" data-date>28 September 2026</time><span class="note-s" lang="en">Stops the flicker on the login screen and in Skylab, and shows each pilot's clan tag next to their company letter.</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.4.1.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.4.1"}'>Everything new in 0.4.1</a></div>
</details></li>
<li><details id="v0.4.0">
<summary><span class="note-v">0.4.0</span><time class="note-d" datetime="2026-09-27" data-date>27 September 2026</time><span class="note-s" lang="en">A graphics overhaul.</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.4.0.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.4.0"}'>Everything new in 0.4.0</a></div>
</details></li>
<li><details id="v0.3.4">
<summary><span class="note-v">0.3.4</span><time class="note-d" datetime="2026-09-27" data-date>27 September 2026</time><span class="note-s" lang="en">Gives every item a real 3D model, with its icon rendered from it.</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.3.4.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.3.4"}'>Everything new in 0.3.4</a></div>
</details></li>
<li><details id="v0.3.3">
<summary><span class="note-v">0.3.3</span><time class="note-d" datetime="2026-09-27" data-date>27 September 2026</time><span class="note-s" lang="en">Gives every mission a face: each company's officers now hand out its quests.</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.3.3.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.3.3"}'>Everything new in 0.3.3</a></div>
</details></li>
<li><details id="v0.3.2">
<summary><span class="note-v">0.3.2</span><time class="note-d" datetime="2026-09-27" data-date>27 September 2026</time><span class="note-s" lang="en">Makes text easier to read everywhere: every label, number and button now stands out clearly from what is behind it.</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.3.2.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.3.2"}'>Everything new in 0.3.2</a></div>
</details></li>
<li><details id="v0.3.1">
<summary><span class="note-v">0.3.1</span><time class="note-d" datetime="2026-09-27" data-date>27 September 2026</time><span class="note-s" lang="en">A small maintenance update: the game runs on the latest version of its engine.</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.3.1.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.3.1"}'>Everything new in 0.3.1</a></div>
</details></li>
<li><details id="v0.3.0">
<summary><span class="note-v">0.3.0</span><time class="note-d" datetime="2026-09-26" data-date>26 September 2026</time><span class="note-s" lang="en">Splits the galaxy into three separate worlds: Alpha, Beta and Gamma.</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.3.0.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.3.0"}'>Everything new in 0.3.0</a></div>
</details></li>
<li><details id="v0.2.3">
<summary><span class="note-v">0.2.3</span><time class="note-d" datetime="2026-09-26" data-date>26 September 2026</time><span class="note-s" lang="en">Makes shields, shield cells, thrusters and laser amps work the way the item cards say: your absorbance now decides how much of each hit…</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.2.3.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.2.3"}'>Everything new in 0.2.3</a></div>
</details></li>
<li><details id="v0.2.2">
<summary><span class="note-v">0.2.2</span><time class="note-d" datetime="2026-09-26" data-date>26 September 2026</time><span class="note-s" lang="en">The first version that arrives through the game's own updater.</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.2.2.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.2.2"}'>Everything new in 0.2.2</a></div>
</details></li>
<li><details id="v0.2.1">
<summary><span class="note-v">0.2.1</span><time class="note-d" datetime="2026-09-26" data-date>26 September 2026</time><span class="note-s" lang="en">Keeps itself up to date, adds an About screen, and fixes the repair drone.</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.2.1.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.2.1"}'>Everything new in 0.2.1</a></div>
</details></li>
<li><details id="v0.2.0">
<summary><span class="note-v">0.2.0</span><time class="note-d" datetime="2026-09-26" data-date>26 September 2026</time><span class="note-s" lang="en">Brings new graphics, company pilots flying alongside you, cargo to pick up, a new sound system, and the whole game in ten languages.</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.2.0.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.2.0"}'>Everything new in 0.2.0</a></div>
</details></li>
<li><details id="v0.1.0">
<summary><span class="note-v">0.1.0</span><time class="note-d" datetime="2026-09-25" data-date>25 September 2026</time><span class="note-s" lang="en">The first public build of SpaceCorps 2027: the SpaceCorps space MMO, rebuilt as a native desktop game.</span></summary>
<div class="note-old-body"><a href="patchnotes-v0.1.0.html" data-i18n="patchnotes.more" data-i18n-args='{"version": "0.1.0"}'>Everything new in 0.1.0</a></div>
</details></li>
</ul>
</section>
<!-- /patchnotes:list -->
</div>
</section>
</main>
<footer class="footer">
<div class="footer-inner">
<div class="footer-brand">
<img src="img/icon-128.png" width="24" height="24" alt="">
<span>SpaceCorps © 2026</span>
</div>
<nav class="footer-links" aria-label="Elsewhere" data-i18n-aria-label="footer.label">
<a href="https://discord.gg/VjW67tkrTb">Discord</a>
<a href="wiki.html" data-i18n="nav.wiki">Wiki</a>
<a href="https://github.com/SpaceCorps/play/releases" data-i18n="footer.releases">Releases</a>
<a href="https://github.com/SpaceCorps/play/issues" data-i18n="footer.issues">Report a problem</a>
<a href="patchnotes.md">patchnotes.md</a>
<a href="patchnotes.json">patchnotes.json</a>
<a href="https://spacecorps.github.io/">SpaceCorps Hub</a>
</nav>
<p class="footer-note" data-i18n="footer.note">Built on the Space3d engine. No cookies, no trackers: this page only remembers your language on your device and asks the game server whether it is up.</p>
</div>
</footer>
<!-- patchnotes:script -->
<script>
/* patchnotes-site 1: opens a release of the patch notes page's list in place. Written between the
patchnotes:script markers by scripts/release/patchnotes.py from
scripts/marketing/patchnotes-site/notes.js in the game repository: edit it there, not on the site.
Every release but the newest is a <details id="v0.4.8"> whose notes are not in the page: the
first time it opens, its fragment (patchnotes/v0.4.8.part.html) is fetched and put in. The page
opened at #v0.4.8 opens and loads that release. Without JavaScript (or when the fetch fails)
the link inside the entry opens the release's own page, patchnotes-v0.4.8.html. */
(function () {
'use strict';
var list = document.querySelector('.note-index-list');
if (!list || !window.fetch) return;
function load(d) {
var state = d.getAttribute('data-state');
var body = d.querySelector('.note-old-body');
if (!body || state === 'loading' || state === 'done') return Promise.resolve();
d.setAttribute('data-state', 'loading');
d.setAttribute('aria-busy', 'true');
return fetch('patchnotes/' + d.id + '.part.html')
.then(function (r) { return r.ok ? r.text() : Promise.reject(new Error(String(r.status))); })
.then(function (html) { body.innerHTML = html; d.setAttribute('data-state', 'done'); })
.catch(function () { d.setAttribute('data-state', 'failed'); })
.then(function () { d.removeAttribute('aria-busy'); });
}
// The site scrolls smoothly; a visitor who followed a link to a release wants to be there.
function jump(d) {
try { d.scrollIntoView({ behavior: 'instant' }); } catch (e) { d.scrollIntoView(); }
}
function remember(hash) {
try { history.replaceState(null, '', hash || location.pathname + location.search); } catch (e) { /* keep the address */ }
}
// A release opened by the visitor is in the address, so that the link can be shared.
list.addEventListener('toggle', function (e) {
var d = e.target;
if (!d || d.tagName !== 'DETAILS' || !d.id) return;
if (d.open) {
load(d);
remember('#' + d.id);
} else if (location.hash === '#' + d.id) {
remember('');
}
}, true);
// The address names a release: open it, load it and scroll to it (again once its notes are in,
// unless the visitor has scrolled meanwhile).
function follow() {
var id = '';
try { id = decodeURIComponent(location.hash.slice(1)); } catch (e) { return; }
var d = id ? document.getElementById(id) : null;
if (!d || d.tagName !== 'DETAILS' || !list.contains(d)) return;
var moved = false;
function stop() { moved = true; }
['wheel', 'touchmove', 'keydown', 'mousedown'].forEach(function (name) { addEventListener(name, stop, { once: true, passive: true }); });
d.open = true;
jump(d);
load(d).then(function () { if (!moved) jump(d); });
}
addEventListener('hashchange', follow);
follow();
// An entry that is open in the page (a newest release too long to be in the page itself).
Array.prototype.forEach.call(list.querySelectorAll('details[open][id]'), load);
})();
</script>
<!-- /patchnotes:script -->
</body>
</html>