Commit Graph
100 Commits
Author SHA1 Message Date
PJB3005 f600a84ad4 Version: 277.2.0 2026-06-24 02:55:06 +02:00
PJB3005 b8c946a274 Release notes 2026-06-24 02:54:57 +02:00
PJB3005 7cfce43633 Version: 277.1.0 2026-06-20 20:34:37 +02:00
PJB3005 8af60684da Update release notes 2026-06-20 20:34:27 +02:00
PJB3005 24da77408e Release notes for c1919263f4 2026-06-20 20:06:10 +02:00
PJB3005 f41b2d5faf bump natives to 0.2.5 2026-06-20 20:01:51 +02:00
PJB3005 1a09f17dad Add HBox and VBox convenience types. 2026-06-20 03:42:07 +02:00
PJB3005 fbab678058 Add FormattedStringBuilder for safely constructing markup with code. 2026-06-20 03:36:49 +02:00
PJB3005 a4f4275572 Add IUserInterfaceManager.GetRootForMouse and Popup.OpenAtCursor 2026-06-20 00:21:09 +02:00
PJB3005 30cac6ec2a Add CommandParsing.EscapeCommand 2026-06-20 00:10:04 +02:00
PJB3005 a1a03d9fa1 Allow specifying tooltip in cmdlink tag 2026-06-19 22:50:15 +02:00
PJB3005 ead6018a6a Add markup escaping Fluent functions 2026-06-19 22:49:34 +02:00
PJB3005 51cdfb6b7e Add "hidden" console commands 2026-06-18 10:39:35 +02:00
PJB3005 6d5212916d Update submodules for lscache gitignore 2026-05-26 17:26:23 +02:00
PJB3005 08a3d120b7 Version: 277.0.0 2026-05-08 19:54:05 +02:00
PJB3005 05d7b3234a Update release notes 2026-05-08 19:45:04 +02:00
PJB3005 d21ea73c86 Update CEF to 147
OpenDream is BACK
2026-05-08 19:28:25 +02:00
PJB3005 57d9d1f263 Test warning fixes 2026-05-08 13:28:07 +02:00
83c2a1be11 [Dependency] source generator part 2 (#6550)
* [Dependency] source generator

No more reflection, no more codegen at runtime

Also various changes to Roslyn helpers to make this easier to write.

Requires all types with dependencies to be partial and not have readonly dependency fields. An analyzer enforces this at warning level, the previous injection strategies have remained in the code *for now* as a fallback.

No fallback is available for [field: Dependency] properties, due to a Roslyn bug.

Code Fixes exist. We love Roslyn

* Apply dependencies generator changes to all code

* Release notes

* Preprocessor got hands

* Handle nullable dependencies

These are bad but gotta deal with it.

* Apply suggestions from code review

Co-authored-by: Moony <moony@hellomouse.net>

* Fine, let's not use collection expressions

---------

Co-authored-by: Moony <moony@hellomouse.net>
2026-05-08 12:38:33 +02:00
b4eb85ad3c [Dependency] source generator (#6549)
* [Dependency] source generator

No more reflection, no more codegen at runtime

Also various changes to Roslyn helpers to make this easier to write.

Requires all types with dependencies to be partial and not have readonly dependency fields. An analyzer enforces this at warning level, the previous injection strategies have remained in the code *for now* as a fallback.

No fallback is available for [field: Dependency] properties, due to a Roslyn bug.

Code Fixes exist. We love Roslyn

* Release notes

* Handle nullable dependencies

These are bad but gotta deal with it.

* Apply suggestions from code review

Co-authored-by: Moony <moony@hellomouse.net>

* Fine, let's not use collection expressions

---------

Co-authored-by: Moony <moony@hellomouse.net>
2026-05-08 12:38:02 +02:00
Pieter-Jan BriersandGitHub 9b595eb979 Analyzer to detect nullable dependency fields (#6553)
* Analyzer to detect nullable dependency fields

Does nothing, no point in it.

* Release notes
2026-05-07 21:44:11 +02:00
PJB3005 47a1e63999 Fix broken XML doc on IKeyBinding.GetKeyString() 2026-05-07 17:53:50 +02:00
PJB3005 9b96e926d5 Fix doc comment in EntitySerializer 2026-05-07 17:51:12 +02:00
PJB3005 9a00570933 Previous commit except I don't check out the wrong commit this time. 2026-05-05 22:05:12 +02:00
PJB3005 4d9bfb146e Make ComponentNetworkGenerator use IPartialTypeInfo
Allows it to support internal types and probably more stuff.
2026-05-05 22:02:59 +02:00
PJB3005 83c05413e8 Add MarkupNode.IsPlainText helper
Was reviewing https://github.com/space-wizards/RobustToolbox/pull/5633 and figured this would make sense.
2026-05-05 19:20:22 +02:00
PJB3005 686c47a193 Release notes for ecfaa68ae6 2026-02-08 14:11:50 +01:00
PJB3005andkaylie fd27f315cb Add more MapLoaderSystem TextReader/TextWriter overloads
Co-authored-by: kaylie <moony@hellomouse.net>
2026-02-08 14:04:09 +01:00
PJB3005 ec0c667c33 Add System.StringComparer to sandbox
Fixes #6081
2026-02-05 21:32:59 +01:00
PJB3005 75d0c29973 Add OrderedDictionary to sandbox whitelist
Fixes #6411
2026-02-05 16:38:01 +01:00
PJB3005 5d6dbc18e3 Remove swnfd from ClientDllMap 2026-01-31 22:21:36 +01:00
PJB3005 2722448474 Don't compile new sandbox code outside TOOLS
Fix build
2026-01-31 09:11:24 +01:00
PJB3005 e7f75ab35d Fix size of OSWindows on macOS (& probably Wayland)
The way SDL handles window coordinates passes through the native platform API's behavior instead of trying to make a consistent API, so the way sizes are handled on macOS is different.
2026-01-31 08:13:19 +01:00
PJB3005 8449015cf8 Locate references to bad compiler generated methods in sandbox
Should help pinpoint issues from params arrays and similar.
2026-01-30 10:19:57 +01:00
PJB3005 72d6a42c27 Fix release notes for previous version 2026-01-29 01:52:25 +01:00
PJB3005 f509405022 Version: 272.0.0 2026-01-29 01:49:02 +01:00
PJB3005 7bb516f0bf Update release notes 2026-01-29 01:49:01 +01:00
PJB3005 521e7981bc Fix ValidateMemberAnalyzer performance
The analyzer was built to go off syntax nodes. This (AFAICT) meant that the SemanticModel had to be recalculated for every single invocation.

If you don't know what the above means: it basically means the compiler has to re-analyze the entire file.

Fix this by moving it to an operation analyzer so the compiler can properly cache the semantic model.
2026-01-29 01:39:06 +01:00
PJB3005 3bec89aaa5 Fix MapCoordinate spawns using grid-relative rotation
This was an undocumented breaking change introduced by https://github.com/space-wizards/RobustToolbox/pull/5915. The behavior does not make much sense: you're specifying coordinates relative to the map, so the rotation should be relative to the map too.
2026-01-26 19:20:12 +01:00
PJB3005 0b93a1b7e2 Version: 271.2.0 2026-01-25 19:11:54 +01:00
PJB3005 51397ba319 Release notes 2026-01-25 19:11:39 +01:00
PJB3005 65b8d0cce2 Add network serialization float NaN sanitization
Apparently cheat clients have figured out that none of SS14's code does validation against NaN inputs. Uh oh.

IRobustSerializer can now be configured to remove NaN values when reading. This is intended to be set on the server to completely block the issue.

Added "Unsafe" float types that can be used to bypass the new configurable behavior, in case somebody *really* needs NaNs.

An alternative option was to make a "SafeFloat" type, and only apply the sanitization to that. The problem is that would require updating hundreds if not thousands of messages in SS14, and probably significantly confuse contributors on "when use what." Blocking NaNs by default is likely to cause little issues while ensuring the entire exploit is guaranteed impossible.
2026-01-25 03:45:50 +01:00
PJB3005 40b10f0dcc Version: 271.1.0 2026-01-20 19:45:58 +01:00
PJB3005 5885549c78 Release notes 2026-01-20 19:45:51 +01:00
PJB3005 89e16d5ba9 Fix Reset() not getting called if client channel disconnects unprompted.
Fixes https://github.com/space-wizards/RobustToolbox/issues/6390
Fixes https://github.com/space-wizards/RobustToolbox/issues/6388
2026-01-20 19:03:32 +01:00
PJB3005 2afef1480e Add debug code to slow down transfer connections 2026-01-20 19:01:56 +01:00
PJB3005 76189579c7 Remove dead code from transfer 2026-01-20 19:01:39 +01:00
PJB3005 114c2bee62 Fix transfer being entirely nonfunctional
Oops
2026-01-20 19:01:32 +01:00
PJB3005 ce96331ec4 Add completions to launchauth command 2026-01-20 01:14:56 +01:00
PJB3005 65ed19fa4e Version: 271.0.0 2026-01-19 21:07:22 +01:00
PJB3005 30cd9eb527 Update release notes 2026-01-19 21:06:58 +01:00
PJB3005 3f556814a5 Cull old release notes
This file was hundreds of kilobytes and genuinely made my Rider lag to edit
2026-01-19 21:06:25 +01:00
Pieter-Jan BriersandGitHub dc1464b462 High-bandwidth transfer system (#6373)
* WebSocket-based data transfer system

* Move resource downloads/uploads to the new transfer system

Should drastically increase the permitted practical size

* Transfer impl for Lidgren

* Async impl for receive stream

* Use unbounded channel for Lidgren

* Add metrics

* More comments

* Add serverside stream limit to avoid being a DoS vector

* Fix tests

* Oops forgot to actually implement sequence channels in NetMessage

* Doc comment for NetMessage.SequenceChannel

* Release notes
2026-01-19 20:44:44 +01:00
Pieter-Jan BriersandGitHub 21581df93d Revert "make SharedAudioSystem.Stop not return early when the current tick has already been predicted" (#6375)
Revert "make SharedAudioSystem.Stop not return early when the current tick ha…"

This reverts commit c41d63be27.
2026-01-19 20:40:31 +01:00
PJB3005 02b64b7386 Show task bar progress bar for loading progress
Using the new API in SDL 3.4.0
2026-01-18 23:30:15 +01:00
PJB3005 36e5f10511 Update SDL3 to 3.4.0 2026-01-18 23:30:15 +01:00
PJB3005 a417a8fd99 Mark DebugTools.AssertNotNull as [NotNull]
This means C# nullable analysis actually recognizes it.
2026-01-18 02:42:23 +01:00
PJB3005 539d0563b8 "Add vorbis" she said. "It'll be easy"
Yeah so this adds libogg, libvorbis, and libopus to the Rust library on the client. This is intended for use by the client soon-ish to replace .NET ogg vorbis implementations and add opus support.

This turns out to be a huge pain thanks to https://github.com/rust-lang/rfcs/issues/2771 . To solve this I ended up compiling the projects as staticlib and creating a build.py script to invoke the linker. This sucks a *lot* and I have yet to write the linker invocations for Linux/Windows, but it's probably the best option we have.
2026-01-04 04:16:20 +01:00
PJB3005 d9740e3a4f Discover the magic of +whole-archive to avoid relying on hacks to load the objective-C++ code in webview native 2026-01-04 04:16:20 +01:00
PJB3005 68f8d00931 Oops, typo. Actual version is 270.1.0 2026-01-01 12:37:20 +01:00
PJB3005 57ad191d02 Version: 170.1.0 2026-01-01 12:35:52 +01:00
PJB3005 8cecdcc8de Oops one last one 2026-01-01 12:35:42 +01:00
PJB3005 de7cdec86e Update release notes 2026-01-01 12:34:53 +01:00
PJB3005 8ffa85c266 Move WebView appbundle stuff to imports folder 2026-01-01 12:31:08 +01:00
PJB3005 af7f4ec8e7 Make RichTextLabel.Text allow all tags again
Fixes #6360

I debated doing this with a special case in Robust.Xaml instead, but decided against it. This is mostly used for static contents anyways.
2025-12-31 23:15:06 +01:00
PJB3005 dd41a7ce44 Use hard links for macOS app bundles
Avoid needing to get executable path from MainModule, which broke the game when run with the dotnet command instead of the bin's apphost. Fixes tests.
2025-12-31 18:46:46 +01:00
PJB3005 c25f6c5e98 Merge branch '25-11-01-cef-update' 2025-12-29 18:19:03 +01:00
PJB3005 1fea48fbf4 Don't disable GPU compositing in CEF
Workaround no longer needed with message pump fixed. I think.
2025-12-28 02:16:23 +01:00
PJB3005 636e287fc5 Add new msbuild files to slnx 2025-12-27 22:29:15 +01:00
PJB3005 d43c3f2caf Merge remote-tracking branch 'origin/master' into 25-11-01-cef-update 2025-12-27 01:50:23 +01:00
PJB3005 a1dddf6af1 More macOS fixes, introduce RUST code 2025-12-27 01:44:57 +01:00
PJB3005 5f1327808d Mark IRobustRandom.GetRandom() as obsolete
This API should've never existed.
2025-12-24 16:03:06 +01:00
PJB3005 6d31d5ba24 Version: 270.0.0 2025-12-23 23:21:37 +01:00
PJB3005 773357a80d Update release notes 2025-12-23 23:21:16 +01:00
PJB3005 63ef667167 Add [NotContentImplementable] to server interfaces 2025-12-23 18:44:01 +01:00
PJB3005 e8f2972f69 Remove unused IPlayerInput interface 2025-12-23 18:43:52 +01:00
PJB3005 ad056e0b45 Add [NotContentImplementable] to client interfaces 2025-12-23 18:34:27 +01:00
PJB3005 6f2c45aab7 Remove unused IRand interface 2025-12-23 18:33:44 +01:00
PJB3005 9a3aad4630 Delete unused IRenderableComponent 2025-12-23 18:25:36 +01:00
PJB3005 e308b89fe6 Log string map size 2025-12-22 17:56:16 +01:00
PJB3005 76727cec5f Give timescale a default value to fix tests 2025-12-22 01:49:45 +01:00
PJB3005 bb81d88653 Add [NotContentImplementable] to shared interfaces 2025-12-20 16:49:35 +01:00
PJB3005 9b02a4e718 Add game.time_scale cvar
Primary use case (other than silly) is to be a better way to speed up/slow down replays.
2025-12-20 16:32:06 +01:00
PJB3005 2e5856b54d Add missing changelog for 077ad1929e 2025-12-20 16:29:35 +01:00
PJB3005 9802963933 Add [NotContentImplementable] attribute 2025-12-20 14:11:36 +01:00
PJB3005 c7ba63ed8e Version: 269.0.1 2025-12-19 18:06:06 +01:00
Pieter-Jan BriersandGitHub 5ec8589f40 Fixed transitive project dependencies in content triggering "no direct project reference" detection. (#6343)
* Fixed transitive project dependencies in content triggering "no direct project reference" detection.

* Add chicken property
2025-12-19 17:55:49 +01:00
PJB3005 a74f755692 Version: 269.0.0 2025-12-17 20:23:20 +01:00
PJB3005 e1b70982f0 Mute NU1510 warnings from .NET 10 2025-12-17 20:22:58 +01:00
PJB3005 23de5c4044 Update release notes AGAIN 2025-12-17 20:11:03 +01:00
PJB3005 0498036f1c Remove kdialog/nfd file dialog implementation
Purely rely on the SDL3 one now.
2025-12-17 20:03:15 +01:00
PJB3005 7826e9e365 Add GitHub workflows to solution file 2025-12-17 18:18:47 +01:00
PJB3005 5476cdeff9 Run all tests on GitHub Actions 2025-12-17 18:18:47 +01:00
PJB3005 ddfa12808c Fix some roslyn tests 2025-12-17 16:55:33 +01:00
PJB3005 e3fb7e620d Add WebView import file 2025-12-17 16:32:14 +01:00
PJB3005 c94e1742cb Fix warning in WebView 2025-12-17 16:29:39 +01:00
PJB3005 27fd737e6a Fix WebView build 2025-12-17 16:29:33 +01:00
PJB3005 568880d09d Update release notes 2025-12-17 00:17:24 +01:00
PJB3005 7f2ec17651 Okay, the Robust API thing didn't pan out. New plan.
It apparently broke clean builds, as the dependencies aren't in the project asset list or something anymore. I tried to fix this, but it seems impossible to do without relying on .NET SDK internals, as there's no point in the NuGet graph walk process that seems cleanly extensible.

Instead let's just do the much dumber thing: a bunch of .props files for content to import. Hooray!

This also means that I have to go through and *explicitly* disable transitive dependencies everywhere in RT. This thankfully isn't too hard.
2025-12-16 22:56:31 +01:00
PJB3005 39e30531e2 Bump to .NET 10
Idk maybe it'll use some more efficient overloads or something
2025-12-16 16:08:55 +01:00