Resonite · published
Hello everyone!
I got another update for you! I don't like pushing them on Friday, but this one was meant to go out yesterday, but due to GitHub actions being down for over 8 hours I could not.
There's a whole bunch of community contributions from @stiefeljackal, @Earthmark and @WallTack to our libraries, fixing up a number of things and doing some pre-work for more contributions!
The Linux audio issue with 100 % pinned CPU thread should also now be fixed by @bluecyro!
IMPORTANT: We also changed the config for starting worlds (mostly affects headless) - the forced port is now specified per protocol. This lets you specify port for LNL, QUIC & TCP, rather than only LNL.
Your existing config will work - it'll map to LNL, but we strongly recommend switching to the new format ASAP, as we'll eventually remove the legacy option.
This also means you can setup port for the QUIC protocol and do more experimenting with it! It would be helpful to gather some data and see how the protocol fares against LNL. I'll be opening a testing thread soon, so keep an eye on #Devlog
- Reworked port configuration to allow specifying forced port for each protocol independently
-- This fixes only LNL protocol getting the forced port, with TCP & QUIC getting random ones (reported by @bredo, issue #6901)
-- Use `forcePorts` with a dictionary to specify the ports in the config (see example below)
-- Legacy `forcePort` option explicitly maps to LNL for compatibility - however it's **strongly** recommended to migrate to the new configuration as this might get removed at some point
-- "ForcePort" in the new session dialog maps to LNL for legacy reasons - we plan to completely replace this dialog at some point
-- If protocol is not specified in the list, random port (within configured range) will be used
"forcePorts": {
"lnl" : 12000,
"quic": 12001,
"tcp" : 12002
},
- Updated Renderite library to 1.1.3 (see full changes below)
- Updated Elements.Core library to 1.0.3 (see full changes below)
- Converted all other Ban Checks in our Cloud Api to use Distributed Caching (implemented by @ProbablePrime)
- Fixed world crashing due to IsHDR check on RGB565 or BGR565 textures (reported by @rucio, @arandommeatball, @stiefeljackal, issue #5513,
fix contributed by @stiefeljackal)
- Fix the audio playback loop on Linux having too small of a delay and causing an infinite loop to pin one thread at maximum CPU usage (reported by yosh, issue #1283, fixed by @bluecyro)
-- Now, the user's system will clock the audio output instead
-- This may also help crackling due to using a dedicated thread instead of sharing the threadpool
- Fix the audio buffer never being fully filled on Linux (fixed by @bluecyro)
https://github.com/Yellow-Dog-Man/Renderite/releases/tag/1.1.1
- feat: setup unit test projects and workflow by @stiefeljackal in #20
- fix(texture-format): add missing formats in IsHDR check by @stiefeljackal in #21
https://github.com/Yellow-Dog-Man/Elements.Core/releases/tag/1.0.3
- Restore generation of XML docs by @WallTack in #24
- Removed app.config, as it's dotnet framework specific by @Earthmark in #26
- Project wide clrf->lf replacement, this found the lingering files. by @Earthmark in #41
- Marked SingleItemEnumerable as deprecated, newer language constructs support this by @Earthmark in #36
- Added deprecation markers to Elements.Core/Collections/ListEnumerableWrapper.cs by @Earthmark in #38
- Test using cleanup by @Earthmark in #27
- Fixed command line args not getting passed to the benchmark runner. by @Earthmark in #30
- Removed StringTree by @Earthmark in #44
- Updated nuget dependencies in the test assembly, including with code coverage! by @Earthmark in #31
- Update Renderite.Shared to 1.1.3 by @Frooxius in #45