"Fossies" - the Fresh Open Source Software Archive

Member "icinga-web-1.14.1/lib/agavi/CHANGELOG-0.11" (19 Dec 2017, 53339 Bytes) of package /linux/misc/old/icinga-web-1.14.1.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 AGAVI CHANGELOG (0.11.x)
    2 ========================
    3 
    4 0.11.8 (July 25, 2009)
    5 ----------------------
    6 
    7 CHG: Validator shortcut "arraylength" should default to minimum of one element (#1123) (David)
    8 CHG: Update timezone database to 2009k (#1121) (David)
    9 CHG: Remove unnecessary use of create_function() in AgaviInarrayValidator (#1112) (David)
   10 
   11 FIX: AgaviArraylengthValidator doesn't work with files (#1122) (David)
   12 FIX: Arrays that failed validation are not purged from request data (#1084) (David)
   13 FIX: Memory leak in AgaviTranslationManager::getLocaleIdentifier() (#1083) (David)
   14 
   15 
   16 0.11.7 (March 26, 2009)
   17 -----------------------
   18 
   19 ADD: Allow setting of session_cache_expire(), session_cache_limiter() and session_module_name() through configuration (#1035) (David)
   20 
   21 CHG: Allow control over exporting behavior in combination with argument bases (#1074) (Dominik, David)
   22 CHG: Update timezone database to 2009d (#1070) (David)
   23 CHG: Generated WSDLs should not have namespace attribute on soap:body elements if service is document/literal (#1061) (David)
   24 CHG: Regex validator should export the validated data (#1041) (Felix)
   25 CHG: Throw exception if Apache's SERVER_SOFTWARE env var contains insufficient version information (#1029) (David)
   26 
   27 FIX: Exporting parameters from validators with an argument base causes fatal error (#1073) (David, Dominik)
   28 FIX: Fatal error in AgaviArrayPathDefinition::setValue() in combination with arrays (#1075) (David)
   29 FIX: Race conditions in AgaviConfigCache::writeCacheFile() may produce corrupt files (#1072) (Dominik)
   30 FIX: Form Population Filter inserts markup container for validation errors even if there are no messages to insert (#1060) (David)
   31 FIX: AgaviTranslationManager::$translators and $supplementalData are not initialized as empty array (#1045) (David)
   32 
   33 
   34 0.11.6 (February 4, 2009)
   35 -------------------------
   36 
   37 SEC: CVE-2009-0417: Cross-site scripting vulnerability in handling of incoming URLs (#1019) (David)
   38 
   39 FIX: Content-Type and Content-Length request headers are treated incorrectly (#1017) (David)
   40 FIX: AgaviWebRequest HTTP PUT support ignores Content-Type header (#1014) (David)
   41 
   42 
   43 0.11.6 RC2 (January 29, 2009)
   44 -----------------------------
   45 
   46 ADD: AgaviResponse::hasContent() (#1007) (David)
   47 ADD: AgaviException::render() should send shell exit code (#990) (David)
   48 ADD: Optionally set 'secure' flag on response cookies automatically (#982) (David)
   49 ADD: Optionally set 'secure' flag on session cookies automatically (#981) (David)
   50 ADD: Add AgaviWebRequest::isHttps() convenience method (#980) (David)
   51 ADD: Allow setting of session save path in AgaviSessionStorage (#979) (David)
   52 
   53 CHG: Update timezone database to 2009a (#1013) (David)
   54 CHG: Remove unused property AgaviOperatorValidator::$errors (#987) (David)
   55 CHG: Allow arbitrary number of fractional seconds for parsing date formats (#977) (Dominik)
   56 
   57 FIX: Several date classes are lacking type hints in method signatures (#997) (Dominik)
   58 FIX: FPF does not insert error messages or classes for submit buttons (#1011) (David)
   59 FIX: Shiny exception template produces invalid XHTML (#1009) (David)
   60 FIX: Sample App's and code templates' SecureSuccessView responds with a 401 HTTP status code instead of 403 (#1010) (David)
   61 FIX: [EXPLETIVE] Fucking Debian fucking ruined their fucking PHP package once again, and now we need to waste fucking time to fucking fix it (#1008)
   62 FIX: AgaviSoapController does not handle some SoapServer/SoapClient options properly (#1006) (David)
   63 FIX: AgaviCalendar::setTimeInMillis() doesn't explicitly cast value to float (#996) (David)
   64 FIX: AgaviConfigCache::loadConfigHandlers() may trigger "cannot redeclare class" fatal error (#989) (David)
   65 FIX: Caching generates invalid group values in some cases (#988) (David)
   66 FIX: Validation marks fields that weren't processed due to unsatisfied dependencies as sucessful (#984) (Dominik, David)
   67 FIX: Form Population Filter reveals errors from validators with severities "silent" and "info" (#986) (David)
   68 FIX: Validators with argument arrays might not perform dependency checks (#985) (David, Dominik)
   69 FIX: The Milliseconds 1-99 are missing the leading 0 when a date is formatted (#978) (Dominik)
   70 
   71 
   72 0.11.6 RC1 (January 10, 2009)
   73 -----------------------------
   74 
   75 ADD: Add option to control Propel 1.3 instance pooling (#960) (Felix)
   76 ADD: AgaviArraylengthValidator (#948) (Dominik)
   77 ADD: Optionally allow sending of response content when redirecting in AgaviWebResponse (#916) (David)
   78 
   79 CHG: Harden path string handling in AgaviArrayPathDefinition (#973) (David, Dominik)
   80 CHG: Change magic_quotes_gpc handling to require PHP 5.2.8 and use the fixes introduced there (#953) (David)
   81 CHG: Re-throw exception instead of printing stack trace and info in exception templates when display_errors is off (#952) (David)
   82 CHG: Add +FollowSymLinks to .htaccess code templates and samples (#893) (David)
   83 CHG: Add more best practices to code templates (#910) (David)
   84 CHG: Use standard layouts etc for system actions instead of hand-built renderers and layers in code templates (#911) (David)
   85 CHG: Always merge slot response metadata even if response content is null (#917) (David)
   86 CHG: Update timezone database to 2008i (#912) (David)
   87 CHG: Add standard warning about broken libxml versions (#909) (David)
   88 
   89 FIX: Init queries are not run correctly for Propel 1.3 (#975) (David)
   90 FIX: AgaviWebResponse sends Content-Length header with value 0 even if 'send_redirect_content' option is enabled (#972) (David)
   91 FIX: Using the timezone option in a locale string passed to _d() can possibly change the timezone of the given calendar object (#962) (Dominik)
   92 FIX: AgaviTranslationManager::createCalendar() forgets TZ offset when called with DateTime object (#957) (Dominik)
   93 FIX: Missing variable declaration in AgaviGettextTranslator (#968) (Dominik)
   94 FIX: AgaviWebRequestDataHolder method implementations are all over the place (#955) (David)
   95 FIX: Request data is not cleared if default View is run in absence of suitable Action::execute*() method (#967) (David)
   96 FIX: Slot container created inside a forward container retains "is_forward" parameter (#966) (David)
   97 FIX: Access to global request data holder is not locked during AgaviAction::getDefaultViewName() (#954) (David)
   98 FIX: The class name of AgaviAndoperatorValidator and AgaviNotoperatorValidator don't match the coding guidelines (#951) (David)
   99 FIX: Several validators might raise notices or break altogether on incorrect argument types (#946) (Dominik)
  100 FIX: AgaviValidator::getKeysInCurrentBase triggers a warning if the current validator base is no array (#947) (Dominik)
  101 FIX: FPF error insertion fails if XPath expression yields more than one location in the document (#943) (David)
  102 FIX: Possible to run any action by passing module/action parameters to invalid URL (#934) (David)
  103 FIX: Pattern delimiter is not passed to several preg_quote calls (#939) (David)
  104 FIX: AgaviPropelDatabase::connect() doesn't honor datasource parameter (#937) (David, Sven Kretschmann)
  105 FIX: Invalid CSS in project wizard's WelcomeSuccess template (#928) (TANAKA Koichi, David)
  106 FIX: Converting an AgaviCalendar with a custom unnamed Timezone an DateTime object fails (#922) (Dominik)
  107 FIX: logging.xml and output_types.xml handlers have variable name escaping problems (#921) (David)
  108 FIX: Wrong urls when passing host and port to WebRouting::gen() (#902) (Felix)
  109 FIX: build.xml is missing reset of code templates dir to default before copying dist.htaccess (#914) (David)
  110 FIX: Filename patterns are escaped incorrectly in config_handlers.xml (#913) (Noah)
  111 
  112 
  113 0.11.5 (October 25, 2008)
  114 -------------------------
  115 
  116 CHG: Update timezone database to 2008h (#896) (David)
  117 
  118 FIX: AgaviSoapResponse::searchSoapHeader() compares namespaces incorrectly (#892) (David)
  119 
  120 
  121 0.11.5 RC1 (October 20, 2008)
  122 -----------------------------
  123 
  124 FIX: AgaviDatabase::getName() always returns false (#887) (David)
  125 FIX: Validation config handler is broken for nested validators (#886) (David)
  126 FIX: Build system does not create app/log folder in new projects (#881) (David, Noah)
  127 
  128 
  129 0.11.4 (October 14, 2008)
  130 -------------------------
  131 
  132 CHG: Update logging.xml in Sample app and code templates and add "log" dir to Sample app (#879) (David)
  133 
  134 FIX: Parameters are not merged in config_handlers.xml (#880) (David)
  135 
  136 
  137 0.11.4 RC1 (October 2, 2008)
  138 ----------------------------
  139 
  140 ADD: Allow specifying of doctrine template implementations (#864) (David, TANAKA Koichi)
  141 
  142 FIX: Default autoload.xml is missing AgaviMysqliDatabase entry (#868) (David)
  143 FIX: SOAP and XMLRPC test scripts in sample app are broken (#866) (David)
  144 FIX: Certain validator names will cause a fatal error (#863) (David)
  145 FIX: Sample app SearchEngineSpamAction works with invalid product names (#861) (David)
  146 
  147 
  148 0.11.3 (September 19, 2008)
  149 ---------------------------
  150 
  151 CHG: Update zoneinfo database to 2008f (#860) (David)
  152 CHG: Improve sample app SearchEngineSpamAction to use ID and optionally name (#859) (David)
  153 
  154 FIX: AgaviXmlrpcepiphpResponse::setHttpStatusCode() is not implemented but gets called in sample app Error404SuccessView (#849) (David)
  155 
  156 
  157 0.11.3 RC2 (September 9, 2008)
  158 ------------------------------
  159 
  160 ADD: Allow runtime configuration of Smarty via parameters in AgaviSmartyRenderer (#846) (David, TANAKA Koichi)
  161 ADD: Caching group element with array value support (#809) (David)
  162 ADD: Allow convenience array index access in AgaviAttributeHolder (#843) (David)
  163 
  164 CHG: AgaviSmartyRenderer should not set a Smarty plugins dir (#848) (David)
  165 
  166 FIX: Empty redirect in response may cause uninitialized string offset notice (#847) (David)
  167 FIX: AgaviParameterHolder::removeParameter() does not try literal key lookup first (#842) (David)
  168 FIX: module.xml must not be per-context (#839) (David)
  169 
  170 
  171 0.11.3 RC1 (August 31, 2008)
  172 ----------------------------
  173 
  174 ADD: AgaviMysqliDatabase (#601) (Blake Matheny, David)
  175 ADD: Add config option to run arbitrary SQL commands after connecting to a database (#646) (David)
  176 ADD: Allow ignoring of (X)HTML parse errors in FPF (#613) (David)
  177 ADD: Set current Context instance on Doctrine connections (#800, #808) (David)
  178 ADD: Assigning of "inner" content to $slots template array should be configurable (#793) (David)
  179 ADD: Support for doctrine connection settings and options (#788) (David)
  180 ADD: Allow using the resolved datetime constants for the argument names in the datetime validator (#760) (Dominik)
  181 
  182 CHG: Improve AgaviInflector performance (#823) (Thomas Bachem, David)
  183 CHG: Change the Pricefinder Model in the Sample App to have a more useful name (#819) (Felix)
  184 CHG: Enhance HTTP status code validation for AgaviWebResponse::setRedirect() (#804) (David)
  185 CHG: Update timezone database to 2008e (#806) (David)
  186 CHG: Dump "xhtml" output type from sample app and introduce a replacement (#802) (David)
  187 
  188 FIX: AgaviEqualsValidator's docs do not match the actual validation process (#833) (Dominik)
  189 FIX: Invalid argument name in AgaviValidationManager::hasError() (#832) (David)
  190 FIX: The gettext translator doesn't interpret the plural forms like the original gettext implementation (#821) (Dominik)
  191 FIX: AgaviView::initialize() incorrectly assigns container's response to a property (#813) (David)
  192 FIX: AgaviExecutionTimeFilter runs only once (#801) (David)
  193 FIX: PEAR installations place src/routing/soap files in the data directory rather than the source directory (#799) (Noah)
  194 
  195 
  196 0.11.2 (July 8, 2008)
  197 ---------------------
  198 
  199 FIX: Several config handlers are missing checks for existance of element(s) inside <configuration> (#796) (David)
  200 FIX: Namespace for disabled module forwarding information is wrong (#792) (David)
  201 
  202 
  203 0.11.2 RC2 (July 2, 2008)
  204 -------------------------
  205 
  206 FIX: Exception templates incorrectly fix information about exception origin (#790) (David)
  207 FIX: Markup is escaped by accident in shiny exception template (#791) (David)
  208 FIX: Using '#' in a routing pattern triggers a warning (#789) (Dominik)
  209 
  210 
  211 0.11.2 RC1 (June 27, 2008)
  212 --------------------------
  213 
  214 ADD: Support trimming of input string in AgaviStringValidator (#745) (David)
  215 ADD: Add support for native doctrine model autoloading (#759) (David)
  216 ADD: Add support for doctrine manager attributes (#783) (David)
  217 ADD: Add SecurityUser::hasCredential and SecurityUser::getCredentials for convenience (Noah) (#772)
  218 ADD: Add convenience methods to AgaviUploadedFile (#607) (David)
  219 ADD: Allow arrays as values for web request sources. (#675) (David)
  220 ADD: Allow arrays as setting values in settings.xml (#670) (David)
  221 ADD: Ability to return data from view as inner content for first layer in a rendering batch (#655) (David)
  222 ADD: Allow nested routing structures with concatenated name or action attributes in ancestors other than immediate parents (Dominik) (#764)
  223 
  224 CHG: AgaviController::dispatch() should accept module and action names in the request data argument with routing disabled (#776) (David)
  225 CHG: Routing should not just bail out of execute() if routing is enabled, but no routes are defined (#779) (David)
  226 CHG: Refactor AgaviContext::initialize() and the passing of "profile" (#778) (David)
  227 CHG: Arguments passed to AgaviController::dispatch() should have precedence over routing results (#777) (David)
  228 CHG: Introduce generic AgaviStreamLoggerAppender (#773) (David)
  229 CHG: Make AgaviLoggerAppender an AgaviParameterHolder (#774) (David)
  230 CHG: Change error class handling in FPF to set classes on elements returned by the respective XPath expressions, not the original elements (#768) (David)
  231 CHG: Use file locking everywhere files are written (Dominik) (#766)
  232 
  233 FIX: AgaviValidationManager::hasError() is inconsistent with AgaviValidationManager::getError() regarding severity (#784) (David)
  234 FIX: Routing tests do not reset core.use_routing in tearDown() (#781) (David)
  235 FIX: stdout/stderror log appenders are broken (#751) (David)
  236 FIX: Caching configuration blocks might be merged incorrectly (#755) (David)
  237 FIX: Caching and validation configurations cannot be per-context (#754) (David)
  238 FIX: Form Population Filter incorrectly inserts XML prolog into HTML documents (#771) (David)
  239 FIX: Calling move() twice on the same uploaded file will cause a bogus exception (#770) (David)
  240 FIX: shiny.php exception template does not use htmlspecialchars() when outputting file paths (#765) (David)
  241 FIX: Static method AgaviBaseConfigHandler::replacePath() is used in object context in two config handlers (David) (#762)
  242 
  243 
  244 0.11.1 (May 9, 2008)
  245 --------------------
  246 
  247 FIX: UTF-8 Special characters in exception messages get garbled in exception output (Tanaka Koichi, David) (#758)
  248 
  249 
  250 0.11.1 RC3 (May 2, 2008)
  251 ------------------------
  252 
  253 ADD: Add ability to cache complete request attribute namespaces in Execution Filter (#740) (David)
  254 
  255 CHG: Non-Agavi exceptions should be clearly marked as such (#749) (David)
  256 CHG: Change execution filter to run action again if action is cached, but output type of the view isn't (#742) (David)
  257 CHG: Update timezone database to 2008b (#728) (David)
  258 
  259 FIX: Arrays exported by a validator do not survive validation cleanup (#756) (Dominik)
  260 FIX: AgaviArrayPathDefinition::getFlatKeyNames() returns nonsense if the prefix is "0" or an empty string (#757) (Dominik)
  261 FIX: Request is not properly unlocked if an exception occurs (#753) (David)
  262 FIX: logging.xml in code templates does not work out of the box (#750) (David)
  263 FIX: Actions that return no View are never cached (#746) (David)
  264 FIX: AgaviDateFormatter::translate() might kill DateTime's DateTimeZone object (#743) (David)
  265 FIX: Reusable renderers do not work (#741) (David)
  266 FIX: AgaviInflector::singularize returns the wrong singular form of "caches" (#739) (Dominik)
  267 
  268 
  269 0.11.1 RC2 (March 22, 2008)
  270 ---------------------------
  271 
  272 CHG: Make AgaviView::createForwardContainer() forward arguments from the current container if no arguments given (#707) (David)
  273 CHG: AgaviView::create*Container() should use null as default for arguments (#735) (David)
  274 CHG: Routing, GettextTranslator etc should use AgaviToolkit::expandVariables (#708) (David)
  275 CHG: Speed up unique ID generation (#731) (David)
  276 CHG: Bring sample app and code templates up to date (#719) (David)
  277 CHG: Update timezone database to 2008a (#727) (David)
  278 CHG: List of matches for a route should be populated by the time onMatched() is called on a callback (#730) (David)
  279 CHG: Check for existing X-Powered-By header before setting it in WebResponse (#716) (David)
  280 CHG: Execution Filter should read action attributes for caching from Action, not Container (#706) (David)
  281 CHG: Cache write order in execution filter should be reversed (#703) (David)
  282 CHG: AgaviExecutionFilter::writeCache() could use third argument with lifetime (#702) (David)
  283 CHG: AgaviExecutionContainer::createExecutionContainer() should copy over container parameters (#699) (David)
  284 CHG: Improve the speed of array key lookups (#693) (Noah)
  285 CHG: Change *val() functions to proper typecasts (#697) (Noah)
  286 CHG: dist.htaccess in code templates should have RewriteEngine On (#678) (David)
  287 CHG: Bumped and fixed copyright years (#664) (David)
  288 CHG: Update timezone database to 2007k (#660) (David)
  289 
  290 FIX: Given arguments object is not cloned for Container execution if Action is "simple" (#736) (David)
  291 FIX: Form Population Filter handles boolean false values incorrectly (#737) (David)
  292 FIX: Percent signs are incorrectly escaped in AgaviRouting::parseDynamicSet() (#733) (David)
  293 FIX: routing.xsd does not allow dynamic expressions in output_type attribute (#734) (David)
  294 FIX: AgaviToolkit::expandVariables replacing is too greedy (#732) (David)
  295 FIX: AgaviPhpRenderer::$moreAssigns is not declared or initialized (#729) (David)
  296 FIX: AgaviWebRequest cannot map arbitrary HTTP verbs (#725) (David)
  297 FIX: AgaviWebRequest does not write all changed factory parameters back (#724) (David)
  298 FIX: Charset in Content-Type http-equiv meta tag might be parsed incorrectly (#722) (David)
  299 FIX: Generating the current route without additional arguments results in unescaped single quotes and square brackets, potentially incorrectly replaced argument separator (#718) (David)
  300 FIX: Generating the current route with additional or changed arguments allows code injections (#717) (David)
  301 FIX: Unsetting a user parameter that in a routing callback's onGenerate() was passed to gen() produces strange behavior (#714) (David)
  302 FIX: Setting a user parameter that was undefined in a routing callback's onGenerate() has no effect if a default is defined (#713) (David)
  303 FIX: Form Population trips over entities in error messages when inserting them into the document (#715) (David)
  304 FIX: Routing config handler cannot handle parameter arrays (#712) (David)
  305 FIX: XML config parser only applies the xsl stylesheet defined in the first processing instruction (#711) (David)
  306 FIX: Execution Filter does not restore cached action attributes on cache hit (#705) (David)
  307 FIX: caching.xsd has incorrect rules for <action_attribute> elements (#704) (David)
  308 FIX: View cache validity check does not use lifetime, might cause usage of stale data (#701) (David)
  309 FIX: Container info is not retained on internal forward due to disabled module (#700) (David)
  310 FIX: Incoming routing parameters can possibly overwrite routing parameters set in a callback (#698) (Dominik)
  311 FIX: AgaviReturnArrayConfigHandler creates an numerical indexed array of elements if child and parent have the same names (#694) (Dominik)
  312 FIX: AgaviConfig does not handle empty strings properly (#692) (Noah, David)
  313 FIX: onGenerate() method in callback is not run for routes with a source (#695) (David)
  314 FIX: Values in long request arrays are not decoded with magic_quotes_gpc on (#684) (David)
  315 FIX: WebRouting does not clean up in long request arrays (#685) (David)
  316 FIX: WebRouting does not clean up in $_REQUEST (#681) (David)
  317 FIX: $HTTP_RAW_POST_DATA is not removed on request startup (#679) (David)
  318 FIX: Copies of $_SERVER values in $_ENV are not cleaned (#674) (David)
  319 FIX: Request data is not cleaned for variables affected by register_argc_argv or register_long_arrays (#673) (David)
  320 FIX: AgaviWebRequest::startup() does not call parent startup() (#677) (David)
  321 FIX: AgaviCreoleDatabase does not support various Creole driver settings (#672) (David)
  322 
  323 
  324 0.11.1 RC1 (December 26, 2007)
  325 ------------------------------
  326 
  327 ADD: Creole session storage supports configurable date formatting (#639) (David)
  328 
  329 CHG: Session storages should reveal server error message in exceptions (#645) (David)
  330 CHG: Update timezone database to 2007j (#642) (David)
  331 CHG: Always send HTTP/1.0 responses in shiny exception template (#620) (David)
  332 CHG: Perform special multislash cleanup for all Apache 2.x versions (#619) (David)
  333 
  334 FIX: Content-Length header is sent regardless of "send_content_length" setting when a redirect is performed in a WebResponse (#659) (David)
  335 FIX: Validator names cause parse errors if they don't meet PHP label requirements (#658) (David)
  336 FIX: Agavi:boostrap() without arguments ignores writeable core.environment setting (#657) (David)
  337 FIX: PDOSessionStorage is unlikely to work properly in case of exceptions (#644) (David)
  338 FIX: PHP 5.2.5's completely ruined glob() can lead to unhappy foreach loops (#649) (David)
  339 FIX: RotatingLoggerAppender should complain about a rotation cycle smaller than 1 (#654) (David)
  340 FIX: validators.xsd is missing the "source" attribute in validators (#653) (Dominik)
  341 FIX: FPF's CDATA fix for <style> and <script> tags corrupts one-liners in HTML parsing mode (#652) (David)
  342 FIX: Code to remove potential duplicate xmlns attributes in FPF's HTML parsing mode does not work with certain libxml versions (#650) (David)
  343 FIX: libxml bug may lead to "attribute redefined" errors in FPF in HTML parsing mode (#651) (David)
  344 FIX: Undefined variable notice in AgaviValidationManager::hasIncidents() (#640) (David)
  345 FIX: Creole and PDO session storage incorrectly force garbage collection on session open (#638) (David)
  346 FIX: AgaviMysqlSessionStorage uses mysql_escape_string() instead of mysql_real_escape_string() (#637) (David)
  347 FIX: Database session storage implementations have incorrect read/write behavior (#636) (David)
  348 FIX: Some database session storages do not work with non-integer date() results. (#635) (David)
  349 FIX: Global request data is serialized in execution containers (#633) (David)
  350 FIX: Forwarding does not honor output types properly (#629) (David)
  351 FIX: Global request data is not locked during rendering of templates (#628) (David)
  352 FIX: Nested XIncludes cause segfault due to PHP bug (#621) (David)
  353 FIX: AgaviToolkit::mkdir might throw errors on concurrent directory creation (#615) (Dominik)
  354 FIX: WebRouting::gen() encodes additional parameters twice (#622) (David)
  355 FIX: Trailing ampersands and other special cases might still confuse the routing under some circumstances (#618) (David)
  356 
  357 
  358 0.11.0 (November 3, 2007)
  359 -------------------------
  360 
  361 ADD: Allow simpler format definitions in DateTime validator (#596) (David)
  362 
  363 CHG: Update timezone database to 2007i (#610) (Dominik)
  364 
  365 FIX: Adapt olson timezone generation task to agavi changes (#611) (Dominik)
  366 FIX: Optional route params are generated incorrectly under certain circumstances (#609) (Dominik)
  367 FIX: Incorrect handling of HTTP/1.0 requests (#604) (David)
  368 FIX: Caching leaves room for potential race condition (#608) (David)
  369 FIX: AgaviFormPopulationFilter calls fromUtf8 without $this-> (#606) (Veikko)
  370 FIX: Template layers do not expand empty parameters in formatting strings (#603) (David)
  371 FIX: Routing callbacks cannot set additional arguments that are not in the pattern (e.g. extra query args) (#602) (David)
  372 FIX: Strict standards violation in AgaviPdoSessionStorage (#600) (Veikko)
  373 FIX: Routing gets confused by a trailing ampersand in the query string under some circumstances (#599) (David)
  374 
  375 
  376 0.11.0 RC7 (October 23, 2007)
  377 -----------------------------
  378 
  379 ADD: Default extension of renderers can now be configured directly via "default_extension" parameter (#594) (David)
  380 ADD: Exception templates show current date and time (#595) (David)
  381 ADD: Pass on "is_slot" flag in View::createForwardContainer() (#591) (David)
  382 
  383 CHG: Use gmdate() in config handlers to prevent strict notices about timezone settings (#590) (David)
  384 
  385 FIX: View::appendLayer() and View::prependLayer() break when given a second argument (#593) (David)
  386 FIX: core.skip_config_validation logic is inverted (#592) (David)
  387 
  388 
  389 0.11.0 RC6 (October 12, 2007)
  390 -----------------------------
  391 
  392 ADD: Allow setting of the affected arguments in a validator via throwError() (#568) (Dominik)
  393 ADD: __sleep() and __wakeup() magic methods for AgaviModel to prevent Context serialization (#581) (David)
  394 ADD: Ability to insert error messages into forms automatically using FormPopulationFilter (#303) (David, Ross Lawley)
  395 ADD: AgaviWebResponse::unsetCookie() (#577) (David, Ross Lawley)
  396 ADD: AgaviDoctrineDatabase (#381) (David, Ross Lawley)
  397 ADD: Support for error class name maps in FormPopulationFilter (#575) (David)
  398 ADD: AgaviDatabase::startup() (#573) (David)
  399 ADD: AgaviDatabase::getName() (#572) (David)
  400 ADD: Cache group sources "request_data" and "global_request_data" (#571) (David)
  401 ADD: Make format used to insert dates and times configurable in database session storage adapters (#569) (David)
  402 ADD: Allow overriding of specific Propel runtime config directives via databases.xml (#567) (David)
  403 ADD: Added force_request_uri and force_request_url config options to FPF ([2066]) (David)
  404 ADD: Allow true as value for "org.agavi.filter.FormPopulationFilter"/"populate" to force use of global request data (#556) (David)
  405 ADD: Accept date/time strings as message for date formatter (#555) (David)
  406 ADD: AgaviEzctemplateRenderer (#326) (Felix Weis, David)
  407 ADD: Allow disabling of XML config validation (#552) (David)
  408 ADD: Allow logging of FormPopulationFilter parse errors (#543) (David)
  409 ADD: Add Agavi information to X-Powered-By header (#542) (David)
  410 ADD: Add LoggerManager::getDefaultMessageClass() (#539) (David)
  411 ADD: Support for SOAP faults (#532) (David, Noah Fontes)
  412 ADD: Support for SOAP response headers (#531) (David)
  413 ADD: Allow relative paths to xsd files in XML Schema Instance *schemaLocation attributes (#530) (David)
  414 
  415 CHG: Introduce new severity "info" and map now deprecated "none" to "silent" (#585) (Dominik)
  416 CHG: Validators with same names, but for different request methods, overwrite each other properly now (#582) (Dominik)
  417 CHG: Drastically improved performance and memory consumption of AgaviToolkit::expandDirectives() and AgaviToolkit::expandVariables() ([2092], [2093], [2127]) (David)
  418 CHG: Make Agavi ready for PHP6 (#563) (Noah Fontes, David)
  419 CHG: Make viewInstance available in the execution container (#557) (David, Ross Lawley)
  420 CHG: Made AgaviRenderer an AgaviParameterHolder (#553) (David)
  421 CHG: Removed bash dependency from agavi build script (#546) (David, simoncpu)
  422 CHG: Change agavi.release directive to use a slash instead of a space as the name/version delimiter (#541) (David)
  423 CHG: Bumped minimum required PHP version to 5.1.3 (#456) (David)
  424 
  425 FIX: Unvalidated arguments are left behind by non-required validators if those have multiple arguments and did not run (#578) (Dominik)
  426 FIX: AgaviToolkit::clearCache() throws errors if path doesn't exist (#584) (Dominik)
  427 FIX: Routing callbacks cannot set optional parameters (#579) (David, Dominik)
  428 FIX: Request should be locked in View's constructor and initialize() methods (#544) (David)
  429 FIX: Error control operator in AgaviToolkit::mkdir() might be problematic (#576) (Dominik)
  430 FIX: Default database exists twice in the databases array, thus is shutdown twice (#574) (David)
  431 FIX: Agavi validation manager is missing the declaration of $incidents (#566) (Dominik)
  432 FIX: FilterChain resets run count for each registered filter; thus executeOnce() does not work as intended (#565) (David)
  433 FIX: User-agent check in shiny exception template can throw errors (#564) (Noah Fontes)
  434 FIX: WebRouting::gen() ignores 'separator' option when generating existing routes (#545) (David)
  435 FIX: <route action=".Something" /> confuses template location code (#540) (David)
  436 FIX: AgaviPropelDatabase returns null in getConnection when used with Propel 1.2 (#538) (Dominik)
  437 FIX: "shiny" exception template may generate invalid markup if HTML is at first line of code snippet (#537) (David)
  438 FIX: AgaviToolkit::expandVariables() skips null arguments (#536) (David)
  439 FIX: AgaviParameterHolder::hasParameter() etc return false for keys that have a null value (#535) (David)
  440 FIX: AgaviExecutionFilter::clearCache doesn't clear the content cache properly (#534) (Veikko)
  441 FIX: Output messages with multiple parts break SOAP completely (#533) (David)
  442 FIX: Missing param declaration in wsdl.xsl might lead to corrupt response message blocks in generated WSDL (#529) (David)
  443 
  444 
  445 0.11.0 RC5 (June 18, 2007)
  446 --------------------------
  447 
  448 ADD: Add extension points to XML Schema definitions where feasible (#515) (David)
  449 ADD: Support for XML Schema instance schema location declarations (#517) (David)
  450 ADD: AgaviNullStorage (#523) (David)
  451 ADD: Experimental(!) support for native XML config handlers, base work for XML-only configuration system (#519) (David)
  452 ADD: Support for XSL stylesheets in configuration files (#509) (David)
  453 ADD: Support for XML namespaces in configuration files (#508) (David)
  454 ADD: SOAP Support (#301) with automatic WSDL generation (#514) (David)
  455 ADD: Interface for AgaviLogger (#507) (David)
  456 ADD: Allow routing callbacks to unset parameters by setting them to null (#505) (Dominik)
  457 ADD: Set "exception" in "org.agavi.controller.forwards.error_404" (#496) (David)
  458 ADD: Allow setting response content by returning data from View::execute*() (#503) (David)
  459 ADD: Support for configuration directives in href attributes of XInclude <include> elements (#488) (David)
  460 ADD: DateTime cast support for AgaviDateValidator (#475) (Dominik)
  461 ADD: Support for magic_quotes_gpc, including proper handling of indices in and outside of arrays as well as $_FILES
  462 ADD: Method to convert AgaviCalendar objects into native PHP DateTime objects ([1836]) (Dominik)
  463 ADD: Support for UTF-8 in StringValidator via parameter 'utf8', default on ([1820]) (David)
  464 ADD: Ability to prevent sending of the response in Controller::dispatch(), which now always returns the final (not global!) response (#469) (David)
  465 ADD: Made default layer class configurable via 'default_layer_class' config parameter for AgaviOutputTypeConfigHandler ([1800]) (David)
  466 
  467 CHG: Deprecate AgaviConfigHandler::literalize() and AgaviConfigHandler::replaceConstants() (#526) (David)
  468 CHG: Improvements for FPF's charset detection, now uses output type's http_headers Content-Type value if possible ([1982]) (David)
  469 CHG: Updated zoneinfo database to 2007f (#524) (David)
  470 CHG: Ability to get empty data instead of exceptions when accessing locked request data (#512) (David)
  471 CHG: Display full list of complete paths of templates tried when displaying "template not found" exception (#497) (David)
  472 CHG: Support for empty language blocks in SimpleTranslator (#483) (Dominik)
  473 CHG: Support for empty translation domain in SimpleTranslator (#482) (Dominik)
  474 CHG: Update timezone database to 2007c release ([1873]) (Dominik)
  475 CHG: More features and improved consistency for AgaviReturnArrayConfigHandler (#463) (David)
  476 CHG: Deprecate request attribute "matchedRoutes" in "org.agavi.routing" in favor of "matched_routes" (#465) (David)
  477 
  478 FIX: Resolved most double-slash issues under Apache 2.2 (#502) (David)
  479 FIX: XMLRPC Request and Response cause strict warnings, fatals, notices (#528) (David)
  480 FIX: Agavi's autoloader fails if Agavi has not been bootstrapped yet (#521) (David)
  481 FIX: Fixes for AgaviEmailValidator (#486) (Dominik)
  482 FIX: Correct standalone declarations for all XML configs (#518) (David)
  483 FIX: "agavi project" does not create stub translation.xml (#516) (David)
  484 FIX: Character escape sequences in CLDR data are not evaluated (#478) (Dominik)
  485 FIX: AgaviInarrayValidator throws missing argument error (#506) (Dominik)
  486 FIX: Quoted parts in date patterns might result in incorrect output (#513) (Dominik)
  487 FIX: Form Population Filter does not recognize action URLs with fragment identifier (#510) (David)
  488 FIX: AgaviUploadedFile notice in destructor due to ArrayObject bug (#511) (David, Ross Lawley)
  489 FIX: PUT file uploads might leave stale temporary file behind (#479) (David)
  490 FIX: Incorrect Content-Length header might delay HTTP "Locaation:" redirects (#504) (David)
  491 FIX: Prevent parse_url issues in request URIs that contain "://" (#494) (David)
  492 FIX: Corrected caching behavior in case neither <layer> nor <layers> elements are present in the config (#501) (David)
  493 FIX: Enabled attribute in caching configuration has no effect (#500) (David)
  494 FIX: Check for existance of default database connection to prevent potential error (#485) (David)
  495 FIX: User credentials routing source broken (#493) (Dominik)
  496 FIX: Broken AgaviInarrayValidator (#490) (Felix Gilcher, Dominik)
  497 FIX: Workaround for missing "file" stream proto in default Suhosin configurations (#484) (David)
  498 FIX: <parameter> nodes with numeric names (#481) (Dominik)
  499 FIX: AgaviCalendar::getNativeDateTime() has one month offset (#474) (Dominik)
  500 FIX: Fix date parsing for 1-12 hour formats (#472) (Dominik)
  501 FIX: Typos and too greedy exception catching in some validators ([1829], [1831]) (David, Dominik)
  502 FIX: Workaround for broken stream_get_wrappers() in Debian and Gentoo (and probably others) in latest PHP packages for versions < 5.2.1 thanks to, did I mention it yet, clueless Linux package maintainers who constantly manage to ruin their very uncool, very wrongly patched PHP versions ([1824]) (David)
  503 FIX: Suppress warning in AgaviImageFileValidator when a valid file, but no image is uploaded (#471) (David)
  504 FIX: Don't use unicode character properties in regular expressions, thanks to all the clueless Linux package maintainers who disable those even though they're on as default (just like they do it with DOM and other default stuff) ([1809], [1810]) (David)
  505 FIX: Make the pear package task create .keep files in empty dirs ([1807]) (David)
  506 FIX: When using 0 as default value for an optional parameter gen() could skip the parameter (#464) (Dominik)
  507 
  508 
  509 0.11.0 RC4 (February 25, 2007)
  510 ------------------------------
  511 
  512 ADD: Throw exceptions in case PCRE operations fail (like with corrupt UTF-8 input) in FormPopulationFilter (#461) (David, Veikko)
  513 
  514 FIX: XML-RPC support broken completely (#459) (David)
  515 FIX: Handling of multiple <configuration> blocks is broken in FactoryConfigHandler (#458) (David)
  516 FIX: ExecutionFilter throws notice/warning while trying to determine slot cacheability status (#457) (David)
  517 FIX: Using date translator with a custom format doesn't work (#455, #460) (Dominik, David)
  518 
  519 
  520 0.11.0 RC3 (February 22, 2007)
  521 ------------------------------
  522 
  523 ADD: Allow specifying per-locale formats for formatters as children to the parameter node (#453) (David)
  524 ADD: Allow non-absolute URLs for WebResponse redirects (#449) (David)
  525 ADD: AgaviRequest::isLocked() ([1728]) (David)
  526 ADD: Make AgaviRequestDataHolder classes configurable (#438) (David)
  527 ADD: Allow retrieval of the translators/formatters for a defined domain (#417) (Dominik)
  528 ADD: Routing generation options presets (#432) (David)
  529 ADD: Support for X-Sendfile family of headers in AgaviWebResponse (#431) (David)
  530 ADD: AgaviRbacUser::grantRoles (#430) (David)
  531 ADD: Translation for error messages in sample app (#416) (David)
  532 ADD: Use base path from routing if null path given to AgaviWebResponse::setCookie, assume same base path for session cookies (#425) (David)
  533 ADD: strtotime strings support for AgaviWebResponse::setCookie and session cookie lifetime (#423) (David)
  534 ADD: AgaviOutputType::getDefaultLayoutName() ([1689]) (David)
  535 ADD: Allow PHP 5.2 DateTime objects to be used with _d() (#420) (Dominik)
  536 ADD: AgaviDateFormatter::getFormat ([1683]) (Dominik)
  537 ADD: Add isContentMutable method to response and check where applicable (#414) (David)
  538 
  539 CHG: Made "class" attribute for <layer> elements optional in output_types.xml (#454) (David)
  540 CHG: Routing: use matched incoming parameters for same route generation on a hierarchial basis (#444) (Dominik)
  541 CHG: Update timezone database to 2007b release (#443) (Dominik)
  542 CHG: Translation Manager should call localeChanged on message translators (#447) (Dominik)
  543 CHG: Cleaned up config handlers ([1737]) (David)
  544 CHG: Fix $_FILES array only if no AgaviUploadedFile is in the request data ([1736]) (David)
  545 CHG: Don't hardcode AgaviUploadedFile class name and make that non-final ([1735]) (David)
  546 CHG: Update Unicode CLDR Data to release 1.4.1 (#442) (Dominik)
  547 CHG: Deprecated Request::getModuleAccessor() and Request::getActionAccessor() ([1720]) (David)
  548 CHG: Move pre- and postfix modification from defaultParams to userParams argument in RoutingCallback::onGenerate (#436) (Dominik)
  549 CHG: Allow returning of true or false from RoutingCallback::onGenerate() (#435) (Dominik)
  550 CHG: startup() methods for all core classes, shuffled initialization order (#433) (David)
  551 CHG: Store salted hash for autologon password in sample app, clean up sample app user implementation to serve as a better example (#429) (David)
  552 CHG: Make AgaviLocale a ParameterHolder, clean up Translation Manager method names, add caching of locale instances, add default locale getters (#426) (David)
  553 CHG: Removed 'Index' action auto-resolving from AgaviController::resolveAction (#424) (David)
  554 CHG: Allow nested <translator> tags (#422) (Dominik)
  555 CHG: auto assign 'validation_manager' in templates ([1691]) (David)
  556 CHG: Allow extra domain info to be passed to formatters (#419) (Dominik)
  557 
  558 FIX: Operator validators don't work with required=false (#451) (Dominik)
  559 FIX: Better handling of i18n off in NumberValidator and DateValidator [1753] (Dominik)
  560 FIX: Small bug in SimpleTranslator (#446) (Dominik)
  561 FIX: Some OperatorValidators are broken (#445) (Ross Lawley, David)
  562 FIX: Issue where request data "garbage" from a rewrite wouldn't be removed in routing initialize ([1732]) (David)
  563 FIX: Storage must check if the routing it is grabbing a "better" base path from for the session cookie is a WebRouting instance ([1730]) (David)
  564 FIX: AgaviWebserviceRouting method signature ([1729]) (Dominik)
  565 FIX: Possible exception in shiny.php exception template while request is locked ([1728]) (David)
  566 FIX: The currency formatter doesn't use the fraction information from the CLDR data (#439) (Dominik)
  567 FIX: When you manually set the currency symbol not the literal symbol should be used but the iso currency code (#440) (Dominik)
  568 FIX: Using currency formatters with a custom format doesn't work (#441) (Dominik)
  569 FIX: 0 as default value for routes skipped in route generation (#437) (David)
  570 FIX: Do not override default values using matched incoming parameters when generating the same route unless the route is implied (#434) (Dominik)
  571 FIX: Routing->gen() could possibly not remove unused parameters from the url when an url depends on multiple routes (#428) (Dominik)
  572 FIX: addIncident not using the validator of the incident for submitting field results ([1685]) (Dominik)
  573 FIX: In Sample App: Call to undefined method setError() (#415) (Veikko, codecop)
  574 
  575 
  576 0.11.0 RC2 (February 7, 2007)
  577 -----------------------------
  578 
  579 ADD: Add convenience container creation methods to view (#410) (David)
  580 ADD: Allow streams as response content (#408) (David)
  581 ADD: Add support for lightweight actions (#407) (David)
  582 ADD: Allow <sandbox> element inside <configurations> to make xincludes easier (#404) (David, Dominik)
  583 ADD: Allow AgaviLoggerManager::log() to accept strings for convenience (#401) (David)
  584 ADD: added isnotempty validator which provides what the issetvalidator has been in earlier versions (#359) (Dominik)
  585 ADD: Allow modification of options in callbacks for gen() (#395) (David)
  586 ADD: Support for HTTP PUT file Uploading (#393) (David, Ross Lawley)
  587 ADD: Allow the validation to validate different kinds of sources (request parameters, cookies, http headers, files) (#367) (Dominik)
  588 ADD: Allow multiple <settings> blocks with alternative prefix in settings.xml (#375) (Dominik)
  589 ADD: Add wildcard support to "environment" and "context" attributes (#374) (David)
  590 ADD: Add a TimestampLoggerLayout (#372) (David)
  591 ADD: Improve some aspects of file handling (#369) (David)
  592 ADD: Allow square bracket syntax when retrieving cookies. (#368) (David)
  593 ADD: Re-Introduce per-Output-Type exception templates (#357) (David)
  594 ADD: Allow only setting the locale options in the translation methods (#62) (Dominik)
  595 ADD: Add ability to include proto, host, port and hash in WebRouting::gen() (#358) (David)
  596 ADD: Add option to GettextTranslator that writes all translation calls to a PHP file (#356) (David)
  597 ADD: The translation formatters can have their format strings translated now (#62) (Dominik)
  598 ADD: Allow validation error messages to be translated (#62) (Dominik)
  599 ADD: Added an simple translator which stores translations directly in the translation configuration file. (#62) (Dominik)
  600 ADD: Filter possibilities for translators and formatters (#62) (David)
  601 ADD: Ability to parsing string numbers into php native numbers (int/float) (#62) (Dominik)
  602 ADD: Ability to parse a date from a string with a custom defined format (#62) (Dominik)
  603 ADD: Methods to retrieve locale timezone information (#62) (Dominik)
  604 ADD: Allow setting of connection options or attributes in the pdo database handler (David, Dominik)
  605 ADD: Add a CachingExecutionFilter (#78) (david)
  606 
  607 CHG: Ignore "Content-Type" parameter in output types and use values in generic "http_headers" parameter instead (#413) (David)
  608 CHG: Move error information into containers (#406) (David)
  609 CHG: Make validators use the same initialition strategy as the rest of the framework (#403) (Dominik)
  610 CHG: Dropped XslRenderer (#400) (Noah Fontes)
  611 CHG: Move AgaviUser initialization location and add a startup() method (#398) (David)
  612 CHG: Use libxml error handling for XML parsing and FPF (#396) (David)
  613 CHG: Remove 0.9.0 backwards compatibility in PropelDatabase (#392) (David)
  614 CHG: Make uploaded file handling really painless (#391) (David)
  615 CHG: Introduce RequestDataHolder (#389) (David, Dominik)
  616 CHG: Make sources for server name etc configurable in WebRequest (#388) (David)
  617 CHG: Renamed date validator to datetime validator (#385) (Dominik)
  618 CHG: Renamed AgaviValidatorManager in AgaviValidationManager (#384) (Dominik)
  619 CHG: Get rid of rendering filters (#377) (David)
  620 CHG: Remodel execution flow (#373) (David)
  621 CHG: Allow setting max forwards of the controller to '0' (#373) (David)
  622 CHG: Fix some of the borderline inoperable ugliness of the validation system (#367) (Dominik)
  623 CHG: Remove validatormanager argument from Action::registerValidators() (#360) (Dominik)
  624 CHG: Improve validators (#359) (Dominik)
  625 CHG: Renamed 'type' attribute for translators and formatters to 'class' (#62) (David)
  626 CHG: Allow pluralized parent tags to be omitted in most places in the configuration files. (Dominik)
  627 
  628 FIX: Orphan trailing & in URLs messes up routing base href detection when rewritten (#409) (David)
  629 FIX: Error information is lost as soon as slots are run (#405) (David)
  630 FIX: AgaviUploadedFile::move() creates world writeable files and directories by default (#402) (David)
  631 FIX: AgaviDecimalFormatter strips sign of number to format (#399) (Dominik)
  632 FIX: AgaviPdoSessionStorage corrupts session's data if it includes special characters (#397) (Veikko)
  633 FIX: Add compile.xml contents to autoload.xml (#390) (Veikko)
  634 FIX: AgaviCompileConfigHandler::formatFile doesn't handle files with special characters (#394) (Veikko)
  635 FIX: URLs relative to the base href are not matched by the form population filter (#387) (David)
  636 FIX: Base Href and Base Url not available from WebRouting with routing disabled (#386) (David)
  637 FIX: Exception is raised when no logger called "default" is configured (#371) (David)
  638 FIX: Fix validators not inheriting the severity of their parent (#269) (Dominik)
  639 FIX: Same logging appenders are shut down multiple times if used by multiple loggers (#366) (David)
  640 FIX: WebRouting::gen() does not accept arrays as query string arguments (#365) (David)
  641 FIX: Argument skipping by supplying null yields a question mark at the end of the URL (#364) (David)
  642 FIX: The h and k hour pattern are wrongly implemented in date formatting (#363) (Dominik)
  643 FIX: A validator using the argument base fails for multiple arguments the last error will overwrite all previous ones (#362) (Dominik)
  644 FIX: Setting the base for arguments in file validators doesn't work (#361) (Dominik)
  645 FIX: Routing w/o rewrite borked when path contains a space character (#355) (David)
  646 FIX: Fixes to the date formatter (#62) (Dominik)
  647 FIX: Fixed Form Population Filter for radiobuttons, fields containing [] (#327) (David)
  648 
  649 
  650 0.11.0 RC1 (November 13, 2006)
  651 ------------------------------
  652 
  653 ADD: Add a PdoSessionStorage (#354) (Dominik)
  654 ADD: Allow the default logger to have a different name then default (#351) (Dominik)
  655 ADD: Make app dir name and template extension configurable for agavi cmdline script (#348) (Veikko)
  656 ADD: Add Controller, Request, Response and Routing for handling RESTful requests (#332) (David)
  657 ADD: Add RBAC User implementation (#320) (David)
  658 ADD: Allow passing of additional request params to slots (#318) (David)
  659 ADD: Add methods to retrieve View name and View's module name from ActionStackEntry (#317) (David)
  660 ADD: Add support for PHP 5.2 httpOnly cookie flag (#314) (David)
  661 ADD: Make creation of "run once" action and rendering filters easier (#307) (David)
  662 ADD: Add Controller, Request, Response and Routing for handling XMLRPC requests (#302) (David)
  663 ADD: Add a RotatingFileAppender (#294) (Veikko)
  664 ADD: Add an option that stores slots in a separate variable (#282) (David)
  665 ADD: Add support for IndexAction auto-discovery in sub-actions (#279) (David)
  666 ADD: WebRequest is missing hasCookie() method (#257) (David)
  667 ADD: Add a Response class (#187) (David)
  668 ADD: Make as many configuration files optional as possible (#165) (David)
  669 ADD: CompileConfigHandler needs optional "debug" mode (#147) (David)
  670 ADD: Add support for Output Types (#141) (David)
  671 ADD: Implement support for system configuration files (#130) (Dominik, David)
  672 ADD: Add getAttributes() method to User (#114) (David)
  673 ADD: Add namespaces support to Request attributes (#104) (David)
  674 ADD: Add Storage::startup() (#101) (Veikko, David)
  675 ADD: Add a PHPTALView (#98) (David)
  676 ADD: agavi project should create default error actions and set the correct modules in settings.xml (#89) (Veikko)
  677 ADD: Add option for persistent connections in PDODatabase class (#87) (David)
  678 ADD: Form validation and re-population filter (#79, #284, #327) (David)
  679 ADD: Introduce build.properties (#77) (David)
  680 ADD: Pluggable LoggerManager and ValidatorManager (#76) (David)
  681 ADD: Allow per-context/per-environment configurations (#72) (David, Dominik)
  682 ADD: Implement support for per-module autoload.xml (#71) (David)
  683 ADD: Write tests for new features, more tests for everything, PHPUnit2(+3?) (#65) (Dominik, David)
  684 ADD: i18n & l10n (#62, #335) (Dominik, David)
  685 ADD: Routes / Paths / Trails / Yipee more elegant/flexible URL handling (#52, #247, #280) (David, Dominik, Veikko)
  686 ADD: Module Based Custom Build Templates (#42) (Benjamin Muskalla, David)
  687 
  688 CHG: Bump minimum required PHP version to 5.1 (#329) (David)
  689 CHG: Consider renaming logging classes (#323) (Veikko)
  690 CHG: Ditch View::executeContextname() support and add executeOutputtypename() support instead (#321) (David)
  691 CHG: Add "literal" argument to View::set(Decorator)Template() (#315) (David)
  692 CHG: Throw out Request::extractParameters() (#309) (David)
  693 CHG: Change the way forwards are done by users (#306) (David)
  694 CHG: Change ActionStackEntry to use a float for the microtime (#300) (David)
  695 CHG: Move autoloading to a separate method and use either __autoload() or spl_autoload_register() (#299) (David)
  696 CHG: Rename "webapp" and "www" folders to something more generic (#298) (David)
  697 CHG: Loggin priority constants should be powers of two and logging priority should be defined as a bitmask (#296) (Veikko)
  698 CHG: Pass cleaned and validated request parameters to Action::execute() (#281) (David)
  699 CHG: Rewrite Validators (#75, #91, #102, #269, #276) (Uwe Mesecke, Dominik)
  700 CHG: Move global models dir to webapp/models (#267) (David)
  701 CHG: Rename BasicSecurityUser and BasicSecurityFilter (#256) (David)
  702 CHG: Make SecurityFilter an interface (#255) (David)
  703 CHG: SecurityUser should be an interface (#253) (David)
  704 CHG: Move shutdown procedure to Context (#182) (David)
  705 CHG: Harmonize template variable names, add name and extracting support to all Renderers (#180) (David)
  706 CHG: Rename AgaviHTTPSRequest to AgaviSecureWebRequest (#166) (David)
  707 CHG: Cleanup redundant files (#162) (David)
  708 CHG: Repeatedly used classes lack parameter support (#160) (David)
  709 CHG: Database Connections must be unique per Context (#159) (David)
  710 CHG: Standardize initialize() methods (#157) (David)
  711 CHG: clean up new Foo() vs Foo::newInstance($blah) mess (#156) (David)
  712 CHG: Clean up Context and Controller (#155) (David)
  713 CHG: Settle on an approach for handling Filter instances (#154) (David)
  714 CHG: Rewrite Model support (#153) (David)
  715 CHG: Rename (Action|User)::(get|has)Credential to (Action|User)::(get|has)Credentials (#152) (David)
  716 CHG: Remove Controller::inCLI() (#151) (David)
  717 CHG: Throw out ShutdownListeners (#149) (David)
  718 CHG: Abstract Request Methods and make their handling in Actions more intuitive (#148) (David)
  719 CHG: Improve exception output (#95, #146) (David)
  720 CHG: Standardize Controller::dispatch() signature and drop Front/Page Web Controllers (#143) (David)
  721 CHG: Rework Filter support (#142, #254) (David)
  722 CHG: Make all classes properly CamelCased (#140) (David)
  723 CHG: Decouple rendering from Views (#139, #179) (David)
  724 CHG: PHPDoc comments are here and there poorly formated (#137) (Veikko)
  725 CHG: Introduce a "registry" class to get rid of all those constants (#129) (David)
  726 CHG: Add support for environments and change the job of contexts (#128) (David)
  727 CHG: restructure config handling (#70, #124, #125, #271, #292, #322) (David, Dominik)
  728 CHG: Change bookstrapping method (#122) (David)
  729 CHG: Switch to PHPUnit2 (#121) (Dominik)
  730 CHG: Change default attribute namespaces so they use dots instead of slashes (#115) (David)
  731 CHG: Change Request::getAttribute() argument order to be consistent with User's (#113) (David)
  732 CHG: Consider moving attributes/namespaces functionality into a separate class (#111) (David)
  733 CHG: Add "agavi" package phpdoc comments to all files in src/buildtools/ (#108) (David)
  734 CHG: Make private class members protected where feasible (#107) (Veikko)
  735 CHG: webapp/cache folder should use subdirs (#106) (David)
  736 CHG: Move setCookie from WebRequest to WebController and add setContentType() and setHeader() methods (#103) (David)
  737 CHG: Support Creole's (and thus Propel's) trimming / case sensitivity change (#88) (David)
  738 CHG: Remove AgaviObject (#85) (David)
  739 CHG: Remove FormPHPView (#84) (David)
  740 CHG: Remove ConversionPattern (#83) (David)
  741 CHG: Remove MailAppender (#82) (David)
  742 CHG: Check if we can allow switching contexts at runtime (#74) (David)
  743 CHG: Rename all classes to have an "Agavi" prefix (#41) (Dominik)
  744 CHG: Make the framework E_STRICT compliant and remove all those "&"s (#34) (David)
  745 
  746 FIX: use of unititalized variable in AgaviWebRequest::getFileError() (#305) (David)
  747 FIX: Logging layouts need context and they need to be initialized even if there are no parameters (#297) (Veikko)
  748 FIX: Appender needs context and needs to be initialized even if there are no parameters (#295) (Veikko)
  749 FIX: Controller::getView() should throw an Exception if View is ultimately not found (#268) (David)
  750 FIX: User must be available even with security disabled (#261) (David)
  751 FIX: Controller::getAction() should throw an Exception if Action is ultimately not found (#252) (David)
  752 FIX: Return subaction view with array syntax (#176) (David)
  753 FIX: Database instances need to know their DatabaseManager (#158) (David)
  754 FIX: What the hell is session_write_close() doing in Controller::shutdown() (#150) (David)
  755 FIX: CompileConfigHandler is too greedy (#127) (Blake Matheny)
  756 FIX: SmartyView::setAttributesByRef is broken (#126) (Veikko)
  757 FIX: creole session storage is missing a throw in sessionwrite (#120) (Dominik)
  758 FIX: Request::removeError shouldn't return by reference (#110) (David)
  759 FIX: Some @since comments say "2.0.0" (#109) (David)
  760 FIX: DatabaseManager doesn't know the context (#100) (David)
  761 FIX: Template collisions with SmartyView (#97) (David)
  762 FIX: The SmartyView should include Smarty.class.php in a more "correct" way. (#92) (Veikko)
  763 FIX: agavi script doens't work on Solaris (#90) (David)
  764 FIX: Some tests will not work on windows (#64) (David)
  765 FIX: Building many modules/actions etc. will make agavi run out of memory (#35) (David)
  766