NetworkIdentity.AssignAssetId() is now saved properly. fixes a bug where duplicated prefabs and prefab variants would still have the original prefab's assetId on disk, even though the Inspector showed the proper one. (d7fbee9)
NetworkBehaviour.OnValidate can't find parent NetworkIdentity because both the Unity define and GetComponentInParent() are broken in 2023.3 LTS. (4ec8036)
Batching VarInt size header added to fix custom serializated NetworkMessages with size mismatch corrupting the next message in a batch (#3516) (13fd721)
NetworkBehaviour OnValidate #ifdef adjusted for Unity 2020.3.19 support (629e50e)
NetworkClient TimeInterpolation: add 'current' bufferTimeMultiplier field to not overwrite the initial SnapshotSettings.bufferTimeMultiplier. Allows us to reset bufferTimeMultiplier in InitTimeInterpolation and prepares for ConnectionQuality. (c599fb6)
PrepareToSpawnSceneObjects checks netId instead of activeSelf [fixes: #3541] (#3543) (51c7162)
SnapshotInterpolation.Insert() now has a bufferLimit to avoid ever growing snapshot buffers on extremely low-fps clients (37bbd7e)
Weaver now weaves NetworkBehavious in nested type definitions (#3524) (6fb0b33)
Weaver SyncVarAttributeAccessReplacer now detects modifying [SyncVar] in another assembly and logs an error, instead of silently failing at runtime (#3525) (2b6212b)
Performance Improvements
NetworkTransformBase SortedLists now allocate with a default capacity to avoid early resizing & allocations (60936f0)
Weaver ILPostProcessorAssemblyResolver FindFile caches exeName, dllName for ~0.1ms speedup per call (443d154)
Weaver ILPostProcessorAssemblyResolver FindFile searches dllname / exename in one iteration & without Linq (eb33dfd)
Weaver ILPostProcessorAssemblyResolver uses ConcurrentDictionary to avoid multithreading locks (c6be031)