1.43.0 - 2022-03-06
- Add warmup capacity method to the prefab pool service.
- Add more prefab pool service helper extension methods.
- Remove transform parent-relative position when Spawning or Recycling prefabs.
- Allow to count filtering active prefabs in the prefab pool service.
- Disable prefab gameobject container on prefab pool service start.
1.42.0 - 2022-03-03
- Fix stack overflow when throwing exceptions inside an event callback in the EventBus service.
- Fix hexadecimal string conversion to Color when the string starts with the hash character.
1.41.0 - 2021-10-11
- Add cast from Guid to string.
- Add Guid, Color and Color32 casting for JNode.
- Add DateTime, Guid, Color and Color32 casting for JDict.
- Add missing cast support for DateTime, Guid, Color, Color32 types in DataTypeConverter.
- Rename some Unity Color related casting methods.
- Add Gradient generic class as base for ColorGradient and ValueGradient.
- Update README.
1.40.0 - 2021-10-10
- Add ValueGradient and ColorGradient classes.
- Add Unity inspector ReadOnly attribute.
- Add Color and Color32 cast support.
- Add DateTime cast helper extension methods.
- Add HasValue helper method to JsonObject class.
- Add Guid and DateTime (from unix timestamp) casting from string.
- Add JSON GetValue helper methods for Guid and DateTime (from unix timestamp).
- Add JSON GetValue helper methods for Color and Color32.
- Add IsValidHjson helper extension method for string.
- Add JData cast helper methods for Guid, Color and Color32.
- Revert BehaviourLinkHandlers will now return true in IsDestroyed property if alwaysActive is false and the Behaviour is disabled.
- Fix DateTime cast to string method ignoring format parameter.
- Check if key exists when getting values in JSON objects.
- Allow default fallback value for DateTime casting from unix timestamp strings.
1.39.0 - 2021-06-19
- Add Unity Hot Reloading compatibility.
- Add Unity custom property drawers for Color and Color32 structs.
- Add Unity custom property drawers for TimeSince and TimeUntil structs.
- Add new extension methods WithRed, WithGreen, WithBlue and WithAlpha to Color and Color32 structs.
- Add new SerializableDictionary classes.
- Add new SerializableType struct.
- BehaviourLinkHandlers will now return true in IsDestroyed property if alwaysActive is false and the Behaviour is disabled.
- Remove redundant extension methods for FSM class.
- Move SimpleFSM to FSM folder.
- Fix StopCurrentEventPropagation method for EventBus service.
- Rewrited SimpleFSM class.
- Move UnityQuit and UnityQuitRequested events to native Core.
- Make all Color structs serializable.
- Make Span, TimeSince, TimeUntil structs serializable.
1.38.0 - 2021-05-31
- Add new TimeSince, TimeSinceUnscaled, TimeUntil and TimeUntilUnscaled structs.
- Add new string extension method to remove invisible characters.
- Add new string extension method to sanitize paths removing path/file invalid characters.
- Add new extension methods for Int values (IsWithin and IsBetween).
- Add new Base64 extension methods for string.
- Add new MD5 extension methods for string and byte arrays.
- Add new Clamp01 extension method to Color.
- Add new Cast method to get a formatted size string.
- Add new Cast methods to get a formatted time from int or long values.
- Add new constructor to ObjectPool with desired capacity.
- Add new Swap method to JDict and JList classes.
- Add new JNode related extension methods for IService, State and Behaviour.
- Add new helper GetDataClass methods to initialize class based JData nodes in JDict nodes.
- Add new JNodeLinkHandler class.
- Change State default Condition return value to false.
- Remove default clamping to Color struct to allow HDR colors.
- Fix Unity Input Manager service provider error on MacOS.
- Fix JData Bind methods when node ref is null.
- Fix JNode missing events on Detach.
- Add IEquatable interface to all structs.
- JNode subscribe events now have event type info (Add, ValueChange, Move, Remove, Clear).
- Remove the need to use the Value property when using JData nodes as values.
- Improve usage of generic JList nodes on foreach iterations or when using the indexer operator.
- Reduced (or removed in some scenarios) the GC allocations when using JNodes.
1.37.0 - 2021-05-24
- Add csproj file to allow compiling and using the library for native NET projects.
- Remove all NET Reflection usage.
- Remove usage of NET Reflection (Activator.CreateInstance) in ServiceContainer and CacheService classes.
- Improve Hjson coding convention.
- Update VSCode settings.json file to handle generated folders by dotnet compiler.
- Update .editorconfig to include generated folders by dotnet compiler.
- Update .gitignore to exclude generated folders by dotnet compiler.
1.36.0 - 2021-05-21
- Add maxDepth parameter to the ToHjson/ToJson methods for JNode.
- Add maxDepth parameter to the ToString method for JNode.
- Add generic JList class.
- Add new GetFriendlyName extension method for Type.
- Separate all IService, State and Behaviour extensions in different files.
- Improve type naming in all log messages.
- Update README.
1.35.0 - 2021-05-17
- Add new Data feature (JNode, JDict, JList, JData, JRef classes).
- Add extensions methods for the new Data feature.
- Add customized Hjson/Json library.
- Add Hjson/Json extension methods.
- Add new Cast class to convert the type of arbitrary data without throwing exceptions.
- Add new DataTypeConverter class to convert the type of arbitrary data.
- Add several new constructors to Clock, Timer and FrameTimer classes.
- Add new Reset method to ITimer interface.
- Add new extension methods for IDictionary.
- Rename DataService to CacheService.
- Rename some extension methods static classes.
- Move observable extension methods to Ju.Observables namespace.
- Move GamepadController class to the Ju.Input namespace.
- Move KeyboardController class to the Ju.Input namespace.
- Move MouseController class to the Ju.Input namespace.
- Move InputAction class to the Ju.Input namespace.
- Move InputPlayer class to the Ju.Input namespace.
- Fix LogUnityService error when logging messages with curly braces.
- Fix Observable Value set property.
1.34.0 - 2021-04-12
- Fix InputService load service error.
- Fix EventBus stack overflow bug when a subscriber action exception is raised and other cases.
- Fix Input delta mouse precision when using both providers from Unity.
- Fix Unity service callback bug when trying to close the app.
- Fix Stop method in timers.
- Add new internal service cache for all internal service usage.