- Pods
- efanXtra 1.1.20
- Release Notes

efanXtraRelease Notes
Release Notes
v1.1.20
- Chg: Better handling of threaded services / dependency provided objects injected into components.
v1.1.18
- Chg: Advanced API change to accomodate @Inject'ed threaded services.
- Bug: efanXtra now honours the @Autobuildfacet.
v1.1.16
- Chg: Renamed @EfanLocation->@TemplateLocation. (Oops!)
v1.1.14
- New: Added a couple of library methods to EfanXtra.
- Chg: Updated to IoC 2.0.0.
- Chg: Renamed @EfanTemplate->@EfanLocation. (Breaking change.)
- Chg: Internal work to lazily compile EfanLibraries.
v1.1.12
v1.1.10
v1.1.8
v1.1.6
- Chg: Updated to use IoC 1.6.4, added dependency on IoC Env 1.0.6
- Chg: EfanXtraConfigIds.templateTimeoutnow defaults to2minin production environments, and2secotherwise.
- Chg: Removed EfanXtraConfigIds.supressStartupLogging. To suppress the startup log, remove theRegistryStartupcontributionafEfanXtra.logLibraries.
v1.1.4
- Chg: Updated to use Concurrent 1.0.4.
- Chg: (Internal) Created ComponentRenderer.
- Bug: Could not re-compile components.
v1.1.2
v1.1.0
- New: Template files are optional! Small components may just override renderTemplate()instead.
- Chg: Overhauled and tidied up the public API and documentation. (Breaking change.)
- Chg: Type checks involving Lists and Maps are more lenient when calling lifecycle methods.
v1.0.14
v1.0.12
- Chg: Components may now have threaded services injected into them!
v1.0.10
- New: Added EfanLibraries.callMethod()hook for Pillow.
- Chg: Components automatically usethe pod that the component mixin was defined in.
- Chg: ComponentCompilercallbacks now take the component type.
- Chg: FindEfanByFacetValueis public for use by Pillow.
- Chg: Render methods are searched for on the component instance, not just the mixin. This is so it may still be called if it's added dynamically.
v1.0.8
- New: fandocfiles may be used as efan templates!
v1.0.6
v1.0.4
- Chg: @InitMethodsmay now only returnVoidorBool. Throw BedSheet'sReProcessErrif you wish to perform a different action.
- Chg: Multiple components may now share the same template file.
v1.0.2
- Chg: Overhauled API documentation.
- Chg: Tweaked some method signatures with correct nullable types.
v1.0.0
- New: Introduced component lifecycle methods: @InitRender, @BeforeRender & AfterRender.
- New: Added @Abstractfacet to mark base components.
- Chg: Template rendering is held in a single mutable StrBufso it may be manipulated by lifecycle methods.
- Chg: Components are now defined by extending EfanComponent, not by annotating with a@Componentfacet.
- Chg: Renamed to efanXtra(fromefanExtra).
v0.0.8
- New: Added EfanTemplateDirectoriesservice which scans external directories for efan templates.
- New: Compilation err msgs are updated with code hints should a simple component rendering typo be spotted. (ALIEN-AID)
v0.0.6
- New: Fields may be annotated with any facet, not just @Inject. Think@Config!!!
- Chg: Updated to efan-1.3.2
- Chg: Better Err msgs if component template not found.
v0.0.4
- New: Component templates can be specified via the @Component.templatefield.
- New: Added a contributable EfanTemplateFindersservice.
- New: Ability to suppress startup log messages.
- New: Added compiler hooks (mainly for Pillow).
- New: efanXtra.component()returns component instances.
- Chg: @Componentfacet is inherited.
v0.0.2