Skip to content

Releases: jonisavo/uicomponents

Release 1.0.0-alpha.6

01 Mar 17:42
Compare
Choose a tag to compare

1.0.0-alpha.6 (2023-03-01)

Features

  • analyzers: add rule UIC101 and code fix (321d154)
  • analyzers: add rules UIC102 and UIC103 (f8d57d0)
  • roslyn: add Roslyn analyzer (41533d7)

Release 1.0.0-alpha.5

26 Nov 08:38
Compare
Choose a tag to compare

1.0.0-alpha.5 (2022-11-26)

Bug Fixes

  • ignore using declarations with alias during codegen (dc3331c)

Features

  • move event interfaces to use source generation (2221717)
  • UxmlTraitAttribute: mark DefaultValue property as obsolete (5ea20df)
  • UxmlTraitAttribute: use initializers as default value (70925e2)

Release 1.0.0-alpha.4

20 Nov 20:06
Compare
Choose a tag to compare

1.0.0-alpha.4 (2022-11-20)

Bug Fixes

  • remove ConditionalAttribute from various attributes (6437399)
  • shorten type names in generated code (03917ef)

Release 1.0.0-alpha.3

20 Nov 16:35
Compare
Choose a tag to compare

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

30 Oct 06:41
Compare
Choose a tag to compare

1.0.0-alpha.2 (2022-10-30)

Features

  • QueryAttribute: annotate each assignment in generated code (2a3a924)
  • QueryAttribute: log error if no elements are found (58582cc)

Release 1.0.0-alpha.1

23 Oct 08:44
Compare
Choose a tag to compare

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

13 Oct 16:49
Compare
Choose a tag to compare

0.26.0 (2022-10-13)

Features

  • UIComponent: wait for child components to be initialized (fe9bdaa)

BREAKING CHANGES

  • UIComponent: UIComponents now wait for their hierarchy to be initialized before calling OnInit.

Release 0.25.0

08 Oct 14:25
Compare
Choose a tag to compare

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

02 Oct 07:44
Compare
Choose a tag to compare

0.24.0 (2022-10-02)

Features

  • add source generation for UxmlTraits and UxmlFactory (Unity 2021.2+)
  • add IOnNavigationMove event interface (174e2a0)

Release 0.23.0

18 Sep 18:51
Compare
Choose a tag to compare

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>.