1.40.0 (2022-07-24)
- Fixed exception when passing null array to ArrayHelper.Add() (38c5068)
- Improved performance of ListHelper.EmptyList() (bb218be)
- Resolved a GUID conflict with old SerializableDictionary (a967057)
- Added SerializedObject.SetHideFlagsPersistently() extension method (0965d89)
- Switched from GUID to assembly names in asmdefs (67002a9)
1.39.0 (2022-06-07)
- Added an option to exclude assembly from editor during import (5f7dea7)
1.38.2 (2022-05-19)
- Fixed the issue with editor icons disappearing randomly (fadd6a7)
1.38.1 (2022-05-13)
- Fixed abstract serializable classes not being considered serializable by type.IsUnitySerializable() (7afc0b2)
1.38.0 (2022-05-13)
- Fixed editor icons missing after exiting play mode (4280803)
- Added Enum.DoesNotContainFlag() extension method (24f68bd)
1.37.1 (2022-05-10)
- Fixed incorrect dependency in SolidUtitlites assembly definition (f8e0bb9)
1.37.0 (2022-05-02)
- Fixed errors related to read-only scenes during build (d8a4220)
- Fixed the prefabs not being found in ProjectWideSearcher (a916bf1)
- Replaced buttons of plus-i and plus-s with a less blurry ones (fa7642d)
- Added ProjectDependencySearcher that searches for SerializedObjects that will be put in a build, or objects that a scene depends upon, etc. (f286e4e)
- Added ProjectDependencySearcher.GetSerializedObjectsFromOpenScenes() method (a54a6ea)
- Added ProjectWideSearcher that searches for all SerializedObjects in the project, or in a certain scene, prefab, etc. (ee3da0b)
- Added SerializedPropertyHelper.FindPropertiesOfType() (fc61190)
1.36.2 (2022-03-15)
- Fixed ReadOnlySpan not being found in Unity 2020.3 and lower (b2cc6b2)
1.36.1 (2022-03-12)
- Fixed the compilation error when installing SolidUtilities without Stytem.Runtime.CompilerServices (b447e9c)
1.36.0 (2022-02-12)
- Added EditorHelper.ForceRebuildInspectors() (8121c2e)
- Added TypeHelper.GetNiceNameOfGenericType() method (2052bcd)
1.35.0 (2022-02-03)
- Fixed unnecessary garbage allocations in ListHelper.Empty (8a09a55)
- Removed the unnecessary requirement for serializable types to have at least one serialized field (da8e3bf)
- Added an optional icon argument to GUIContentHelper.Temp() (ede56bd)
- Added AssemblyGeneration class useful for generating assemblies that are not supposed to be auto-referenced (3b30b54)
- Added AssetDatabaseHelper.DisabledScope() for disabling asset database temporarily (4727f9d)
- Added AssetDatabaseHelper.GetUniqueGUID() method (b644fd8)
- Added DrawerWithModes property drawer (2ebe4e7)
- Added Enumerable.SelectWhere() extension method (02c02c9)
- Added IEnumerable interface for ReadOnlySpan and Split() extension method (6b6241d)
- Added new icons to EditorIcons: AddButtonS and AddButtonI (8c19edf)
- Added SerializedProperty.GetParent(), GetObjectType, GetFieldInfo, GetObject methods (ce3394a)
- Added string.GetSubstringBefore(char character) extension method (79ef45e)
- Added the ArrayHelper class with methods that allow changing the size of the array (cebdd0f)
- Added the EditorHelper.GetCurrentMousePosition() method (8d154df)
- Added the GUIContentHelper.Temp(text, tooltip) method (585544d)
- Added the string.GetSubstringBeforeLast extension method (cd45460)
1.34.0 (2021-11-21)
- Replaced KeysCollection and ValuesCollection in FastIterationDictionary with IKeysValuesHolder interface (4bd56af)
1.33.1 (2021-10-22)
- Fixed MissingReferenceException on MacOS (16a2fd3)
1.33.0 (2021-10-13)
- Added the Rect.Contains(Rect otherRect) extension method (b860bc5)
1.32.2 (2021-09-29)
- Fixed MissingReferenceException sometimes being reported in EditorIcons on MacOS (a363c70)
1.32.1 (2021-09-26)
- Fixed the correct type not being found in MonoScript if the class was not the first in the file (4703bb0)
1.32.0 (2021-08-28)
- Added ability to draw additional fields in the build settings window (f6ba5e9)
1.31.0 (2021-08-22)
- Moved StackTraceHelper to the Editor assembly (e2292ca)
- Added EditorGUILayoutHelper.DrawErrorMessage() (ff8c94e)
- Added ICollection.AddIfMissing() extension method (6e8b360)
- Added ListHelper.Empty() method (b8d29c0)
- Added PlayModeSaver - utility that allows saving select component fields into edit mode (ac9b1fd)
- Added StackTraceHelper.EnvironmentToUnityStyle() and AddLinks() methods (38d11e9)
- Added string.IndexOfNth() extension method (741fbbe)
- Refactored DrawHelpers and moved their methods to classes with more familiar names (262d982)
1.30.0 (2021-06-20)
- Added PathHelper.MakeRelative() and PathHelper.IsSubPathOf() methods (7f9803f)
- Added ProjectWindowUtilProxy.GetActiveFolderPath() method (fae929f)
1.29.0 (2021-04-30)
- Fixed MissingMethodException when using DelayedPropertyField in Unity 2021 (a5bfb94)
- Added a SerializedProperty.GetFieldInfoAndType() extension method (ff2af73)
- Added DelayedPropertyField(Rect, SerializedProperty, GUIContent, bool) method (414909d)
- Added EditorDrawHelper.LabelWidth disposable struct (fb07ef9)
- Added EditorGUIHelper.HasKeyboardFocus(int controlID) method (9428a87)
- Added IDelayable interface that can be used on custom PropertyDrawers to be drawn as delayable (9a573ac)
- Added Rect.ShiftLinesDown(int linesNum) method (9c95b8a)
- Replaced Rect.ShiftLindesDown with Rect.ShiftOneLineDown method (0c048a9)
1.28.2 (2021-04-15)
- Reduced garbage allocation in the Object.DeepCopy() method (4184431)
1.28.1 (2021-04-15)
- Fixed MissingMethodException when calling EditorGUILayoutHelper.DelayedPropertyField() (05b1a00)
1.28.0 (2021-03-19)
- Added Dictionary.TryGetTypedValue method (1459966)
- Added the iterationCount parameter to Timer (a7e6c92)
1.27.0 (2021-03-01)
- Fixed compilation errors in Enum.ContainsFlag for C# 7.0 and below (4cf1c63)
- Added ReplaceDefaultDrawer method (67c6f8e)
1.26.1 (2021-02-19)
- Removed 2020 suffix from UnityEditorInternals (ae579b5)
- Removed a duplicate using statement (1fda48e)
1.26.0 (2021-02-15)
- Added SerializedProperty.HasCustomPropertyDrawer() method (101a14a)
1.25.0 (2021-02-10)
- Added EditorDrawHelper.DelayedPropertyField method (c18ce85)
- Added object.ShallowCopy() and object.DeepCopy() methods (0afac69)
1.24.0 (2021-02-01)
- Added EditorDrawHelper.IndentLevel disposable struct (2a82ec8)
1.23.1 (2021-02-01)
- Fixed "type 'MonoScript' is defined in a not referenced assembly" in Unity 2019 (8d2b747)
1.23.0 (2021-01-30)
- Fixed the class regex to find generic classes even if they derive or implement an interface (87e3197)
- Started handling assembly-loading exceptions in MonoScript.GetClassType() (eb999ac)
- Added ArrayEqualityComparer - a generic EqualityComparer for arrays (732130d)
- Added AssetDatabaseHelper.GetTypeFromGUID() method (f3317ed)
- Added AssetSearcher.GetAssetDetails and GetMonoScriptFromType methods (d18e9fb)
- Added AssetSearcher.GetClassGUID(Type) method (593861a)
- Added DLLs with access to Unity internal types and methods (f382686)
- Added EditorGUIUtilityProxy.GetMainWindowPosition() method for Unity under 2020.1 (75213b7)
- Added enum.ContainsFlag() method (514456c)
- Added FastIterationDictionary that allows for faster iteration over it at a cost of larger memory footprint (f41f89c)
- Added HashSet.SetEqualsArray and HashSet.SetEqualsList methods (2337b49)
- Added HashSet.ExceptWithAndCreateNew() and IntersectWithAndCreateNew() methods (b287d0e)
- Added LogHelper.Clear() and LogHelper.GetCountByType() methods (e6fa771)
- Added LogHelper.GetCount() method that returns the total number of log entries in the console (deda0d5)
- Added string.CountSubstrings() extension method (37ba570)
- Added string.GetSubstringAfterLast(char) method (6722b57)
- Added string.ReplaceWithBuiltInName() extension method for type names. (a89fbbf)
- Added the LogHelper.RemoveLogEntriesByMode() method (8af2a23)
- Added Type.GetShortAssemblyName method (356bdca)
- Added Type.HasAttribute() method (3789b29)
- AssetSearcher.GetClassGUID() can now find GUID of a generic type even if the script does not have generic suffix in its name (e1ce428)
- Made MonoScript.GetClassType() work with custom non-generic classes (842c17a)
- Made StripGenericSuffix work only for the type names that contain backlash (1c6add8)
- Moved HasAttribute() from Type extensions to MemberInfo extensions (d730d34)
- Removed AssetCreator class (8a874e2)
- Removed IEnumerable.ForEach method (2f8ec6e)
- Replaced EditorDrawHelper DrawInScrollView and DrawVertically methods with ScrollView and VerticalBlock structs (0aaaf3e)
- Got rid of some unnecessary memory allocations (a6b6464)
- Improved performance of AssetSearcher.GetClassGUID() (27c8f57)
- Made class regex a compiled static field member. (f8f2eeb)
- Removed an accidental NUnit using statement (62a6640)
- Started using Internals DLLs instead of reflection to access Unity internal members (f44732f)
1.22.1 (2020-12-17)
- Fixed NullReferenceException when opening a drop-down with no types available (9f9628b)
1.22.0 (2020-12-10)
- Added string.MakeClassFriendly() and string.StripGenericSuffix() methods (e8a7036)
1.21.1 (2020-12-04)
- Fixed assertion error when generic object field is used in a custom serialized class (e4894bb)
1.21.0 (2020-12-04)
- Fixed assertion error when private GenericSO field is used in the parent class of a MonoBehaviour (f32fd7b)
- Added the Type.GetFieldRecursive method to search for a field in the whole class hierarchy (f956fec)
1.20.2 (2020-12-03)
- Fixed the ArgumentException when using ResizableTextArea attribute (4263516)
1.20.1 (2020-12-02)
- Started initializing GUIStyles in properties instead of field initializers (a77f9f6)
1.20.0 (2020-12-02)
- Added the Vector2.RoundUp() method (c57a9fa)
1.19.0 (2020-12-02)
- Added AssetSearcher.FindObjectsWithValue() that searches for assets and scene objects that contains a variable with a certain value. (33a3872)
- Added RegexExtensions class with its first method - Find() (d2b501e)
- Added RelativeToAbsolutePath and GUIDToAbsolutePath methods (8ad53bd)
1.18.3 (2020-12-01)
- Fixed the missing right border in EditorDrawHelper.DrawBorders() (4a9a8b8)
1.18.2 (2020-11-30)
- Moved GetMainWindowPosition to EditorDrawHelper and fixed incorrect preprocessor directives (2838d6a)
- Moved the GetAllDerivedTypes method to EditorDrawHelper (cbc143c)
1.18.1 (2020-11-29)
- hid all instances EditorGUIUtility.GetMainWindowPosition() under the #if preprocessor directive (a834cea)
1.18.0 (2020-11-27)
- Made SerializedProperty.GetObjectType work with custom serializable classes (f385e1e)
- Started using a more reliable method to check if EditorWindow is overflowing the screen (e23abce)
- Started using correct indent level in DrawWithIndentLevel() (9b43825)
- Added new EditorDrawHelper.DrawWithIndentLevel() method (cad369c)
- Added ResizableTextArea attribute (23664a5)
- Added the CreateEditor() method (94b4c02)
- Added the GetScreenWidth method to calculate the sum of screen widths if multiple displays are used. (1c3243b)
1.17.1 (2020-11-08)
- Replaced triangle_right_16.png to avoid errors for some users (a78106a)
1.17.0 (2020-11-08)
- Made ChildProperties iterate over visible properies only by default (b25f81a)
1.16.0 (2020-11-07)
- ChildProperties now does not iterate over built-in properties by default (5bf6a03)
1.15.0 (2020-11-04)
- Added IEnumerable.ToHashSet() method (3422287)
1.14.0 (2020-10-29)
- Made SerializedProperty.GetObjectType work with the collection fields (d81529b)
1.13.0 (2020-10-28)
- Added SerializedProperty.GetObjectType and EditorDrawHelper.InPropertyWrapper methods (6d031f7)
1.12.0 (2020-10-27)
- resolved the issue with absent EditorGUIUtility.GetMainWindowPosition on older Unity versions (d47fc21)
- Added Hash.SHA1 method (f7fb534)
- Added PackageSearcher.FindPackageByName method (d028c84)
- Added the DrawHelper.WidthDisabledGUI method (58e72c2)
- Added the ReadOnly attribute (7b5f46d)
1.11.0 (2020-10-22)
- Added the string.IsValidPath method (63cef87)
1.10.0 (2020-10-20)
- Added Type.IsEmpty method (d9d3978)
1.9.0 (2020-10-20)
- Added two new extension methods: MonoScript.GetClassType and MonoScript.GetNamespaceName (c55fc09)
1.8.1 (2020-10-18)
- AssetCreator no longer exists rename mode as soon as the asset is created (406f910)
1.8.0 (2020-10-15)
- Added handling of different rect sizes for Vector2.Center() (3084c57)
- Added EditorWindow.CenterOnMainWin method (3c94dad)
- Added Vector2.Center(Rect outerRect) method (0d23827)
1.7.1 (2020-10-13)
1.7.0 (2020-10-12)
- Corrected the IsUnitySerializable method so that it doesn't include serializable classes from the System namespace (fa83be9)
- Added TypeExtensions.IsUnitySerializable method (70e1443)
1.6.0 (2020-10-10)
- Added MakeSureIsGenericTypeDefinition Type extension method. (2bc1f86)
1.5.0 (2020-10-08)
- Added EditorWindow.MoveOutOfScreen and AssetDatabaseHelper.MakeSureFolderExists (d5ff96e)
1.4.0 (2020-10-07)
- Added AssetCreator, a wrapper of ProjectWindowUtil.CreateAsset() (7335615)
1.3.0 (2020-10-06)
- Added a measure unit choice for Timer.LogTime() (7d61f96)
1.2.1 (2020-10-04)
- Made -1 the default value of Resize() instead of 0 (58f15e6)
1.2.0 (2020-10-04)
- Added new method FloatExtensions.DoesNotEqualApproximately() (dba7056)
1.1.0 (2020-10-03)
- Added EditorWindowExtensions and its first method - Resize (59781b0)