Skip to content

1.8.6

Compare
Choose a tag to compare
@cs-util cs-util released this 28 Dec 14:16
· 811 commits to master since this release
85396ca

Most relevant changes:

  • Added an IgnoreRootCanvas component to allow having UIs in the scene that are ignored by the UI system
  • Made it easier to find and add the Safe Area Resizer for UI screens (eg mobile screens with notches where not the full display can be used for normal UI screens
  • Added methods to calculate both the Median and the Mean(Average) of an arbitrary collections
  • Added a Delaunay mesh triangulator using the PolygonCollider2D logic that comes with Unity
  • Improved mesh triangulation to ensure that the global pose of the triangulator does not affect the created mesh
  • Added a helper method for reading from zips
  • Refactorings to improve the new approach to read from zip files
  • Added extension method variants to allow dictionary.AddRange(..)
  • Added json diffing extensions
  • Setting stream to start before saving it to disk, and after save resetting curser again in case it will still be used
  • Switched to new image placeholder online service and making sure error instructions for stream resetting failed are clear
  • Introduced a new GoogleSheets loader logic that does not need API keys and instead uses published CSV files ( In Google Sheets go to File => Publish to the web => Publish there as a CSV )
  • Added a setter and getter for the UserAgent that directly forwards to the used httpClient
  • Fully deprecated the old UnityRestFactory now that it was marked as outdated for a while
  • Improved performance of IsNullOrEmtpy check for collections
  • Changed the interface of the gps math method to zeroPoint.CalcRelativeCoordsInMeters(double latitude, double longitude, double[] resultCoordsInMeters) so the zero reference now has to still be a IHasLatLong but the other coordinate can either be a IHasLatLong or directly the lat long doubles from another datastructure (where you might not have control over)
  • Deprecated AssertV2 and introduced an AssertV3 with the same methods except that its optimized to only generate the error messages if the assertion fails
  • Switched over to use new AssertV3 class everywhere in cscore internally
  • versioned missing meta file
  • Always enque into main thread action list if possible to ensure consistent execution order where possible. With that also deprecated the function variant that is not async since it requires direct execution when triggered from the main thread to not get into a possible deadlock where the main thread waits for itself
  • Added an improved version of canvas.IsRootCanvas that compensates for a Unity bug that it will return invalid results during the initialization of a MonoBehavior
  • Added an optional "include start" flag in the SubstringAfter method to provide the same feature as the Substring method
  • Added an improvement to the default logging middleware to not print out the json diff anymore once creating the diff of the entire store state gets too slow
  • Added TaskV2.WhenAnySuccessful() - A method that allows to await the first succesful task execution similar to Task.WhenAny but ensuring that at least one of the tasks was successful, logging the failing tasks by default and throwing an inner exception if all of the tasks fail
  • Added logging for the task.WithTimeout(123); method so that an exception in the original task that was not awaited due to the timeout is not lost and instead logged by default
  • Added a first version of a generic ransac algorithm
  • Fixing compilation problems for some platforms
  • Added an implementation to calculate a weighted median value and added a unit test that demonstrates its usage
  • Turn off power consumption reducer by default when testing in Unity Editor
  • Added a concurrent set that internally uses a concurrent dictionary
  • Fixes for "possible multiple enumerations" in different places
  • Now that the OpenAI image generation api is available switched over to the official one
  • Bugfix in Unity dialog, that caused one of the tests to fail

All changes can be seen here:
v1.8.5...v1.8.6