# IdleKit LayoutUI Change Logs

## Version L.3.0 2021-07-26
* *FEATURE* Multiple selected objects can now be repositioned together using the LayoutTool.
* *FEATURE* Add support for string retrieved from the `LocalizationService` within the `LayoutText` component
* *FEATURE* Add custom suffix support in the `NumberFormatter`
* *FEATURE* Scientific notation within the `NumberFormatter` has been simplified to use built-in C# formatting

## Version L.2.1 2021-04-29
* *FEATURE* Implemented Create Menu entries for various object types.
* *CHANGE* The `LayoutEditorSentinel` no longer automatically makes adjustments to components on objects.
* *CHANGE* The Sentinel command `Collapse Unity Transforms` is now more reliable and re-expands those transforms when selecting non-LayoutUI objects.

## Version L.2, 2021-04-07
* *CHANGE* Spine support has been refactored into its own assembly. It can be enabled by including the `IDLEKIT_LAYOUTUI_SPINE` Scripting Define in your Project Settings.
* *FEATURE* The LayoutEditorSentinel now supports registering custom processors for modifying objects. These run before the built-in functions, allowing you to pre-empt and take priority over existing behaviours.
* *CHANGE* The Layering Tools window, Layer Summary display, and LayoutLayeringService now support SortingGroup components.
* *FEATURE* Position offset has been added for text effects.
* *CHANGE* Removed padding handles.
* *FEATURE* Added drag and scroll events for the LayoutScroller.
* *FEATURE* LayoutScroller now has a NormalizedScrollPosition property.
* *FEATURE* Centeral resize handles added.
* *FEATURE* "Set to Native Size" button added to LayoutTranform on a unity UI image object.
* *FEATURE* LayoutText no supports both regular and UI based TextMeshPro components.

## 0.5.0, 2021-03-02, amy
* *CHANGE* Spine support has been refactored into its own assembly. It can be enabled by including the `IDLEKIT_LAYOUTUI_SPINE` Scripting Define in your Project Settings.
* *FEATURE* The LayoutEditorSentinel now supports registering custom processors for modifying objects. These run before the built-in functions, allowing you to pre-empt and take priority over existing behaviours.

## Forked 0.4.9, 2021-03-23, esg-warren
* *BUGFIX* Fixed LayoutText Start function not supporting 2d TextMeshPro in fallback case when field was not provided.

## Forked 0.4.8, 2021-03-10, esg-warren
* *BUGFIX* Set RectTransform to expected default values when adding a LayoutTransform
* *BUGFIX* Fix Button's child text missing LayoutTransform

## Forked 0.4.7, 2021-03-08, esg-warren
* *FEATURE* Add combined inspector for RectTransform and LayoutTransform
* *FEATURE* Add Factories to create LayoutUI components. User uses right-click -> LayoutUI -> Image, Button, Text create menus
* *CHANGE* Disable Sentinel optional automatic modifications to project

## 0.4.8, 2021-02-10, amy
* *CHANGE* The Layering Tools window, Layer Summary display, and LayoutLayeringService now support SortingGroup components.

## 0.4.7, 2021-01-29, dominic
* *CHANGE* Added unit tests for the Spans feature

## 0.4.6, 2021-01-29, dominic
* *CHANGE* Added unit tests for the Anchor feature

## 0.4.5  2021-01-27, brad
* *FEATURE* Layer Summary and Scrolling content added to Layering Tools Window.
* *CHANGE* Changed Sorting Layer range formatting from `[n,n]` to `[n to n]` in Layering Tools Window and Scene View.
* *BUGFIX* Editor GUIStyles should be more stable in Layering Tools Window.

## 0.4.4, 2021-01-29, amy
* *CHANGE* "Assign Default Sprites To New Components" and "Automatically Layer New Objects" are now turned off by default in the Sentinel, as they still cause issues with certain workflows. "Add Required Mask Components" is now turned on by default.

## 0.4.3, 2021-01-27, amy
* *CHANGE* LayoutGroups now update when their associated GameObject is inactive. This is more consistent with general LayoutUI behaviour, and prevents layouts from breaking in a number of circumstances (such as switching devices in the Device Simulator).
* *BUGFIX* Sentinel scripts no longer automatically change components on nested prefabs, preventing a major source of editor crashes.
* *BUGFIX* LayoutMask no longer spams constant errors until it's content container is assigned.

## 0.4.2, 2021-01-14, amy
* *FEATURE* Spacing options have been added to TextMeshPro Style Configs.

## 0.4.1, 2021-01-11, dominic
* *CHANGE* Moved LayoutUI Prefab Edit Mode scene and AssetLibrary to Samples.  User can now import the scenes from the package manager.

## 0.4.0, 2020-12-17, amy
* *FEATURE* Resize, padding, and position tools now work fully on rotated objects and on objects inside of rotated hierarchies.
* *CHANGE* Removed Anchor handles from the scene tools.
* *CHANGE* Margins on rotated objects are not shown as they are confusing. Margins will still appear on objects inside of rotated hierarchies if they do not have any local rotation.
* *BUGFIX* Fixed objects flying off screen when they are anchored on only one axis inside of a parent with uneven padding on the other axis.
* *BUGFIX* Fixed Left & Bottom padding values being used in place of Right & Top.

## 0.3.12, 2020-12-08, dominic
* *BUGFIX* Added id field to TextMeshProStyleConfig.
* *FEATURE* Added support for milliseconds in DurationFormatter.

## 0.3.11, 2020-12-04, amy
* *BUGFIX* Prevented errors when an object is selected that has a LayoutTransform and is at the root of the scene hierarchy.

## 0.3.10, 2020-12-03, itzel
* *BUGFIX* Layering Tools Window operations now support Undo command

## 0.3.9, 2020-12-03, amy
* *BUGFIX* Layering Tools operations now mark any affected scenes as dirty, allowing Prefab Mode to activate its Save button.

## 0.3.8, 2020-12-02, amy
* *FEATURE* The Layering Tools window now provides a Sorting Order option when using the "Move to Layer" operation.

## 0.3.7, 2020-11-26, amy
* *FEATURE* Newly created Sprite and TextMeshPro objects will automatically be assigned Sorting Layers & Orders based on the hierarchy they are in, so they appear on top of preceding elements right away.

## 0.3.6, 2020-11-19, amy
* *FEATURE* Holding SHIFT while resizing an object resizes it proportionally (maintains the current aspect ratio).
* *FEATURE* Holding CTRL while resizing an object restricts the operation to a single axis, based on the direction you drag.
* *FEATURE* Holding ALT while resizing an object causes it to resize around it's center point.
* *BUGFIX* The Maintain Aspect Ratio setting of LayoutTransforms is now respected when resizing objects in the scene view. Previously, this setting only worked when objects were using spans.

## 0.3.5, 2020-11-18, kirill
* *FEATURE* Added a panel in the Scene View which shows the layers and sorting orders ranges of all selected LayoutTransforms which support layers (Text, Sprite Renderers, Spine).
* *CHANGE* Added a warning message to the layer selection panel in the Scene View when more than 1 layered objects are selected in the hierarchy.

## 0.3.4, 2020-11-12, amy
* *CHANGE* Improved labels in the LayoutTransform inspector so they are more clear and fit better when at minimum display width.
* *BUGFIX* Fixed issues with button alignment and spacing in the LayoutTransform inspector during Play Mode.
* *BUGFIX* Removed some code that applied Text Styles in the editor as it was redundant and could cause errors.

## 0.3.3, 2020-11-12, kirill
* *FEATURE* Added Spine support to the LayoutMask component.

## 0.3.2, 2020-11-06, amy
* *BUGFIX* Fixed calculation error when spacing is on opposite sides of a parent object.
* *BUGFIX* Fixed handles jumping when a drag starts.

## 0.3.1, 2020-10-30, amy
* *BUGFIX* Fixed Prefab Mode editing on LayoutUI objects.
* *BUGFIX* Fixed build errors from editor code.

## 0.3.0, 2020-10-21, amy
* *FEATURE* Added a text formatting system. Formatters can be created through "Create -> LayoutUI" and then hooked into LayoutText components.

## 0.2.0, 2020-10-20, kirill
* *FEATURE* Added support for Spine skeletons inside LayoutUI through SkeletonRendererTransformer

## 0.1.0, 2020-09-29, amy
* *FEATURE* Initial version published.
