# Release Notes

{% hint style="info" %}
Don't forget to check out our SDK [Upgrade Guide](https://docs.coherence.io/1.1/coherence-sdk-for-unity/upgrading-unity-sdk) when switching versions!
{% endhint %}

### <mark style="color:blue;">1.1.4</mark>

Published 26.03.2024

**Fixed**

* Commands routing pop-up doesn't block information with scrollbars on a few specific scaling settings anymore.
* CoherenceRelayManager no longer causes a stack overflow in rare circumstances if there are errors in the underlying UDP transport.

### <mark style="color:blue;">1.1.3</mark>

Published 08.02.2024

**Fixed**

* Labels no longer overflow when *UI Scaling* is set above 100% (on Windows: *Edit > Preferences... > UI Scaling*).

**Changed**

* Creating a Command on the *Configure Window* now defaults to "Send to Everyone, including yourself".

### <mark style="color:blue;">1.1.2</mark>

Published 23.01.2024

**Added**

* Sample Scenes were added and are now accessible from the package samples section and **coherence**'s *Explore Samples* menu.

**Fixed**

* Source Generator no longer skips baked scripts that don't compile.
* CoherenceNode: no longer teleports to origin when reparenting.

### <mark style="color:blue;">1.1.1</mark>

Published 12.12.2023

**Added**

* `coherence > Local Replication Server > Backup World Data` toggle.

**Changed**

* Hub: Persistence renamed to *Backup World Data*, and disabled by default for local replication servers.

**Fixed**

* Version label in the Hub now copies correct OS information to the clipboard.
* CoherenceSync's Configure window no longer shows the Animator Controller on variables that have the same name as animation parameters.
* No longer send invalid updates when gaining authority.

## 1.1

Published 28.11.2023

{% hint style="info" %}
Check out our [blog post](https://coherence.io/blog/news/coherence-1.1) on 1.1!
{% endhint %}

**Added**

* CoherenceSync: added support for nested Prefabs and hierarchies via `PrefabSyncGroup` component.
* Sample: matchmaking with manual authentication.
* CoherenceBridge: added ability to disconnect from within the inspector.
* CoherenceSync: added support for `byte`, `sbyte`, `short`, `ushort` and `char`.

**Changed**

* CoherenceNode: improved stability.
* CoherenceSync: reworked Play Mode panel on the inspector.
* CoherenceSync: we now allow sending commands while disconnected (method gets called locally).
* CoherenceSync: Configure window shows variables and methods tagged with `[Sync]` and `[Command]`.
* CoherenceScene: editor scene visibility settings split for Clients and Simulators.
* Reworked interpolation. Removed overshoot settings.
* Reworked code generation. Now, it's implemented on the Unity/C#-side.
* Updated JWT implementation, which is no longer provided as a pre-build DLL. This also prevents dependency conflicts.
* HTTP request timeout changed from 1 second to 10 seconds.
* Multi-Room Simulators Wizard: reworked, simplified layout.

**Fixed**

* Game Object getting deselected after adding CoherenceSync.
* Reduced the amount of GC allocs made for better performance.
* Release WebSocket when leaving Play Mode.
* Instantiated InterpolationSettings never getting destroyed.
* Time scale related issues, including jitter and low-FPS scenarios.
* Restrict and warn about the *31 components per entity* limitation.
* Resolve inheritance when sending commands.
* Client Connection Prefab instances initialization issue when using the `CreateScene` API.
* Issue where mixing `Transform` and `RectTransform` networked variables could break.
* Console error after baking when `Upload Schema on Baking Complete` was on.
* Profiler: count messages received.
* Sample: wasn't refreshing Worlds properly in some scenarios.
* CoherenceSync: deleting a Component or a GameObject on the hierarchy spammed errors on the console.
* Uploading WebGL builds now shows the correct information on the progress bar.
* Console errors after deleting a Prefab, when the Coherence Objects Window has been opened and closed.

**Removed**

* Unity 2020 support.\
  (Minimum supported version is now Unity 2021.3 LTS)

### <mark style="color:blue;">1.0.5</mark>

Published 06.10.2023

**Added**

* Extrapolation: Max Overshoot Allowed range increased to \[0, 20].
* Extrapolation: Expose stale factor (defaults to 2).

**Changed**

* Highly reduced GC allocs made while serializing.

**Fixed**

* WebSocket request timings.
* OnValueSynced not triggering when the update packet came with a parenting change.
* Shifting the floating origin now correctly shifts rigidbodies in the same frame without kicking in the physics interpolation.

### <mark style="color:blue;">1.0.4</mark>

Published 05.09.2023

**Added**

* Descriptor Providers: two new properties were added to Bindings, called OverrideGetter and OverrideSetter. Setting this to true will allow you to write custom code blocks in your getters and setters, as opposed to being limited to "UnityComponent.{myCustomCode}".
* CoherenceBridge API: TranslateFloatingOrigin(Vector3d) overload.

**Fixed:**

* Floating Origin: fixed entities jittering on remote clients when Floating Origin is changed.

### <mark style="color:blue;">1.0.3</mark>

Published 11.08.2023

#### Added

* Tutorial Project: Released the [Campfire Tutorial Project](https://docs.coherence.io/learning-coherence/campfire-project) where you will be able to delve into more advanced aspects of how to use coherence.

### <mark style="color:blue;">1.0.2</mark>

Published 10.08.2023

#### Fixed

* CoherenceNode: Reset on OnDisable.
* Reset entity reference when destroying the entity.
* Force re-cache SchemaID after writing Gathered.schema to disk.

### <mark style="color:blue;">1.0.1</mark>

Published 25.07.2023

#### Fixed

* Commands: fixed trying to send a command from an inherited class that is bound in the parent class.
* Bindings: fixed rare cases where RectTransform bindings would be reported as missing.
* Client Connection Prefabs: fixed Client Connection instances duplication when changing Physics scene.
* Coherence Profiler: fixed count of messages received.
* ReplicationServerRoomsService: fixed RemoveRoom methods.
* Optimize window rendering issue where rows would disappear.

## 1.0

Published 04.07.2023

There's a lot to say about hitting the coherence 1.0 milestone, so we did that in a dedicated [blog article](https://docs.coherence.io/1.1/overview/broken-reference). It also provides fuller descriptions of the highlight features that come with 1.0.

Still, nothing beats Release Notes for a quick and comprehensive review of the changes, so go ahead!

If you're updating from version 0.10, please check out our [Upgrade Guide](https://docs.coherence.io/1.1/coherence-sdk-for-unity/upgrading-unity-sdk/upgrading-to-coherence-unity-sdk-1.0.0).

{% hint style="danger" %}
Minimum supported version is now Unity 2021.3 LTS.
{% endhint %}

### New features and functionality

* Lobby Rooms
* Unity multi-scene support
* TCP Fallback
* Client-hosting
* Profiler: a coherence Profiler module for basic networking information.
* Added support for object pooling and a default pooling implementation.
* Protocol: added support for ordered components so parenting component changes always arrive with related position changes.
* CloudService: non-static public API to communicate with your coherence Cloud project.
* Samples: Explore Samples window.
* Samples: New Connection Dialog Samples for Rooms and Worlds.
* Enter Play Mode Options (No Domain Reload) is now fully supported.
* CoherenceSyncConfigRegistry: Added new ScriptableObject to soft reference CoherenceSync assets in runtime and serialize how they are loaded and instantiated.
* INetworkObjectProvider: Added runtime interface to be able to customize how CoherenceSync assets are loaded, with three default implementations (Resources, Direct Reference and Addressables)
* INetworkObjectInstantiator: Added runtime interface to be able to customize how CoherenceSync prefabs are instantiated, with three default implementations (Default, Pooling and DestroyCoherenceSync)
* CoherenceSyncConfigUtils: Editor public API to be able to add, delete and browse CoherenceSync assets, aswell as start or stop syncing variables via scripting.
* CoherenceSync Objects Editor Window: New Editor window to be able to browse CoherenceSync assets, found under coherence => CoherenceSync Objects menu item.
* UniquenessManager: Encapsulated uniqueness logic under CoherenceBridge.UniquenessManager, where you will be able to register unique IDs at runtime.
* AuthorityManager: Encapsulated authority transfer logic under CoherenceBridge.AuthorityManager, where you will be able to send authority transfer requests without accessing the CoherenceSync directly.
* ReplicationServerRoomsService: non-static public API to be able to create, delete and fetch rooms from self-hosted Replication Servers.
* CoherenceSync: Rigidbody Update Mode.
* CoherenceSync: Advanced Uniqueness Options.
* CoherenceSync: CoherenceBridge resolver API.
* Coherence.Editor.UploadBuildToCoherence API.

### Changed

* CoherenceSync: CoherenceSync instances are now automatically synced and unsynced with the network in the OnEnable/OnDisable methods, instead of Start/OnDestroy.
* CoherenceSync: CoherenceSync instances can now be disabled and reused for different network entities, which allows for object pooling to happen.
* CoherenceSync Baked Scripts: Baked scripts for CoherenceSync prefabs are no longer MonoBehaviours.
* Uniqueness: Improved handling unique IDs for Unique CoherenceSyncs when creating serialized scene Prefab instances.
* Updated JWT to 10.0.2.
* Reworked AutoSimulatorConnection component.

### Fixed

* ParrelSync/symlink support: avoid read exceptions on Gathered.schema.
* CoherenceSync: Initialization of disabled objects.
* CoherenceSync: adding the component to a Prefab no longer deselects it.
* Source Generator: avoid running on IDEs, to avoid IO-related exceptions.
* Simulator Slug not being encoded correctly.
* CoherenceNode: race condition when setting parent.

### Removed

* PrefabMapper has been removed in favor of CoherenceSyncConfigRegistry.
* NetworkTime.Time

### Deprecated

* PlayResolver API: Play, PlayClient and PlayResolver have been deprecated in favor of CloudService API.
* Sample UI: the old Sample UI that depended on the PlayResolver API has been deprecated in favor of the new Unity Package Samples.
* CoherenceUUID: This Component is no longer needed and it has been deprecated, the functionality has been baked into the Editor and now works automatically. Prefabs that use this Component can stop using it.
* CoherenceMonoBridgeSender: This Component is no longer needed and it no longer has any functionality, it can be safely removed.
* Client Connection Prefab References: References to the Prefabs in CoherenceBridge have been deprecated. Please use CoherenceSyncConfig references instead.
