Releases: JohnBaracuda/com.baracuda.runtime-monitoring
Releases · JohnBaracuda/com.baracuda.runtime-monitoring
3.6.0
[3.6.0] - 2024-04-06
Added
- Added IMonitorHandle.GetValueAsObject() to get a monitored object without any formattig. As requrest in #26
Fixed
3.5.4
[3.5.4] - 2023-06-11
Fixed
- Fixed #20 WebGL UI is not updating. This was caused because the callback object was created during subsystem registration which seems to not work.
- Fixed #19 Creating a settings file creates an empty resources folder.
- Fixed a NullReferenceException when starting the game without a settings file as mentioned in #19.
3.5.3
3.5.2
[3.5.2] - 2023-05-26
Fixed
- Fixed an import issue that created multiple Resources folder.
Added
- Added the option to allow updating monitors even when Time.timeScale is below 0.05
Changed
- Moved settings access from Window/Runtime Monitoring to Tools/Runtime Monitoring
3.5.1
[3.5.1] - 2023-04-26
Fixed
- Fixed a NullReferenceException that occured when exiting playmode.
- Fixed runtime NullReferenceExceptions in MonitoringRegistry caused by race conditions during initialization.
3.5.0
[3.5.0] - 2023-04-08
Fixed
- Fixed an invalid cast exception that happened in newer versions of unity.
- Fixed an error that happened when creating an new monitoring settings asset during import.
Changed
- Removed Thread Dispatcher (com.baracuda.thread-dispatcher) as a dependency.
- Moved settings access from Tools/Runtime Monitoring to Window/Runtime Monitoring
3.4.2
[3.4.1] - 2023-03-07
Fixed
- Fixed an exception that occurred in builds when monitoring was set to editor only.
3.4.1
[3.4.1] - 2022-11-13
Fixed
- Runtime Monitoring now works properly with Disabled Domain and Scene reloads in Enter Play Mode Options.
Deprecated (Removing in [4.0.0])
- ISettableValue is now deprecated.
3.4.0
[3.4.0] - 2022-10-30
Added
- Added a filtering editor window: (menu: Tools > Runtime Monitoring > Filter Window)
- Added Documentation in multiple file formats to samples.
- MonitoringMetaAttributes can now be applied to interfaces.
Changed
- Settings are now accessed via: (menu: Tools > Runtime Monitoring > Settings)
- Changed multiple property types in IMonitoringRegistry from returning an IReadOnlyCollection to returning an IReadOnlyList.
3.3.0
[3.3.0] - 2022-10-29
Known Issues
- Monitoring structs that implement IEnumerable or IEnumerable are not monitored like a collection.
Added
- Added better error handling for Editor and Debug builds.
Changed
- Refactored and reworked API to reduce complexity and improve accessibility.
- Removed service locator pattern since it introduced a lot of complexity without offering any benefit.
- Replaced Baracuda.Monitoring.MonitoringSystems with Baracuda.Monitoring.Monitor
- Improved static initialization.
- Updated documentation.
Fixed
- Fixed an issue that occured when registering a monitor target during static initialization / construction.
- Fixed an issue when monitoring a non generic type with a generic IEnumerable interface.
Deprecated (Removing in [4.0.0])
- Baracuda.Monitoring.MonitoringSystems is now obsolete. Use Baracuda.Monitoring.Monitor instead!
- MonitoringSystems.Initialized is now obsolete. Use Monitor.Initialized instead!
- MonitoringSystems.Manager is now obsolete. Use Monitor, MonitoringEvents and MonitoringRegistry instead!
- MonitoringSystems.Settings is now obsolete. Use Monitor.Settings instead!
- MonitoringSystems.Utility is now obsolete. Use Baracuda.Monitor.Registry instead!
- MonitoringSystems.UI is now obsolete. Use Monitor.UI instead!
- MonitoringSystems.Resolve{T} is now obsolete. Use Baracuda.Monitoring.Monitor to access API instead!
- MonitoringSystems.Register{T} is now obsolete. Use Baracuda.Monitoring.Monitor to access API instead!
- MonitoringSystems.SystemNotRegisteredException is now obsolete.
- MonitoringExtensions.RegisterMonitor{T}(T target) is now obsolete. Use MonitoringExtensions.BeginMonitoring{T}(T target) instead!
- MonitoringExtensions.UnregisterMonitor{T}(T target) is now obsolete. Use MonitoringExtensions.EndMonitoring{T}(T target) instead!
- IMonitoringManager is now obsolete.
- IMonitoringManager.IsInitialized is now obsolete. Use Monitor.Initialized instead!
- IMonitoringManager.ProfilingCompleted is now obsolete. Use Monitor.Events.ProfilingCompleted instead!
- IMonitoringManager.UnitCreated is now obsolete. Use Monitor.Events.MonitorHandleCreated instead!
- IMonitoringManager.UnitDisposed is now obsolete. Use Monitor.Events.MonitorHandleDisposed!
- IMonitoringManager.RegisterTarget{T}(T target) is now obsolete. Use Monitor.BeginMonitoring instead!
- IMonitoringManager.UnregisterTarget{T}(T target) is now obsolete. Use Monitor.EndMonitoring!
- IMonitoringManager.GetStaticUnits() is now obsolete. Use Monitor.Registry.GetMonitorHandles(HandleTypes.Static) instead!
- IMonitoringManager.GetInstanceUnits() is now obsolete. Use Monitor.Registry.GetMonitorHandles(HandleTypes.Instance) instead!
- IMonitoringManager.GetAllMonitoringUnits() is now obsolete. Use Monitor.Registry.GetMonitorHandles() instead!
- IMonitoringUtility is now obsolete.
- IMonitoringUtility.IsFontHashUsed(int fontHash) is now obsolete. Use Baracuda.Monitor.Registry.UsedFonts instead!
- IMonitoringUtility.GetMonitorUnitsForTarget() is now obsolete. Use Baracuda.Monitor.Registry.GetMonitorHandlesForTarget instead!
- IMonitoringUtility.GetAllTags() is now obsolete. Use Baracuda.Monitor.Registry.UsedTags instead!
- IMonitoringUtility.GetAllTypeStrings() is now obsolete. Use Baracuda.Monitor.Registry.UsedTypes instead!
- IMonitoringManager.IsFontHashUsed(int fontHash) is now obsolete. Use Baracuda.Monitor.Registry.UsedFonts instead!
- IMonitoringManager.GetMonitorUnitsForTarget(object target) is now obsolete. Use Baracuda.Monitor.Registry.UsedFonts instead!
- IMonitoringManager.GetAllTags() is now obsolete. Use Baracuda.Monitor.Registry.UsedTags instead!
- IMonitoringManager.GetAllTypeStrings() is now obsolete. Use Baracuda.Monitor.Registry.UsedTypes instead!
- IMonitorUnit is now obsolete. Use IMonitorHandle instead!
- IMonitoringSubsystem{T} is now obsolete.
- IMonitorHandle.TargetName is now obsolete. Use IMonitorHandle.DisplayName instead!
- IMonitorSettings.UIController is now obsolete. Use MonitoringUIOverride instead!
- IMonitorSettings.EnableMonitoring is now obsolete. Use IMonitoringSettings.IsMonitoringEnabled instead!
- IMonitorSettings.AutoInstantiateUI is now obsolete.
- ProfilingCompletedListener is now obsolete. Use ProfilingCompletedDelegate instead!