1. 78eed34 (Version history fixes) by ddekany · 4 years, 6 months ago
  2. 9e45172 (Version history fixes) by ddekany · 4 years, 6 months ago
  3. 7e6b0c0 Added new special variable, .args. This evaluates to a hash (in macros), or sequence (in functions) that contains all the arguments. This is useful for operations that act on all the arguments uniformly, like for example to pass the arguments to ?spread_args(...). by ddekany · 4 years, 6 months ago
  4. ccae393 Macro catch-all parameters (aka. macro varargs), when capture arguments passed by name (as opposed to by position), now keep the order of arguments. by ddekany · 4 years, 6 months ago
  5. 6ea15af Added a new SimpleHash constructor, where the caller can provide the Map instance used as the backing storage, thus allows controlling the ordering, and other technical aspects (like the initial capacity) of the underlying Map. by ddekany · 4 years, 6 months ago
  6. 54905b6 Added ?spread_args, though it's likely not the final version by ddekany · 4 years, 8 months ago
  7. d161ece Some code cleanup in Macro, UnifiedCall and related parser code. by ddekany · 4 years, 8 months ago
  8. 2453c91 Added Environment.getDataModelOrSharedVariable by ddekany · 4 years, 8 months ago
  9. 985560b (Minor JavaDoc improvement) by ddekany · 4 years, 8 months ago
  10. 325d98d (Fixed some source code indentation issues) by ddekany · 4 years, 8 months ago
  11. 16dccc1 (Fixing some JavaDoc search-and-replace accident) by ddekany · 4 years, 8 months ago
  12. 7c24fe7 (Renamed NullTemplateModel to TemplateNullModel) by ddekany · 4 years, 8 months ago
  13. 177b4d2 Merge branch '2.3.29-maintenance' into 2.3-gae by ddekany · 4 years, 9 months ago
  14. 5f87566 Fixed some typos in the Manual (including FREEMARKER-118) by ddekany · 4 years, 9 months ago 2.3.29-maintenance
  15. 04a0a6f Fixed some typos in the Manual (including FREEMARKER-118) by ddekany · 4 years, 9 months ago
  16. c7dc43f (Some cleanup in parser literal type error checks) by ddekany · 4 years, 9 months ago
  17. 9fd27e2 Fixed outdated test by ddekany · 4 years, 9 months ago
  18. c94b7ae Bug fixed: In <#escape placeholder as escExpression>, the placeholder wasn't substituted inside lambda expressions inside escExpression. Fortunately it's very unlikely that anyone wanted to use lambdas there (given the few built-ins that accept lambdas). by ddekany · 4 years, 9 months ago
  19. 0e0c2f9 Finished local lambda expression AST API (overlooked this TODO in 2.3.29) by ddekany · 4 years, 9 months ago
  20. f7a1013 Updated version number to 2.3.30 nightly by ddekany · 4 years, 9 months ago
  21. 6795cd7 Updated release date in Manual by ddekany · 4 years, 9 months ago
  22. f87eb85 (Accidentally public class ) by ddekany · 4 years, 9 months ago v2.3.29-gae
  23. 7b3dc8e Increased version number to 2.3.29 by ddekany · 4 years, 9 months ago
  24. 76e4919 Added some missing license headers. by ddekany · 4 years, 9 months ago
  25. afe20df (Deleted accidentally added test ad-hoc test file) by ddekany · 4 years, 9 months ago
  26. fad5143 Manual: Improved 2.3.29 change log by ddekany · 4 years, 9 months ago
  27. 812ea00 Test to ensure that lambda precedence is low enough by ddekany · 4 years, 9 months ago
  28. 410e597 Manual: Added more information about fallbackOnNullLoopVariable by ddekany · 4 years, 9 months ago
  29. 6f93a9e Removed isLazilyGeneratedTargetResultSupported, and added bi.setTarget instead, so BI-s can override that, and call target.enableLazilyGeneratedResult() themselves these. We call the same from setDirectlyCalled() as well, so it's less confusing if everyone just calls target.enableLazilyGeneratedResult() explicitly. by ddekany · 4 years, 9 months ago
  30. c23319d (Excluded ad-hoc tests from Ant compilation) by ddekany · 4 years, 9 months ago
  31. fa54bbf Fixed bug when lazily generated result was passed to ?join/?seq_contains/?seq_index_of, and the resulting method wasn't immediately called. Now left hand operand will be eagerly evaluated in such case. by ddekany · 4 years, 9 months ago
  32. 5dac78b Manual: ?sequence optimizations by ddekany · 4 years, 9 months ago
  33. c4e21c0 typo by Woonsan Ko · 4 years, 9 months ago
  34. 070d869 Added more information to the Manual, related to local lambdas and related built-ins. Some clarifications. by ddekany · 4 years, 9 months ago
  35. 56249c0 Documented ?filer, ?map, ?take_while, ?drop_while, and local lambdas. by ddekany · 4 years, 9 months ago
  36. efd8fdd Trying to fix Travis failure when it installs Java... by ddekany · 4 years, 9 months ago
  37. 32afaf1 (Adjusted import code style again, to fit the traditional settings) by ddekany · 4 years, 9 months ago
  38. ece9abc ?min and ?max will now immediately stop with error when applied on a right unbounded numerical range (like 1..), as that would run forever anyway. by ddekany · 4 years, 9 months ago
  39. 522747b Added missing change log entry for the new fallback_on_null_loop_variable configuration setting. by ddekany · 4 years, 9 months ago
  40. 1053eef Added ?take_while(predicate) and ?drop_while(predicate). by ddekany · 4 years, 9 months ago
  41. 44e30e0 (Moved IntermediateStreamOperationLikeBuiltIn out of BuiltInsForSequences, as it should be usable for FTL hash targets as well.) by ddekany · 4 years, 10 months ago
  42. 2e98593 (Fixed import code style inconsistencies.) by ddekany · 4 years, 10 months ago
  43. 4c41a64 Fixed target type isSequence logic in IntermediateStreamOperationLikeBuiltIn. by ddekany · 4 years, 10 months ago
  44. 8660d28 Target value never will be a TemplateModelIterator; removed the handling of it from IntermediateStreamOperationLikeBuiltIn. by ddekany · 4 years, 10 months ago
  45. 926f33e (Javadoc improvements, related to LocalContext and fallbackOnNullLoopVariable) by ddekany · 4 years, 10 months ago
  46. a1fd6ff Some more tests for the fallbackOnNullLoopVariable setting. by ddekany · 4 years, 10 months ago
  47. f00d8c2 Merge pull request #59 from vocatan/2.3-gae by ddekany · 4 years, 10 months ago
  48. f195cfd fix very small grammar issue by Bill Mitchell · 4 years, 10 months ago
  49. 04e7eac Build: Worked around issue where calling multiple tasks, like `ant jar ide-dependencies` can corrupt the <project>/.ivy directory if that was created by the first task. by ddekany · 4 years, 10 months ago
  50. 2d61970 Added configuration option to disable fallback to higher scopes when accessing an iterator variable that's null (missing). This is a quick initial implementation, that may needs more checking, and need documentation. by ddekany · 4 years, 10 months ago
  51. d3c7105 (tab_size was missing from setSetting JavaDoc) by ddekany · 4 years, 10 months ago
  52. 364da18 Don't fall back to higher scope if the argument in a lambda expression is null. This allows reliably filtering/mapping the elements of a collection that contains some null-s. by ddekany · 4 years, 10 months ago
  53. 1c3c9e9 Merge pull request #58 from robin850/patch-1 by ddekany · 4 years, 10 months ago
  54. 4337015 Fix a tiny typo by Robin Dupret · 4 years, 10 months ago
  55. e05bd9a Now operations that require a sequence will only accept a lazily generated collection (typically returned by ?filter or ?map) if it was explicitly marked as a sequence (via LazilyGeneratedCollectionModel.isSequence()). Thus, applying operations like ?filter or ?map on a non-sequence enumerable value won't allow sequence-only operations. This was made this strict as if a huge collection was passed to the template as Iterator, an implicit conversion to sequence can consume too much memory. ?sequence can be still used to accumulate all elements into a sequence, but that's issued explicitly by the template author. Furthermore, ?sequence is now aware of LazilyGeneratedCollectionModel (can both consume and product such value), so that it avoids actually accumulating all the elements if possible. by ddekany · 4 years, 11 months ago
  56. a2ed41d exp[rangeExp] now returns sequence or lazily generated sequence depending on what the consumer supports. Also added size bypassing through exp[rangeExp] (like in seq?map(f)[10..]?size no seq element will be consumed, as the size can be calculated without that). by ddekany · 5 years ago
  57. 1f25c8b Generalized/simplified the way it's decided if an expression can produce or consume lazily generated values. by ddekany · 5 years ago
  58. 33d6e9a exp[rangeExp] operator now supports lazily generated sequences as input. For now it always gives lazily generated output in that case, but that's incorrect and will change. by ddekany · 5 years ago
  59. 1e16a4f Adjustments to recently merged BeansWrapper.clearClassIntrospecitonCache -> clearClassIntrospectionCache typo fix by ddekany · 5 years ago
  60. 3f66d01 Merge pull request #57 from ajbanck/fix-typo-clearClassIntrospecitonCache by ddekany · 5 years ago
  61. d6a8ece (Fixed typo in Manual) by ddekany · 5 years ago
  62. 700e87e (Added some version history entry for ?filter/?map and local lambdas... documentation is still missing) by ddekany · 5 years ago
  63. e7d91e6 Made ?size smarter when its result is compared to an integer literal. Specifically, for ?filter-ed sequences (or for the result of similar future Stream-API-like built-ins) it won't count more elements then it's necessary to tell the comparison result. Also, for a TemplateCollectionModelEx, it calls isEmpty() instead of size(), if for the comparison result we only have to know if we have more than 0 elements. by ddekany · 5 years ago
  64. abaed15 Some cleanup related to local lambdas, ?filter and ?map. Added optimizations to ?size operating on the result of ?filter/?map. by ddekany · 5 years ago
  65. abebe99 BeansWrapper method clearClassIntrospecitonCache contains a typo. Renamed to clearClassIntrospectionCache and kept the old name as deprecated for backward compatibility by Arent-Jan Banck · 5 years ago
  66. 02fa5ed Version number typo fix by ddekany · 5 years ago
  67. 0635b53 Fixed issue with local lambdas and #list: The visibility scope of loop variables were wider than necessary, which now become visible, because the lambda applied on the listed value is possibly evaluated lazily after the nested content of #list was already executed for the first iteration, and then the lambda saw the loop variables from the previous iteration. As the lambda expression is outside the nested content of #list, it should never see the loop variables of the same #list. Also did some trivial cleanup in the IteartorBlock code. by ddekany · 5 years ago
  68. 7e4ab15 Added "local lambdas" to parser, which look like Java lambda-s, but are only allowed as parameters in certain built-ins, as they can't work outside the variable scope where they were created. To added new built-ins, ?filter(...) and ?map(...) to try the concept. These can get a "local lambda", or an #ftl function, or a method as parameter. These built-ins support the lazy processing of elements when they are the child of an AST node that explicitly enables that (for now only #list and a few built-ins do that), knowing it can ensure that the lambda or function passed is evaluated in the same context where the built-in was called from originally. by ddekany · 5 years ago
  69. 7eeeea1 (SequenceIterator to be internally usable on its own) by ddekany · 5 years ago
  70. 8783907 Some code cleanup, mostly around function and macro calls. Also added generic parameters at some places. by ddekany · 5 years ago
  71. 2fa4f59 Merge pull request #56 from ILyaCyclone/2.3-gae by ddekany · 5 years ago
  72. a01b698 fix typo 'namesoace' to 'namespace' by ILya Cyclone · 5 years ago
  73. 5f8450c (Some code cleanup around BuiltInWithParseTimeParameters.) by ddekany · 5 years ago
  74. e59e768 Indicated "multipier" VS "multiplier" issue more clearly in extended decimal format table by ddekany · 5 years ago
  75. becf252 The "boolean_format" configuration setting now can be set to "c". Then ${aBoolean} will behave as ${aBoolean?c}. This should be only used if you are generating output for non-human (computer) consumption only. If your output has pieces for human audience too, it's still recommended to use ${aBoolean?c} where true/false is needed, and either not set the "boolean_format" at all, or set it to something that's appropriate for everyday uses (like "yes,no"). by ddekany · 5 years ago
  76. a643276 (Other places where "multipier" was written instead of "multiplier"... these are just internal things though.) by ddekany · 5 years ago
  77. 3c8f10b Extended big decimal format parameter "multiplier" was incorrectly written as "multipier". Now both words are recognized. by ddekany · 5 years ago
  78. 2d968a2 (Manual typos) by ddekany · 5 years ago
  79. bca98d4 Un-deprecated aBoolean?string(whenTrue, whenFalse) in the Manual, as for mere boolean formatting ?string expresses the intent better. Some minor Manual improvements around boolean formatting. by ddekany · 5 years ago
  80. 5931fb0 Improved FAQ about allowing users to upload templates by ddekany · 5 years ago
  81. 81a6b2d TemplateModelWithAPISupport is not experimental anymore. by ddekany · 5 years ago
  82. 5b717ed (Typo fix) by ddekany · 5 years ago
  83. 7c5ef10 Added ?truncate built-ins and related setting by ddekany · 5 years ago
  84. c99ab91 Added getOptNumberMethodArg utility method (non-public) to BuiltIn. by ddekany · 5 years ago
  85. c948b81 HTMLOutputFormat, XMLOutputFormat, XHTMLOutputFormat aren't final classes anymore, furthermore XHTMLOutputFormat now extends XMLOutputFormat. Same applies to the respective TemplateOutputModel-s (TemplateHTMLOutputModel is not final anymore, etc.). This allows defining new custom markup output format classes that will work with program logic that's only prepared for the standard markup output formats, because instanceof SomeStandardOutputFromat will return true for them. by ddekany · 5 years ago
  86. 821820f (Internal JavaDoc addition) by ddekany · 5 years ago
  87. 1d5323b Better toString() for the commonly used TemplateMarkupOutputModel-s. by ddekany · 5 years ago
  88. 6e1b282 (Typo fix in non-public member name) by ddekany · 5 years ago
  89. 9fedabc When configuring FreeMarker with string values (like with a .properties file), in the settings that support the object builder syntax, now you can create a TemplateMarkupOutputModel value with the new markup function, like markup(HTMLOutputFormat(), "<p>Example</p>"). by ddekany · 5 years ago
  90. 62f9f43 (Git ignore addition) by ddekany · 5 years ago
  91. 2f6d0d3 (Typo in Manual) by ddekany · 5 years ago
  92. 7b7217c (Git ignore addition) by ddekany · 5 years ago
  93. 022714a FREEMARKER-109: In JSP TLD-s, line breaks inside a function parameter lists have caused IllegalArgumentException Invalid function signature. by ddekany · 5 years ago
  94. db4cb24 IntelliJ IDE setting improvements by ddekany · 6 years ago
  95. 4245088 Better JavaDoc for getLastModified by ddekany · 6 years ago
  96. 4ce3e63 FREEMARKER-104: In log and error messages due to no XPath implementation available, recommend adding Apache Xalan or Jaxen as dependency. by ddekany · 6 years ago
  97. c4f8478 Minor code cleanup in ext.dom by ddekany · 6 years ago
  98. 3d2f2b2 (Improved IntelliJ IDE setup instructions) by ddekany · 6 years ago
  99. 683a0ab Added IntelliJ IDE setup instructions by ddekany · 6 years ago
  100. 4534050 (Removed .java file from src/test/resources, merged it into the similar test in src/test/java) by ddekany · 6 years ago