- Pods
- efan 2.0.6
- Release Notes

efanRelease Notes
v2.0.0
v2.0.6
- Chg: Removed the dependency on
afConcurrent - which (neatly) accommodates FASS macros! - Chg: Added system hook that lets Efan Errs be converted to custom Errs (added for AFX).
- Chg: Added IDs to fandoc headings.
v2.0.4
- New:
EfanCompiler now takes callbacks for efan generation (for efanXtra v2.0). - Chg: Optimised Fantom code generation (removed all string interpolation).
- Chg: Updates for
afEfanXtra v2.0! - Chg: Removed outdated
ErrMsgs class.
v2.0.2
- Chg: Removed hard coded string references to
afConcurrent::LocalRef (for compatibility with afUberPod).
v2.0.0
- New:
afEfan now available as a SkySpark extension. - Chg: Re-engineered, simplified, and exposed the internal workings of efan. The parser may be used for your own code generation.
- Chg: Removed nested templates / support for layout pattern. This is now the remit of efanXtra.
- Chg:
EfanTemplateMeta renamed to just EfanMeta. - Chg: Generated pod and type names are more customised.
v1.x.x
v1.5.2
- Bug: Rendering nested component bodies could corrupt the generated output.
v1.5.0
- New: Added
Efan.renderingStack() and associated RenderingElements to inspect what's currently being rendered. - Chg: Removed the
EfanTemplate mixin - rendering is done via EfanTemplateMeta instead. (Breaking change.) - Chg:
ViewHelpers may be const or non-const, classes or mixins. - Chg: Updated to work with Plastic v1.1.
v1.4.2
- Chg:
EfanEngine generates less brittle rendering code.
v1.4.0
- New: Intelligent whitespace removal.
- Chg: Overhauled and simplified the public API, mainly the advanced classes. (Breaking change.)
- Chg: Split
EfanCompiler up to create EfanEngine, a good seperation of concerns. (Breaking change.) - Chg: Renamed
EfanRenderer --> EfanTemplate. (Breaking change.) - Chg: Renamed
EfanMetaData --> EfanTemplateMeta. (Breaking change.)
v1.3.8
- Chg: Updated licence to The MIT Licence.
v1.3.6
- New:
using statements can be added with <%? using ... %> notation - New: efan tags can be escaped with
<%% ... %%> notation. - Bug: Rendering
null values with debug logging turned on could cause NPEs.
v1.3.4
- Chg: Added
withXtraMsg() to EfanErrs so Err msgs can be appended to. - Chg: Internal API changes for
afEfanXtra.
v1.3.2
- Chg: Moved
EfanRenderer.id -> EfanMetaData.templateId - Bug: Non ASCII templates could not be compiled.
v1.3.0
- Chg: Rejigged the public efan API.
- Chg: Removed
EfanRenderer.renderEfan(...). All template rendering is done via EfanRenderer.render(...). - Chg: Nested efan templates and body functions now return a
Str, so you MUST use eval tags; <%= renderBody() %> - Chg: Massivly simplified nested component rendering by introducing a threaded
EfanCtxStack. - Chg: Added
EfanRenderer.id to make debugging efanXtra a bit more humane!
v1.2.0
- New: Runtime Errs thrown while rendering report efan template code snippets and line numbers.
- New:
EfanRenderer now has an efanMetaData field with more contextual information. - New: The class name of efan renderer instances is now configurable.
- Chg: Rejigged the efan parser.
- Chg: Efan template line numbers no longer take up a whole line of code.
- Chg:
EfanCompiler now returns a const EfanRenderer instance, not a rendering type. - Chg: Exposed (made public) the
EfanErr hierarchy. - Chg: Added optional
makeFunc to EfanCompiler.compileWithModel().
v1.1.0
- New: Added
EfanRenderCtx to ease efan extensions. - Chg: Updated to use Plastic.
- Chg:
EfanCompiler now returns the rendering type, not an EfanRenderer instance. - Chg:
EfanRenderer is now a mixin and is implemented by the rendering type. - Chg:
renderEfan() and renderBody() are now methods on EfanRenderer.
v1.0.0
- New: Efan templates may now be nested and can optionally render their body!
- Chg:
EfanCompiler wraps the generated renderer in a sane const EfanRenderer wrapper. - Chg: Removed dependency on BedSheet - see afBedSheetEfan for BedSheet integration.
- Chg: Removed dependency on IoC, all
Plastic code has been copied in to efan. - Chg: Updated docs.
v0.0.4
- New: Hooked error reporting into afBedSheet.
- New:
EfanErr now gives code snippets and line numbers of parsing and compilation errors. - Chg: Re-factored fantom code generation.
v0.0.2