Bug fixed [273]: TemplateLoader-s that use java.net.URLConnection-s should set URLConnection.useCaches to false, or else it won't detect template caches on certain configurations:

1. URLTemplateLoader and its subclasses and WebApplicationTemplateLoader now has a setURLConnectionUsesCaches(Boolean) method. It's recommended to set this property to false from its default backward compatible value, null. As FreeMarker has its own template cache with its own update delay setting (template_update_delay, Configuration.setTemplateUpdateDelay(int)), it shouldn't cause performance problems. The null value will leave the caching of the java.net.URLConnection on its default, which is usually true.

2. If incompatible_improvements is set to 2.3.21 (or higher) and templates are loaded through Configuraiton.getTemplate, and the TemplateLoader in use has URLConnectionUsesCaches left on null, it will behave as if it was set to false. Note that this 2.3.21 trick only works if the template is loaded through Configuraiton.getTemplate (or TemplateCache).Bug fixed [273]: TemplateLoader-s that use java.net.URLConnection-s should set URLConnection.useCaches to false, or else it won't detect template caches on certain configurations.
URLTemplateLoader and its subclasses and WebApplicationTemplateLoader now has a setURLConnectionUsesCaches(Boolean) method. It's recommended to set this property to false from its default backward compatible value, null. As FreeMarker has its own template cache with its own update delay setting (template_update_delay, Configuration.setTemplateUpdateDelay(int)), it shouldn't cause performance problems. The null value will leave the caching of the java.net.URLConnection on its default, which is usually true.
If incompatible_improvements is set to 2.3.21 (or higher) and templates are loaded through Configuraiton.getTemplate, and the TemplateLoader in use has URLConnectionUsesCaches left on null, it will behave as if it was set to false. Note that this incompatible_improvements trick only works if the template is loaded through Configuraiton.getTemplate (or TemplateCache).

(3. Some TemplateCache constructor cleanup)