- 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
@Autobuild
facet.
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.templateTimeout
now defaults to 2min
in production environments, and 2sec
otherwise. - Chg: Removed
EfanXtraConfigIds.supressStartupLogging
. To suppress the startup log, remove the RegistryStartup
contribution afEfanXtra.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
use
the pod that the component mixin was defined in. - Chg:
ComponentCompiler
callbacks now take the component type. - Chg:
FindEfanByFacetValue
is 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:
fandoc
files may be used as efan templates!
v1.0.6
v1.0.4
- Chg:
@InitMethods
may now only return Void
or Bool
. Throw BedSheet's ReProcessErr
if 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
@Abstract
facet to mark base components. - Chg: Template rendering is held in a single mutable
StrBuf
so it may be manipulated by lifecycle methods. - Chg: Components are now defined by extending
EfanComponent
, not by annotating with a @Component
facet. - Chg: Renamed to
efanXtra
(from efanExtra
).
v0.0.8
- New: Added
EfanTemplateDirectories
service 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.template
field. - New: Added a contributable
EfanTemplateFinders
service. - New: Ability to suppress startup log messages.
- New: Added compiler hooks (mainly for Pillow).
- New:
efanXtra.component()
returns component instances. - Chg:
@Component
facet is inherited.
v0.0.2