Releases: jonisavo/uicomponents
Releases · jonisavo/uicomponents
Release 1.0.0-alpha.6
1.0.0-alpha.6 (2023-03-01)
Features
Release 1.0.0-alpha.5
1.0.0-alpha.5 (2022-11-26)
Bug Fixes
- ignore using declarations with alias during codegen (dc3331c)
Features
Release 1.0.0-alpha.4
1.0.0-alpha.4 (2022-11-20)
Bug Fixes
Release 1.0.0-alpha.3
1.0.0-alpha.3 (2022-11-20)
Bug Fixes
- ProvideAttribute: fix NullReferenceException during codegen (2b03eb7)
Features
- rework dependency injection to use source generation (fe70a79)
- samples: add UXML code generation sample (86ecd43)
- UxmlNameAttribute: use MeansImplicitUseAttribute (ddb58b6)
BREAKING CHANGES
- All UIComponent subclasses must now be declared partial. TestBed has been reworked to focus on testing one component at a time.
new TestBed<TComponent>
is used to instantiate one now.
Release 1.0.0-alpha.2
1.0.0-alpha.2 (2022-10-30)
Features
Release 1.0.0-alpha.1
1.0.0-alpha.1 (2022-10-23)
Bug Fixes
- ignore abstract classes in code generation (b53523b)
- resolve namespace conflicts in generated code (a1eb455)
Features
- annotate generated code with GeneratedCodeAttribute (75b0c35)
- enable source generation in Unity 2020 (f870d70)
- include samples in .unitypackage (b1f1fb1)
- ProvideAttribute: use source generation (eed6208)
- QueryAttribute: now uses source generation instead of reflection (a43e019)
- remove UIComponent's static ClearCache method (f236780)
- remove Unity 2019 support (2456730)
- rename AssetPathAttribute to AssetPrefixAttribute (eb0ccf1)
- rename IUIComponentLogger to ILogger, turn caller argument type to object (5749d0f)
- rename TraitAttribute to UxmlTraitAttribute (da47d4c)
- UIComponent: apply effects with source generation (b118405)
- UIComponent: remove GetTypeName method (1f7343a)
- UIComponent: use source generation for layouts and stylesheets (a8d5e01)
- UxmlNameAttribute: move from UIComponents.Experimental namespace to UIComponents (a484ec4)
- UxmlTraitAttribute: move from UIComponents.Experimental namespace to UIComponents (e1ba54a)
- UxmlTraitAttribute: use a kebab-case version of member name by default (7bfb5e0)
BREAKING CHANGES
- UIComponent: UIComponent's GetTypeName method has been removed as it was unnecessary. Use GetType().Name instead.
- The IUIComponentLogger interface has been renamed to ILogger. Its methods' second argument is now of type object rather than UIComponent.
- UxmlTraitAttribute: UxmlTraitAttribute has been moved from the UIComponents.Experimental namespace to UIComponents.
- UxmlTraitAttribute: UxmlNameAttribute now uses a kebab-case version of the member name by default.
- UxmlNameAttribute: UxmlNameAttribute has been moved from the UIComponents.Experimental namespace to UIComponents.
- AssetPathAttribute has been renamed to AssetPrefixAttribute.
- TraitAttribute has been renamed to UxmlTraitAttribute.
- Because of the removal of reflection, the UIComponent attribute cache has been removed. UIComponent's static ClearCache method has been removed, as well.
- ProvideAttribute: ProvideAttribute now uses source generation and requires a partial class.
- UIComponent: Effects use source generation, which means that RootClassAttribute now requires a partial class to function.
- QueryAttribute: QueryAttribute uses source generation now. Classes that use it must be partial.
- UIComponent: LayoutAttribute and StylesheetAttribute use source generation now and require classes to be partial. GetAssetPaths function has been removed from UIComponent. Only one AssetPath attribute can be used with a class.
- Unity 2019 support has been removed.
Release 0.26.0
Release 0.25.0
0.25.0 (2022-10-08)
Features
- add experimental UxmlNameAttribute for generating UxmlFactory (5df8799)
- Addressables: increase minimum Addressables version to 1.18.19 (0622e2e)
BREAKING CHANGES
- Addressables: The minimum Addressables version for UIComponents.Addressables has been increased to 1.18.19. Addressables 1.17 does not work with UIComponent's asynchronous loading.
Release 0.24.0
Release 0.23.0
0.23.0 (2022-09-18)
Features
- IAssetResolver: change AssetExists return type to
Task<bool>
(3dfe624) - make most classes sealed (c4ff845)
Performance Improvements
- AddressableAssetResolver: cache existence check results (ea1560c)
- UIComponent: determine stylesheets asset paths in the same thread as the load operation (33dcef6)
BREAKING CHANGES
- The following classes are now sealed: AssetPathAttribute, Dependency, DependencyAttribute, DependencyInjector, DiContainer, DiContext, LayoutAttribute, MissingProviderException, ProvideAttribute, QueryAttribute, RootClassAttribute, StylesheetAttribute, TestBed, TestBedBuilder, TestBedTimeoutException.
- IAssetResolver: IAssetResolver's AssetExists now returns
Task<bool>
.