efanXtraRelease Notes
v2.0
Core parts re-written to allow standard classes and const classes to be used as components (they're no longer just for mixins!). This allows a much more natural style of Fantom programming with efan components. The rendering process has also been significanly simplified for a speedier result.
v2.0.4
- Chg: Renamed the, now unused, render method variable
ctxto_ctx_to prevent clashes with component field names.
v2.0.2
- Chg: efanXtra now references
EfanCompilerby ID so other non-efanXtra IoC instances may be created.
v2.0.0
- New: Re-written for efan 2.0.
- Chg: Updated all pods to latest versions.
v1.0
v1.2.0
- New: Fandoc Type comments may also be used as templates.
- Chg: Updated to work with IoC v3. (Breaking Change.)
- Chg:
TemplateConvertersnow takes contributions of|Str->Str|. (Breaking Change.) - Chg: Baseclass names are also used to find templates.
- Chg: Each component renders into it's own
StrBuf. This allows us to render arbitrary, non-nested, components and embed the result in template Strs.
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
- Chg: Removed
ArgNotFoundErrin favour of the one in Bean Utils. - Chg: Updated to IoC 1.7.6.
v1.1.10
- Bug: Bodged release - updated to IoC 1.7.2.
v1.1.8
- Chg: Updated to use IoC 1.7.0.
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
- Chg: Updated to use efan 1.4.0.
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
- Chg: Updated to use IoC 1.6.0 and Concurrent 1.0.0.
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
- Chg: Upgraded to Ioc 1.5.0.
- Chg: Upgraded to Ioc Config 1.0.0.
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
- New: Preview Release