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. It's 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.