* Simplify by removing BeforeILHotloadProcessingTrees
* Strip ILHotload attribs when comparing syntax trees
* MethodBodyChanged attribute is versioned to support incremental compiles
* Possible fix for Facepunch/sbox-public#11275
* Whitelist System.Memory and System.ReadOnlyMemory (without pinning)
* Be very explicit with System.Span and System.ReadOnlySpan whitelists, do not allow pinnables
* Be completely explicit with Unsafe IL whitelist, allow Unsafe.SizeOf<T>
* BlacklistCodeWalker can have an allow list
* Compiler blacklist explicitly bans CreateSpan, allows Unsafe.SizeOf<T>
* Whitelist System.IO.InvalidDataException
* Better InlineArray whitelisting for compiler generated code
* WhitelistGen: Creates explicit signatures from wildcard rules
* Claude skill for whitelisting, uses the WhitelistGen tool to be very explicit and makes a good effort to security review
* Move all unit tests to Engine/Tests
* Fix Margin.EdgeSubtract
* Fix Capsule.Contains
* EnvironmentVariables.Remove if it's null
* Fixed ray trace never returning startedsolid
* Fix HistoryList.Navigate on empty list
* Fix GameObject.WorldPosition accepting NaNs
* Fix flex: initial expanding to the wrong grow/shrink
* Translation.TryConvert shouldn't throw on invalid enum strings
* Skip sound file tests on machines with no audio device
Cache and reuse built-in project assemblies instead of recompiling on every editor startup, saving +10s on my machine. (disabled for non-retail builds)
* ! Reimplement SharedArrayPool because it is internal in .net runtime
* ! Expose PublicArrayPool that maps to our copy of SharedArrayPool
* ! CodeGenerator that remaps System.Buffers.ArrayPool.Shared calls to Sandbox.PublicArrayPool
* ! Don't run ArrayPoolUpgrader in full engine builds
* ! Add tests that verifies ArrayPool.Shared replacements
* ! Remove ArrayPool.Shared from whitelist
* ! Build AST from nodes instead of parsing text
* ! Use Reflection to grab Gen2GcCallback instead of event polling
Avoids unnecessary reparsing and allocations by reusing identical trees, and running generators only on what's been modified, significantly reducing incremental compile times for small changes in large codebases.
* Enable CA2000 in editorconfig
* Remove unused CaptureStdOut class
* Add missing dispose calls in Sandbox.Tools
* Add missing dispose calls in tests
* Add missing dispose calls in launchers
* Add missing dispose calls in Topten.RichtTextKit
* Add missing dispose calls in Engine
* Add missing dispose calls in SboxBuild
* Add nullchecks to a few dispose calls
* Fix more missing disposal calls and leaks
* Disable CA2000 for Textures
* Fix disposing too early in ImageFileTextureGenerator
* Fix disposing codec, ownership is transferred to animation
* Add missing using in ByteStream benchmark
* Extended whitelist tests to use the other method of creating a compiler without explicit compiler settings
* Initialize Compiler._config as it's a struct so everything was zeroed before