File: changes.xml

package info (click to toggle)
velocity 1.4-5
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, lenny
  • size: 17,900 kB
  • ctags: 9,916
  • sloc: java: 24,335; xml: 17,188; sh: 99; lisp: 53; makefile: 16
file content (1010 lines) | stat: -rw-r--r-- 31,909 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
<?xml version="1.0"?>

<!--
   Copyright 2000-2004 The Apache Software Foundation

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->


<document>

 <properties>
  <title>Velocity Changes</title>
  <author email="jon@latchkey.com">Jon S. Stevens</author>
 </properties>

<body>

<section name="Velocity Changes">

<p>
   This document tracks the changes in Velocity between releases.
</p>

<subsection name="1.4-rc1">
<p>
    This section describes changes to the 1.4 branch after
    rc1. It was released as v1.4 on April 14, 2004.
</p>

    <ul>
        <li>Update license to Apache Software License v2.0</li>
    </ul>
</subsection>
        
<subsection name="1.4">
<p>
This section describes changes to the main branch after the
1.3 release.  They were released as part of 1.4 rc1 on 
Oct-9-2003.
</p>

<ul>
<li>
Added support for dynamic selection of output character encoding to
VelocityServlet.  By default, the selected encoding is the value of
the output.encoding Velocity property, but can be made dynamic by
overriding the new chooseCharacterEncoding() method. (dlr)
</li>
<li>
Bill Boland pointed out that VelocityServlet's pooling of
VelocityWriter was preventing the underlying OutputStreamWriter from
being garbage collected.  This was fixed by clearing the
VelocityWriter's reference to its internal OutputStreamWriter to allow
the latter to be GC'd while VelocityWriter is pooled. (#18951)
</li>
<li>
Deprecated org.apache.velocity.runtime.Runtime in favor of the
RuntimeInstance and RuntimeSingleton classes. (dlr)
</li>
<li>
Fix to MethodMap part of introspector to make the overloaded
method selection work as specified in the JLS, from Attila
Szegedi. (gmj)
</li>
<li>
Tiny fix for bug where multiple slashes not getting rendered correctly. (#7380)
(gmj)
</li>
<li>
Fix for bug where #set($foo = !true) not working. (#7387) (gmj)
</li>
<li>
Fix for bug where $##(nl) foo ate the $ (#7381) (gmj)
</li>
<li>
Disallow any WORD tokens for directives except 1st arg to #macro() or thi 'in'
in foreach. (#7383,#7384) (gmj)
</li>
<li>
Remove '=' as a valid token for anything but #set() as nothing else can do
assignment.  (#7385) (gmj)
</li>
<li>
Fix problem where VM in stringlit as arg to VM NPE'd.  Whoops.  (gmj)
</li>
<li>
Deprecated <code>Velocity.templateExists(String)</code> in favor of
the more appropriately named
<code>Velocity.resourceExists(String)</code>.  (dlr)
</li>
<li>
Deprecated VelocityServlet's <code>properties</code> key in favor of
the namespace protected <code>org.apache.velocity.properties</code>
key. (dlr)
</li>
<li>
Update user guide - remove confusing (wrong) content. (gmj)
</li>
<li>
Brought all introspective-ish behavior under one umbrella interface, Uberspect,
to allow customizable, pluggable introspection. (gmj)
</li>
<li>``
Fixes for bug 7684 : make sure event handler called with real reference literal
even if a quiet reference.  Bug 7183 : fixes to win32 .bat files in examples
(gmj)
</li>
<li>
Fix for bugs 8517, 6955 : anything ...#set... was confusing the parser (gmj)
</li>
<li>
Removed deprecated use of DEFAULT_OUTPUTTER.output() in Anaka's NodeList (gmj)
</li>
<li>
Upgraded JDOM to v1.0b9 (gmj)
</li>
</ul>

</subsection>


<subsection name="1.3.1-rc2">
<p>
This section desscribes changes to the VEL_1_3_BRANCH after 
the 1.3.1-rc2 release.  It was released as 1.3.1 on it's own branch, 
VEL_1_3_1_BRANCH on March 31, 2003.
</p>
</subsection>

<subsection name="1.3.1-rc1">
<p>
This section describes changes to the VEL_1_3_BRANCH after the
1.3.1-rc1 release. This was released as 1.3.1-rc2 on July 24, 2002.
</p>

<ul>
<li>
  Another fix to  primitive argument introspection problem,
  suggested by Chris Felaco(gmj)
</li>
<li>
  Another minor introspection tweak, for null values (gmj)
</li>

</ul>
</subsection>


<subsection name="1.3">
<p>
This section describes changes to the VEL_1_3_BRANCH after the
1.3 release. This was released as 1.3.1-rc1 on July 22, 2002.
</p>

<ul>
<li>
  Fixed primitive argument introspection problem. (gmj)
</li>
</ul>
</subsection>

<subsection name="1.3-rc1">
<p>
This section describes changes to the VEL_1_3_BRANCH after the
1.3-rc1 release. This branch was released as v1.3 on July 7, 2002.
</p>

<ul>
<li>
Fixed javadoc in ClasspathResourceLoader (gmj)
</li>
<li>
Backport from HEAD the #foo("#bar('a')") NPE fix (gmj)
</li>
<li>
Update User's Guide - remove confusing and wrong content. (gmj)
</li>
<li>
Fixed problem discovered by Ivan Bella where concurrent method
invocations with varying parameters would be incorrect. (gmj)
</li>
<li>
Brought recent Spanish and French translations of the User's Guide to the
1.3 branch. (gmj)
</li></ul>

</subsection>

<subsection name="1.3-dev">
<p>
This section describes changes to the main branch after the
1.2 release. This was then branched as VEL_1_3_BRANCH in CVS
and released as v1.3-rc on March 17, 2002.
</p>

<ul>
  <li>
    Fix to LogSystem. ORed when I should have ANDed.  Reported
    by Matt Gould (mpg@mpgsoftware.com). (gmj)
   </li>
   <li>
    Documentation patch for 'getting started', reported by
    Yuji Kumasaka (kumasaka@mms.intec.co.jp) (gmj)
   </li>
   <li>
     Changed AnakiaTask to not specify Xerces, but let JDOM find
     a parser. (gmj)
   </li>
   <li>
     Change reported in bug #4256 by Jim Mackraz (jim@mackraz.com)
     reviewd and fixed by DLR. (gmj)
   </li>
   <li>
     Fixed Velocimacro autoload infinite loop bug. (gmj)
   </li>
   <li>
     Update docs re autoload VM and repeatability of init() (gmj)
   </li>
   <li>
     Added constructors to VelocityContext for plug and play
     interoperability with the java.util.Map interface (dlr, gmj)
   </li>
   <li>
     Committed Texen patches from Stephane Bailliez
     (sbailliez@imediation.com) anticipating review by the Texen
     aficianados in the Velocity community. (gmj)
   </li>
   <li>
     Fix problem where local-scope VMs were interfering with
     VM library autoloading. (gmj)
   </li>
   <li>
     Added support for primitive arrays in #foreach() re bug #4370
     (gmj)
   </li>
   <li>
     Parser fixes for $foo.bar} and $foo.bar#if (gmj)
   </li>
   <li>
     Changed build targets to not include external dependencies in
     velocity jars by default. (gmj)
   </li>
   <li>
     Added support for an 'ApplicationContext' to allow the application
     set an Object accessable to custom loaders and loggers. (gmj)
   </li>
   <li>
     Added <code>cleanup()</code> hook method to
     <code>TexenTask</code> to easily allow subclasses to perform
     cleanup activities without overriding
     <code>execute()</code>. (dlr)
   </li>
   <li>
     ResourceManager and ResourceCache are now pluggable.
     Default implementations work as they always did. (gmj)
   </li>
   <li>
     Added support for allowing user to configure pluggable
     directives.  We supported it, but offered no way of
     actually configuring it as such. (gmj)
   </li>
   <li>
     Fixed lonely # in #macro() bug reported by
     Tim Chamberlain (tchamberlain@sportingnews.com) and
     added template test. (gmj)
   </li>
   <li>
     Deprecation update : AnakiaTask b/c JDOM, default logger
     b/c LogKit 1.0. (gmj)
   </li>
   <li>
     New simple log4j logger, uses either an existing category if that is
     passed to it, or just writes to a new file.
   </li>
   <li>
     Log support enhanced to include automatic selection for default file logger
     using either Jakarta Avalon Logkit or Jakarta Log4j, whichever it finds
     in the classpath. (gmj)
   </li>
   <li>
     Fix for problem reported by Robert Edgar where a reference-ish entity
     like \${foo} wouldn't render the preceeding \
   </li>
   <li>
    Support for is&lt;Property&gt;() introspection. (gmj)
   </li>
   <li>
     Added better resolution of method ambiguity based on invocation
     parameters so we better choose between overloaded methods. (gmj)
   </li>
   <li>
     Patch from Michael McKibben for introspector to fix problem
     where public interface methods implemented by a private or default
     class were skipped when resolving access. (gmj)
   </li>
   <li>
     Modified the Introspector and environs to make it independent
     of Velocity-specific imports for reuse by others. (gmj)
   </li>
   <li>
     Patch from Dan Finkelstein to fix problem when a resource
     loader in named, but has no defined parameters, resulting in
     NPE from ResourceManager. (gmj)
   </li>
   <li>
     Adjusted formatting of the default error output from
     VelocityServlet as suggested by Igor Fedulov. (gmj)
   </li>
   <li>
     Fix for so-called runt reference bug reported by
     Lukas Zimmermann such that $foo.bar()RUNT had following
     RUNT treated as a reference. (gmj)
   </li>
   <li>
     Update servlet1 example to use the 'new' handleRequest() (gmj)
   </li>
   <li>
     Added support for ${user.home}/build.properties to Ant build
     file. (dlr)
   </li>
   <li>
     VelocityServlet subclasses may now use a web.xml context
     parameter as the default value for the path to their
     velocity.properties file. (dlr)
   </li>
   <li>
     Added patch from Sylwester Lachiewicz (matrix@plusnet.pl)
     for the DataSourceResourceLoader
     to bring the javadoc up to date re the properties example,
     and he also added examples for the DataSource configuration as well as the
     syntax needed to create a compatible table. (gmj)
   </li>
   <li>
     Small fix to enable logical complement #set($foo = !$bar), as reported by
     Chris Rousseau. (gmj)
   </li>
   <li>
     Doc fixes by many.  Thanks all. (gmj)
   </li>
   <li>
     Fix to StringUtils.chop(). (gmj)
   </li>
   <li>
     Fix to StringLiteral bug found by Stephane Bailliez - in high load situations
     it was possible to get an NPE if the timing worked out just right.  Also
     fixed a side-effect found by Victor Salaman. (gmj)
   </li>
   <li>
     Fix to $foo## bug reported by Nathan Bubna. (gmj)
   </li>
   <li>
     Fix to VM bug found by Paulo Gaspar, where when using inline-scope VMs and
     VM recursion the namespace got dumped at the wrong time, killing the
     recursion. (gmj)
   </li>
   <li>
     Add class to provide bean-like access to Texen. (jvz)
   </li>
   <li>
     Small introspection side-effect fix suggested by Sven Meier, prevents
     Obj[] from getting altered in event of null value. (gmj)
   </li>
   <li>
     Log4jLogSystem deprecated in favor of the simpler SimpleLog4jLogSystem.
     (gmj)
   </li>

</ul>

</subsection>

<subsection name="1.2">
<p>
1.2 was released on December 9, 2001.
</p>

</subsection>

<subsection name="1.2-rc3">
<p>
This section describes changes to the VEL_1_2_BRANCH after the
1.2-rc3 release. 1.2-rc3 was released on November 7, 2001
for a quick community check.  It is intended to be the final
rc for the 1.2 release.
</p>

<ul>
  <li>
    Small fix to Velocity.java and VelocityEngine.java for
    invokeVelocimacro() - the were broken in the last major
    VM change (months ago) and never noticed. (gmj)
  </li>
  <li>
   Added notes re the new no-dep jar. (gmj)
  </li>
</ul>

</subsection>

<subsection name="1.2-rc2">
<p>
This section describes changes to the VEL_1_2_BRANCH after the
1.2-rc2 release. 1.2-rc2 was released on October 18, 2001
as an administrative fix for 1.2-rc1 (files were damaged.)
</p>

<ul>
  <li>
    Backport the 'disappearing curly' and 'nit' fixes from 1.3 (gmj)
  </li>
  <li>
    Backport autoreload infinte loop and local-scope
    interferance bugs. (gmj )
  </li>
  <li>
    Backport Texen patches from Stephane Bailliez and follow-on
    fixes from jvz and dlr. (gmj)
  </li>
  <li>
    Changed build targets to not include external dependencies in
    velocity jars by default. (gmj)
   </li>
 </ul>

</subsection>

<subsection name="1.2-rc1">
<p>
This section describes changes to the VEL_1_2_BRANCH after the
1.2-rc1 release. These are updates working towards a rc2 or
final.
</p>

<ul>
  <li>
    Fix to LogSystem. ORed when I should have ANDed.  Reported
    by Matt Gould (mpg@mpgsoftware.com). (gmj)
   </li>
   <li>
    Documentation patch for 'getting started', reported by
    Yuji Kumasaka (kumasaka@mms.intec.co.jp) (gmj)
   </li>
   <li>
     Changed AnakiaTask to not specify Xerces, but let JDOM find
     a parser. (gmj)
   </li>
   <li>
     Change reported in bug #4256 by Jim Mackraz (jim@mackraz.com)
     reviewd and fixed by DLR. (gmj)
   </li>
</ul>

</subsection>

<subsection name="1.2-dev">
<p>
  This section describes changes to the main branch after the 1.1 release.
  This was then branched as VEL_1_2_BRANCH in CVS and released as v1.2-rc1
  on September 26, 2001.
</p>

<ul>
  <li>
     Fix to AbstractContext to 'roll forward' EventCartridges to ensure that
     the last one added is available at render time. (gmj)
  </li>
  <li>
    Small changes to developer docs re jar-src target and docs target. (gmj)
  </li>
  <li>
    Small changes to AND and OR nodes to support the legal but wacky use like
    #set( $foo = ($woog || $bar ) ). (gmj)
  </li>
  <li>
    Major change to Parser char stream - no longer using the stock, javacc generated
    ASCII 8-bit char stream but rather a Unicode 'custom' char stream.  This solves
    the problems reported with 16 bit characters that unluckily have a 0a or 0d in the
    low-order byte. (gmj)
  </li>
 <li>
    Added additional templates to encoding test using contributions from
    Ilkka Priha, Michael Zhou and Vitaly Repetenko.  Thanks guys!  (gmj)
  </li>
  <li>
   Update from Russel Edens to clear fileWriter cache for Texen's
   Generator.java.  (JSS)
  </li>
  <li>
     Fix to VM system to prevent dumping of VM namespace when using
     namespaces (in local.scope).  (gmj)
  </li>
  <li>
     Fix to VM system to have correct 'schmoo'
     output of a non-reference passed as arg to VM.  Thanks to DLR
     and Paulo for flogging this out of me :) (gmj)
  </li>
  <li>
    Updates to StringUtils from Robert Burrell Donkin. (gmj)
  </li>
  <li>
    Added MIE propogation from #parse() and VMs to propogate out. Thanks
    to Michael Salmon for pointing this out. (gmj)
  </li>
  <li>
    Added logging interface to Velocity class for completeness. (gmj)
  </li>
  <li>
    Patch by Michael Salmon to WebMacro converter tool to let arbitrary
    set of files be converted. (gmj)
  </li>
  <li>
     TokenManagerError now thrown as ParserException to allow catching
     at application level. (Suggested by Tim Joyce.)  (gmj)
  </li>
  <li>
    Small parser fix to get ObjectArrray and IntegerRange handling right
    everywhere. (gmj)
  </li>
  <li>
     Speed optimzations for test provider. (dlr)
  </li>
  <li>
    Enhancement to MIE message suggested by Conor MacNeill to make interpretation
    of exception more useful when debugging. (gmj)
  </li>
  <li>
    Small fix to #parse() and #include()
    such that when the template/resource was not file based
    but stream based, there was no 'parent template' encoding to use
    for decoding the arg to #parse/#include.  Runtime default is used.
    Thanks to Dan Finkelstein for finding this bug. (gmj)
  </li>
  <li>
    Fix to problem reported by Andreas Wikberger (and patch too!) where
    two loads were required to have template refresh after change when
    time-based caching was enabled. (gmj)
  </li>
  <li>
    Updated log4j adapter to be compatible with 1.1.x and updated
    jars in build/lib to match. (gmj)
  </li>
  <li>
    Changed VMFactory to not output scary messages when library is
    not found or empty string. Suggested by Tal Dayan. (gmj)
  </li>
  <li>
     Added auto alternator functionality to VelocityFormatter. (dlr)
  </li>
  <li>
    Modified Velocity to support separate runtime instances and
    added application support class o.a.v.app.VelocityEngine (gmj)
  </li>
  <li>
    Updated junit to v3.7 in build/lib (gmj)
  </li>
  <li>
    Checked in patches from Attila Szegedi which improves the XPath
    support in Anakia. These are fully backwards compatible with
    previous versions. (jss)
  </li>
  <li>
    Fixed the build/test.sh convenience script to use Ant. (jss)
  </li>
  <li>
    Intrspector fix using contributions from Attila Szegedi
    (szegedia@freemail.hu) - removes problems associated with
    access to inner classes and public interfaces on default
    or private facades. (gmj)
  </li>
  <li>
    Added new autoreload feature for VM system - VM global libraries
    will be automatically reloaded on use.  See 'Configuration' section
    of developers guide for more info. (gmj)
  </li>
  <li>
    Logging changes : moved prefix out of RuntimeInstance into logger
    impl to support better log4j users who don't need it. Changed
    ExternalLoggerTest to support that as well as sep runtime instance.
    Needed to support log4j adapter contrib from Jeroen C. van Gelderen.
    Also, LogSystem.init() now can throw an Exception. (gmj)
   </li>
   <li>
    Also added AvalonLogSystem switch to allow user to simply
    specify by name a logger from the existing hierarchy.  Thanks to
    Carsten Ziegeler.  (gmj)
   </li>
   <li>
    Texen enhancement - allow to use template resources from
    a jar.  (jvz)
   </li>
   <li>
     Allow proper propagation of VelocityExceptions (RNFE, PEE, and MIE)
     from #parse() and #include(), where appropriate. (gmj)
   </li>
   <li>
      Bug fix to allow formal reference to be passed into VMs. (gmj)
   </li>
   <li>
      Revamping of Introspector to allow dump of cache
      when classloader change is detected, by Attila Szegedi
      and Paulo Gaspar.  (gmj)
   </li>
   <li>
      Added testcase to verify introspection cache dumped when
      classloader changed. (gmj)
   </li>
   <li>
      Added PrimordialLogSystem and changed RuntimeInstance to use it. (gmj)
   </li>
   <li>
      Minor fixes to ASTRefernce presentation. (gmj)
   </li>
   <li>
      Texen enhancement - allow multiple properties files to be specified. (jvz)
   </li>
</ul>
</subsection>

<subsection name="1.1-rc2">
<p>
This section describes changes to the VEL_1_1_BRANCH after the
1.1-rc2 release.  This was released as v1.1 on June 16, 2001.
</p>

<ul>
 <li>
   Update from Russel Edens to clear fileWriter cache for Texen's
   Generator.java.  (JSS)
 </li>
</ul>

</subsection>

<subsection name="1.1-rc1">
<p>
This section describes changes to VEL_1_1_BRANCH after the 1.1-rc1
release.  This was released as v1.1-rc2 on June 2, 2001.
</p>

<ul>
  <li>
     Fix to AbstractContext to 'roll forward' EventCartridges to ensure that
     the last one added is available at render time.  (gmj)
  </li>
  <li>
    Small changes to developer docs re jar-src target and docs target. (gmj)
  </li>
  <li>
    Small changes to AND and OR nodes to support the legal but wacky use like
    #set( $foo = ($woog || $bar ) ). (gmj)
  </li>
  <li>
    Major change to Parser char stream - no longer using the stock, javacc generated
    ASCII 8-bit char stream but rather a Unicode 'custom' char stream.  This solves
    the problems reported with 16 bit characters that unluckily have a 0a or 0d in the
    low-order byte. (gmj)
  </li>
  <li>
    Added additional templates to encoding test using contributions from
    Ilkka Priha, Michael Zhou and Vitaly Repetenko.  Thanks guys!  (gmj)
  </li>
</ul>
</subsection>

<subsection name="1.1-dev">
<p>
This section describes changes to the main branch after the 1.0.1 release.
This was then branched as VEL_1_1_BRANCH in CVS and released as v1.1-rc1 on May 20, 2001.
</p>

<ul>
  <li>
    Removed build.sh and build.bat scripts in favor of making people "install" Ant.
  </li>
  <li>
    Added Kent's, others and my changes to VelocityServlet. Fundamental change is changing
    handleRequest() to take a req, resp and ctx args, as well as making returning
    <code>null</code> permissible to indicate that request is taken care of. (gmj)
  </li>
  <li>
    Added support for alternate encoding for templates (input sources). It is now
    controllable by two properties (input and output), and tested with UTF-8.
    UTF-8 rocks.  Why are there others?  :)  Also added testcase. (gmj)
  </li>
  <li>
    Fixed problem where MethodInvocationExceptions were not correctly generated for
    method exceptions in a few places.  All seems to work now. (gmj)
  </li>
  <li>
    Added fix from Charles Bennet for build.xml to include all necessary parts in classpath
    for building examples. (gmj)
  </li>
  <li>
    Performance improvment additions for the AST, the majority from Kent Johnson, plus
    his suggestions for Configuration and ResourceManager (gmj)
  </li>
 <li>
    More MethodInvocationExceptions fun : the LHS of a #set() could throw
    an Exception, and we wouldn't propogate it. (gmj)
  </li>
  <li>
    EventCartridge support.  See docs :) (gmj)
  </li>
  <li>
    Documentation : basic EventCartridge description. (gmj)
  </li>
  <li>
    Added request specific encoding specification for templates. (gmj)
  </li>
  <li>
    Additions from Tim Joyce for more Method Exception propogation
    and exception event handling. (gmj)
  </li>
  <li>
    Performance patches from Kaspar Nielsen for ASTDirective and Include. (gmj)
  </li>
  <li>
    Texen patch from Robert Burrell Donkin which makes Texen throw all exceptions
    rather than eating them, and some javadoc. (gmj)
  </li>
  <li>
    Fix for the much acclaimed and dreaded #$foo, $$foo #$#$foofoo, etc bug.  (gmj)
  </li>
  <li>
    Added some autoconfigure support for the servlet example to hele
    users new to Servlets, and added a little README to help then find
    Tomcat and setup a webapp. (gmj)
  </li>
  <li>
    Removed the .close() of the output stream in VelocityServlet
    and symmetrized VelocityWriter recycle.  (gmj)
  </li>
  <li>
     Converted from using the Velocity Configuration class (now deprecated) to
     the Jakarta Commons collections component's ExtendedProperties class.
     (Which came from Velocity and was renamed.)  Should result in no changes
     other than deprecation of Configuration and one deprecated method in
     o.a.v.app.Velocity. (gmj)
  </li>
  <li>
     Removed build/build.sh and build/build.bat and build/lib/ant*.jar to
     move to explicit Ant-based build. (jss)
  </li>
  <li>
     Changed JarResourceLoader to use normal 'path' configuration key
     and added jar test to MultiLoaderTestCase. (gmj)
  </li>
  <li>
    Updated the regexp in the WM conversion tool. (dlr)
  </li>
  <li>
    Added EventHandler test case and example, and
    removed NullReferenceEventHandler
    as redundant. (gmj)
  </li>
  <li>
    Moved all event-realated things to o.a.v.app.event package,
    updated all things that depend upon it,
    and modified the context stuff to support a public event
    interface.  Also renamed the null set method to something
    more appropos, and added arg to method. (gmj)
  </li>
  <li>
    Added switch to turn off 'resource found' messages in
    ResourceManager.  Default is on.  Key is
    'resource.manager.logwhenfound'.  (gmj)
  </li>

</ul>
</subsection>

<subsection name="1.0.1-dev">
<p>
Released as v1.0.1-rc1 on April 10, 2001.
</p>
<p>
No changes following rc1.  Released as v1.0.1 on April 22, 2001.
</p>

<ul>
  <li>
    Small fix to ASTGENode.java to catch NPE if LHS or RHS is null or not
    int or Integer. (gmj)
  </li>
  <li>
    Added examples-clean-forumdemo target to build.xml for cleaning up
    after building the forumdemo. (JSS)
  </li>
  <li>
    Small fix to ASTAndNode.java to short circuit if LHS is false, and to
    log an error of LHS or RHS is null. (gmj)
  </li>
  <li>
    Small fix to ASTGTNode.jave to catch NPE if LHS or RHS is null. (gmj)
  </li>
  <li>
    Documentation : changed license instructions in coding-standards.xml (gmj)
  </li>
  <li>
    Added 'throws Exception' to handleRequest() in VelocityServlet.java
    (suggestion from Christoph Reck)  (gmj)
  </li>
  <li>
    Updates to README.txt and examples/README.txt as suggested by Kent Johnson (gmj)
  </li>
  <li>
    Added Enumerator as a valid iteration type for #foreach() - added warnings
    to use of same to documentation. (gmj)
  </li>
  <li>
    Added panic sqawk in AvalonLogSystem() to also go to stderr. (gmj)
  </li>
  <li>
    Finished all comparison nodes (NPE prevention and good logging) and
    enhanced logical.vm test template to try them all. (gmj)
  </li>
  <li>
    Added xmlapp_example to examples, and added to examples build target.
    Was moved from whiteboard. (gmj)
  </li>

</ul>

</subsection>
<subsection name="1.0b3">
<p>
   Released as version 1.0 on April 2, 2001
</p>

<ul>
   <li>
        Documentation: Fix the VTL Reference guide for the #if
        statement. Thanks to Joaquim Carvalho for the find. (JSS)
   </li>
   <li>
        Documentation: Fixed the html in the user guide that generates
        the TOC so that the numbers come out in proper order. (JSS)
   </li>
   <li>
       Added common base class for application-level exceptions in package
       org.apache.velocity.exception.  Thanks to Kyle Downey for the
       suggestion.  (gmj)
    </li>
    <li>
       Added javadoc to o.a.v.context.AbstractContext clarifying which
       of the internalXXX methods are required.  Thanks to
       Joshua Levy  for the suggestion. (gmj)
    </li>
    <li>
       Added license and javadoc to examples/context_example/DBContext.java
       to clarify why some internalXXX methods are stubbed out.  (gmj)
    </li>
    <li>
       Documentation : Clarification of VM properties and added note on
       VM declaration / usage order in user guide. (gmj)
    </li>
    <li>
       Fixed HttpServletRequestWrap.java - getInputStream() wasn't calling
       the method on the wrapped HttpServletRequest. Thanks to
       Shahar Solomianik. (gmj)
    </li>
    <li>
       Removed build.compiler from the build.xml file. (JSS)
    </li>
    <li>
       Fixed problem found by jon where high concurrency would lead to
       a dry parser pool, which would lead to vast unpleasantness masked
       as resource access errors.  All seems to be better now.  Simple
       fix, so little risk.  (gmj)
    </li>
    <li>
       Added <code>parser.pool.size</code> as a configuration parameter to
       help tune Velocity configurations for high concurrency loads. (gmj)
    </li>
    <li>
       Documentation : developers-guide - information/example on making a
       custom logger, and start of work on documenting resource loaders. (gmj)
     </li>
     <li>
       Removed some debugging gibberish from
       InternalContextAdapterImpl.java (gmj)
     </li>
     <li>
       Committed John McNally's Texen patch to texen's Generator.java
       to keep from accumulating introspection cache data in iterative
       calls to parse() with template caching off. (gmj)
     </li>
     <li>
       Documentation : added some special-case Context information and a
       secion on Vel and XML in the developers guide. (gmj)
      </li>
</ul>

</subsection>

<subsection name="1.0b2">

<p>
   Released as version 1.0 beta 2 on March 26, 2001
</p>

<ul>
    <li>
        Make the distribution have CRLF for all of the text files (JSS).
    </li>
    <li>
        Fixed release packaging to create things in the right directory
        structure (JSS).
    </li>
    <li>
         Re-added 'include' support for Configuration. (JVZ)
    </li>
    <li>
         Fixed VMProxy bug when reference arg was null. (#1074) (gmj)
    </li>
    <li>
         Fixed nullpointer problem in cache refresh in ResourceManager
	     (reported by Ilkka Priha) (gmj)
    </li>
    <li>
         VelocityServlet now respects the 'default.contentType'
         property again.  That must have fallen out during the 'request
         process' rework in VelServlet.  (reported by csterg@aias.gr) (gmj)
    </li>
    <li>
        Changed AnakiaTask and TexenTask to use the canonical
        template file path rather than the literal string specified.
        Motivated for ease of gump-tion.  Also added
        failonerror to the testcases.xml for the same reason. (gmj)
    </li>
    <li>
       Added Sam's suggestion for normalizing \n[\r] when comparing
       results to expected results in the testbed via BaseTestCase  (gmj)
    </li>
    <li>
       Qualified import statments in Generator.java.  Added tests for
       automatic boolean mapping in TexenTestCase.java. Added default
       boolean mapping to texen for properties used with  the
       contextProperties option.  Allow variants on boolean values in
       Configuration.java, and changes to relevant templates in testbed.
       Added default objects to context in TexenTask.java. (JVZ)
     </li>
     <li>
        Documentation changes to Configuration.java (DLR)
     </li>
     <li>
       Augmented the MethodInvocationException message in ASTMethod to
       make the stacktraces more useful - noted from some traffic on
       Turbine list.   (gmj)
     </li>
     <li>
         Added powered by logo. Look in
         xdocs/images/powered-by-logo.psd/.gif (JSS)
     </li>
     <li>
       Changed the internals of the Configuration class so that
       setProperty(K,V) will replace the value at K with V;
       addProperty(K,V) works the way setProperty(K,V) used
       to: if there is a value already stored at K then
       V is added to the vector. If nothing is being stored
       at K then the scalar V is simply added. setProperty(K,V)
       is basically a short form for clearProperty(K)/addProperty(K,V).
       Also added setConfiguration(C), so that an application using
       velocity could easily take a subset of the application
       configuration using C.subset(velocityProps) and set the
       whole velocity configuration at once. This is now how
       the velocity service works in Turbine. (JVZ)
     </li>

     <li>
       Added support to the Runtime/Velocity classes for
       addProperty(K,V). (JVZ)
     </li>

     <li>
       Added support to Runtime/Velocity classes for setConfiguration.
       (JVZ)
     </li>

     <li>
        Confirmed that the build.bat works on Win98 as well as made the
        classpath that the build.bat generates equal to the one that
        build.sh generates. (JSS)
     </li>
</ul>
</subsection>

<subsection name="1.0b1">
<ul>
    <li>
        Initial release.
    </li>
</ul>
</subsection>

</section>

</body>
</document>