The following logs changes for the CPAN distribution Template::Pure
0.033 26 January 2017
- Copyright updates
- coderef data values can now return an arrayref, which will be considered
as subdirectives under the current DOM match point and data path.
0.032 22 December 2016
- Fixed distribution metadata that prevented correct installation :(
0.031 22 December 2016
- Allow a loop to assign directly to a coderef or another Template::Pure
instance.
- When loop is assigning directly to a datapath, respect existing scope
on the CSS match.
- Memoize most of the parsing, should be a speed boost for repeated
renders on the same template.
0.030 13 September 2016
- Fixed regression in interator introduced by last release
0.029 12 September 2016
- Fixed a bug when the value returned by an iterator is undef
0.028 31 August 2016
- If your match specification does not match anything in the template, you now
get an error.
- The iterator modifiers filter, grep, order_by can now take a scalar that is
a path to an anonymous subroutine on the data context.
0.027 28 August 2016
- Fixed bug in data path specifications with placeholders that caused the
final character to be deleted in some cases.
- !!BREAKING CHANGE!!: On iterator, the special key 'filter' is now 'grep', to
match inconsistent docs. Special key 'grep' does what 'filter' used to do
which is to allow or skip a row in the iterator based on some logic. However
we also have now in addition to the new 'grep' a new 'filter', which is used
to filter or transform the iterator row in some way. Docs and tests updated.
Should be a simple search and replace for you if you are using iterators with
the old 'filter' keyword.
- !!BREAKING CHANGE!! We documented the old 'filter' (now 'grep') iterator
keyword to say that the anonymous subroutine received the $pure object as its
first argument. This was not the case. Code has been fixed to match the
documented behavior, but if you relied on the previous code you will need to
make some minor changes.
- New Filter: 'cond'. Basically a filter tha works like the conditional operator
(?). See docs. Added this to save myself having to drop to a coderef so much.
- Test case around when you want to match several specs to a single action.
0.026 25 August 2016
- Fixed bug where in a loop and using a prepend or append match specification
the values aggregate rather than replace.
- Allow a new shorthand syntax in a loop when you are just doing a simple
one value replacement of the current matched node.
- Allow you to set the current data context directly in a loop
- More tests to stress loops inside of loops.
- Minor improvements to error warnings
- POD fixes
0.025 17 August 2016
- Updated dependencies
- fixed typo in code that does error messages. Should improve messaging.
- More undocumented work on components / custom tags
0.024 08 August 2016
- Regexp patch to silence warnings (zostay++)
- Allow one to indicate an action is a literal string
0.023 29 July 2016
- New Processing Instruction: Filter. Takes a node as its source template.
- I no longer consider this module a wild alpha version. I will only break
the existing test suite and documented behavior if I have obsolutely not
other path forward. See main docs for blockers on removing 'early access'
status.
0.022 20 July 2016
- Some error messages around missing data paths are now more useful. Requires
Class::MOP (which is not listed as a dependency, you should install it for
debugging in development).
0.021 18 July 2016
- Fixed processing instruction include when listing arguments
- Updated some dependency requirements
0.020 13 July 2016
- Bugfixes for object iterator
- When the matchspec is 'append' or 'prepend' and the target action
is undef we no longer delete the matched node.
- If an action with a template that contains literals and placeholders
has a trailing filter(s) we now apply the filters.
0.019 07 July 2016
- You may now use a data placeholder in a match specification
- You may now pass a coderef to replace a match => action pair
for custom or speciality processing.
0.018 27 June 2016
- Fixed VERSION typo preventing properly upgrade installation.
- Components now are responsible for adding any styles and scripts
to the DOM root.
- New component hook to modify setup parameters.
- Components now can override how the render callback is created.
0.017 22 June 2016
- Use Digest::MD5 instead of the pure Perl version since its actually
bundled with older Perls anyway.
- Methods that return a coderef can now return an object as well as a
scalar from the coderef.
0.016 17 June 2016
- 'Dark launch' of new components feature. No docs, but you can look
at the test case (t/components.t) and at Template::Pure::Component
source code for the idea. Docs to come.
0.015 10 June 2016
- Code is considered less experimental than before and I am moving toward
feeling committed to the current test suite and documentation.
- Corrected Changed document.
- POD Fixes
- New test case that combines looping with a processing instruction
- Fixed bug where passing parameters to a processing instruction
did not work as documented.
0.014 19 April 2016
- Migration from DOM::Tiny to Mojo::DOM58. This is just a namespace change
it does not add Mojolicious as a dependency to the application. This
could also be a breaking change for you if you are hardcoding instances
of Mojo::DOM58. Should be a simple search and replace job. I did warn you
this is experimental code right :)
- Fixed a bug where you could not delete an attribute by setting it to undef.
- New Feature: Template processing instructions. Lets the template author
embed processing instructions into the HTML so that she can have easier control
over the template structure without needing to learn Perl and the Template::Pure
API.
0.013 11 April 2016
- We now expose 'self', the current instance of the Pure object in your
data context. This makes it easier to follow the new best practice
recommendation of using a subclass to encapsulate your view logic and
view related data.
- Using 'data_at_path' is now required in coderef actions where you are
pulling values out of the data context. This could be a breaking change
if you did not follow the recommended best practice.
0.012 25 March 2016
- Require the newest version of Mojo::DOM58
- You may now set the target of an action to a Mojo::DOM58 object instance.
0.011 22 March 2016
- Now if the result of a scalar action is an object that does 'TO_HTML' we
process the object rather than stringify it.
0.010 21 March 2016
- I'm setting the minimum Perl version to 5.10.0 since we are using
some regular expression constructs that only work on 5.10+ and its making
the testing reports noisy. I'd love to support 5.8.8 if I could, if anyone
is a regexp ninja and wants to help, the issue is in Template::Pure::ParseUtils
where I am using named/number capture buffers (that requires 5.10+). If we can
redo that regexp to not use those features that would grant us 5.8 compatibility.
0.009 17 March 2016
- Make sure templates state is properly reset.
0.008 17 March 2016
- Fixed issue with wrapper templates
- New Feature: you may now set a template object in the data section
and expect it to render.
0.007 16 March 2016
- You may now assign the value of an action to any object that does
a method called 'TO_HTML'.
0.006 15 March 2016
- Removed some testing code accidentally left in the distribution
in the last release
0.005 14 March 2016
- pod tests and pod fixes (manwar++)
- Setup for Travis CI
- Tweaked some regular expressions for compatibility with more
versions of Perl
- new feature: let you assign a the target of a data context directly
to a sub template.
0.004 14 March 2016
- Rename Utils to ParseUtils
- Fixed some reported errors
0.003 12 March 2016
- Fixes for code actions and filters when the match css matches
more than on node.
0.002 11 March 2016
- Fix to properly mark scalar ref actions as encoded
0.001 11 March 2016
- First usable version, with caveats (its still earlly access)