Skip to content

v0.05

Pre-release
Pre-release

Choose a tag to compare

@realityforge realityforge released this 27 Feb 10:12
46381fc

The release includes 3 non breaking API changes.

Changes in this release:

  • Add the @Injector.injectable parameter that that controls whether the annotation processor will generate a provider so that the injector can be included in other injectors.
  • Add some nullability annotations to the parameters of annotations in the core package.
  • Add the @Injector.gwt parameter that that controls whether the annotation processor will customize injector implementation to work within the context of GWT. This primarily involves the addition of the @DoNotInline annotation to lazy component accessors within the injector implementation. This avoids the scenario where the GWT compiler could inline a component accessor and all transitive lazy component accessors, significantly increasing code-size, compilation time and run time.
  • Add synchronized keyword to node accessors in the generated injector to avoid problems resulting arising from concurrent attempts to access nodes in a jre context. When transpiled to javascript, concurrent access is impossible and synchronized keyword is ignored. In a JRE context, this serializes node construction but this is not problematic for the current set of supported usecases.
  • Add a performance-tests module to track performance of Sting over time. The tests will initially measure build times and code when compiled to javascript. The results of the performance testing is written up in performance.md document to make it easily consumable by other parties. It is expected that over time that these performance tests will expand but they currently focus on the primary performance goals of Sting.