-
Slipstream Beta 1.4.0.1
Pre-releaseAll checks were successfulrelease / build (push) Successful in 16m18srelease / flatpak (push) Successful in 6m36srelease / windows (push) Successful in 13m6srelease / arch-package (push) Successful in 14srelease / deb-package (push) Successful in 35srelease / update-manifest (push) Successful in 0srelease / pacman-repo (push) Successful in 9srelease / apt-repo (push) Successful in 4srelease / sign-release (push) Successful in 2sreleased this
2026-10-19 11:20:29 +00:00 | 784 commits to main since this releaseSlipstream Beta 1.4.0.1 -- v1.4.0-beta.1 (
2885660522).Linux x86_64 (glibc >= 2.38, x86-64-v2 CPU): *_x86_64.tar.xz
Ubuntu 24.04+ / Debian 13+ / Mint 22+: *_amd64.deb (sudo apt install ./)
Windows x64 (unsigned; SmartScreen: More info > Run anyway): *_Setup.exe installer, or *_win64.zip to unpack anywhereChanges since v1.3.0-beta.13.
New features
- Mesh TE entries survive LOD face-count changes (stash on shrink, restore on grow) (
56249ce52b) - Preferences > Move & View: add 'Reset the camera when the avatar moves' (
b5ca90f2bf) - #715: store Stats -- this run's writes by class (new / compaction / meta) (
0d224aafb2)
Fixes
- #715: review fixes -- chunked .clod page verify, read-only cluster drop hides the key, placement follows late region ids (
cb7ae7a063) - #715 J2C store backend: review fixes (
1a74f01733) - Regenerate world SPIR-V after the SSR hit-test fix (
4518ae8e46) - Fixes #729: Build > Texture shows read-only face values for objects you cannot modify (
b0c036f693) - Fixes #781: show "..." instead of land impact 0 while the cost is pending (
1bf33e20e0) - Fix About Land opening and refresh behavior (
8990d01fcb)
Other changes
- Version 1.4.0 (
2885660522) - GPU-ready chain lookup without heap allocations (#865) (
1e50e7376e) - GPU-ready textures as per-level store records (#865) (
ae7386988a) - Cache store index: hold the pending pointer in noteUse; drained-index test tolerates allocator slack (#866) (
6897c57689) - Cache metrics: store index RAM (index_bytes, index_records) in the store KV line and JSON (#866) (
33589b3c2a) - Cache store: flat in-memory index, ~153 -> ~67 B per record (#866) (
8ed2c0c626) - Advanced Graphics: Volumetric fog and Volumetric clouds checkboxes (off by default) (
8e0cfed5e2) - Windows build: unambiguous ifstream(path) in the cache migrations; 'far' is a Windows macro in the fog setup (
9ab3188000) - GPU-ready reads: reserve in-flight slots for more urgent reads (
41eeea9e8e) - Cache store read threads settings + GPU-ready read priority (
6d9c69db4b) - Cache store: split async reads into I/O readers + a priority decode pool (
4872e75d9e) - #715 metrics: J2C decode / BC encode stages and GPU-ready read use (
e2c7fb6611) - LLCacheMetrics: read-use and decode-stage blocks (#715, additive) (
219689b7b9) - VK texture residency: pressure-aware idle hold (RenderVKTexHoldIdleSec) (
685ded10e4) - Advanced Graphics: 'Ray-traced reflection fallback' checkbox under Screen Space Reflections (RenderVKRTReflections) (
0350c1dc91) - #715 read diagnostics: count uploads that did not grow the image after a no-drop reread (
ff8cb898b5) - #715 GPU-ready rereads: read diagnostics (SlipstreamGpuTexReadDiag) + RenderVKTexHoldSec (
e729fb598b) - #715 migrations: byte-bounded in-flight window + a files/s cap (no 2 s run-timer waits) (
513b7d04f8) - Regenerate world SPIR-V after the #859 follow-up (
58c9f1c721) - Regenerate world SPIR-V after the blend cull cutoff change (
be522afc5a) - RT reflections (#859): resolve hit-distance weight; forward pass timed apart (
3cd8e06ffd) - Acoustics: foliage muffles a little (kOccFoliage 0.3); RT blend cull only drops invisible faces (alpha <= 1/255) (
78f3d02a3f) - Regenerate world SPIR-V after #718 fog, #719 clouds and acoustics alpha blocking (
c0a0cea089) - RT reflections (#859) round 2: renderer -- tile list, trace/resolve/forward/uber kernels, targets, settings (
a0e6b658a8) - #719 volumetric clouds: UBO update WAR barrier names the CLEAR stage; shadow map generator renamed clean_vol_cloud_shadowmap.comp (no stem clash with #718's stub include) (
8eb797d983) - Acoustics: visible alpha blocks and reflects sound (AudioAcousticsAlphaBlocks) (
11abc769ee) - Volumetric fog (#718): cloud interface includes only where they run (
f5f4d38180) - RT reflections (#859) round 2: shaders -- smooth rigged hits, blend layers, glossy resolve, tile list, uber + forward/water (
906f864a1d) - Volumetric fog (#718): settings (
de9fe1b425) - Volumetric fog (#718): transparent consumers -- alpha-blend FS, water, particles (
ff963d5fad) - Volumetric fog (#718): renderer plumbing -- frame info, binding 45, async placement, apply (
d4d0c2aa09) - Volumetric fog (#718): LLCleanVolFogVK module (
68e15c2a1c) - Volumetric fog (#718): froxel shaders -- inject, light, temporal, integrate, apply (
0402ac79d2) - #719 cloud shadow lookup: CLOUD_SHADOW_SET / CLOUD_SHADOW_BINDING overrides for passes off draw set 0 (froxel hand-off) (
dda260fcc0) - #719 volumetric clouds: LLCleanVolCloudsVK module + renderer integration (
1dbbe6f6f8) - #715: LLFileSystemStore unit test (download + per-packet APPEND flows, rename commit, seek/read, remove, idle-grace and WRITE-close commits, old-file read-through, detach commit) (
05cc2f05c1) - #715: wire assets + cluster LOD onto the cache store (CacheStoreAssets / CacheStoreCluster, default on) (
1a26a2705a) - #715: cluster LOD cache on the segment store (Kind::CLUSTER, range reads), legacy metrics (
7bbb23dd50) - #719 volumetric clouds: shaders (noise, EEP weather map, shadow map, panorama, march, temporal, composite) (
5bd5991004) - #715: mesh disk cache helper -- old sparse files or per-part MESH records in the store (
2518aab9e3) - #715 #705: J2C texture cache on the segment store (CacheStoreJ2C), texture tiers, migration wiring (
c7e9ff401c) - #714: legacy J2C texture cache -> segment store migration (slj2cmigrate) (
89cb2d5abf) - #714/#715: resumable folder->store converter + asset folder converter with the mesh part split (
b1144c2527) - Revert "llcachestore: eviction listeners (additive, #715 metrics)" (
5df99927c2) - #719 volumetric clouds plumbing: frame-info block, draw set 0 bindings 45/46, cloud-shadow consumers (
d7029060aa) - #715: LLFileSystem segment-store backend (injected), staged asset writes, LLCacheMetrics on both paths (
92415ca1eb) - #715: scripts/cache/compare_cache_metrics.py -- side-by-side legacy vs store sessions (
995ad2bc64) - #715: SLCacheMetrics -- store sampling, periodic CacheMetrics log, session JSON, Develop menu (
8cf99f8161) - llcachestore: eviction listeners (additive, #715 metrics) (
6ac6d017ca) - #715: LLCacheMetrics on the legacy J2C texture cache (
6a3cfa8e27) - #715: GPU-ready texture cache metrics on both backends (.gtx files and the store) (
ccfcf610ae) - #715: store Stats -- per-kind disk/raw/segments/evictions, codec + append cost, index load time (
03bb19cf65) - #715: LLCacheMetrics -- hit-only latency, fine percentiles, per-cache startup, reportKV (
64c52199fe) - Regenerate world SPIR-V after #859 RT reflections (
19873171eb) - RT reflections (#859): hold the mark 10 s past the last wanting frame (
04363761f1) - RT reflections (#859): renderer -- mark target, RT reflect pass, consumer + stand-down, settings (
fd4727f35e) - #715: LLCacheMetrics -- consumer-level cache counters shared by the legacy caches and the segment store (
f5d078b2df) - RT reflections (#859): shader side -- reflect-pass mark + RT reflect kernel (
d5da75bd37) - SSR: hit colour from the depth texel's centre; origin-texel samples stateless (
53dfd98c83) - SSR: thickness-verified hits, no behind-occluder smear (avatar reflection) (
65315f92b3) - Regenerate world SPIR-V after the acoustics cost reductions (
88852127c4) - #714: migration follows "finer version wins" for keys the store already has (
74b2ce0b92) - Acoustics: cut GPU cost (room rays every Nth frame, 30 m room range, far-foliage alpha test skipped) (
17d36d9125) - #714: Develop > Cache > Cache Store entries (stats, verify, list, extract) (
05ce54073a) - #715 #714: open the viewer's cache store; GPU-ready textures on it; .gtx migration (
d788485f94) - #715: LLGpuTexCache segment-store backend behind the existing API (
0938d54ce4) - Acoustics: stand down (soft, auto-resume) under VRAM ladder / RT budget pressure (#683) (
283f60b7ed) - Preferences > Sound & Media: Room acoustics checkbox + reverb level slider (#683) (
8b501a7743) - Acoustics: low-pass the reverb send by occlusion (AudioAcousticsSendOcclusion) (
4cf493d5ce) - llcachestore: no re-entrant budget pass; compaction may use the reserve (#708, #709, #711) (
ada8d6c781) - Regenerate world SPIR-V after the #683 acoustics merges (
1281d0970d) - #845: async compute off by default on AMD's proprietary driver with RDNA2 (RX 6000) (
cf499b252b) - llcachestore: segment store core with SSD wear policy and region placement (#708, #709, #715) (
4c26bd0138) - Acoustics (#683): foliage counts 0.25 of a wall (hedge arch beside a building near-dry) (
6dc436ee1c) - Acoustics (#683): open area counts as absorption; size / clutter only when enclosed; foliage soft (
800d5f3e9f) - Cache codec: explicit-policy encodeWith/decodeWith (#708, #715) (
f217675154) - Acoustics (#683): room rays see alpha-mask foliage (alpha-tested), flagged per hit (
abd9c36f9a) - Build > Object: physical Material applies to the whole selected linkset, tentative when prims differ (
f2d7e8418a) - Build > Texture: tint swatches show a plain disabled colour (not the lock) on modifiable objects (
3dbfd8251b) - Build > Texture: lock image only for no-modify objects, ordinary empty swatch for unset maps/tints on modifiable ones (#729 follow-up) (
092b34eb1c) - Asset disk cache: no periodic purge in a second viewer instance (#715, #708) (
e8afebc8a5) - Report tracker: fewer notifications (#853) (
555fc4177e) - CrossedRegion: treat a dead destination circuit as not pre-connected (#850) (
a90f544366) - #683: material + clutter aware room absorption, acoustics retune (
c15a677aec) - CrossingKeep: own vehicle kill from the agent region near an edge (#850) (
b4fa41aa5e) - CrossingKeep: adaptive near-edge grace (#850) (
b809df975b) - Region ring: core exemption before the ring test; keep live core neighbours (#850) (
b24d07009d) - CrossedRegion: connect the destination first if it is not pre-connected (#850) (
84416976b1) - Fast movement Far: lead-time based, lowered gradually (#850) (
060a04bb1e) - Crossing568: log the handoff's starting conditions and settle time (#850) (
d231656991) - Client AO: drop kept-off built-ins that left the avatar's lists (#668) (
5c45c82958) - Client AO: seamless state changes (#668) (
80cd1e0cd4) - #683: keep HUD-attachment sounds dry; no acoustics module on offscreen renderers (
80b6d305da) - Cache codec: per-kind allow_legacy policy (
98247a2ad7) - #683 phase 0: acoustics prototype -- GPU room / occlusion rays drive EFX (
d543a623d5) - #683: EFX acoustics plumbing in the OpenAL engine (inert until driven) (
dd0c3a6400) - Cache codec shim: zstd records behind a versioned header (#713, #715) (
3dbb3611a8) - Vendor Zstandard 1.5.7 (single-file amalgamation) under llcommon/third_party (
a92038ae52) - Script Info: keep holding the helper for a minute after a failure (#425) (
07168164fe) - Area Search: Script Info through the Slipstream Helper bridge (#425) (
9cff3ea88d) - Pipeline compiles: cap in-flight compile memory at 25% of RAM; trim after each batch (
3df839bf30) - Regenerate world SPIR-V after the #843 GTAO term-scale / IGN change (
484544fef8) - Output dither at the tonemap, the first 8-bit quantization (#843) (
f5108e3d31) - #843: GTAO keeps its >1 headroom to blur V (XeGTAO term scale); IGN slice noise by default (
8b07553933) - Regenerate world SPIR-V after the #843 AO merge (
0740fb4a15) - #843: AO temporal accumulator -- reprojected history, the AO's own denoiser (
e746aeffa0) - #843: GTAO slice / step noise -- Hilbert-curve R2 (XeGTAO), AO-owned frame counter (
4ec82c8283) - #840: mask cutoff ceiling for J2C alpha noise (cutoff 255 corner damage) (
c2c14ff0e1) - RT mask: decode mode/flag bits with round(), not +0.5 (#841) (
7434f07789) - Regenerate world SPIR-V after the #841 follow-up cherry-pick (
3caa3e2ed2) - #841: RT sun mask footprint jitter without TAA / FSR; full static history there (
567d4bf205) - Regenerate world SPIR-V after the #843 / #841 cherry-picks (
20447d650a) - #840: legacy mask cutoff keeps LL's half-level slack (cutoff 255 edges) (
4b2c48015c) - #841: RT shadow mask noise advances every frame, independent of TAA / FSR (
ad71515fbe) - #843: GTAO temporal noise -- hashed per-frame offset, no constant-step drift (
17246dc88f) - Regenerate world SPIR-V after the #842 cherry-pick (
30d4151210) - #842: cut only the toward-sun excess of the near haze glow (
cd80074d84) - #842: no haze sun-glow disc on near geometry (RenderVKHazeSunGlowNear) (
103705fd5f) - Regenerate world SPIR-V after the #840 cherry-pick (
61fd0d4ff5) - #840: block encoder keeps alpha-mask texels on their side of the cutoff (
38ff3a5be9) - #631: VKAnimState also covers avatars that leave updateCharacter early (
b79a397f14) - #631: recover avatars stuck in their rest pose; VKAnimState diagnostic (
f034f609ee) - #781: retry object costs that fail to arrive, with backoff (
9f28709a55) - Advanced Graphics prefs: fit small windows, scroll settings, keep OK/Cancel visible (#728) (
c9e67634cd) - Regenerate world SPIR-V after the #835 cherry-pick (
d40337410a) - #835: rigged alpha sort -- nested layers keep one order (LL's quarter-extent distance) (
7c1d79f71a) - #838: modifier-only gesture triggers match with or without their own modifier bit (
8083faf899) - Revert "#838: bare modifier gestures (Shift, Ctrl, Alt) trigger again on the SDL keyboard" (
3ee0a17b66) - #838: bare modifier gestures (Shift, Ctrl, Alt) trigger again on the SDL keyboard (
648cedd6e3) - Regenerate world SPIR-V after #836 merge (
5bf3ced00c) - #836: motion blur -- no tile blocks around still silhouettes, no HDR bleed (
fd6a31452d) - #837: held-grab touch data frozen ~0.5 s by the pick's self-served surface cache (
cde414bcf2) - particle rig: DROP test gets accel; ribbon / flame descriptions match LL (checked against Alchemy) (
a34be74777) - particle rig: accept commands / touch from anyone nearby (test-control alt drives it) (
46183d3ae1) - VK particles: attachment sources from the live attachment point; audit vs LL (#693) (
8e7cc69794) - testctl: particle test rig LSL (#693) -- 22 emitter configurations with expected behaviour (
8abd0ad87d) - Prevent stale parcel data from affecting About Land edits (
3dd9d9b68e) - Keep alpha-coverage mips separate from blended textures (
ae29fe63aa) - Keep IM messages visible after offer notifications (
1a07fba003)
Tickets
SHA-256 of each file is listed in its job log and below as uploads land.
52855b989be42cac588644a5882fa97e2910cc5a776d0ae97e79728fe7f6b856 Slipstream_1.4.0-beta.1_x86_64.tar.xz
02bea38ad4bbda2a638fb19f940ac69cdbf0ddba4eae698d879db6c83c37b164 Slipstream_1.4.0-beta.1.flatpak
d8f50cd794988f81bb15c8eb2e9cbae80488b9751affeb9dff44db675a811e5a Slipstream_1.4.0-beta.1_win64.zip
59ecc0c2549632b4c35777f5d69509aa8dc2ae52fb70775fe053e39757dc9fbd Slipstream_1.4.0-beta.1_Setup.exe
392c546ffb11ae5dc61ba253e3b7a3b4e988bc21ebadb5349cfe71031af4666a Slipstream_1.4.0-beta.1_x86_64.tar.xz.sig
9f6194543a243bd327ec9e6a24c8d013f44c572ccae92c1563f8889871a919f9 PKGBUILD
d5ca951827286c737fb75ae9ebb9b493b805a8603bdde025888fb6914fe8c2d3 slipstream-bin-1.4.0beta1-1-x86_64.pkg.tar.zst
18f7fb991696ee2b959e28a1750c6a28ab5a9fefa011d1fbb300fd0a0d67d8ca Slipstream_1.4.0-beta.1_amd64.deb
5772eac3afac9a9198395994928aeddee46b10967563fd7974f53b30d7f5db79 update-manifest.json
Signed checksums: SHA256SUMS + SHA256SUMS.asc (key C28FDB4A40AA8360D8DF0470AD8E61526C06E929). Verify: https://slipstreamviewer.org/wiki/verify/
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Mesh TE entries survive LOD face-count changes (stash on shrink, restore on grow) (