1.19.0 is the first production release since 1.17.0. It is the testing line 1.18.0 to 1.18.32 promoted as it stands: every change in it was made, explained and played in one of those testing builds, and each one's full notes (what changed and why, with the numbers) are linked below. The short version is on the updates page.
- Network protocol 44 (1.17.0 used 42). A 1.19.0 game only plays with a 1.19.0 server (or a 1.18.22 to 1.18.32 testing build), so update games and servers together.
- Demos keep playing: demos recorded with 1.17.0 (protocol 42) and the 1.18 testing builds (43, 44) are converted the first time you start 1.19.0, with the originals kept in
demos/old/<version>/. - Your own maps are unchanged: the map format is still version 2, the same as 1.17.0, so nothing is converted.
This release
VERSION: 1.18.32 -> 1.19.0. Nothing else in the game, the server, the launcher or the tools changes from testing 1.18.32; the version number is the only difference.- Why a minor version and not 1.18.33: the testing line changed the network protocol twice (42 -> 43 in 1.18.7, 43 -> 44 in 1.18.22), the movement, weapons and HUD, and added mode logic, weapon sets, movement equations and bot brains. For players coming from production 1.17.0 that is a new version line, not a patch.
- Built from the testing push that set
VERSIONto 1.19.0 (this changelog is part of that commit): the final-test build, published as the prereleasetest-1.19.0-test.<run>, which the owner checked withdocs/RELEASE_CHECKLIST.mdbefore tagging.
Human-made assets
Human-made assets: 16.3% (100 of 610: 31 by the team, 69 third-party) · AI-made 83.7%
Human-made by category: sounds 90/165 · voices 0/245 · models 0/30 · maps 0/21 · fonts 9/9 · images 1/25 · ui 0/78 · bots 0/23 · gamemodes 0/14. Every sound, voice line, model, map, font, picture, UI page, bot area and game mode counts as one item (assets/provenance/).
Included testing versions
Every testing build since 1.17.0, oldest first. Each link is that version's full notes. There is no 1.18.8: the number was used during development and renumbered (the CI change shipped as 1.18.9, the font work as 1.18.10), so no 1.18.8 build or changelog was published.
- 1.18.0: a latency and performance update: Latent Sync, late mouse read, raw mouse thread, WASAPI audio and exclusive audio on Windows, the F3 mouse-to-photon graph, and 16-33% cheaper server ticks.
- 1.18.1: STOP HOSTING (and the other ways a hosted game ends) no longer closes the game on Windows.
- 1.18.2: stronger A/D air strafing, a weaker W-only air turn, quick dash as a shorter cooldown, a super dash hop that scales with the look angle, sniper body 40, and six fixes.
- 1.18.3: dedicated servers use far less CPU (about 30% of a core down to 10-12%), and late ticks or short bandwidth lower the tick or snapshot rate.
- 1.18.4: the server half of the reliable-event fix: a big reliable message can't get stuck behind crowded snapshots.
- 1.18.5: shipped light bakes, about 7x cheaper text, no once-a-second stutters, 3D sounds that follow you, reliable events delivered in order, and a batch of fixes.
- 1.18.6: replacement sounds can keep their own loudness (
sound-levels.txt), and the local sound editor. - 1.18.7: instant weapon switches, dashes 0.6 s apart with a 1.2 s recharge, new wall bounce and super dash speeds, the round clock back, a clearer dash bar. Protocol 43.
- 1.18.9: CI builds and packages only; gameplay and UI tests run locally, sanitizers only on a build marked as the final test. Nothing in the game.
- 1.18.10: Rubik Bold as the UI font, and SETTINGS > FONT with Work Sans, Quark Classic, game-styled look-alikes and your own fonts.
- 1.18.11: bot brains: bots can play
.qbrainfiles (addbot ... brain=<name>,--botbrain); the default bot is unchanged. - 1.18.12: ranked shows only the shipped models, the arms, bomb, cart and gates become replaceable models, and the local model editor.
- 1.18.13: the UI redesign: new title logo, card pickers, six settings tabs, colour pickers, text that fits in every font, and a tidier map editor.
- 1.18.14: Settings > DEVICES (sound output, microphone, monitor, refresh rate), EFFECTS VOLUME and ANNOUNCER VOLUME.
- 1.18.15: dedicated servers with no humans on pause; the hide and seek seeker gets hiders within 24 m without a line-of-sight check.
- 1.18.16: everyone hears the locator ping; three never-played announcer lines removed.
- 1.18.17: mode logic in custom modes (scoring, rounds, respawns, timers), and the local gamemode editor.
- 1.18.18: Settings > DEVICES rows fixed for the UI test.
- 1.18.19: weapon sets in custom modes (every weapon number plus hit and kill rules), and the local weapons editor.
- 1.18.20: QUIPS on/off and QUIPS VOLUME; quips are only hype lines, and your own go in
voices/<voice>/quips/. - 1.18.21: the gameplay feel update: taps never lost, enemy movement sounds, the death screen, hit sparks, spectating and spawn changes, payload and multi point round calls, forfeits on emptied servers.
- 1.18.22: movement equations in custom modes, and physics editor v2. Protocol 44.
- 1.18.23: clearer calls in bomb, payload and FFA.
- 1.18.24: bots path round walls and crates, bot perception spread over ticks, HOST GAME > ADVANCED > BOT BRAIN.
- 1.18.25: developer tests only: automatic map grading removed (the map safety checks stay), the local test run about 1:50 instead of 5 minutes.
- 1.18.26: after a throw, the view model and HUD go straight back to your weapon; faster Windows tests.
- 1.18.27: crossbow body back to 50 (1.18.21's 49 dropped by the owner): two body bolts kill again.
- 1.18.28: the hyper hop 3x higher (replaced by 1.18.31).
- 1.18.29: a live HUD preview on Settings > HUD.
- 1.18.30: a server needs late ticks in two 3-second checks in a row before it lowers its tick rate; 12 more games in the physics editor's comparison.
- 1.18.31: the hyper sends up to 90% of its speed up off the floor; dashes aim up at most 40% and down at most 90%.
- 1.18.32: grappling a wall you stand against no longer replays the grapple sound every frame.
Changes that a later testing build replaced, so 1.19.0 has only the later one:
- Crossbow body damage: 50 -> 49 in 1.18.21, back to 50 in 1.18.27. 1.19.0 is 50 body / 75 head, as in 1.17.0.
- The hyper (super dash): a hop scaled by look angle (1.18.2), then speed before the dash + 5 instead of a flat 30 (1.18.7), a 3x higher hop (1.18.28), and finally up to 90% of its speed turned upward (1.18.31). 1.19.0 has the 1.18.7 speed with the 1.18.31 launch.
- Quick dash: a 0.4 s cooldown instead of a third charge (1.18.2), then 0.2 s apart with a 0.4 s recharge (1.18.7).
- Server tick-rate step-down: on 4 ms late ticks at the next break (1.18.3), then only after two bad 3-second windows in a row (1.18.30).
- The UI font: Work Sans Bold (1.17.0) -> Rubik Bold (1.18.10); Work Sans stays as a choice in SETTINGS > FONT.
Compatibility
- Network protocol 44 (
kProtocolVersion, src/game/gamedefs.h). 1.17.0 is 42, the testing builds 1.18.7 to 1.18.21 are 43, and 1.18.22 to 1.18.32 are 44. A 1.17.0 client joining a 1.19.0 server, or the other way round, gets the usual version-mismatch reject. 1.18.22 to 1.18.32 testing builds connect, but the movement changes in 1.18.28, 1.18.31 and 1.18.32 run on both ends, so a mixed game and server correct some dashes, hypers and wall grapples once: play 1.19.0 against 1.19.0. - Dedicated servers update to 1.19.0 by themselves within a few minutes once no match is running (they follow signed production releases only). Until a player updates, they can't join those servers. Each box's testing server stops once its match ends, since no testing build is newer than production; it starts again with the next testing build.
- Demos: every older protocol has a converter (src/game/demo.cpp). Demos from 1.17.0 and the 1.18 testing builds are converted at startup, the originals kept in
demos/old/<version>/; demos from 1.11 on keep playing, as before. A demo that can't be converted says which version recorded it. - Maps: map format version 2 (
kMapFormatVersion, src/game/map.h), unchanged since 1.17.0. Your own maps are not converted. The shipped maps now carry their baked lighting (maps/lightcache/*.qlbz, about 12 MB), and the light bake version changed in 1.18.2, so a map you made bakes its lighting once more on its first load. - Settings and files: every setting is kept through the UI redesign; new settings (font, devices, effects / announcer / quips volumes, bot brain) start at their defaults. A custom mode file from 1.17.0 keeps working: DASH COOLDOWN now also scales the 1.2 s recharge, and SUPER DASH BOOST is read as the m/s a hyper adds (standard 5). Saving a custom mode keeps its logic and any keys this version doesn't know.
- Overrides in ranked: ranked matches and time trials ignore your own model overrides, mode logic, weapon sets, movement equations and bot brains; they always play and show the shipped game.
- Launcher: unchanged since 1.17.0. Since 1.18 every package carries a
quark_launcherbuilt from thelauncherbranch, which has no code changes since 1.17.0, so a launcher only changes when that branch does. It installs 1.19.0 from the signedquark-<platform>.qpakas before; the download is about 12 MB bigger (the shipped light bakes) and 0.5 MB more for the bundled fonts. - Website and Discord bot: they now live on their own branches (
site,discord-bot); the production run checks thesitebranch out to publish the website, with the updates pages made from these changelogs. - Ranking server: no change to the Worker or its D1 schema in this line (no new migration); ranked results from 1.19.0 servers are rated as before. Ranked on testing servers stays unrated.