removed CHANGELOGs and UPGRADEs for 2.x versions

This commit is contained in:
Fabien Potencier 2015-01-07 08:38:21 +01:00
parent 92706399c3
commit d0672a8f03
11 changed files with 0 additions and 4890 deletions

View File

@ -1,352 +0,0 @@
CHANGELOG for 2.2.x
===================
This changelog references the relevant changes (bug and security fixes) done
in 2.2 minor versions.
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v2.2.0...v2.2.1
* 2.2.11 (2013-12-02)
* bug #9656 [DoctrineBridge] normalized class names in the ORM type guesser (fabpot)
* bug #9647 use the correct class name to retrieve mapped class' metadata and reposi... (xabbuh)
* bug #9643 [WebProfilerBundle] Fixed js escaping in time.html.twig (hason)
* bug #9639 Modified guessDefaultEscapingStrategy to not escape txt templates (fabpot)
* bug #9314 [Form] Fix DateType for 32bits computers. (WedgeSama)
* bug #9443 [FrameworkBundle] Fixed the registration of validation.xml file when the form is disabled (hason)
* bug #9625 [HttpFoundation] Do not return an empty session id if the session was closed (Taluu)
* bug #9447 [BrowserKit] fixed protocol-relative url redirection (jong99)
* bug #9535 No Entity Manager defined exception (armetiz)
* bug #9485 [Acl] Fix for issue #9433 (guilro)
* bug #9516 [AclProvider] Fix incorrect behavior when partial results returned from cache (superdav42)
* bug #9537 [FrameworkBundle] Fix mistake in translation's service definition. (phpmike)
* bug #9367 [Process] Check if the pipe array is empty before calling stream_select() (jfposton)
* bug #9469 [Propel1] re-factor Propel1 ModelChoiceList (havvg)
* 2.2.10 (2013-11-13)
* bug #9499 Request::overrideGlobals() may call invalid ini value (denkiryokuhatsuden)
* bug #9212 [Validator] Force Luhn Validator to only work with strings (Richtermeister)
* bug #9431 [DependencyInjection] fixed YamlDumper did not make services private. (realityking)
* bug #9412 [HttpFoundation] added content length header to BinaryFileResponse (kbond)
* bug #9388 [Form] Fixed: The "data" option is taken into account even if it is NULL (bschussek)
* bug #9391 [Serializer] Fixed the error handling when decoding invalid XML to avoid a Warning (stof)
* bug #9378 [DomCrawler] [HttpFoundation] Make `Content-Type` attributes identification case-insensitive (matthieuprat)
* bug #9354 [Process] Fix #9343 : revert file handle usage on Windows platform (romainneutron)
* bug #9333 [Form] Improved FormTypeCsrfExtension to use the type class as default intention if the form name is empty (bschussek)
* bug #9338 [DoctrineBridge] Added type check to prevent calling clear() on arrays (bschussek)
* bug #9327 [Form] Changed FormTypeCsrfExtension to use the form's name as default intention (bschussek)
* bug #9308 [DoctrineBridge] Loosened CollectionToArrayTransformer::transform() to accept arrays (bschussek)
* bug #9274 [Yaml] Fixed the escaping of strings starting with a dash when dumping (stof)
* bug #9270 [Templating] Fix in ChainLoader.php (janschoenherr)
* bug #9246 [Session] fixed wrong started state (tecbot)
* 2.2.9 (2013-10-10)
* [Security] limited the password length passed to encoders
* bug #9237 [FrameworkBundle] assets:install command should mirror .dotfiles (.htaccess) (FineWolf)
* bug #9223 [Translator] PoFileDumper - PO headers (Padam87)
* bug #9257 [Process] Fix 9182 : random failure on pipes tests (romainneutron)
* bug #9222 [Bridge] [Propel1] Fixed guessed relations (ClementGautier)
* bug #9214 [FramworkBundle] Check event listener services are not abstract (lyrixx)
* bug #9207 [HttpKernel] Check for lock existence before unlinking (ollietb)
* bug #9184 Fixed cache warmup of paths which contain back-slashes (fabpot)
* bug #9192 [Form] remove MinCount and MaxCount constraints in ValidatorTypeGuesser (franek)
* bug #9190 Fix: duplicate usage of Symfony\Component\HttpFoundation\Response (realsim)
* bug #9188 [Form] add support for Length and Range constraint in ValidatorTypeGuesser (franek)
* bug #8809 [Form] enforce correct timezone (Burgov)
* bug #9169 Fixed client insulation when using the terminable event (fabpot)
* bug #9154 Fix problem with Windows file links (backslash in JavaScript string) (fabpot)
* bug #9103 [HttpFoundation] Header `HTTP_X_FORWARDED_PROTO` can contain various values (stloyd)
* 2.2.8 (2013-09-25)
* same as 2.2.7
* 2.2.7 (2013-09-25)
* 8980954: bugix: CookieJar returns cookies with domain "domain.com" for domain "foodomain.com"
* 3108c71: [Locale] added support for the position argument to NumberFormatter::parse()
* 0774c79: [Locale] added some more stubs for the number formatter
* e5282e8: [DomCrawler]Crawler guess charset from html
* 0e80d88: fixes RequestDataCollector bug, visible when used on Drupal8
* c8d0342: [Console] fixed exception rendering when nested styles
* a47d663: [Console] fixed the formatter for single-char tags
* c6c35b3: [Console] Escape exception message during the rendering of an exception
* 0e437c5: [BrowserKit] Fixed the handling of parameters when redirecting
* 958ec09: NativeSessionStorage regenerate
* 0d6af5c: Use setTimeZone if this method exists.
* 773e716: [HttpFoundation] Fixed the way path to directory is trimmed.
* 42019f6: [Console] Fixed argument parsing when a single dash is passed.
* b591419: [HttpFoundation] removed double-slashes (closes #8388)
* 4f5b8f0: [HttpFoundation] tried to keep the original Request URI as much as possible to avoid different behavior between ::createFromGlobals() and ::create()
* 4c1dbc7: [TwigBridge] fixed form rendering when used in a template with dynamic inheritance
* 8444339: [HttpKernel] added a check for private event listeners/subscribers
* ce7de37: [DependencyInjection] fixed a non-detected circular reference in PhpDumper (closes #8425)
* 37102dc: [Process] Close unix pipes before calling `proc_close` to avoid a deadlock
* 8c2a733: [HttpFoundation] fixed format duplication in Request
* 1e75cf9: [Process] Fix #8970 : read output once the process is finished, enable pipe tests on Windows
* ed83752: [Form] Fixed expanded choice field to be marked invalid when unknown choices are submitted
* 30aa1de: [Form] Fixed ChoiceList::get*By*() methods to preserve order and array keys
* 49f5027: [HttpKernel] fixer HInclude src (closes #8951)
* c567262: Fixed escaping of service identifiers in configuration
* 4a76c76: [Process][2.2] Fix Process component on windows
* 65814ba: Request->getPort() should prefer HTTP_HOST over SERVER_PORT
* e75d284: Fixing broken http auth digest in some circumstances (php-fpm + apache).
* 899f176: [Security] fixed a leak in ExceptionListener
* 2fd8a7a: [Security] fixed a leak in the ContextListener
* 4e9d990: Ignore posix_istatty warnings
* 2d34e78: [BrowserKit] fixed method/files/content when redirecting a request
* 64e1655: [BrowserKit] removed some headers when redirecting a request
* 96a4b00: [BrowserKit] fixed headers when redirecting if history is set to false (refs #8697)
* c931eb7: [HttpKernel] fixed route parameters storage in the Request data collector (closes #8867)
* 96bb731: optimized circular reference checker
* 91234cd: [HttpKernel] changed fragment URLs to be relative by default (closes #8458)
* 4922a80: [FrameworkBundle] added support for double-quoted strings in the extractor (closes #8797)
* 0d07af8: [BrowserKit] Pass headers when `followRedirect()` is called
* d400b5a: Return BC compatibility for `@Route` parameters and default values
* 2.2.6 (2013-08-26)
* f936b41: clearToken exception is thrown at wrong place.
* d0faf55: [Locale] Fixed: StubLocale::setDefault() throws no exception when "en" is passed
* 566d79c: [Yaml] fixed embedded folded string parsing
* 0951b8d: [Translation] Fixed regression: When only one rule is passed to transChoice(), this rule should be used
* 4563f1b: [Yaml] Fix comment containing a colon on a scalar line being parsed as a hash.
* 7e87eb1: fixed request format when forwarding a request
* ccaaedf: [Form] PropertyPathMapper::mapDataToForms() *always* calls setData() on every child to ensure that all *_DATA events were fired when the initialization phase is over (except for virtual forms)
* 00bc270: [Form] Fixed: submit() reacts to dynamic modifications of the form children
* 05fdb12: Fixed issue #6932 - Inconsistent locale handling in subrequests
* b3c3159: fixed locale of sub-requests when explicitely set by the developer (refs #8821)
* b72bc0b: [Locale] fixed build-data exit code in case of an error
* 9bb7a3d: fixed request format of sub-requests when explicitely set by the developer (closes #8787)
* fa35597: Sets _format attribute only if it wasn't set previously by the user.
* f946108: fixed the format of the request used to render an exception
* 51022c3: Fix typo in the check_path validator
* 5f7219e: added a missing use statement (closes #8808)
* 262879d: fix for Process:isSuccessful()
* 0723c10: [Process] Use a consistent way to reset data of the process latest run
* 85a9c9d: [HttpFoundation] Fixed removing a nonexisting namespaced attribute.
* 191d320: [Validation] Fixed IdentityTranslator to pass correct Locale to MessageSelector
* c6ecd83: SwiftMailerHandler in Monolog bridge now able to react to kernel.terminate event
* 99adcf1: {HttpFoundation] [Session] fixed session compatibility with memcached/redis session storage
* ab9a96b: Fixes for hasParameterOption and getParameterOption methods of ArgvInput
* dbd0855: Added sleep() workaround for windows php rename bug
* fa769a2: [Process] Add more precision to Process::stop timeout
* 3ef517b: [Process] Fix #8739
* 18896d5a: [Validator] fixed the wrong isAbstract() check against the class (fixed #8589)
* e8e76ec: [TwigBridge] Prevent code extension to display warning
* 1a73b44: added missing support for the new output API in PHP 5.4+
* e0c7d3d: Fixed bug introduced in #8675
* 0b965fb: made the filesystem loader compatible with Twig 2.0
* 322f880: replaced deprecated Twig features
* 2.2.5 (2013-08-07)
* c35cc5b: added trusted hosts check
* 6d555bc: Fixed metadata serialization
* cd51d82: [Form] fixed wrong call to setTimeZone() (closes #8644)
* 5c359a8: Fix issue with \DateTimeZone::UTC / 'UTC' for PHP 5.4
* 97cbb19: [Form] Removed the "disabled" attribute from the placeholder option in select fields due to problems with the BlackBerry 10 browser
* c138304: [routing] added ability for apache matcher to handle array values
* b41cf82: [Validator] fixed StaticMethodLoader trying to invoke methods of abstract classes (closes #8589)
* 3553c71: return 0 if there is no valid data
* ae7fa11: [Twig] fixed TwigEngine::exists() method when a template contains a syntax error (closes #8546)
* 28e0709: [Validator] fixed ConstraintViolation:: incorrect when nested
* 890934d: handle Optional and Required constraints from XML or YAML sources correctly
* a2eca45: Fixed #8455: PhpExecutableFinder::find() does not always return the correct binary
* 485d53a: [DependencyInjection] Fix Container::camelize to convert beginning and ending chars
* 2317443: [Security] fixed issue where authentication listeners clear unrelated tokens
* 2ebb783: fix issue #8499 modelChoiceList call getPrimaryKey on a non object
* d3eb9b7: [Validator] Fixed groups argument misplace for validateValue method from validator class
* 2.2.4 (2013-07-15)
* 52e530d: Fixed NativeSessionStorage:regenerate when does not exists
* bb59f40: Reverts JSON_NUMERIC_CHECK
* 9c5f8c6: [Yaml] removed wrong comment removal inside a string block
* 2dc1ee0: [HtppKernel] fixed inline fragment renderer
* 06b69b8: fixed inline fragment renderer
* 91bb757: ProgressHelper shows percentage complete.
* 9d1004b: fix handling of a default 'template' as a string
* 82dbaee: [HttpKernel] fixed the inline renderer when passing objects as attributes (closes #7124)
* 6dbd1e1: [WebProfiler] fix content-type parameter
* a830001: Passed the config when building the Configuration in ConfigurableExtension
* c875d0a: [Form] fixed INF usage which does not work on Solaris (closes #8246)
* 2.2.3 (2013-06-19)
* c0da3ae: [Process] Disable exception on stream_select timeout
* 77f2aa8: [HttpFoundation] fixed issue with session_regenerate_id (closes #7380)
* bcbbb28: Throw exception if value is passed to VALUE_NONE input, long syntax
* 6b71513: fixed date type format pattern regex
* 842f3fa: do not re-register commands each time a Console\Application is run
* 0991cd0: [Process] moved env check to the Process class (refs #8227)
* 8764944: fix issue where $_ENV contains array vals
* 4139936: [DomCrawler] Fix handling file:// without a host
* de289d2: [Form] corrected interface bind() method defined against in deprecation notice
* 0c0a3e9: [Console] fixed regression when calling a command foo:bar if there is another one like foo:bar:baz (closes #8245)
* 849f3ed: [Finder] Fix SplFileInfo::getContents isn't working with ssh2 protocol
* 25e3abd: fix many-to-many Propel1 ModelChoiceList
* bce6bd2: [DomCrawler] Fixed a fatal error when setting a value in a malformed field name.
* 445b2e3: [Console] fix status code when Exception::getCode returns something like 0.1
* bbfde62: Fixed exit code for exceptions with error code 0
* afad9c7: instantiate valid commands only
* 6d2135b: force the Content-Type to html in the web profiler controllers
* 2.2.2 (2013-06-02)
* 2038329: [Form] [Validator] Fixed post_max_size = 0 bug (Issue #8065)
* 169c0b9: [Finder] Fix iteration fails with non-rewindable streams
* 45b68e0: [Finder] Fix unexpected duplicate sub path related AppendIterator issue
* 5321600: Fixed two bugs in HttpCache
* 5c317b7: [Console] fix and refactor exit code handling
* 1469953: [CssSelector] Fix :nth-last-child() translation
* 91b8490: Fix Crawler::children() to not trigger a notice for childless node
* 0a4837d: Fixed XML syntax.
* a5441b2: Fixed parsing of leading blank lines in folded scalars. Closes #7989.
* ef87ba7: [Form] Fixed a method name.
* e8d5d16: Fixed Loader import
* 60edc58: Fixed fatal error in normalize/denormalizeObject.
* 05b987f: [Process] Cleanup tests & prevent assertion that kills randomly Travis-CI
* e4913f8: [Filesystem] Fix regression introduced in 10dea948
* 5b7e1e6: added a missing check for the provider key
* b0e3ea5: [Validator] fixed wrong URL for XSD
* 59b78c7: [Validator] Fixed: $traverse and $deep is passed to the visitor from Validator::validate()
* bcb5400: [Form] Fixed transform()/reverseTransform() to always throw TransformationFailedExceptions
* 7b2ebbf: [Form] Fixed: String validation groups are never interpreted as callbacks
* 0610750: if the repository method returns an array ensure that it's internal poin...
* dcced01: [Form] Improved multi-byte handling of NumberToLocalizedStringTransformer
* 2b554d7: remove validation related headers when needed
* 2a531d7: Fix getPort() returning 80 instead of 443 when X-FORWARDED-PROTO is set to https
* 10dea94: [Filesystem] copy() is not working when open_basedir is set
* 8757ad4: [Process] Fix #5594 : `termsig` must be used instead of `stopsig` in exceptions when a process is signaled
* be34917: [Console] find command even if its name is a namespace too (closes #7860)
* 3c97004: Reset all catalogues when adding resource to fallback locale (#7715, #7819)
* 0fb35a4: Added reloading of fallback catalogues when calling addResource() (#7715)
* 9e49bc8: Re-added context information to log list
* 06e21ff: Filesystem::touch() not working with different owners (utime/atime issue)
* d98118a: [Config] #7644 add tests for passing number looking attributes as strings
* 36d057b: [HttpFoundation][BrowserKit] fixed path when converting a cookie to a string
* 495d0e3: [HttpFoundation] fixed empty domain= in Cookie::__toString()
* c2bc707: fixed detection of secure cookies received over https
* af819a7: [2.2] Pass ESI header to subrequests
* 54bcf5c: [Translator] added additional conversion for encodings other than utf-8
* 67b5797: fixed source messages to accept pluralized messages [Validator][translation][japanese] add messages for new validator
* 8a434ed: fix a DI circular reference recognition bug
* 22bf965: [DependencyInjection] fixed wrong exception class
* 5abf887: Fix default value handling for multi-value options
* da156d3: fix overwriting of request's locale if attribute _locale is missing
* 1adbe3c: [HttpKernel] truncate profiler token to 6 chars (see #7665)
* d552e4c: [HttpFoundation] do not use server variable PATH_INFO because it is already decoded and thus symfony is fragile to double encoding of the path
* 4c51ec7: Fix download over SSL using IE < 8 and binary file response
* 46909fa: [Console] Fix merging of application definition, fixes #7068, replaces #7158
* 972bde7: [HttpKernel] fixed the Kernel when the ClassLoader component is not available (closes #7406)
* f163226: fixed output of bag values
* 047212a: [Yaml] fixed handling an empty value
* 94a9cdc: [Routing][XML Loader] Add a possibility to set a default value to null
* 302d44f: [Console] fixed handling of "0" input on ask
* 383a84b: fixed handling of "0" input on ask
* 0f0c29c: [HttpFoundation] Fixed bug in key searching for NamespacedAttributeBag
* 7fc429f: [Form] DateTimeToRfc3339Transformer use proper transformation exteption in reverse transformation
* 9fcd2f6: [HttpFoundation] fixed the creation of sub-requests under some circumstances for IIS
* 8a9e898: Fix finding ACLs from ObjectIdentity's with different types
* a3826ab: #7531: [HttpKernel][Config] FileLocator adds NULL as global resource path
* 9d71ebe: Fix autocompletion of command names when namespaces conflict
* bec8ff1: Fix timeout in Process::stop method
* 3780fdb: Fix Process timeout
* 99256e4: [HttpKernel] Remove args from 5.3 stack traces to avoid filling log files, fixes #7259
* e8cae94: fix overwriting of request's locale if attribute _locale is missing
* c4da2d9: [HttpFoundation] getClientIp is fixed.
* 2.2.1 (2013-04-06)
* 751abe1: Doctrine cannot handle bare random non-utf8 strings
* 673fd9b: idAsIndex should be true with a smallint or bigint id field.
* 64a1d39: Fixed long multibyte parameter logging in DbalLogger:startQuery
* 4cf06c1: Keep the file extension in the temporary copy and test that it exists (closes #7482)
* 64ac34d: [Security] fixed wrong interface
* 9875c4b: Added '@@' escaping strategy for YamlFileLoader and YamlDumper
* bbcdfe2: [Yaml] fixed bugs with folded scalar parsing
* 5afea04: [Form] made DefaultCsrfProvider using session_status() when available
* c928ddc: [HttpFoudantion] fixed Request::getPreferredLanguage()
* e6b7515: [DomCrawler] added support for query string with slash
* 633c051: Fixed invalid file path for hiddeninput.exe on Windows.
* 7ef90d2: fix xsd definition for strict-requirements
* 39445c5: [WebProfilerBundle] Fixed the toolbar styles to apply them in IE8
* 601da45: [ClassLoader] fixed heredocs handling
* 17dc2ff: [HttpRequest] fixes Request::getLanguages() bug
* 67fbbac: [DoctrineBridge] Fixed non-utf-8 recognition
* e51432a: sub-requests are now created with the same class as their parent
* cc3a40e: [FrameworkBundle] changed temp kernel name in cache:clear
* d7a7434: [Routing] fix url generation for optional parameter having a null value
* ef53456: [DoctrineBridge] Avoids blob values to be logged by doctrine
* 6575df6: [Security] use current request attributes to generate redirect url?
* 7216cb0: [Validator] fix showing wrong max file size for upload errors
* c423f16: [2.1][TwigBridge] Fixes Issue #7342 in TwigBridge
* 7d87ecd: [FrameworkBundle] fixed cache:clear command's warmup
* 5ad4bd1: [TwigBridge] now enter/leave scope on Twig_Node_Module
* fe4cc24: [TwigBridge] fixed fixed scope & trans_default_domain node visitor
* fc47589: [BrowserKit] added ability to ignored malformed set-cookie header
* 602cdee: replace INF to PHP_INT_MAX inside Finder component.
* 5bc30bb: [Translation] added xliff loader/dumper with resname support
* 663c796: Property accessor custom array object fix
* 4f3771d: [2.2][HttpKernel] fixed wrong option name in FragmentHandler::fixOptions
* a735cbd: fix xargs pipe to work with spaces in dir names
* 15bf033: [FrameworkBundle] fix router debug command
* d16d193: [FramworkBundle] removed unused property of trans update command
* 523ef29: Fix warning for buildXml method
* 7241be9: [Finder] fixed a potential issue on Solaris where INF value is wrong (refs #7269)
* 1d3da29: [FrameworkBundle] avoids cache:clear to break if new/old folders already exist
* b9cdb9a: [HttpKernel] Fixed possible profiler token collision (closes #7272, closes #7171)
* d1f5d25: [FrameworkBundle] Fixes invalid serialized objects in cache
* c82c754: RedisProfilerStorage wrong db-number/index-number selected
* e86fefa: Unset loading[$id] in ContainerBuilder on exception
* 709518b: Default validation message translation fix.
* c0687cd: remove() should not use deprecated getParent() so it does not trigger deprecation internally
* 708c0d3: adjust routing tests to not use prefix in addCollection
* acff735: [Routing] trigger deprecation warning for deprecated features that will be removed in 2.3
* 41ad9d8: [Routing] make xml loader more tolerant
* 73bead7: [ClassLoader] made DebugClassLoader idempotent
* a4ec677: [DomCrawler] Fix relative path handling in links
* 6681df0: [Console] fixed StringInput binding
* 5bf2f71: [Console] added deprecation annotation
* 8d9cd42: Routing issue with installation in a sub-directory ref: https://github.com/symfony/symfony/issues/7129
* c97ee8d: [Translator] mention that the message id may also be an object that can be cast to string in TranslatorInterface and fix the IdentityTranslator that did not respect this
* 5a36b2d: [Translator] fix MessageCatalogueInterface::getFallbackCatalogue that can return null
* 2.2.0 (2013-03-01)
* 5b19c89: [Console] fixed unparsed StringInput tokens
* e92b76c: Mask PHP_AUTH_PW header in profiler
* bae83c7: [TwigBridge] fixed trans twig extractor
* f40adbc: [Finder] adds adapter selection/unselection capabilities
* 8f8ba38: [DomCrawler] fix handling of schemes by Link::getUri()
* 83382bc: [TwigBridge] fixed the translator extractor that were not trimming the text in trans tags (closes #7056)
* b1ea8e5: Fixed handling absent href attribute in base tag
* 83a61cf: fixed paths/notPaths regex for shell adapters
* 32c5bf7: fix issue 4911
* 13b8ce0: Adds expandable globs support to shell adapters
* 850bd5a: [HttpFoundation] Fixed messed up headers
* 4ecc246: Fixes AppCache + ESI + Stopwatch problem
* 0690709: added a DebuClassLoader::findFile() method to make the wrapping less invasive
* da22926: [Validator] gracefully handle transChoice errors
* 635b1fc: StringInput resets the given options
* 2.2.0-RC3 (2013-02-24)
* b2080c4: [HttpFoundation] Remove Cache-Control when using https download via IE<9 (fixes #6750)
* b7bd630: [Form] Fixed TimeType not to render a "size" attribute in select tags
* 368f62f: Expanded fault-tolerance for unusual cookie dates
* 171cff0: [FrameworkBundle] Fix a BC for Hinclude global template
* 3e40c17: [HttpKernel] fixed locale management when exiting sub-requests
* 3933912: fixed HInclude renderer (closes #7113)
* 189fba6: Removed some leaking deprecation warning in the Form component
* d0e4b76: [HttpFoundation] fixed, overwritten CONTENT_TYPE
* 609636e: [Config] tweaked dumper to indent multi-line info
* 0eff68f: Fix REMOTE_ADDR for cached subrequests
* 54d7d25: [HttpKernel] hinclude fragment renderer must escape URIs properly to return valid html
* f842ae6: [FrameworkBundle] CSRF should be on by default
* cb319ac: [HttpKernel] added error display suppression when using the ErrorHandler (if not, errors are displayed twice, refs #6254)
* de0f7b7: [HttpFoundation] Added getter for httpMethodParameterOverride state

View File

@ -1,637 +0,0 @@
CHANGELOG for 2.3.x
===================
This changelog references the relevant changes (bug and security fixes) done
in 2.3 minor versions.
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v2.3.0...v2.3.1
* 2.3.23 (2014-12-03)
* bug #12811 Configure firewall's kernel exception listener with configured entry point or a default entry point (rjkip)
* bug #12784 [DependencyInjection] make paths relative to __DIR__ in the generated container (nicolas-grekas)
* bug #12716 [ClassLoader] define constant only if it wasn't defined before (xabbuh)
* bug #12553 [Debug] fix error message on double exception (nicolas-grekas)
* bug #12550 [FrameworkBundle] backport #12489 (xabbuh)
* bug #12570 Fix initialized() with aliased services (Daniel Wehner)
* bug #12137 [FrameworkBundle] cache:clear command fills *.php.meta files with wrong data (Strate)
* 2.3.22 (2014-11-20)
* bug #12525 [Bundle][FrameworkBundle] be smarter when guessing the document root (xabbuh)
* bug #12296 [SecurityBundle] Authentication entry point is only registered with firewall exception listener, not with authentication listeners (rjkip)
* bug #12393 [DependencyInjection] inlined factory not referenced (boekkooi)
* bug #12436 [Filesystem] Fixed case for empty folder (yosmanyga)
* bug #12370 [Yaml] improve error message for multiple documents (xabbuh)
* bug #12170 [Form] fix form handling with OPTIONS request method (Tobion)
* bug #12235 [Validator] Fixed Regex::getHtmlPattern() to work with complex and negated patterns (webmozart)
* bug #12326 [Session] remove invalid hack in session regenerate (Tobion)
* bug #12341 [Kernel] ensure session is saved before sending response (Tobion)
* bug #12329 [Routing] serialize the compiled route to speed things up (Tobion)
* bug #12316 Break infinite loop while resolving aliases (chx)
* bug #12313 [Security][listener] change priority of switchuser (aitboudad)
* 2.3.21 (2014-10-24)
* bug #11696 [Form] Fix #11694 - Enforce options value type check in some form types (kix)
* bug #12209 [FrameworkBundle] Fixed ide links (hason)
* bug #12208 Add missing argument (WouterJ)
* bug #12197 [TwigBundle] do not pass a template reference to twig (Tobion)
* bug #12196 [TwigBundle] show correct fallback exception template in debug mode (Tobion)
* bug #12187 [CssSelector] don't raise warnings when exception is thrown (xabbuh)
* bug #11998 [Intl] Integrated ICU data into Intl component #2 (webmozart)
* bug #11920 [Intl] Integrated ICU data into Intl component #1 (webmozart)
* 2.3.20 (2014-09-28)
* bug #9453 [Form][DateTime] Propagate invalid_message & invalid_message_parameters to date & time (egeloen)
* bug #11058 [Security] bug #10242 Missing checkPreAuth from RememberMeAuthenticationProvider (glutamatt)
* bug #12004 [Form] Fixed ValidatorTypeGuesser to guess properties without constraints not to be required (webmozart)
* bug #11904 Make twig ExceptionController conformed with ExceptionListener (megazoll)
* bug #11924 [Form] Moved POST_MAX_SIZE validation from FormValidator to request handler (rpg600, webmozart)
* bug #11079 Response::isNotModified returns true when If-Modified-Since is later than Last-Modified (skolodyazhnyy)
* bug #11989 [Finder][Urgent] Remove asterisk and question mark from folder name in test to prevent windows file system issues. (Adam)
* bug #11908 [Translation] [Config] Clear libxml errors after parsing xliff file (pulzarraider)
* bug #11937 [HttpKernel] Make sure HttpCache is a trusted proxy (thewilkybarkid)
* bug #11970 [Finder] Escape location for regex searches (ymc-dabe)
* bug #11837 Use getPathname() instead of string casting to get BinaryFileReponse file path (nervo)
* bug #11513 [Translation] made XliffFileDumper support CDATA sections. (hhamon)
* bug #11907 [Intl] Improved bundle reader implementations (webmozart)
* bug #11874 [Console] guarded against non-traversable aliases (thierrymarianne)
* bug #11799 [YAML] fix handling of empty sequence items (xabbuh)
* bug #11906 [Intl] Fixed a few bugs in TextBundleWriter (webmozart)
* bug #11459 [Form][Validator] All index items after children are to be considered grand-children when resolving ViolationPath (Andrew Moore)
* bug #11715 [Form] FormBuilder::getIterator() now deals with resolved children (issei-m)
* bug #11892 [SwiftmailerBridge] Bump allowed versions of swiftmailer (ymc-dabe)
* bug #11918 [DependencyInjection] remove `service` parameter type from XSD (xabbuh)
* bug #11905 [Intl] Removed non-working $fallback argument from ArrayAccessibleResourceBundle (webmozart)
* bug #11497 Use separated function to resolve command and related arguments (JJK801)
* bug #11374 [DI] Added safeguards against invalid config in the YamlFileLoader (stof)
* bug #11897 [FrameworkBundle] Remove invalid markup (flack)
* bug #11860 [Security] Fix usage of unexistent method in DoctrineAclCache. (mauchede)
* bug #11850 [YAML] properly mask escape sequences in quoted strings (xabbuh)
* bug #11856 [FrameworkBundle] backport more error information from 2.6 to 2.3 (xabbuh)
* bug #11843 [Yaml] improve error message when detecting unquoted asterisks (xabbuh)
* 2.3.19 (2014-09-03)
* security #11832 CVE-2014-6072 (fabpot)
* security #11831 CVE-2014-5245 (stof)
* security #11830 CVE-2014-4931 (aitboudad, Jérémy Derussé)
* security #11829 CVE-2014-6061 (damz, fabpot)
* security #11828 CVE-2014-5244 (nicolas-grekas, larowlan)
* bug #10197 [FrameworkBundle] PhpExtractor bugfix and improvements (mtibben)
* bug #11772 [Filesystem] Add FTP stream wrapper context option to enable overwrite (Damian Sromek)
* bug #11788 [Yaml] fixed mapping keys containing a quoted # (hvt, fabpot)
* bug #11160 [DoctrineBridge] Abstract Doctrine Subscribers with tags (merk)
* bug #11768 [ClassLoader] Add a __call() method to XcacheClassLoader (tstoeckler)
* bug #11726 [Filesystem Component] mkdir race condition fix #11626 (kcassam)
* bug #11677 [YAML] resolve variables in inlined YAML (xabbuh)
* bug #11639 [DependencyInjection] Fixed factory service not within the ServiceReferenceGraph. (boekkooi)
* bug #11778 [Validator] Fixed wrong translations for Collection constraints (samicemalone)
* bug #11756 [DependencyInjection] fix @return anno created by PhpDumper (jakubkulhan)
* bug #11711 [DoctrineBridge] Fix empty parameter logging in the dbal logger (jakzal)
* bug #11692 [DomCrawler] check for the correct field type (xabbuh)
* bug #11672 [Routing] fix handling of nullable XML attributes (xabbuh)
* bug #11624 [DomCrawler] fix the axes handling in a bc way (xabbuh)
* bug #11676 [Form] Fixed #11675 ValueToDuplicatesTransformer accept "0" value (Nek-)
* bug #11695 [Validators] Fixed failing tests requiring ICU 52.1 which are skipped otherwise (webmozart)
* bug #11529 [WebProfilerBundle] Fixed double height of canvas (hason)
* bug #11641 [WebProfilerBundle ] Fix toolbar vertical alignment (blaugueux)
* bug #11559 [Validator] Convert objects to string in comparison validators (webmozart)
* feature #11510 [HttpFoundation] MongoDbSessionHandler supports auto expiry via configurable expiry_field (catchamonkey)
* bug #11408 [HttpFoundation] Update QUERY_STRING when overrideGlobals (yguedidi)
* bug #11633 [FrameworkBundle] add missing attribute to XSD (xabbuh)
* bug #11601 [Validator] Allow basic auth in url when using UrlValidator. (blaugueux)
* bug #11609 [Console] fixed style creation when providing an unknown tag option (fabpot)
* bug #10914 [HttpKernel] added an analyze of environment parameters for built-in server (mauchede)
* bug #11598 [Finder] Shell escape and windows support (Gordon Franke, gimler)
* bug #11499 [BrowserKit] Fixed relative redirects for ambiguous paths (pkruithof)
* bug #11516 [BrowserKit] Fix browser kit redirect with ports (dakota)
* bug #11545 [Bundle][FrameworkBundle] built-in server: exit when docroot does not exist (xabbuh)
* bug #11560 Plural fix (1emming)
* bug #11558 [DependencyInjection] Fixed missing 'factory-class' attribute in XmlDumper output (kerdany)
* bug #11548 [Component][DomCrawler] fix axes handling in Crawler::filterXPath() (xabbuh)
* bug #11422 [DependencyInjection] Self-referenced 'service_container' service breaks garbage collection (sun)
* bug #11428 [Serializer] properly handle null data when denormalizing (xabbuh)
* bug #10687 [Validator] Fixed string conversion in constraint violations (eagleoneraptor, webmozart)
* bug #11475 [EventDispatcher] don't count empty listeners (xabbuh)
* bug #11436 fix signal handling in wait() on calls to stop() (xabbuh, romainneutron)
* bug #11469 [BrowserKit] Fixed server HTTP_HOST port uri conversion (bcremer, fabpot)
* bug #11425 Fix issue described in #11421 (Ben, ben-rosio)
* bug #11423 Pass a Scope instance instead of a scope name when cloning a container in the GrahpvizDumper (jakzal)
* bug #11120 [Process] Reduce I/O load on Windows platform (romainneutron)
* bug #11342 [Form] Check if IntlDateFormatter constructor returned a valid object before using it (romainneutron)
* bug #11411 [Validator] Backported #11410 to 2.3: Object initializers are called only once per object (webmozart)
* bug #11403 [Translator][FrameworkBundle] Added @ to the list of allowed chars in Translator (takeit)
* bug #11381 [Process] Use correct test for empty string in UnixPipes (whs, romainneutron)
* 2.3.18 (2014-07-15)
* [Security] Forced validate of locales passed to the translator
* feature #11367 [HttpFoundation] Fix to prevent magic bytes injection in JSONP responses... (CVE-2014-4671) (Andrew Moore)
* bug #11386 Remove Spaceless Blocks from Twig Form Templates (chrisguitarguy)
* bug #9719 [TwigBundle] fix configuration tree for paths (mdavis1982, cordoval)
* bug #11244 [HttpFoundation] Remove body-related headers when sending the response, if body is empty (SimonSimCity)
* 2.3.17 (2014-07-07)
* bug #11238 [Translation] Added unescaping of ids in PoFileLoader (JustBlackBird)
* bug #11194 [DomCrawler] Remove the query string and the anchor of the uri of a link (benja-M-1)
* bug #11272 [Console] Make sure formatter is the same. (akimsko)
* bug #11259 [Config] Fixed failed config schema loads due to libxml_disable_entity_loader usage (ccorliss)
* bug #11234 [ClassLoader] fixed PHP warning on PHP 5.3 (fabpot)
* bug #11179 [Process] Fix ExecutableFinder with open basedir (cs278)
* bug #11242 [CssSelector] Refactored the CssSelector to remove the circular object graph (stof)
* bug #11219 [DomCrawler] properly handle buttons with single and double quotes insid... (xabbuh)
* bug #11220 [Components][Serializer] optional constructor arguments can be omitted during the denormalization process (xabbuh)
* bug #11186 Added missing `break` statement (apfelbox)
* bug #11169 [Console] Fixed notice in DialogHelper (florianv)
* bug #11144 [HttpFoundation] Fixed Request::getPort returns incorrect value under IPv6 (kicken)
* bug #10966 PHP Fatal error when getContainer method of ContainerAwareCommand has be... (kevinvergauwen)
* bug #10981 [HttpFoundation] Fixed isSecure() check to be compliant with the docs (Jannik Zschiesche)
* bug #11092 [HttpFoundation] Fix basic authentication in url with PHP-FPM (Kdecherf)
* bug #10808 [DomCrawler] Empty select with attribute name="foo[]" bug fix (darles)
* bug #11063 [HttpFoundation] fix switch statement (Tobion)
* bug #11009 [HttpFoundation] smaller fixes for PdoSessionHandler (Tobion)
* bug #11041 Remove undefined variable $e (skydiablo)
* 2.3.16 (2014-05-31)
* bug #11014 [Validator] Remove property and method targets from the optional and required constraints (jakzal)
* bug #10983 [DomCrawler] Fixed charset detection in html5 meta charset tag (77web)
* bug #10979 Make rootPath part of regex greedy (artursvonda)
* bug #10995 [TwigBridge][Trans]set %count% only on transChoice from the current context. (aitboudad)
* bug #10987 [DomCrawler] Fixed a forgotten case of complex XPath queries (stof)
* 2.3.15 (2014-05-22)
* reverted #10908
* 2.3.14 (2014-05-22)
* bug #10849 [WIP][Finder] Fix wrong implementation on sortable callback comparator (ProPheT777)
* bug #10929 [Process] Add validation on Process input (romainneutron)
* bug #10958 [DomCrawler] Fixed filterXPath() chaining loosing the parent DOM nodes (stof, robbertkl)
* bug #10953 [HttpKernel] fixed file uploads in functional tests without file selected (realmfoo)
* bug #10937 [HttpKernel] Fix "absolute path" when we look to the cache directory (BenoitLeveque)
* bug #10908 [HttpFoundation] implement session locking for PDO (Tobion)
* bug #10894 [HttpKernel] removed absolute paths from the generated container (fabpot)
* bug #10926 [DomCrawler] Fixed the initial state for options without value attribute (stof)
* bug #10925 [DomCrawler] Fixed the handling of boolean attributes in ChoiceFormField (stof)
* bug #10777 [Form] Automatically add step attribute to HTML5 time widgets to display seconds if needed (tucksaun)
* bug #10909 [PropertyAccess] Fixed plurals for -ves words (csarrazi)
* bug #10899 Explicitly define the encoding. (jakzal)
* bug #10897 [Console] Fix a console test (jakzal)
* bug #10896 [HttpKernel] Fixed cache behavior when TTL has expired and a default "global" TTL is defined (alquerci, fabpot)
* bug #10841 [DomCrawler] Fixed image input case sensitive (geoffrey-brier)
* bug #10714 [Console]Improve formatter for double-width character (denkiryokuhatsuden)
* bug #10872 [Form] Fixed TrimListenerTest as of PHP 5.5 (webmozart)
* bug #10762 [BrowserKit] Allow URLs that don't contain a path when creating a cookie from a string (thewilkybarkid)
* bug #10863 [Security] Add check for supported attributes in AclVoter (artursvonda)
* bug #10833 [TwigBridge][Transchoice] set %count% from the current context. (aitboudad)
* bug #10820 [WebProfilerBundle] Fixed profiler seach/homepage with empty token (tucksaun)
* bug #10815 Fixed issue #5427 (umpirsky)
* bug #10817 [Debug] fix #10313: FlattenException not found (nicolas-grekas)
* bug #10803 [Debug] fix ErrorHandlerTest when context is not an array (nicolas-grekas)
* bug #10801 [Debug] ErrorHandler: remove $GLOBALS from context in PHP5.3 fix #10292 (nicolas-grekas)
* bug #10797 [HttpFoundation] Allow File instance to be passed to BinaryFileResponse (anlutro)
* bug #10643 [TwigBridge] Removed strict check when found variables inside a translation (goetas)
* 2.3.13 (2014-04-27)
* bug #10789 [Console] Fixed the rendering of exceptions on HHVM with a terminal width (stof)
* bug #10773 [WebProfilerBundle ] Fixed an edge case on WDT loading (tucksaun)
* bug #10763 [Process] Disable TTY mode on Windows platform (romainneutron)
* bug #10772 [Finder] Fix ignoring of unreadable dirs in the RecursiveDirectoryIterator (jakzal)
* bug #10757 [Process] Setting STDIN while running should not be possible (romainneutron)
* bug #10749 Fixed incompatibility of x509 auth with nginx (alcaeus)
* bug #10735 [Translation] [PluralizationRules] Little correction for case 'ar' (klyk50)
* bug #10720 [HttpFoundation] Fix DbalSessionHandler (Tobion)
* bug #10721 [HttpFoundation] status 201 is allowed to have a body (Tobion)
* bug #10728 [Process] Fix #10681, process are failing on Windows Server 2003 (romainneutron)
* bug #10733 [DomCrawler] Textarea value should default to empty string instead of null. (Berdir)
* bug #10723 [Security] fix DBAL connection typehint (Tobion)
* bug #10700 Fixes various inconsistencies in the code (fabpot)
* bug #10697 [Translation] Make IcuDatFileLoader/IcuResFileLoader::load invalid resource compatible with HHVM. (idn2104)
* bug #10652 [HttpFoundation] fix PDO session handler under high concurrency (Tobion)
* bug #10669 [Profiler] Prevent throwing fatal errors when searching timestamps or invalid dates (stloyd)
* bug #10670 [Templating] PhpEngine should propagate charset to its helpers (stloyd)
* bug #10665 [DependencyInjection] Fix ticket #10663 - Added setCharset method call to PHP templating engine (koku)
* bug #10654 Changed the typehint of the EsiFragmentRenderer to the interface (stof)
* bug #10649 [BrowserKit] Fix #10641 : BrowserKit is broken when using ip as host (romainneutron)
* 2.3.12 (2014-04-03)
* bug #10586 Fixes URL validator to accept single part urls (merk)
* bug #10591 [Form] Buttons are now disabled if their containing form is disabled (webmozart)
* bug #10579 HHVM fixes (fabpot)
* bug #10564 fixed the profiler when an uncalled listener throws an exception when instantiated (fabpot)
* bug #10568 [Form] Fixed hashing of choice lists containing non-UTF-8 characters (webmozart)
* bug #10536 Avoid levenshtein comparison when using ContainerBuilder. (catch56)
* bug #10549 Fixed server values in BrowserKit (fabpot)
* bug #10540 [HttpKernel] made parsing controllers more robust (fabpot)
* bug #10545 [DependencyInjection] Fixed YamlFileLoader imports path (jrnickell)
* bug #10523 [Debug] Check headers sent before sending PHP response (GromNaN)
* bug #10275 [Validator] Fixed ACE domain checks on UrlValidator (#10031) (aeoris)
* bug #10123 handle array root element (greg0ire)
* bug #10532 Fixed regression when using Symfony on filesystems without chmod support (fabpot)
* bug #10502 [HttpKernel] Fix #10437: Catch exceptions when reloading a no-cache request (romainneutron)
* bug #10493 Fix libxml_use_internal_errors and libxml_disable_entity_loader usage (romainneutron)
* bug #9784 [HttpFoundation] Removed ini check to make Uploadedfile work on Google App Engine (micheleorselli)
* bug #10416 [Form] Allow options to be grouped by objects (felds)
* bug #10410 [Form] Fix "Array was modified outside object" in ResizeFormListener. (Chekote)
* bug #10494 [Validator] Minor fix in IBAN validator (sprain)
* bug #10491 Fixed bug that incorrectly causes the "required" attribute to be omitted from select even though it contains the "multiple" attribute (fabpot)
* bug #10479 [Process] Fix escaping on Windows (romainneutron)
* bug #10480 [Process] Fixed fatal errors in getOutput and getErrorOutput when process was not started (romainneutron)
* bug #10420 [Process] Make Process::start non-blocking on Windows platform (romainneutron)
* bug #10455 [Process] Fix random failures in test suite on TravisCI (romainneutron)
* bug #10448 [Process] Fix quoted arguments escaping (romainneutron)
* bug #10444 [DomCrawler] Fixed incorrect value name conversion in getPhpValues() and getPhpFiles() (romainneutron)
* bug #10423 [Config] XmlUtils::convertDomElementToArray does not handle '0' (bendavies)
* bug #10153 [Process] Fixed data in pipe being truncated if not read before process termination (astephens25)
* bug #10429 [Process] Fix #9160 : escaping an argument with a trailing backslash on windows fails (romainneutron)
* bug #10412 [Process] Fix process status in TTY mode (romainneutron)
* bug #10382 10158 get vary multiple (bbinkovitz)
* bug #10251 [Form] Fixes empty file-inputs getting treated as extra field. (jenkoian)
* bug #10351 [HttpKernel] fix stripComments() normalizing new-lines (sstok)
* bug #10348 Update FileLoader to fix issue #10339 (msumme)
* 2.3.11 (2014-02-27)
* bug #10146 [WebProfilerBundle] fixed parsing Mongo DSN and added Test for it (malarzm)
* bug #10299 [Finder] () is also a valid delimiter (WouterJ)
* bug #10255 [FrameworkBundle] Fixed wrong redirect url if path contains some query parameters (pulzarraider)
* bug #10285 Bypass sigchild detection if phpinfo is not available (Seldaek)
* bug #10269 [Form] Revert "Fix "Array was modified outside object" in ResizeFormListener." (norzechowicz)
* 2.3.10 (2014-02-12)
* bug #10231 [Console] removed problematic regex (fabpot)
* bug #10245 [DomCrawler] Added support for <area> tags to be treated as links (shamess)
* bug #10232 [Form] Fix "Array was modified outside object" in ResizeFormListener. (Chekote)
* bug #10215 [Routing] reduced recursion in dumper (arnaud-lb)
* bug #10207 [DomCrawler] Fixed filterXPath() chaining (robbertkl)
* bug #10205 [DomCrawler] Fixed incorrect handling of image inputs (robbertkl)
* bug #10191 [HttpKernel] fixed wrong reference in TraceableEventDispatcher (fabpot)
* bug #10195 [Debug] Fixed recursion level incrementing in FlattenException::flattenArgs(). (sun)
* bug #10151 [Form] Update DateTime objects only if the actual value has changed (peterrehm)
* bug #10140 allow the TextAreaFormField to be used with valid/invalid HTML (dawehner)
* bug #10131 added lines to exceptions for the trans and transchoice tags (fabpot)
* bug #10119 [Validator] Minor fix in XmlFileLoader (florianv)
* bug #10078 [BrowserKit] add non-standard port to HTTP_HOST server param (kbond)
* bug #10091 [Translation] Update PluralizationRules.php (guilhermeblanco)
* bug #10053 [Form] fixed allow render 0 numeric input value (dczech)
* bug #10033 [HttpKernel] Bugfix - Logger Deprecation Notice (Rican7)
* bug #10023 [FrameworkBundle] Thrown an HttpException instead returning a Response in RedirectController::redirectAction() (jakzal)
* bug #9985 Prevent WDT from creating a session (mvrhov)
* bug #10000 [Console] Fixed the compatibility with HHVM (stof)
* bug #9979 [Doctrine Bridge][Validator] Fix for null values in assosiated properties when using UniqueEntityValidator (vpetrovych)
* bug #9983 [TwigBridge] Update min. version of Twig (stloyd)
* bug #9970 [CssSelector] fixed numeric attribute issue (jfsimon)
* bug #9747 [DoctrineBridge] Fix: Add type detection. Needed by pdo_dblib (iamluc)
* bug #9962 [Process] Fix #9861 : Revert TTY mode (romainneutron)
* bug #9960 [Form] Update minimal requirement in composer.json (stloyd)
* bug #9952 [Translator] Fix Empty translations with Qt files (vlefort)
* bug #9948 [WebProfilerBundle] Fixed profiler toolbar icons for XHTML. (rafalwrzeszcz)
* bug #9933 Propel1 exception message (jaugustin)
* bug #9949 [BrowserKit] Throw exception on invalid cookie expiration timestamp (anlutro)
* 2.3.9 (2014-01-05)
* bug #9938 [Process] Add support SAPI cli-server (peter-gribanov)
* bug #9940 [EventDispatcher] Fix hardcoded listenerTag name in error message (lemoinem)
* bug #9908 [HttpFoundation] Throw proper exception when invalid data is passed to JsonResponse class (stloyd)
* bug #9902 [Security] fixed pre/post authentication checks (fabpot)
* bug #9899 [Filesystem | WCM] 9339 fix stat on url for filesystem copy (cordoval)
* bug #9589 [DependencyInjection] Fixed #9020 - Added support for collections in service#parameters (lavoiesl)
* bug #9889 [Console] fixed column width when using the Table helper with some decoration in cells (fabpot)
* bug #9323 [DomCrawler]fix #9321 Crawler::addHtmlContent add gbk encoding support (bronze1man)
* bug #8997 [Security] Fixed problem with losing ROLE_PREVIOUS_ADMIN role. (pawaclawczyk)
* bug #9557 [DoctrineBridge] Fix for cache-key conflict when having a \Traversable as choices (DRvanR)
* bug #9879 [Security] Fix ExceptionListener to catch correctly AccessDeniedException if is not first exception (fabpot)
* bug #9885 [Dependencyinjection] Fixed handling of inlined references in the AnalyzeServiceReferencesPass (fabpot)
* bug #9884 [DomCrawler] Fixed creating form objects from named form nodes (jakzal)
* bug #9882 Add support for HHVM in the getting of the PHP executable (fabpot)
* bug #9850 [Validator] Fixed IBAN validator with 0750447346 value (stewe)
* bug #9865 [Validator] Fixes message value for objects (jongotlin)
* bug #9441 [Form][DateTimeToArrayTransformer] Check for hour, minute & second validity (egeloen)
* bug #9867 #9866 [Filesystem] Fixed mirror for symlinks (COil)
* bug #9806 [Security] Fix parent serialization of user object (ddeboer)
* bug #9834 [DependencyInjection] Fixed support for backslashes in service ids. (jakzal)
* bug #9826 fix #9356 [Security] Logger should manipulate the user reloaded from provider (matthieuauger)
* bug #9769 [BrowserKit] fixes #8311 CookieJar is totally ignorant of RFC 6265 edge cases (jzawadzki)
* bug #9697 [Config] fix 5528 let ArrayNode::normalizeValue respect order of value array provided (cordoval)
* bug #9701 [Config] fix #7243 allow 0 as arraynode name (cordoval)
* bug #9795 [Form] Fixed issue in BaseDateTimeTransformer when invalid timezone cause Trans... (tyomo4ka)
* bug #9714 [HttpFoundation] BinaryFileResponse should also return 416 or 200 on some range-requets (SimonSimCity)
* bug #9601 [Routing] Remove usage of deprecated _scheme requirement (Danez)
* bug #9489 [DependencyInjection] Add normalization to tag options (WouterJ)
* bug #9135 [Form] [Validator] fix maxLength guesser (franek)
* bug #9790 [Filesystem] Changed the mode for a target file in copy() to be write only (jakzal)
* 2.3.8 (2013-12-16)
* bug #9758 [Console] fixed TableHelper when cell value has new line (k-przybyszewski)
* bug #9760 [Routing] Fix router matching pattern against multiple hosts (karolsojko)
* bug #9674 [Form] rename validators.ua.xlf to validators.uk.xlf (craue)
* bug #9722 [Validator]Fixed getting wrong msg when value is an object in Exception (aitboudad)
* bug #9750 allow TraceableEventDispatcher to reuse event instance in nested events (evillemez)
* bug #9718 [validator] throw an exception if isn't an instance of ConstraintValidatorInterface. (aitboudad)
* bug #9716 Reset the box model to content-box in the web debug toolbar (stof)
* bug #9711 [FrameworkBundle] Allowed "0" as a checkbox value in php templates (jakzal)
* bug #9665 [Bridge/Doctrine] ORMQueryBuilderLoader - handled the scenario when no entity manager is passed with closure query builder (jakzal)
* bug #9656 [DoctrineBridge] normalized class names in the ORM type guesser (fabpot)
* bug #9647 use the correct class name to retrieve mapped class' metadata and reposi... (xabbuh)
* bug #9648 [Debug] ensured that a fatal PHP error is actually fatal after being handled by our error handler (fabpot)
* bug #9643 [WebProfilerBundle] Fixed js escaping in time.html.twig (hason)
* bug #9641 [Debug] Avoid notice from being "eaten" by fatal error. (fabpot)
* bug #9639 Modified guessDefaultEscapingStrategy to not escape txt templates (fabpot)
* bug #9314 [Form] Fix DateType for 32bits computers. (WedgeSama)
* bug #9443 [FrameworkBundle] Fixed the registration of validation.xml file when the form is disabled (hason)
* bug #9625 [HttpFoundation] Do not return an empty session id if the session was closed (Taluu)
* bug #9637 [Validator] Replaced inexistent interface (jakzal)
* bug #9605 Adjusting CacheClear Warmup method to namespaced kernels (rdohms)
* bug #9610 Container::camelize also takes backslashes into consideration (ondrejmirtes)
* bug #9447 [BrowserKit] fixed protocol-relative url redirection (jong99)
* bug #9535 No Entity Manager defined exception (armetiz)
* bug #9485 [Acl] Fix for issue #9433 (guilro)
* bug #9516 [AclProvider] Fix incorrect behavior when partial results returned from cache (superdav42)
* bug #9352 [Intl] make currency bundle merge fallback locales when accessing data, ... (shieldo)
* bug #9537 [FrameworkBundle] Fix mistake in translation's service definition. (phpmike)
* bug #9367 [Process] Check if the pipe array is empty before calling stream_select() (jfposton)
* bug #9211 [Form] Fixed memory leak in FormValidator (bschussek)
* bug #9469 [Propel1] re-factor Propel1 ModelChoiceList (havvg)
* 2.3.7 (2013-11-14)
* bug #9499 Request::overrideGlobals() may call invalid ini value (denkiryokuhatsuden)
* bug #9420 [Console][ProgressHelper] Fix ProgressHelper redraw when redrawFreq is greater than 1 (giosh94mhz)
* bug #9212 [Validator] Force Luhn Validator to only work with strings (Richtermeister)
* bug #9476 Fixed bug with lazy services (peterrehm)
* bug #9431 [DependencyInjection] fixed YamlDumper did not make services private. (realityking)
* bug #9416 fixed issue with clone now the children of the original form are preserved and the clone form is given new children (yjv)
* bug #9412 [HttpFoundation] added content length header to BinaryFileResponse (kbond)
* bug #9395 [HttpKernel] fixed memory limit display in MemoryDataCollector (hhamon)
* bug #9388 [Form] Fixed: The "data" option is taken into account even if it is NULL (bschussek)
* bug #9391 [Serializer] Fixed the error handling when decoding invalid XML to avoid a Warning (stof)
* bug #9378 [DomCrawler] [HttpFoundation] Make `Content-Type` attributes identification case-insensitive (matthieuprat)
* bug #9354 [Process] Fix #9343 : revert file handle usage on Windows platform (romainneutron)
* bug #9334 [Form] Improved FormTypeCsrfExtension to use the type class as default intention if the form name is empty (bschussek)
* bug #9333 [Form] Improved FormTypeCsrfExtension to use the type class as default intention if the form name is empty (bschussek)
* bug #9338 [DoctrineBridge] Added type check to prevent calling clear() on arrays (bschussek)
* bug #9328 [Form] Changed FormTypeCsrfExtension to use the form's name as default intention (bschussek)
* bug #9327 [Form] Changed FormTypeCsrfExtension to use the form's name as default intention (bschussek)
* bug #9308 [DoctrineBridge] Loosened CollectionToArrayTransformer::transform() to accept arrays (bschussek)
* bug #9274 [Yaml] Fixed the escaping of strings starting with a dash when dumping (stof)
* bug #9270 [Templating] Fix in ChainLoader.php (janschoenherr)
* bug #9246 [Session] fixed wrong started state (tecbot)
* 2.3.6 (2013-10-10)
* [Security] limited the password length passed to encoders
* bug #9259 [Process] Fix latest merge from 2.2 in 2.3 (romainneutron)
* bug #9237 [FrameworkBundle] assets:install command should mirror .dotfiles (.htaccess) (FineWolf)
* bug #9223 [Translator] PoFileDumper - PO headers (Padam87)
* bug #9257 [Process] Fix 9182 : random failure on pipes tests (romainneutron)
* bug #9222 [Bridge] [Propel1] Fixed guessed relations (ClementGautier)
* bug #9214 [FramworkBundle] Check event listener services are not abstract (lyrixx)
* bug #9207 [HttpKernel] Check for lock existence before unlinking (ollietb)
* bug #9184 Fixed cache warmup of paths which contain back-slashes (fabpot)
* bug #9192 [Form] remove MinCount and MaxCount constraints in ValidatorTypeGuesser (franek)
* bug #9190 Fix: duplicate usage of Symfony\Component\HttpFoundation\Response (realsim)
* bug #9188 [Form] add support for Length and Range constraint in ValidatorTypeGuesser (franek)
* bug #8809 [Form] enforce correct timezone (Burgov)
* bug #9169 Fixed client insulation when using the terminable event (fabpot)
* bug #9154 Fix problem with Windows file links (backslash in JavaScript string) (fabpot)
* bug #9153 [DependencyInjection] Prevented inlining of lazy loaded private service definitions (jakzal)
* bug #9103 [HttpFoundation] Header `HTTP_X_FORWARDED_PROTO` can contain various values (stloyd)
* 2.3.5 (2013-09-27)
* 8980954: bugix: CookieJar returns cookies with domain "domain.com" for domain "foodomain.com"
* bb59ac2: fixed HTML5 form attribute handling XPath query
* 3108c71: [Locale] added support for the position argument to NumberFormatter::parse()
* 0774c79: [Locale] added some more stubs for the number formatter
* e5282e8: [DomCrawler]Crawler guess charset from html
* 0e80d88: fixes RequestDataCollector bug, visible when used on Drupal8
* c8d0342: [Console] fixed exception rendering when nested styles
* a47d663: [Console] fixed the formatter for single-char tags
* c6c35b3: [Console] Escape exception message during the rendering of an exception
* 04e730e: [DomCrawler] fixed HTML5 form attribute handling
* 0e437c5: [BrowserKit] Fixed the handling of parameters when redirecting
* d84df4c: [Process] Properly close pipes after a Process::stop call
* b3ae29d: fixed bytes conversion when used on 32-bits systems
* a273e79: [Form] Fixed: "required" attribute is not added to <select> tag if no empty value
* 958ec09: NativeSessionStorage regenerate
* 0d6af5c: Use setTimeZone if this method exists.
* 42019f6: [Console] Fixed argument parsing when a single dash is passed.
* 097b376: [WebProfilerBundle] fixed toolbar for IE8 (refs #8380)
* 4f5b8f0: [HttpFoundation] tried to keep the original Request URI as much as possible to avoid different behavior between ::createFromGlobals() and ::create()
* 4c1dbc7: [TwigBridge] fixed form rendering when used in a template with dynamic inheritance
* 8444339: [HttpKernel] added a check for private event listeners/subscribers
* 427ee19: [FrameworkBundle] fixed registration of the register listener pass
* ce7de37: [DependencyInjection] fixed a non-detected circular reference in PhpDumper (closes #8425)
* 37102dc: [Process] Close unix pipes before calling `proc_close` to avoid a deadlock
* 8c2a733: [HttpFoundation] fixed format duplication in Request
* 1e75cf9: [Process] Fix #8970 : read output once the process is finished, enable pipe tests on Windows
* 9542d72: [Form] Fixed expanded choice field to be marked invalid when unknown choices are submitted
* 72b8807: [Form] Fixed ChoiceList::get*By*() methods to preserve order and array keys
* b65a515: [Form] Fixed FormValidator::findClickedButton() not to be called exponentially
* 49f5027: [HttpKernel] fixer HInclude src (closes #8951)
* c567262: Fixed escaping of service identifiers in configuration
* 4a76c76: [Process][2.2] Fix Process component on windows
* 65814ba: Request->getPort() should prefer HTTP_HOST over SERVER_PORT
* e75d284: Fixing broken http auth digest in some circumstances (php-fpm + apache).
* 970405f: fixed some circular references
* 899f176: [Security] fixed a leak in ExceptionListener
* 2fd8a7a: [Security] fixed a leak in the ContextListener
* 6362fa4: Button missing getErrorsAsString() fixes #8084 Debug: Not calling undefined method anymore. If the form contained a submit button the call would fail and the debug of the form wasn't possible. Now it will work in all cases. This fixes #8084
* e4b3039: Use isset() instead of array_key_exists() in DIC
* 2d34e78: [BrowserKit] fixed method/files/content when redirecting a request
* 64e1655: [BrowserKit] removed some headers when redirecting a request
* 96a4b00: [BrowserKit] fixed headers when redirecting if history is set to false (refs #8697)
* c931eb7: [HttpKernel] fixed route parameters storage in the Request data collector (closes #8867)
* 96bb731: optimized circular reference checker
* 39b610d: Clear lazy loading initializer after the service is successfully initialized
* 91234cd: [HttpKernel] changed fragment URLs to be relative by default (closes #8458)
* 4922a80: [FrameworkBundle] added support for double-quoted strings in the extractor (closes #8797)
* 52d8676: [Intl] made RegionBundle and LanguageBundle merge fallback data when using a country-specific locale
* 0d07af8: [BrowserKit] Pass headers when `followRedirect()` is called
* d400b5a: Return BC compatibility for `@Route` parameters and default values
* 2.3.4 (2013-08-27)
* f936b41: clearToken exception is thrown at wrong place.
* ea480bd: [Form] Fixed Form::all() signature for PHP 5.3.3
* e1f40f2: [Locale] Fixed: Locale::setDefault() throws no exception when "en" is passed
* d0faf55: [Locale] Fixed: StubLocale::setDefault() throws no exception when "en" is passed
* 566d79c: [Yaml] fixed embedded folded string parsing
* 33b0a17: [Validator] fixed Boolean handling in XML constraint mappings (closes #5603)
* 0951b8d: [Translation] Fixed regression: When only one rule is passed to transChoice(), this rule should be used
* 4563f1b: [Yaml] Fix comment containing a colon on a scalar line being parsed as a hash.
* 7e87eb1: fixed request format when forwarding a request
* 07d14e5: [Form] Removed exception in Button::setData(): setData() is now always called for all elements in the form tree during the initialization of the tree
* ccaaedf: [Form] PropertyPathMapper::mapDataToForms() *always* calls setData() on every child to ensure that all *_DATA events were fired when the initialization phase is over (except for virtual forms)
* 00bc270: [Form] Fixed: submit() reacts to dynamic modifications of the form children
* c4636e1: added a functional test for locale handling in sub-requests
* 05fdb12: Fixed issue #6932 - Inconsistent locale handling in subrequests
* b3c3159: fixed locale of sub-requests when explicitely set by the developer (refs #8821)
* 9bb7a3d: fixed request format of sub-requests when explicitely set by the developer (closes #8787)
* fa35597: Sets _format attribute only if it wasn't set previously by the user.
* f946108: fixed the format of the request used to render an exception
* 51022c3: Fix typo in the check_path validator
* 5f7219e: added a missing use statement (closes #8808)
* 262879d: fix for Process:isSuccessful()
* 0723c10: [Process] Use a consistent way to reset data of the process latest run
* 85a9c9d: [HttpFoundation] Fixed removing a nonexisting namespaced attribute.
* 191d320: [Validation] Fixed IdentityTranslator to pass correct Locale to MessageSelector
* c6ecd83: SwiftMailerHandler in Monolog bridge now able to react to kernel.terminate event
* 99adcf1: {HttpFoundation] [Session] fixed session compatibility with memcached/redis session storage
* ab9a96b: Fixes for hasParameterOption and getParameterOption methods of ArgvInput
* dbd0855: Added sleep() workaround for windows php rename bug
* c342715: [Form] Fixed: Added "validation_groups" option to submit button
* fa01e6b: [Process] Fix for #8754 (Timed-out processes are successful)
* 909fab6: [Process] Fix #8742 : Signal-terminated processes are not successful
* fa769a2: [Process] Add more precision to Process::stop timeout
* 3ef517b: [Process] Fix #8739
* 572ba68: [TwigBridge] removed superflous ; when rendering form_enctype() (closes #8660)
* 18896d5a: [Validator] fixed the wrong isAbstract() check against the class (fixed #8589)
* e8e76ec: [TwigBridge] Prevent code extension to display warning
* 96aec0f: Fix internal sub-request creation
* 6ed0fdf: [Form] Moved auto_initialize option to the BaseType
* e47657d: Make sure ContextErrorException is loaded during compile time errors
* 98f6969: Fix empty process argument escaping on Windows
* 1a73b44: added missing support for the new output API in PHP 5.4+
* e0c7d3d: Fixed bug introduced in #8675
* 0b965fb: made the filesystem loader compatible with Twig 2.0
* 8fa0453: [Intl] Updated stubs to reflect ICU 51.2
* 322f880: replaced deprecated Twig features
* 48338fc: Ignore null value in comparison validators
* 2.3.3 (2013-08-07)
* c35cc5b: added trusted hosts check
* 6d555bc: Fixed metadata serialization
* cd51d82: [Form] fixed wrong call to setTimeZone() (closes #8644)
* 5c359a8: Fix issue with \DateTimeZone::UTC / 'UTC' for PHP 5.4
* 85330a6: [Form] Fixed patched forms to be valid even if children are not submitted
* cb5e765: [Form] Fixed: If a form is not present in a request, it is not automatically submitted
* 97cbb19: [Form] Removed the "disabled" attribute from the placeholder option in select fields due to problems with the BlackBerry 10 browser
* c138304: [routing] added ability for apache matcher to handle array values
* 1bd45b3: [FrameworkBundle] fixed regression where the command might have the wrong container if the application is reused several times
* b41cf82: [Validator] fixed StaticMethodLoader trying to invoke methods of abstract classes (closes #8589)
* e5fba3c: [Form] fixes empty file-inputs get treated as extra field
* 3553c71: return 0 if there is no valid data
* 50d0727: [DependencyInjection] fixed regression where setting a service to null did not trigger a re-creation of the service when getting it
* dc1fff0: The ignoreAttributes itself should be ignored, too.
* ae7fa11: [Twig] fixed TwigEngine::exists() method when a template contains a syntax error (closes #8546)
* 28e0709: [Validator] fixed ConstraintViolation:: incorrect when nested
* 890934d: handle Optional and Required constraints from XML or YAML sources correctly
* a2eca45: Fixed #8455: PhpExecutableFinder::find() does not always return the correct binary
* 485d53a: [DependencyInjection] Fix Container::camelize to convert beginning and ending chars
* 2317443: [Security] fixed issue where authentication listeners clear unrelated tokens
* 2ebb783: fix issue #8499 modelChoiceList call getPrimaryKey on a non object
* 242b318: [DependencyInjection] Add exception for service name not dumpable in PHP
* d3eb9b7: [Validator] Fixed groups argument misplace for validateValue method from validator class
* 2.3.2 (2013-07-17)
* bb59f40: Reverts JSON_NUMERIC_CHECK
* 9c5f8c6: [Yaml] removed wrong comment removal inside a string block
* 2dc1ee0: [HtppKernel] fixed inline fragment renderer
* 06b69b8: fixed inline fragment renderer
* 91bb757: ProgressHelper shows percentage complete.
* 9d1004b: fix handling of a default 'template' as a string
* 82dbaee: [HttpKernel] fixed the inline renderer when passing objects as attributes (closes #7124)
* 8bb4e4d: [DI] Fixed bug requesting non existing service from dumped frozen container
* 6dbd1e1: [WebProfiler] fix content-type parameter
* a830001: Passed the config when building the Configuration in ConfigurableExtension
* c875d0a: [Form] fixed INF usage which does not work on Solaris (closes #8246)
* ab1439e: [Console] Fixed the table rendering with multi-byte strings.
* c0da3ae: [Process] Disable exception on stream_select timeout
* 77f2aa8: [HttpFoundation] fixed issue with session_regenerate_id (closes #7380)
* bcbbb28: Throw exception if value is passed to VALUE_NONE input, long syntax
* 6b71513: fixed date type format pattern regex
* b5ded81: [Security] fixed usage of the salt for the bcrypt encoder (refs #8210)
* 842f3fa: do not re-register commands each time a Console\Application is run
* 0991cd0: [Process] moved env check to the Process class (refs #8227)
* 8764944: fix issue where $_ENV contains array vals
* 4139936: [DomCrawler] Fix handling file:// without a host
* e65723c: fix-progressbar-start
* aa79393: also consider alias in Container::has()
* de289d2: [Form] corrected interface bind() method defined against in deprecation notice
* 0c0a3e9: [Console] fixed regression when calling a command foo:bar if there is another one like foo:bar:baz (closes #8245)
* 849f3ed: [Finder] Fix SplFileInfo::getContents isn't working with ssh2 protocol
* 6d2135b: force the Content-Type to html in the web profiler controllers
* 2.3.1 (2013-06-11)
* 25e3abd: fix many-to-many Propel1 ModelChoiceList
* bce6bd2: [DomCrawler] Fixed a fatal error when setting a value in a malformed field name.
* e3561ce: [FrameworkBundle] Fixed OutOfBoundException when session handler_id is null
* 81b122d: [DependencyInjection] Add support for aliases of aliases + regression test
* 445b2e3: [Console] fix status code when Exception::getCode returns something like 0.1
* bbfde62: Fixed exit code for exceptions with error code 0
* d8c0ef7: [DependencyInjection] Rename ContainerBuilder::$aliases to avoid conflicting with the parent class
* bb797ee: [DependencyInjection] Remove get*Alias*Service methods from compiled containers
* 379f5e0: [DependencyInjection] Fix aliased access of shared services, fixes #8096
* afad9c7: instantiate valid commands only
* 2.3.0 (2013-06-03)
* e93fc7a: [FrameworkBundle] set the dispatcher in the console application
* 2038329: [Form] [Validator] Fixed post_max_size = 0 bug (Issue #8065)
* 554ab9f: [Console] renamed ConsoleForExceptionEvent into ConsoleExceptionEvent
* fd151fd: [Security] Fixed the check if an interface exists.
* c8e5503: [FrameworkBundle] removed HttpFoundation classes from HttpKernel cache
* 169c0b9: [Finder] Fix iteration fails with non-rewindable streams
* 45b68e0: [Finder] Fix unexpected duplicate sub path related AppendIterator issue
* 13ba4ea: fix logger in regards to DebugLoggerInterface
* 97b38ed: Added type of return value in VoterInterface.
* 79a842a: [Console] Add namespace support back in to list command
* 5321600: Fixed two bugs in HttpCache
* 435012f: [Config] Adding the previous exception message into the FileLoaderLoadException so it's more easily seen
* 5c317b7: [Console] fix and refactor exit code handling
* 1469953: [CssSelector] Fix :nth-last-child() translation
* 2d9027d: [CssSelector] Fix :nth-last-child() translation
* 91b8490: Fix Crawler::children() to not trigger a notice for childless node
* 2.3.0-RC1 (2013-05-16)
* 95f356b: remove check for PHP bug #50731
* 8f54da7: [BrowserKit] should not follow redirects if status code is not 30x
* f41ac06: changed all version deps to accepts all upcoming Symfony versions
* a4e3ebf: [DomCrawler] Fixed the Crawler::html() method for PHP versions earlier than 5.3.6.
* 3beaf52: [Security] Disabled the BCryptPasswordEncoder tests for PHP versions lower than 5.3.7.
* 2.3.0-BETA2 (2013-05-10)
* 97bee20: Pass exceptions from the ExceptionListener to Monolog
* be42dbc: [HttpFoundation][File][UploadedFile] Fix guessClientExtension() method
* a5441b2: Fixed parsing of leading blank lines in folded scalars. Closes #7989.
* e8d5d16: Fixed Loader import
* bd0c48c: [Console] moved the IO configuration to its own method
* fdb4b1f: [Console] moved --help support to allow proper behavior with other passed options
* dd0e138: Eased translationNodeVisitor overriding in TranslationExtension
* 853f681: fixed request scope issues (refs #7457)
* 60edc58: Fixed fatal error in normalize/denormalizeObject.
* 78e3710: ProxyManager Bridge
* 41805c0: [Crawler] Add proper validation of node argument of method add
* 7933971: [Form] Added radio button for empty value to expanded single-choice fields
* 0586c7e: made some optimization when parsing YAML files
* 1856df3: [Security] fixed wrong merge (refs #4776)
* 5b7e1e6: added a missing check for the provider key
* f1c2ab7: [DependencyInjection] Add a method map to avoid computing method names from service names
* ea633f5: [HttpKernel] Avoid updating the context if the request did not change
* 997d549: [HttpFoundation] Avoid a few unnecessary str_replace() calls
* f5e7f24: [HttpFoundation] Optimize ServerBag::getHeaders()
* 59b78c7: [Validator] Fixed: $traverse and $deep is passed to the visitor from Validator::validate()
* bcb5400: [Form] Fixed transform()/reverseTransform() to always throw TransformationFailedExceptions
* 7b2ebbf: [Form] Fixed: String validation groups are never interpreted as callbacks
* 0610750: if the repository method returns an array ensure that it's internal poin...
* dcced01: [Form] Improved multi-byte handling of NumberToLocalizedStringTransformer
* 90a20d7: [Translation] Made translation domain defaults in Translator consistent with TranslatorInterface
* 549a308: [Form] Fixed CSRF error messages to be translated and added "csrf_message" option

View File

@ -1,401 +0,0 @@
CHANGELOG for 2.4.x
===================
This changelog references the relevant changes (bug and security fixes) done
in 2.4 minor versions.
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v2.4.0...v2.4.1
* 2.4.9 (2014-09-03)
* security #11832 CVE-2014-6072 (fabpot)
* security #11831 CVE-2014-5245 (stof)
* security #11830 CVE-2014-4931 (aitboudad, Jérémy Derussé)
* security #11829 CVE-2014-6061 (damz, fabpot)
* security #11828 CVE-2014-5244 (nicolas-grekas, larowlan)
* bug #10197 [FrameworkBundle] PhpExtractor bugfix and improvements (mtibben)
* bug #11772 [Filesystem] Add FTP stream wrapper context option to enable overwrite (Damian Sromek)
* bug #11788 [Yaml] fixed mapping keys containing a quoted # (hvt, fabpot)
* bug #11160 [DoctrineBridge] Abstract Doctrine Subscribers with tags (merk)
* bug #11768 [ClassLoader] Add a __call() method to XcacheClassLoader (tstoeckler)
* bug #11726 [Filesystem Component] mkdir race condition fix #11626 (kcassam)
* bug #11677 [YAML] resolve variables in inlined YAML (xabbuh)
* bug #11639 [DependencyInjection] Fixed factory service not within the ServiceReferenceGraph. (boekkooi)
* bug #11778 [Validator] Fixed wrong translations for Collection constraints (samicemalone)
* bug #11756 [DependencyInjection] fix @return anno created by PhpDumper (jakubkulhan)
* bug #11711 [DoctrineBridge] Fix empty parameter logging in the dbal logger (jakzal)
* bug #11692 [DomCrawler] check for the correct field type (xabbuh)
* bug #11672 [Routing] fix handling of nullable XML attributes (xabbuh)
* bug #11624 [DomCrawler] fix the axes handling in a bc way (xabbuh)
* bug #11676 [Form] Fixed #11675 ValueToDuplicatesTransformer accept "0" value (Nek-)
* bug #11695 [Validators] Fixed failing tests requiring ICU 52.1 which are skipped otherwise (webmozart)
* bug #11529 [WebProfilerBundle] Fixed double height of canvas (hason)
* bug #11641 [WebProfilerBundle ] Fix toolbar vertical alignment (blaugueux)
* bug #11559 [Validator] Convert objects to string in comparison validators (webmozart)
* feature #11510 [HttpFoundation] MongoDbSessionHandler supports auto expiry via configurable expiry_field (catchamonkey)
* bug #11408 [HttpFoundation] Update QUERY_STRING when overrideGlobals (yguedidi)
* bug #11633 [FrameworkBundle] add missing attribute to XSD (xabbuh)
* bug #11601 [Validator] Allow basic auth in url when using UrlValidator. (blaugueux)
* bug #11609 [Console] fixed style creation when providing an unknown tag option (fabpot)
* bug #10914 [HttpKernel] added an analyze of environment parameters for built-in server (mauchede)
* bug #11598 [Finder] Shell escape and windows support (Gordon Franke, gimler)
* bug #11499 [BrowserKit] Fixed relative redirects for ambiguous paths (pkruithof)
* bug #11516 [BrowserKit] Fix browser kit redirect with ports (dakota)
* bug #11545 [Bundle][FrameworkBundle] built-in server: exit when docroot does not exist (xabbuh)
* bug #11560 Plural fix (1emming)
* bug #11558 [DependencyInjection] Fixed missing 'factory-class' attribute in XmlDumper output (kerdany)
* bug #11548 [Component][DomCrawler] fix axes handling in Crawler::filterXPath() (xabbuh)
* bug #11422 [DependencyInjection] Self-referenced 'service_container' service breaks garbage collection (sun)
* bug #11428 [Serializer] properly handle null data when denormalizing (xabbuh)
* bug #10687 [Validator] Fixed string conversion in constraint violations (eagleoneraptor, webmozart)
* bug #11475 [EventDispatcher] don't count empty listeners (xabbuh)
* bug #11436 fix signal handling in wait() on calls to stop() (xabbuh, romainneutron)
* bug #11469 [BrowserKit] Fixed server HTTP_HOST port uri conversion (bcremer, fabpot)
* bug #11425 Fix issue described in #11421 (Ben, ben-rosio)
* bug #11423 Pass a Scope instance instead of a scope name when cloning a container in the GrahpvizDumper (jakzal)
* bug #11448 [MonologBridge] fixed Console handler priorities (fabpot)
* bug #11120 [Process] Reduce I/O load on Windows platform (romainneutron)
* bug #11342 [Form] Check if IntlDateFormatter constructor returned a valid object before using it (romainneutron)
* bug #11439 [ExpressionLanguage] Fixed double quoted string literals containing sharps (pylebecq)
* bug #11411 [Validator] Backported #11410 to 2.3: Object initializers are called only once per object (webmozart)
* bug #11403 [Translator][FrameworkBundle] Added @ to the list of allowed chars in Translator (takeit)
* bug #11381 [Process] Use correct test for empty string in UnixPipes (whs, romainneutron)
* 2.4.8 (2014-07-15)
* [Security] Forced validate of locales passed to the translator
* bug #11278 Remove Spaceless Blocks From Twig Templates (chrisguitarguy)
* feature #11367 [HttpFoundation] Fix to prevent magic bytes injection in JSONP responses... (CVE-2014-4671) (Andrew Moore)
* bug #11386 Remove Spaceless Blocks from Twig Form Templates (chrisguitarguy)
* bug #9719 [TwigBundle] fix configuration tree for paths (mdavis1982, cordoval)
* bug #11244 [HttpFoundation] Remove body-related headers when sending the response, if body is empty (SimonSimCity)
* 2.4.7 (2014-07-08)
* bug #11283 [SecurityBundle] Remove Expression Language services when the component is unavailable (thewilkybarkid)
* bug #11238 [Translation] Added unescaping of ids in PoFileLoader (JustBlackBird)
* bug #11194 [DomCrawler] Remove the query string and the anchor of the uri of a link (benja-M-1)
* bug #11272 [Console] Make sure formatter is the same. (akimsko)
* bug #11259 [Config] Fixed failed config schema loads due to libxml_disable_entity_loader usage (ccorliss)
* bug #11234 [ClassLoader] fixed PHP warning on PHP 5.3 (fabpot)
* bug #11179 [Process] Fix ExecutableFinder with open basedir (cs278)
* bug #11242 [CssSelector] Refactored the CssSelector to remove the circular object graph (stof)
* bug #11219 [DomCrawler] properly handle buttons with single and double quotes insid... (xabbuh)
* bug #11220 [Components][Serializer] optional constructor arguments can be omitted during the denormalization process (xabbuh)
* bug #11186 Added missing `break` statement (apfelbox)
* bug #11169 [Console] Fixed notice in DialogHelper (florianv)
* bug #11144 [HttpFoundation] Fixed Request::getPort returns incorrect value under IPv6 (kicken)
* bug #10966 PHP Fatal error when getContainer method of ContainerAwareCommand has be... (kevinvergauwen)
* bug #10981 [HttpFoundation] Fixed isSecure() check to be compliant with the docs (Jannik Zschiesche)
* bug #11092 [HttpFoundation] Fix basic authentication in url with PHP-FPM (Kdecherf)
* bug #10808 [DomCrawler] Empty select with attribute name="foo[]" bug fix (darles)
* bug #11063 [HttpFoundation] fix switch statement (Tobion)
* bug #11009 [HttpFoundation] smaller fixes for PdoSessionHandler (Tobion)
* bug #11041 Remove undefined variable $e (skydiablo)
* 2.4.6 (2014-05-31)
* bug #11014 [Validator] Remove property and method targets from the optional and required constraints (jakzal)
* bug #10983 [DomCrawler] Fixed charset detection in html5 meta charset tag (77web)
* Merge branch '2.3' into 2.4
* bug #10979 Make rootPath part of regex greedy (artursvonda)
* bug #10995 [TwigBridge][Trans]set %count% only on transChoice from the current context. (aitboudad)
* bug #10987 [DomCrawler] Fixed a forgotten case of complex XPath queries (stof)
* 2.4.5 (2014-05-22)
* bug #10849 [WIP][Finder] Fix wrong implementation on sortable callback comparator (ProPheT777)
* bug #10929 [Process] Add validation on Process input (romainneutron)
* bug #10958 [DomCrawler] Fixed filterXPath() chaining loosing the parent DOM nodes (stof, robbertkl)
* bug #10953 [HttpKernel] fixed file uploads in functional tests without file selected (realmfoo)
* bug #10947 [PropertyAccess] Fixed getValue() when accessing non-existing indices of ArrayAccess implementations (webmozart)
* bug #10937 [HttpKernel] Fix "absolute path" when we look to the cache directory (BenoitLeveque)
* bug #10894 [HttpKernel] removed absolute paths from the generated container (fabpot)
* bug #10926 [DomCrawler] Fixed the initial state for options without value attribute (stof)
* bug #10925 [DomCrawler] Fixed the handling of boolean attributes in ChoiceFormField (stof)
* bug #10777 [Form] Automatically add step attribute to HTML5 time widgets to display seconds if needed (tucksaun)
* bug #10909 [PropertyAccess] Fixed plurals for -ves words (csarrazi)
* bug #10904 [HttpKernel] Replace sha1 with sha256 in recently added tests (jakzal)
* bug #10899 Explicitly define the encoding. (jakzal)
* bug #10897 [Console] Fix a console test (jakzal)
* bug #10896 [HttpKernel] Fixed cache behavior when TTL has expired and a default "global" TTL is defined (alquerci, fabpot)
* bug #10841 [DomCrawler] Fixed image input case sensitive (geoffrey-brier)
* bug #10714 [Console]Improve formatter for double-width character (denkiryokuhatsuden)
* bug #10872 [Form] Fixed TrimListenerTest as of PHP 5.5 (webmozart)
* bug #10762 [BrowserKit] Allow URLs that don't contain a path when creating a cookie from a string (thewilkybarkid)
* bug #10863 [Security] Add check for supported attributes in AclVoter (artursvonda)
* bug #10833 [TwigBridge][Transchoice] set %count% from the current context. (aitboudad)
* bug #10820 [WebProfilerBundle] Fixed profiler seach/homepage with empty token (tucksaun)
* bug #10815 Fixed issue #5427 (umpirsky)
* bug #10817 [Debug] fix #10313: FlattenException not found (nicolas-grekas)
* bug #10803 [Debug] fix ErrorHandlerTest when context is not an array (nicolas-grekas)
* bug #10801 [Debug] ErrorHandler: remove $GLOBALS from context in PHP5.3 fix #10292 (nicolas-grekas)
* bug #10797 [HttpFoundation] Allow File instance to be passed to BinaryFileResponse (anlutro)
* bug #10643 [TwigBridge] Removed strict check when found variables inside a translation (goetas)
* bug #10605 [ExpressionLanguage] Strict in_array check in Parser.php (parnas)
* 2.4.4 (2014-04-27)
* bug #10789 [Console] Fixed the rendering of exceptions on HHVM with a terminal width (stof)
* bug #10773 [WebProfilerBundle ] Fixed an edge case on WDT loading (tucksaun)
* bug #10784 [Security] removed $csrfTokenManager type hint from SimpleFormAuthenticationListener constructor argument (choonge)
* bug #10763 [Process] Disable TTY mode on Windows platform (romainneutron)
* bug #10772 [Finder] Fix ignoring of unreadable dirs in the RecursiveDirectoryIterator (jakzal)
* bug #10757 [Process] Setting STDIN while running should not be possible (romainneutron)
* bug #10749 Fixed incompatibility of x509 auth with nginx (alcaeus)
* bug #10735 [Translation] [PluralizationRules] Little correction for case 'ar' (klyk50)
* bug #10720 [HttpFoundation] Fix DbalSessionHandler (Tobion)
* bug #10721 [HttpFoundation] status 201 is allowed to have a body (Tobion)
* bug #10728 [Process] Fix #10681, process are failing on Windows Server 2003 (romainneutron)
* bug #10733 [DomCrawler] Textarea value should default to empty string instead of null. (Berdir)
* bug #10723 [Security] fix DBAL connection typehint (Tobion)
* bug #10715 [Debug] Fixed ClassNotFoundFatalErrorHandler on windows. (lyrixx)
* bug #10700 Fixes various inconsistencies in the code (fabpot)
* bug #10697 [Translation] Make IcuDatFileLoader/IcuResFileLoader::load invalid resource compatible with HHVM. (idn2104)
* bug #10652 [HttpFoundation] fix PDO session handler under high concurrency (Tobion)
* bug #10690 [Validator] Fix hack for nested Collection/All losing context (GromNaN)
* bug #10669 [Profiler] Prevent throwing fatal errors when searching timestamps or invalid dates (stloyd)
* bug #10670 [Templating] PhpEngine should propagate charset to its helpers (stloyd)
* bug #10665 [DependencyInjection] Fix ticket #10663 - Added setCharset method call to PHP templating engine (koku)
* bug #10654 Changed the typehint of the EsiFragmentRenderer to the interface (stof)
* bug #10649 [BrowserKit] Fix #10641 : BrowserKit is broken when using ip as host (romainneutron)
* 2.4.3 (2014-04-04)
* bug #10586 Fixes URL validator to accept single part urls (merk)
* bug #10591 [Form] Buttons are now disabled if their containing form is disabled (webmozart)
* bug #10587 [Process] Fix Process test suite (romainneutron)
* bug #10579 HHVM fixes (fabpot)
* bug #10564 fixed the profiler when an uncalled listener throws an exception when instantiated (fabpot)
* bug #10568 [Form] Fixed hashing of choice lists containing non-UTF-8 characters (webmozart)
* bug #10536 Avoid levenshtein comparison when using ContainerBuilder. (catch56)
* bug #10549 Fixed server values in BrowserKit (fabpot)
* bug #10540 [HttpKernel] made parsing controllers more robust (fabpot)
* bug #10545 [DependencyInjection] Fixed YamlFileLoader imports path (jrnickell)
* bug #10523 [Debug] Check headers sent before sending PHP response (GromNaN)
* bug #10363 [FrameworkBundle][Console] Fix issue #10345 container:debug --parameter="" not working anymore (FineWolf)
* bug #10275 [Validator] Fixed ACE domain checks on UrlValidator (#10031) (aeoris)
* bug #10123 handle array root element (greg0ire)
* bug #10532 Fixed regression when using Symfony on filesystems without chmod support (fabpot)
* bug #10502 [HttpKernel] Fix #10437: Catch exceptions when reloading a no-cache request (romainneutron)
* bug #10493 Fix libxml_use_internal_errors and libxml_disable_entity_loader usage (romainneutron)
* bug #9784 [HttpFoundation] Removed ini check to make Uploadedfile work on Google App Engine (micheleorselli)
* bug #10416 [Form] Allow options to be grouped by objects (felds)
* bug #10410 [Form] Fix "Array was modified outside object" in ResizeFormListener. (Chekote)
* bug #10494 [Validator] Minor fix in IBAN validator (sprain)
* bug #10491 Fixed bug that incorrectly causes the "required" attribute to be omitted from select even though it contains the "multiple" attribute (fabpot)
* bug #10479 [Process] Fix escaping on Windows (romainneutron)
* bug #10480 [Process] Fixed fatal errors in getOutput and getErrorOutput when process was not started (romainneutron)
* bug #10420 [Process] Make Process::start non-blocking on Windows platform (romainneutron)
* bug #10455 [Process] Fix random failures in test suite on TravisCI (romainneutron)
* bug #10448 [Process] Fix quoted arguments escaping (romainneutron)
* bug #10444 [DomCrawler] Fixed incorrect value name conversion in getPhpValues() and getPhpFiles() (romainneutron)
* bug #10423 [Config] XmlUtils::convertDomElementToArray does not handle '0' (bendavies)
* bug #10153 [Process] Fixed data in pipe being truncated if not read before process termination (astephens25)
* bug #10429 [Process] Fix #9160 : escaping an argument with a trailing backslash on windows fails (romainneutron)
* bug #10412 [Process] Fix process status in TTY mode (romainneutron)
* bug #10382 10158 get vary multiple (bbinkovitz)
* bug #10251 [Form] Fixes empty file-inputs getting treated as extra field. (jenkoian)
* bug #10284 [HttpKernel] Fix issue #10209 (stephpy)
* bug #10351 [HttpKernel] fix stripComments() normalizing new-lines (sstok)
* bug #10348 Update FileLoader to fix issue #10339 (msumme)
* bug #10306 [Serializer] Throw exception when unable to normalize embedded object (gquemener)
* bug #10338 [ExpressionLanguage] Fixed evaluation of short circuit operators (florianv)
* bug #10146 [WebProfilerBundle] fixed parsing Mongo DSN and added Test for it (malarzm)
* bug #10299 [Finder] () is also a valid delimiter (WouterJ)
* bug #10255 [FrameworkBundle] Fixed wrong redirect url if path contains some query parameters (pulzarraider)
* bug #10285 Bypass sigchild detection if phpinfo is not available (Seldaek)
* bug #10269 [Form] Revert "Fix "Array was modified outside object" in ResizeFormListener." (norzechowicz)
* bug #10231 [Console] removed problematic regex (fabpot)
* bug #10245 [DomCrawler] Added support for <area> tags to be treated as links (shamess)
* bug #10232 [Form] Fix "Array was modified outside object" in ResizeFormListener. (Chekote)
* 2.4.2 (2014-02-12)
* bug #10215 [Routing] reduced recursion in dumper (arnaud-lb)
* bug #10207 [DomCrawler] Fixed filterXPath() chaining (robbertkl)
* bug #10205 [DomCrawler] Fixed incorrect handling of image inputs (robbertkl)
* bug #10191 [HttpKernel] fixed wrong reference in TraceableEventDispatcher (fabpot)
* bug #10195 [Debug] Fixed recursion level incrementing in FlattenException::flattenArgs(). (sun)
* bug #10151 [Form] Update DateTime objects only if the actual value has changed (peterrehm)
* bug #10140 allow the TextAreaFormField to be used with valid/invalid HTML (dawehner)
* bug #10131 added lines to exceptions for the trans and transchoice tags (fabpot)
* bug #10002 Routing condition bugfix (marco-jantke)
* bug #10119 [Validator] Minor fix in XmlFileLoader (florianv)
* bug #10078 [BrowserKit] add non-standard port to HTTP_HOST server param (kbond)
* bug #10095 [Security] fix DI for SimpleFormAuthenticationListener (Tobion)
* bug #10091 [Translation] Update PluralizationRules.php (guilhermeblanco)
* bug #10053 [Form] fixed allow render 0 numeric input value (dczech)
* bug #10067 [HttpKernel] allow null value in fragment handler (kbond)
* bug #10042 [Expression Language] fix foo[index] (schokocappucino)
* bug #10033 [HttpKernel] Bugfix - Logger Deprecation Notice (Rican7)
* bug #10023 [FrameworkBundle] Thrown an HttpException instead returning a Response in RedirectController::redirectAction() (jakzal)
* bug #9985 Prevent WDT from creating a session (mvrhov)
* bug #10010 [Twig Bridge] Fixed bug in ExpressionExtension (ricbra)
* bug #10000 [Console] Fixed the compatibility with HHVM (stof)
* bug #9979 [Doctrine Bridge][Validator] Fix for null values in assosiated properties when using UniqueEntityValidator (vpetrovych)
* bug #9983 [TwigBridge] Update min. version of Twig (stloyd)
* bug #9970 [CssSelector] fixed numeric attribute issue (jfsimon)
* bug #9747 [DoctrineBridge] Fix: Add type detection. Needed by pdo_dblib (iamluc)
* bug #9962 [Process] Fix #9861 : Revert TTY mode (romainneutron)
* bug #9960 [Form] Update minimal requirement in composer.json (stloyd)
* bug #9952 [Translator] Fix Empty translations with Qt files (vlefort)
* bug #9957 [Console] Fixed command name guessing if an alternative is an alias (jakzal)
* bug #9948 [WebProfilerBundle] Fixed profiler toolbar icons for XHTML. (rafalwrzeszcz)
* bug #9933 Propel1 exception message (jaugustin)
* bug #9949 [BrowserKit] Throw exception on invalid cookie expiration timestamp (anlutro)
* 2.4.1 (2014-01-05)
* bug #9938 [Process] Add support SAPI cli-server (peter-gribanov)
* bug #9940 [EventDispatcher] Fix hardcoded listenerTag name in error message (lemoinem)
* bug #9923 [DoctrineBridge] Fixed an issue with DoctrineParserCache (florianv)
* bug #9908 [HttpFoundation] Throw proper exception when invalid data is passed to JsonResponse class (stloyd)
* bug #9902 [Security] fixed pre/post authentication checks (fabpot)
* bug #9910 fixed missing use statements (fabpot)
* bug #9895 [Intl] Added round support for ROUND_CEILING, ROUND_FLOOR, ROUND_DOWN, ROUND_UP (pamil)
* bug #9899 [Filesystem | WCM] 9339 fix stat on url for filesystem copy (cordoval)
* bug #9589 [DependencyInjection] Fixed #9020 - Added support for collections in service#parameters (lavoiesl)
* bug #9889 [Console] fixed column width when using the Table helper with some decoration in cells (fabpot)
* bug #9323 [DomCrawler]fix #9321 Crawler::addHtmlContent add gbk encoding support (bronze1man)
* bug #8997 [Security] Fixed problem with losing ROLE_PREVIOUS_ADMIN role. (pawaclawczyk)
* bug #9557 [DoctrineBridge] Fix for cache-key conflict when having a \Traversable as choices (DRvanR)
* bug #9879 [Security] Fix ExceptionListener to catch correctly AccessDeniedException if is not first exception (fabpot)
* bug #9885 [Dependencyinjection] Fixed handling of inlined references in the AnalyzeServiceReferencesPass (fabpot)
* bug #9884 [DomCrawler] Fixed creating form objects from named form nodes (jakzal)
* bug #9882 Add support for HHVM in the getting of the PHP executable (fabpot)
* bug #9850 [Validator] Fixed IBAN validator with 0750447346 value (stewe)
* bug #9865 [Validator] Fixes message value for objects (jongotlin)
* bug #9441 [Form][DateTimeToArrayTransformer] Check for hour, minute & second validity (egeloen)
* bug #9720 [FrameworkBundle] avoid tables to have apparently long blank line breaks and be too far appart for long nested array params (cordoval)
* bug #9867 #9866 [Filesystem] Fixed mirror for symlinks (COil)
* bug #9806 [Security] Fix parent serialization of user object (ddeboer)
* bug #9834 [DependencyInjection] Fixed support for backslashes in service ids. (jakzal)
* bug #9826 fix #9356 [Security] Logger should manipulate the user reloaded from provider (matthieuauger)
* feature #9775 [FrameworkBundle] Added extra details in XMLDescriptor to improve container description (Exelenz)
* bug #9771 Crawler default namespace fix (crudecki)
* bug #9769 [BrowserKit] fixes #8311 CookieJar is totally ignorant of RFC 6265 edge cases (jzawadzki)
* bug #9697 [Config] fix 5528 let ArrayNode::normalizeValue respect order of value array provided (cordoval)
* bug #9701 [Config] fix #7243 allow 0 as arraynode name (cordoval)
* bug #9795 [Form] Fixed issue in BaseDateTimeTransformer when invalid timezone cause Trans... (tyomo4ka)
* bug #9714 [HttpFoundation] BinaryFileResponse should also return 416 or 200 on some range-requets (SimonSimCity)
* bug #9601 [Routing] Remove usage of deprecated _scheme requirement (Danez)
* bug #9489 [DependencyInjection] Add normalization to tag options (WouterJ)
* bug #9135 [Form] [Validator] fix maxLength guesser (franek)
* bug #9790 [Filesystem] Changed the mode for a target file in copy() to be write only (jakzal)
* bug #9758 [Console] fixed TableHelper when cell value has new line (k-przybyszewski)
* bug #9760 [Routing] Fix router matching pattern against multiple hosts (karolsojko)
* bug #9768 [FrameworkBundle] Fixed bug in XMLDescriptor (Exelenz)
* bug #9700 [ExpressionLanguage] throw exception when parameters contain expressions (aitboudad)
* bug #9674 [Form] rename validators.ua.xlf to validators.uk.xlf (craue)
* bug #9722 [Validator]Fixed getting wrong msg when value is an object in Exception (aitboudad)
* bug #9750 allow TraceableEventDispatcher to reuse event instance in nested events (evillemez)
* bug #9718 [validator] throw an exception if isn't an instance of ConstraintValidatorInterface. (aitboudad)
* bug #9716 Reset the box model to content-box in the web debug toolbar (stof)
* bug #9711 [FrameworkBundle] Allowed "0" as a checkbox value in php templates (jakzal)
* 2.4.0 (2013-12-03)
* bug #9673 Fixed BC break in csrf protection (WouterJ)
* bug #9665 [Bridge/Doctrine] ORMQueryBuilderLoader - handled the scenario when no entity manager is passed with closure query builder (jakzal)
* bug #9662 [FrameworkBundle] Enabled csrf_protection by default if form.csrf_protection is enabled (bschussek)
* bug #9656 [DoctrineBridge] normalized class names in the ORM type guesser (fabpot)
* bug #9647 use the correct class name to retrieve mapped class' metadata and reposi... (xabbuh)
* bug #9648 [Debug] ensured that a fatal PHP error is actually fatal after being handled by our error handler (fabpot)
* bug #9643 [WebProfilerBundle] Fixed js escaping in time.html.twig (hason)
* bug #9641 [Debug] Avoid notice from being "eaten" by fatal error. (fabpot)
* bug #9639 Modified guessDefaultEscapingStrategy to not escape txt templates (fabpot)
* bug #9314 [Form] Fix DateType for 32bits computers. (WedgeSama)
* bug #9443 [FrameworkBundle] Fixed the registration of validation.xml file when the form is disabled (hason)
* bug #9625 [HttpFoundation] Do not return an empty session id if the session was closed (Taluu)
* bug #9621 [ExpressionLanguage] fixed lexing expression ending with spaces (fabpot)
* bug #9637 [Validator] Replaced inexistent interface (jakzal)
* bug #9628 [HttpKernel] Fix profiler event-listener usage outside request stack context (romainneutron)
* bug #9624 [Console] Fix undefined offset when formatting namespace suggestions (GromNaN)
* bug #9605 Adjusting CacheClear Warmup method to namespaced kernels (rdohms)
* bug #9617 [HttpKernel] Http kernel regression fix (hhamon)
* bug #9610 Container::camelize also takes backslashes into consideration (ondrejmirtes)
* 2.4.0-RC1 (2013-11-25)
* bug #9607 [HttpKernel] Fix a bug when using the kernel property in overridden method Client::setServerParameters() (gnutix)
* bug #9597 [Security] Typos in Security's ExpressionLanguage (ovrflo)
* feature #9587 [SecurityBundle] Added csrf_token_generator and csrf_token_id as new (shieldo)
* feature #9578 [DomCrawler] Fixes `attr` method returning empty string for missing attributes (aik099)
* bug #9565 [Debug] Fixed ClassNotFoundFatalErrorHandler which could cause a fatal error (jakzal)
* bug #9525 Cache Warmup Breaks Namespaced Kernel (rdohms)
* bug #9447 [BrowserKit] fixed protocol-relative url redirection (jong99)
* bug #9535 No Entity Manager defined exception (armetiz)
* bug #9485 [Acl] Fix for issue #9433 (guilro)
* bug #9516 [AclProvider] Fix incorrect behavior when partial results returned from cache (superdav42)
* feature #9546 [FrameworkBundle] use the new request_stack service in the GlobalVariables object (hhamon)
* bug #9566 [Console] Revert BC-break for verbose option value (chEbba)
* bug #9553 [FrameworkBundle] use the new request_stack service to get the Request object in the base Controller class (hhamon)
* feature #9541 [Translation] make IdentityTranslater consistent with normal translator (Tobion)
* bug #9536 [FrameworkBundle] Update 2 dependencies (currently broken) (asm89)
* bug #9352 [Intl] make currency bundle merge fallback locales when accessing data, ... (shieldo)
* bug #9537 [FrameworkBundle] Fix mistake in translation's service definition. (phpmike)
* bug #9529 [ExpressionLanguage] Fixed conflict between punctation and range (WouterJ)
* bug #9367 [Process] Check if the pipe array is empty before calling stream_select() (jfposton)
* bug #9211 [Form] Fixed memory leak in FormValidator (bschussek)
* bug #9469 [Propel1] re-factor Propel1 ModelChoiceList (havvg)
* bug #9499 Request::overrideGlobals() may call invalid ini value (denkiryokuhatsuden)
* feature #9494 made Router implement RequestMatcherInterface (fabpot)
* bug #9420 [Console][ProgressHelper] Fix ProgressHelper redraw when redrawFreq is greater than 1 (giosh94mhz)
* bug #9212 [Validator] Force Luhn Validator to only work with strings (Richtermeister)
* bug #9476 Fixed bug with lazy services (peterrehm)
* bug #9461 set mergeFallback to true, (ychadwick)
* bug #9451 Fix bug with variable named context to securityContext (mieszko4)
* feature #9434 moved logic for the session listeners into the HttpKernel component (fabpot)
* bug #9431 [DependencyInjection] fixed YamlDumper did not make services private. (realityking)
* bug #9332 [Config] Quoting reserved characters (WouterJ)
* bug #9416 fixed issue with clone now the children of the original form are preserved and the clone form is given new children (yjv)
* bug #9423 [Form] fix CsrfProviderAdapter (Tobion)
* feature #9342 Add X-Debug-Url profiler url header (adrienbrault)
* bug #9412 [HttpFoundation] added content length header to BinaryFileResponse (kbond)
* 2.4.0-BETA2 (2013-10-30)
* bug #9408 [Form] Fixed failing FormDataExtractorTest (bschussek)
* bug #9397 [BUG][Form] Fix nonexistent key id in twig of data collector (francoispluchino)
* bug #9395 [HttpKernel] fixed memory limit display in MemoryDataCollector (hhamon)
* bug #9168 [FrameworkBundle] made sure that the debug event dispatcher is used everywhere (fabpot)
* bug #9388 [Form] Fixed: The "data" option is taken into account even if it is NULL (bschussek)
* bug #9394 [Form] Fixed form debugger to work even when no view variables are logged (bschussek)
* bug #9391 [Serializer] Fixed the error handling when decoding invalid XML to avoid a Warning (stof)
* feature #9365 prevent PHP from magically setting a 302 header (lsmith77)
* feature #9252 [FrameworkBundle] Only enable CSRF protection when enabled in config (asm89)
* bug #9378 [DomCrawler] [HttpFoundation] Make `Content-Type` attributes identification case-insensitive (matthieuprat)
* bug #9354 [Process] Fix #9343 : revert file handle usage on Windows platform (romainneutron)
* bug #9335 [Form] Improved FormTypeCsrfExtension to use the type class as default intention if the form name is empty (bschussek)
* bug #9334 [Form] Improved FormTypeCsrfExtension to use the type class as default intention if the form name is empty (bschussek)
* bug #9333 [Form] Improved FormTypeCsrfExtension to use the type class as default intention if the form name is empty (bschussek)
* bug #9338 [DoctrineBridge] Added type check to prevent calling clear() on arrays (bschussek)
* bug #9330 [Config] Fixed namespace when dumping reference (WouterJ)
* bug #9329 [Form] Changed FormTypeCsrfExtension to use the form's name as default token ID (bschussek)
* bug #9328 [Form] Changed FormTypeCsrfExtension to use the form's name as default intention (bschussek)
* bug #9327 [Form] Changed FormTypeCsrfExtension to use the form's name as default intention (bschussek)
* bug #9316 [WebProfilerBundle] Fixed invalid condition in form panel (bschussek)
* bug #9308 [DoctrineBridge] Loosened CollectionToArrayTransformer::transform() to accept arrays (bschussek)
* bug #9297 [Form] Add missing use in form renderer (egeloen)
* bug #9309 [Routing] Fixed unresolved class (francoispluchino)
* bug #9274 [Yaml] Fixed the escaping of strings starting with a dash when dumping (stof)
* bug #9270 [Templating] Fix in ChainLoader.php (janschoenherr)
* bug #9246 [Session] fixed wrong started state (tecbot)
* bug #9234 [Debug] Fixed `ClassNotFoundFatalErrorHandler` (tPl0ch)
* bug #9259 [Process] Fix latest merge from 2.2 in 2.3 (romainneutron)
* bug #9237 [FrameworkBundle] assets:install command should mirror .dotfiles (.htaccess) (FineWolf)
* bug #9223 [Translator] PoFileDumper - PO headers (Padam87)
* bug #9257 [Process] Fix 9182 : random failure on pipes tests (romainneutron)
* bug #9236 [Form] fix missing use statement for exception UnexpectedTypeException (jaugustin)
* bug #9222 [Bridge] [Propel1] Fixed guessed relations (ClementGautier)
* bug #9214 [FramworkBundle] Check event listener services are not abstract (lyrixx)
* bug #9207 [HttpKernel] Check for lock existence before unlinking (ollietb)
* bug #9184 Fixed cache warmup of paths which contain back-slashes (fabpot)
* bug #9192 [Form] remove MinCount and MaxCount constraints in ValidatorTypeGuesser (franek)
* 2.4.0-BETA1 (2013-10-07)
* first beta release

View File

@ -1,301 +0,0 @@
CHANGELOG for 2.5.x
===================
This changelog references the relevant changes (bug and security fixes) done
in 2.5 minor versions.
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v2.5.0...v2.5.1
* 2.5.8 (2014-12-03)
* bug #12811 Configure firewall's kernel exception listener with configured entry point or a default entry point (rjkip)
* bug #12784 [DependencyInjection] make paths relative to __DIR__ in the generated container (nicolas-grekas)
* bug #12716 [ClassLoader] define constant only if it wasn't defined before (xabbuh)
* bug #12553 [Debug] fix error message on double exception (nicolas-grekas)
* bug #12550 [FrameworkBundle] backport #12489 (xabbuh)
* bug #12570 Fix initialized() with aliased services (Daniel Wehner)
* bug #12267 [Form][WebProfiler] Empty form names fix (kix)
* bug #12137 [FrameworkBundle] cache:clear command fills *.php.meta files with wrong data (Strate)
* 2.5.7 (2014-11-20)
* bug #12525 [Bundle][FrameworkBundle] be smarter when guessing the document root (xabbuh)
* bug #12296 [SecurityBundle] Authentication entry point is only registered with firewall exception listener, not with authentication listeners (rjkip)
* bug #12489 [FrameworkBundle] Fix server run in case the router script does not exist (romainneutron)
* bug #12443 [HttpKernel] Adding support for invokable controllers in the RequestDataCollector (jameshalsall)
* bug #12393 [DependencyInjection] inlined factory not referenced (boekkooi)
* bug #12436 [Filesystem] Fixed case for empty folder (yosmanyga)
* bug #12397 [Routing] fix BC (nicolas-grekas)
* bug #12382 [Routing] removed errors from git (HeinZawHtet)
* bug #12370 [Yaml] improve error message for multiple documents (xabbuh)
* bug #12170 [Form] fix form handling with OPTIONS request method (Tobion)
* bug #12235 [Validator] Fixed Regex::getHtmlPattern() to work with complex and negated patterns (webmozart)
* bug #12326 [Session] remove invalid hack in session regenerate (Tobion)
* bug #12341 [Kernel] ensure session is saved before sending response (Tobion)
* bug #12329 [Routing] serialize the compiled route to speed things up (Tobion)
* bug #12291 [Form] Fixed usage of "name" variable in form_start block (webmozart)
* bug #12316 Break infinite loop while resolving aliases (chx)
* bug #12313 [Security][listener] change priority of switchuser (aitboudad)
* 2.5.6 (2014-10-24)
* bug #11696 [Form] Fix #11694 - Enforce options value type check in some form types (kix)
* bug #12225 [SecurityBundle] Add trust_resolver variable into expression (zulus)
* bug #12209 [FrameworkBundle] Fixed ide links (hason)
* bug #12208 Add missing argument (WouterJ)
* bug #12197 [TwigBundle] do not pass a template reference to twig (Tobion)
* bug #12196 [TwigBundle] show correct fallback exception template in debug mode (Tobion)
* bug #12187 [CssSelector] don't raise warnings when exception is thrown (xabbuh)
* bug #12151 [Framework][DX] Set the proper validator class according to the configured api version (peterrehm)
* bug #12128 [Console] clean handling of :: passed to find() (xabbuh)
* bug #11998 [Intl] Integrated ICU data into Intl component #2 (webmozart)
* bug #11920 [Intl] Integrated ICU data into Intl component #1 (webmozart)
* 2.5.5 (2014-09-28)
* bug #12016 [Validator] Added ConstraintValidator::buildViolation() helper for BC with the 2.4 API (webmozart)
* bug #12031 [Validator] Fixed LegacyValidator when only a constraint is validated (webmozart)
* bug #9453 [Form][DateTime] Propagate invalid_message & invalid_message_parameters to date & time (egeloen)
* bug #12030 Fix expression language in the container when using the "container" variable (fabpot)
* bug #12032 [Command] Set the process title as late as possible (lyrixx)
* bug #11058 [Security] bug #10242 Missing checkPreAuth from RememberMeAuthenticationProvider (glutamatt)
* bug #12004 [Form] Fixed ValidatorTypeGuesser to guess properties without constraints not to be required (webmozart)
* bug #11904 Make twig ExceptionController conformed with ExceptionListener (megazoll)
* bug #11924 [Form] Moved POST_MAX_SIZE validation from FormValidator to request handler (rpg600, webmozart)
* bug #12002 [Security] [Firewall] Bug fixed in SimplePreAuthenticationListener when createToken() not return TokenInterface object (adenkejawen, fabpot)
* bug #11079 Response::isNotModified returns true when If-Modified-Since is later than Last-Modified (skolodyazhnyy)
* bug #11989 [Finder][Urgent] Remove asterisk and question mark from folder name in test to prevent windows file system issues. (Adam)
* bug #11908 [Translation] [Config] Clear libxml errors after parsing xliff file (pulzarraider)
* bug #11839 [FrameworkBundle] check if the Validator component is present when forms are enabled (xabbuh)
* bug #11418 [JsonResponse] Silent only JSON errors (GromNaN)
* bug #11937 [HttpKernel] Make sure HttpCache is a trusted proxy (thewilkybarkid)
* bug #11970 [Finder] Escape location for regex searches (ymc-dabe)
* bug #11837 Use getPathname() instead of string casting to get BinaryFileReponse file path (nervo)
* bug #11513 [Translation] made XliffFileDumper support CDATA sections. (hhamon)
* bug #11928 [Validator] The ratio of the ImageValidator is rounded to two decimals now (webmozart)
* bug #11907 [Intl] Improved bundle reader implementations (webmozart)
* bug #11874 [Console] guarded against non-traversable aliases (thierrymarianne)
* bug #11799 [YAML] fix handling of empty sequence items (xabbuh)
* bug #11906 [Intl] Fixed a few bugs in TextBundleWriter (webmozart)
* bug #11459 [Form][Validator] All index items after children are to be considered grand-children when resolving ViolationPath (Andrew Moore)
* bug #11715 [Form] FormBuilder::getIterator() now deals with resolved children (issei-m)
* bug #11892 [SwiftmailerBridge] Bump allowed versions of swiftmailer (ymc-dabe)
* bug #11918 [DependencyInjection] remove `service` parameter type from XSD (xabbuh)
* bug #11905 [Intl] Removed non-working $fallback argument from ArrayAccessibleResourceBundle (webmozart)
* bug #11497 Use separated function to resolve command and related arguments (JJK801)
* bug #11374 [DI] Added safeguards against invalid config in the YamlFileLoader (stof)
* bug #11897 [FrameworkBundle] Remove invalid markup (flack)
* bug #11860 [Security] Fix usage of unexistent method in DoctrineAclCache. (mauchede)
* bug #11850 [YAML] properly mask escape sequences in quoted strings (xabbuh)
* bug #11856 [FrameworkBundle] backport more error information from 2.6 to 2.3 (xabbuh)
* bug #11843 [Yaml] improve error message when detecting unquoted asterisks (xabbuh)
* 2.5.4 (2014-09-03)
* security #11832 CVE-2014-6072 (fabpot)
* security #11831 CVE-2014-5245 (stof)
* security #11830 CVE-2014-4931 (aitboudad, Jérémy Derussé)
* security #11829 CVE-2014-6061 (damz, fabpot)
* security #11828 CVE-2014-5244 (nicolas-grekas, larowlan)
* bug #10197 [FrameworkBundle] PhpExtractor bugfix and improvements (mtibben)
* bug #11772 [Filesystem] Add FTP stream wrapper context option to enable overwrite (Damian Sromek)
* bug #11791 [Process] fix mustRun() in sigchild environments (xabbuh)
* bug #11788 [Yaml] fixed mapping keys containing a quoted # (hvt, fabpot)
* bug #11787 fixed DateComparator if file does not exist (avi123)
* bug #11160 [DoctrineBridge] Abstract Doctrine Subscribers with tags (merk)
* bug #11768 [ClassLoader] Add a __call() method to XcacheClassLoader (tstoeckler)
* bug #11739 [Validator] Pass strict argument into the strict email validator (brianfreytag)
* bug #11749 [TwigBundle] Remove hard dependency of RequestContext in AssetsExtension (pgodel)
* bug #11726 [Filesystem Component] mkdir race condition fix #11626 (kcassam)
* bug #11677 [YAML] resolve variables in inlined YAML (xabbuh)
* bug #11639 [DependencyInjection] Fixed factory service not within the ServiceReferenceGraph. (boekkooi)
* bug #11778 [Validator] Fixed wrong translations for Collection constraints (samicemalone)
* bug #11756 [DependencyInjection] fix @return anno created by PhpDumper (jakubkulhan)
* bug #11711 [DoctrineBridge] Fix empty parameter logging in the dbal logger (jakzal)
* bug #11692 [DomCrawler] check for the correct field type (xabbuh)
* bug #11672 [Routing] fix handling of nullable XML attributes (xabbuh)
* bug #11624 [DomCrawler] fix the axes handling in a bc way (xabbuh)
* bug #11676 [Form] Fixed #11675 ValueToDuplicatesTransformer accept "0" value (Nek-)
* bug #11695 [Validators] Fixed failing tests requiring ICU 52.1 which are skipped otherwise (webmozart)
* bug #11584 [FrameworkBundle] Fixed validator factory definition when the Validator API is "auto" for PHP < 5.3.9 (webmozart)
* bug #11645 [Form] Fixed ValidatorExtension to work with the 2.5 Validation API (webmozart)
* bug #11529 [WebProfilerBundle] Fixed double height of canvas (hason)
* bug #11666 [DIC] Fixed: anonymous services are always private (lyrixx)
* bug #11641 [WebProfilerBundle ] Fix toolbar vertical alignment (blaugueux)
* bug #11637 fix dependencies on HttpFoundation component (xabbuh)
* bug #11559 [Validator] Convert objects to string in comparison validators (webmozart)
* feature #11510 [HttpFoundation] MongoDbSessionHandler supports auto expiry via configurable expiry_field (catchamonkey)
* bug #11408 [HttpFoundation] Update QUERY_STRING when overrideGlobals (yguedidi)
* bug #11625 [FrameworkBundle] resolve parameters before the configs are processed in the config:debug command (xabbuh)
* bug #11633 [FrameworkBundle] add missing attribute to XSD (xabbuh)
* bug #11601 [Validator] Allow basic auth in url when using UrlValidator. (blaugueux)
* bug #11609 [Console] fixed style creation when providing an unknown tag option (fabpot)
* bug #10914 [HttpKernel] added an analyze of environment parameters for built-in server (mauchede)
* bug #11598 [Finder] Shell escape and windows support (Gordon Franke, gimler)
* bug #11582 [DoctrineBridge] Changed UniqueEntityValidator to use the 2.5 Validation API (webmozart)
* 2.5.3 (2014-08-06)
* bug #11571 [Form] Fixed FormValidator compatibility with the non-BC 2.5 Validation API (webmozart)
* bug #11499 [BrowserKit] Fixed relative redirects for ambiguous paths (pkruithof)
* bug #11516 [BrowserKit] Fix browser kit redirect with ports (dakota)
* bug #11545 [Bundle][FrameworkBundle] built-in server: exit when docroot does not exist (xabbuh)
* bug #11560 Plural fix (1emming)
* bug #11558 [DependencyInjection] Fixed missing 'factory-class' attribute in XmlDumper output (kerdany)
* bug #11498 [Validator] Made it possible (again) to pass a class name to validatePropertyValue() (webmozart)
* bug #11548 [Component][DomCrawler] fix axes handling in Crawler::filterXPath() (xabbuh)
* bug #11422 [DependencyInjection] Self-referenced 'service_container' service breaks garbage collection (sun)
* bug #11428 [Serializer] properly handle null data when denormalizing (xabbuh)
* bug #10687 [Validator] Fixed string conversion in constraint violations (eagleoneraptor, webmozart)
* bug #11412 [Validator] Made sure that context changes don't leak out of (Contextual)ValidatorInterface (webmozart)
* bug #11475 [EventDispatcher] don't count empty listeners (xabbuh)
* bug #11436 fix signal handling in wait() on calls to stop() (xabbuh, romainneutron)
* bug #11469 [BrowserKit] Fixed server HTTP_HOST port uri conversion (bcremer, fabpot)
* bug #11425 Fix issue described in #11421 (Ben, ben-rosio)
* bug #11423 Pass a Scope instance instead of a scope name when cloning a container in the GrahpvizDumper (jakzal)
* bug #11448 [MonologBridge] fixed Console handler priorities (fabpot)
* bug #11454 [Validator] Fixed memory leak in ValidatorBuilder (webmozart)
* bug #11120 [Process] Reduce I/O load on Windows platform (romainneutron)
* bug #11370 [FrameworkBundle] avoid raising unexpected RuntimeException when specifying $_SERVER['KERNEL_DIR'] (iteman)
* bug #11342 [Form] Check if IntlDateFormatter constructor returned a valid object before using it (romainneutron)
* bug #11439 [ExpressionLanguage] Fixed double quoted string literals containing sharps (pylebecq)
* bug #11410 [Validator] Fixed object initializers in 2.5 version of the Validator (webmozart)
* bug #11411 [Validator] Backported #11410 to 2.3: Object initializers are called only once per object (webmozart)
* bug #11403 [Translator][FrameworkBundle] Added @ to the list of allowed chars in Translator (takeit)
* bug #11381 [Process] Use correct test for empty string in UnixPipes (whs, romainneutron)
* 2.5.2 (2014-07-15)
* [Security] Forced validate of locales passed to the translator
* bug #11350 [Form] solved dependency to ValidatorInterface, fix #11036 (Sebastian Blum)
* bug #11278 Remove Spaceless Blocks From Twig Templates (chrisguitarguy)
* feature #11367 [HttpFoundation] Fix to prevent magic bytes injection in JSONP responses... (CVE-2014-4671) (Andrew Moore)
* bug #11284 [Console] Remove estimated field from debug_nomax (bburnichon)
* bug #11386 Remove Spaceless Blocks from Twig Form Templates (chrisguitarguy)
* bug #9719 [TwigBundle] fix configuration tree for paths (mdavis1982, cordoval)
* bug #11244 [HttpFoundation] Remove body-related headers when sending the response, if body is empty (SimonSimCity)
* 2.5.1 (2014-07-08)
* bug #11283 [SecurityBundle] Remove Expression Language services when the component is unavailable (thewilkybarkid)
* bug #11238 [Translation] Added unescaping of ids in PoFileLoader (JustBlackBird)
* bug #11194 [DomCrawler] Remove the query string and the anchor of the uri of a link (benja-M-1)
* bug #11272 [Console] Make sure formatter is the same. (akimsko)
* bug #11259 [Config] Fixed failed config schema loads due to libxml_disable_entity_loader usage (ccorliss)
* bug #11234 [ClassLoader] fixed PHP warning on PHP 5.3 (fabpot)
* bug #11179 [Process] Fix ExecutableFinder with open basedir (cs278)
* bug #11242 [CssSelector] Refactored the CssSelector to remove the circular object graph (stof)
* bug #11219 [DomCrawler] properly handle buttons with single and double quotes insid... (xabbuh)
* bug #11220 [Components][Serializer] optional constructor arguments can be omitted during the denormalization process (xabbuh)
* bug #11186 Added missing `break` statement (apfelbox)
* bug #11168 [YAML] fix merge node (<<) (Tobion)
* bug #11170 [Console] Fixed notice in QuestionHelper (florianv)
* bug #11169 [Console] Fixed notice in DialogHelper (florianv)
* bug #11144 [HttpFoundation] Fixed Request::getPort returns incorrect value under IPv6 (kicken)
* bug #11121 [Process] Do not redirect output to file handles when output is disabled, simply discard it (romainneutron)
* bug #10966 PHP Fatal error when getContainer method of ContainerAwareCommand has be... (kevinvergauwen)
* bug #10981 [HttpFoundation] Fixed isSecure() check to be compliant with the docs (Jannik Zschiesche)
* bug #11117 [Validator] Fix array notation in the PropertyPath::append() (jakzal)
* bug #11113 [HttpKernel] Fix event dispatcher dependency (hacfi)
* bug #11111 Fixed undefined ImageValidator::$suffices property when uploading an image during functional tests (OwlyCode)
* bug #11099 [Debug] work-around https://bugs.php.net/61272 (nicolas-grekas)
* bug #11092 [HttpFoundation] Fix basic authentication in url with PHP-FPM (Kdecherf)
* bug #11097 [Debug] simplify code path to remove potential blank pages (nicolas-grekas)
* bug #10808 [DomCrawler] Empty select with attribute name="foo[]" bug fix (darles)
* bug #11063 [HttpFoundation] fix switch statement (Tobion)
* bug #11054 [Serializer] Xml encoder whitespace fix (fieg)
* bug #11009 [HttpFoundation] smaller fixes for PdoSessionHandler (Tobion)
* bug #11047 #10862 loadClassMetadata vs loadValidatorMetadata: revert default config (phramz)
* bug #11042 [Debug] fix debug handlers config (nicolas-grekas)
* bug #11043 [Console] OutputFormatter Unset Bold has wrong id (DZunke)
* bug #11033 [Debug] fix wrong case mismatch exception (nicolas-grekas)
* bug #11044 [Serializer] Fix BC break since 2.5 (fieg)
* bug #11041 Remove undefined variable $e (skydiablo)
* 2.5.0 (2014-05-31)
* bug #11014 [Validator] Remove property and method targets from the optional and required constraints (jakzal)
* bug #10983 [DomCrawler] Fixed charset detection in html5 meta charset tag (77web)
* 2.5.0-RC1 (2014-05-28)
* bug #10979 Make rootPath part of regex greedy (artursvonda)
* bug #10995 [TwigBridge][Trans]set %count% only on transChoice from the current context. (aitboudad)
* bug #10989 [Debug] throw even in stacking mode to preserve code paths (nicolas-grekas)
* bug #10987 [DomCrawler] Fixed a forgotten case of complex XPath queries (stof)
* feature #10930 [Process] Deprecate using values that are not string for Process::setStdin and ProcessBuilder::setInput (romainneutron)
* bug #10971 [Process] Fix conflicts between latest 2.3 fix and 2.5 deprecation (romainneutron)
* feature #10932 [Process] Deprecate Process::setStdin in favor of Process::setInput (romainneutron)
* bug #10849 [WIP][Finder] Fix wrong implementation on sortable callback comparator (ProPheT777)
* bug #10929 [Process] Add validation on Process input (romainneutron)
* bug #10946 [PropertyAccess] Fixed getValue() when accessing non-existing indices of ArrayAccess implementations (webmozart)
* bug #10958 [DomCrawler] Fixed filterXPath() chaining loosing the parent DOM nodes (stof, robbertkl)
* bug #10953 [HttpKernel] fixed file uploads in functional tests without file selected (realmfoo)
* feature #10941 [Debug] cleanup interfaces before 2.5-final (nicolas-grekas)
* bug #10947 [PropertyAccess] Fixed getValue() when accessing non-existing indices of ArrayAccess implementations (webmozart)
* bug #10937 [HttpKernel] Fix "absolute path" when we look to the cache directory (BenoitLeveque)
* bug #10933 Changed the default value of checkbox and radio to match the HTML spec (stof)
* bug #10927 [DomCrawler] Changed typehints form DomNode to DomElement (stof)
* bug #10894 [HttpKernel] removed absolute paths from the generated container (fabpot)
* bug #10926 [DomCrawler] Fixed the initial state for options without value attribute (stof)
* bug #10925 [DomCrawler] Fixed the handling of boolean attributes in ChoiceFormField (stof)
* feature #10882 Fix issue #10867 (umpirsky)
* bug #10902 [Yaml] Fixed YAML Parser does not ignore duplicate keys, violating YAML spec. (sun)
* feature #10912 [Form] Added support for injecting HttpFoundation's Request in ServerParams for the Validator extension (csarrazi)
* bug #10777 [Form] Automatically add step attribute to HTML5 time widgets to display seconds if needed (tucksaun)
* bug #10909 [PropertyAccess] Fixed plurals for -ves words (csarrazi)
* bug #10904 [HttpKernel] Replace sha1 with sha256 in recently added tests (jakzal)
* bug #10899 Explicitly define the encoding. (jakzal)
* bug #10897 [Console] Fix a console test (jakzal)
* bug #10896 [HttpKernel] Fixed cache behavior when TTL has expired and a default "global" TTL is defined (alquerci, fabpot)
* bug #10841 [DomCrawler] Fixed image input case sensitive (geoffrey-brier)
* bug #10714 [Console]Improve formatter for double-width character (denkiryokuhatsuden)
* bug #10872 [Form] Fixed TrimListenerTest as of PHP 5.5 (webmozart)
* feature #10880 [DependencyInjection] GraphvizDumper now displays unresolved parameters (rosstuck)
* bug #10876 [Console] Make `Helper\Table::setStyle()` chainable again (stloyd)
* bug #10762 [BrowserKit] Allow URLs that don't contain a path when creating a cookie from a string (thewilkybarkid)
* bug #10861 [Debug] enhance perf of DebugClassLoader (nicolas-grekas)
* bug #10863 [Security] Add check for supported attributes in AclVoter (artursvonda)
* bug #10854 [Debug] fix handling deprecated warnings and stacked errors turned into exceptions (nicolas-grekas)
* feature #10843 [TwigBridge] Added compile-time issues checking in twig:lint command (maxromanovsky)
* feature #10829 Fix issue 9172 (umpirsky)
* bug #10833 [TwigBridge][Transchoice] set %count% from the current context. (aitboudad)
* bug #10820 [WebProfilerBundle] Fixed profiler seach/homepage with empty token (tucksaun)
* bug #10809 Fixed composer to include config component for mocks in phpunit (jpauli)
* bug #10815 Fixed issue #5427 (umpirsky)
* bug #10817 [Debug] fix #10313: FlattenException not found (nicolas-grekas)
* 2.5.0-BETA2 (2014-04-29)
* bug #10803 [Debug] fix ErrorHandlerTest when context is not an array (nicolas-grekas)
* bug #10801 [Debug] ErrorHandler: remove $GLOBALS from context in PHP5.3 fix #10292 (nicolas-grekas)
* bug #10799 [Debug] less intrusive work around for https://bugs.php.net/54275 (nicolas-grekas)
* bug #10797 [HttpFoundation] Allow File instance to be passed to BinaryFileResponse (anlutro)
* bug #10798 [Console] Fix #10795: Allow instancing Console Application when STDIN is not declared (romainneutron)
* bug #10643 [TwigBridge] Removed strict check when found variables inside a translation (goetas)
* bug #10605 [ExpressionLanguage] Strict in_array check in Parser.php (parnas)
* bug #10789 [Console] Fixed the rendering of exceptions on HHVM with a terminal width (stof)
* bug #10773 [WebProfilerBundle ] Fixed an edge case on WDT loading (tucksaun)
* feature #10786 [FrameworkBundle] removed support for HHVM built-in web server as it is deprecated now (fabpot)
* bug #10784 [Security] removed $csrfTokenManager type hint from SimpleFormAuthenticationListener constructor argument (choonge)
* bug #10776 [Debug] fix #10771 DebugClassLoader can't load PSR4 libs (nicolas-grekas)
* bug #10763 [Process] Disable TTY mode on Windows platform (romainneutron)
* bug #10772 [Finder] Fix ignoring of unreadable dirs in the RecursiveDirectoryIterator (jakzal)
* bug #10757 [Process] Setting STDIN while running should not be possible (romainneutron)
* bug #10749 Fixed incompatibility of x509 auth with nginx (alcaeus)
* feature #10725 [Debug] Handled errors (nicolas-grekas)
* bug #10735 [Translation] [PluralizationRules] Little correction for case 'ar' (klyk50)
* bug #10720 [HttpFoundation] Fix DbalSessionHandler (Tobion)
* bug #10721 [HttpFoundation] status 201 is allowed to have a body (Tobion)
* bug #10728 [Process] Fix #10681, process are failing on Windows Server 2003 (romainneutron)
* bug #10733 [DomCrawler] Textarea value should default to empty string instead of null. (Berdir)
* bug #10723 [Security] fix DBAL connection typehint (Tobion)
* bug #10715 [Debug] Fixed ClassNotFoundFatalErrorHandler on windows. (lyrixx)
* bug #10700 Fixes various inconsistencies in the code (fabpot)
* bug #10697 [Translation] Make IcuDatFileLoader/IcuResFileLoader::load invalid resource compatible with HHVM. (idn2104)
* 2.5.0-BETA1 (2014-04-11)
* first beta release

View File

@ -1,48 +0,0 @@
CHANGELOG for 2.6.x
===================
This changelog references the relevant changes (bug and security fixes) done
in 2.6 minor versions.
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v2.6.0...v2.6.1
* 2.6.1 (2014-12-03)
* bug #12823 [DependencyInjection] fix PhpDumper (nicolas-grekas)
* bug #12811 Configure firewall's kernel exception listener with configured entry point or a default entry point (rjkip)
* bug #12770 [Filesystem] fix lock file permissions (nicolas-grekas)
* bug #12784 [DependencyInjection] make paths relative to __DIR__ in the generated container (nicolas-grekas)
* bug #12716 [ClassLoader] define constant only if it wasn't defined before (xabbuh)
* 2.6.0 (2014-11-28)
* bug #12553 [Debug] fix error message on double exception (nicolas-grekas)
* bug #12550 [FrameworkBundle] backport #12489 (xabbuh)
* bug #12437 [Validator] make DateTime objects represented as strings in the violation message (hhamon)
* bug #12575 [WebProfilerBundle] Remove usage of app.request in search bar template (jeromemacias)
* bug #12570 Fix initialized() with aliased services (Daniel Wehner)
* 2.6.0-BETA2 (2014-11-23)
* bug #12555 [Debug] fix ENT_SUBSTITUTE usage (nicolas-grekas)
* feature #12538 [FrameworkBundle] be smarter when guessing the document root (xabbuh)
* bug #12539 [TwigBundle] properly set request attributes in controller test (xabbuh)
* bug #12267 [Form][WebProfiler] Empty form names fix (kix)
* bug #12137 [FrameworkBundle] cache:clear command fills *.php.meta files with wrong data (Strate)
* bug #12525 [Bundle][FrameworkBundle] be smarter when guessing the document root (xabbuh)
* bug #12296 [SecurityBundle] Authentication entry point is only registered with firewall exception listener, not with authentication listeners (rjkip)
* bug #12446 [Twig/DebugBundle] move dump extension registration (nicolas-grekas)
* bug #12489 [FrameworkBundle] Fix server run in case the router script does not exist (romainneutron)
* feature #12404 [Form] Remove timezone options from DateType and TimeType (jakzal)
* bug #12487 [DomCrawler] Added support for 'link' tags in the Link class (StephaneSeng)
* bug #12490 [FrameworkBundle] Fix server start in case the PHP binary is not found (romainneutron)
* bug #12443 [HttpKernel] Adding support for invokable controllers in the RequestDataCollector (jameshalsall)
* bug #12393 [DependencyInjection] inlined factory not referenced (boekkooi)
* bug #12411 [VarDumper] Use Unicode Control Pictures (nicolas-grekas)
* bug #12436 [Filesystem] Fixed case for empty folder (yosmanyga)
* 2.6.0-BETA1 (2014-11-03)
* first beta release

File diff suppressed because it is too large Load Diff

View File

@ -1,668 +0,0 @@
UPGRADE FROM 2.1 to 2.2
=======================
### TwigBridge
* The `render` tag signature and arguments changed.
Before:
```jinja
{% render 'BlogBundle:Post:list' with { 'limit': 2 }, { 'alt': 'BlogBundle:Post:error' } %}
```
After:
```jinja
{% render controller('BlogBundle:Post:list', { 'limit': 2 }), { 'alt': 'BlogBundle:Post:error' } %}
{# Or: #}
{{ render(controller('BlogBundle:Post:list', { 'limit': 2 }), { 'alt': 'BlogBundle:Post:error'}) }}
```
Note: The function is the preferred way.
#### Deprecations
* The `standalone` option is deprecated and will be replaced with the `strategy` option in 2.3.
* The values `true`, `false`, `js` for the `standalone` option were deprecated and replaced respectively with the `esi`, `inline`, `hinclude` in 2.3.
Before:
```jinja
{% render 'BlogBundle:Post:list' with { 'limit': 2 }, {'standalone': true} %}
{% render 'BlogBundle:Post:list' with { 'limit': 2 }, {'standalone': false} %}
{% render 'BlogBundle:Post:list' with { 'limit': 2 }, {'standalone': 'js'} %}
```
After:
```jinja
{{ render(controller('BlogBundle:Post:list', { 'limit': 2 }), { 'strategy': 'esi'}) }}
{{ render(controller('BlogBundle:Post:list', { 'limit': 2 }), { 'strategy': 'inline'}) }}
{{ render(controller('BlogBundle:Post:list', { 'limit': 2 }), { 'strategy': 'hinclude'}) }}
```
### HttpFoundation
* The MongoDbSessionHandler default field names and timestamp type have changed.
The `sess_` prefix was removed from default field names. The session ID is
now stored in the `_id` field by default. The session date is now stored as a
`MongoDate` instead of `MongoTimestamp`, which also makes it possible to use
TTL collections in MongoDB 2.2+ instead of relying on the `gc()` method.
* The Stopwatch functionality was moved from HttpKernel\Debug to its own component
* The _method request parameter support has been disabled by default (call
Request::enableHttpMethodParameterOverride() to enable it).
#### Deprecations
* The `Request::splitHttpAcceptHeader()` is deprecated and will be removed in 2.3.
You should now use the `AcceptHeader` class which give you fluent methods to
parse request accept-* headers. Some examples:
```php
$accept = AcceptHeader::fromString($request->headers->get('Accept'));
if ($accept->has('text/html') {
$item = $accept->get('html');
$charset = $item->getAttribute('charset', 'utf-8');
$quality = $item->getQuality();
}
// accepts items are sorted by descending quality
$accepts = AcceptHeader::fromString($request->headers->get('Accept'))->all();
```
### Form
* The PasswordType is now not trimmed by default.
* The class FormException is now an interface. The old class is still available
under the name Symfony\Component\Form\Exception\Exception, but will probably
be removed before 2.2. If you created FormException instances manually,
you are now advised to create any of the other exceptions in the
Symfony\Component\Form\Exception namespace or to create custom exception
classes for your purpose.
* Translating validation errors is now optional. You can still do so
manually if you like, or you can simplify your templates to simply output
the already translated message.
Before:
```jinja
{{
error.messagePluralization is null
? error.messageTemplate|trans(error.messageParameters, 'validators')
: error.messageTemplate|transchoice(error.messagePluralization, error.messageParameters, 'validators')
}}
```
After:
```jinja
{{ error.message }}
```
* FormType, ModelType and PropertyPathMapper now have constructors. If you
extended these classes, you should call the parent constructor now.
Note that you are not recommended to extend FormType nor ModelType. You should
extend AbstractType instead and use the Form component's own inheritance
mechanism (`AbstractType::getParent()`).
Before:
```php
use Symfony\Component\Form\Extensions\Core\DataMapper\PropertyPathMapper;
class CustomMapper extends PropertyPathMapper
{
public function __construct()
{
// ...
}
// ...
}
```
After:
```php
use Symfony\Component\Form\Extensions\Core\DataMapper\PropertyPathMapper;
class CustomMapper extends PropertyPathMapper
{
public function __construct()
{
parent::__construct();
// ...
}
// ...
}
```
#### Deprecations
* The methods `getParent()`, `setParent()` and `hasParent()` in
`FormBuilderInterface` were deprecated and will be removed in Symfony 2.3.
You should not rely on these methods in your form type because the parent
of a form can change after building it.
* The class PropertyPath and related classes were deprecated and moved to a
dedicated component PropertyAccess. If you used any of these classes or
interfaces, you should adapt the namespaces now. During the move,
InvalidPropertyException was renamed to NoSuchPropertyException.
Before:
```php
use Symfony\Component\Form\Util\PropertyPath;
use Symfony\Component\Form\Util\PropertyPathBuilder;
use Symfony\Component\Form\Util\PropertyPathInterface;
use Symfony\Component\Form\Util\PropertyPathIterator;
use Symfony\Component\Form\Util\PropertyPathIteratorInterface;
use Symfony\Component\Form\Exception\InvalidPropertyException;
use Symfony\Component\Form\Exception\InvalidPropertyPathException;
use Symfony\Component\Form\Exception\PropertyAccessDeniedException;
```
After:
```php
use Symfony\Component\PropertyAccess\PropertyPath;
use Symfony\Component\PropertyAccess\PropertyPathBuilder;
use Symfony\Component\PropertyAccess\PropertyPathInterface;
use Symfony\Component\PropertyAccess\PropertyPathIterator;
use Symfony\Component\PropertyAccess\PropertyPathIteratorInterface;
use Symfony\Component\PropertyAccess\Exception\NoSuchPropertyException;
use Symfony\Component\PropertyAccess\Exception\InvalidPropertyPathException;
use Symfony\Component\PropertyAccess\Exception\PropertyAccessDeniedException;
```
Also, `FormUtil::singularify()` was split away into a class StringUtil
in the new component.
Before:
```php
use Symfony\Component\Form\Util\FormUtil;
$singular = FormUtil::singularify($plural);
```
After:
```php
use Symfony\Component\PropertyAccess\StringUtil;
$singular = StringUtil::singularify($plural);
```
The methods `getValue()` and `setValue()` were moved to a new class
PropertyAccessor.
Before:
```php
use Symfony\Component\Form\Util\PropertyPath;
$propertyPath = new PropertyPath('some.path');
$value = $propertyPath->getValue($object);
$propertyPath->setValue($object, 'new value');
```
After (alternative 1):
```php
use Symfony\Component\PropertyAccess\PropertyAccess;
$propertyAccessor = PropertyAccess::getPropertyAccessor();
$value = $propertyAccessor->getValue($object, 'some.path');
$propertyAccessor->setValue($object, 'some.path', 'new value');
```
After (alternative 2):
```php
use Symfony\Component\PropertyAccess\PropertyAccess;
use Symfony\Component\PropertyAccess\PropertyPath;
$propertyAccessor = PropertyAccess::getPropertyAccessor();
$propertyPath = new PropertyPath('some.path');
$value = $propertyAccessor->getValue($object, $propertyPath);
$propertyAccessor->setValue($object, $propertyPath, 'new value');
```
### Routing
* RouteCollection does not behave like a tree structure anymore but as a flat
array of Routes. So when using PHP to build the RouteCollection, you must
make sure to add routes to the sub-collection before adding it to the parent
collection (this is not relevant when using YAML or XML for Route definitions).
Before:
```php
$rootCollection = new RouteCollection();
$subCollection = new RouteCollection();
$rootCollection->addCollection($subCollection);
$subCollection->add('foo', new Route('/foo'));
```
After:
```php
$rootCollection = new RouteCollection();
$subCollection = new RouteCollection();
$subCollection->add('foo', new Route('/foo'));
$rootCollection->addCollection($subCollection);
```
Also one must call `addCollection` from the bottom to the top hierarchy.
So the correct sequence is the following (and not the reverse):
```php
$childCollection->addCollection($grandchildCollection);
$rootCollection->addCollection($childCollection);
```
* The methods `RouteCollection::getParent()` and `RouteCollection::getRoot()`
have been deprecated and will be removed in Symfony 2.3.
* Misusing the `RouteCollection::addPrefix` method to add defaults, requirements
or options without adding a prefix is not supported anymore. So if you called `addPrefix`
with an empty prefix or `/` only (both have no relevance), like
`addPrefix('', $defaultsArray, $requirementsArray, $optionsArray)`
you need to use the new dedicated methods `addDefaults($defaultsArray)`,
`addRequirements($requirementsArray)` or `addOptions($optionsArray)` instead.
* The `$options` parameter to `RouteCollection::addPrefix()` has been deprecated
because adding options has nothing to do with adding a path prefix. If you want to add options
to all child routes of a RouteCollection, you can use `addOptions()`.
* The method `RouteCollection::getPrefix()` has been deprecated
because it suggested that all routes in the collection would have this prefix, which is
not necessarily true. On top of that, since there is no tree structure anymore, this method
is also useless.
* `RouteCollection::addCollection(RouteCollection $collection)` should now only be
used with a single parameter. The other params `$prefix`, `$default`, `$requirements` and `$options`
will still work, but have been deprecated. The `addPrefix` method should be used for this
use-case instead.
Before: `$parentCollection->addCollection($collection, '/prefix', array(...), array(...))`
After:
```php
$collection->addPrefix('/prefix', array(...), array(...));
$parentCollection->addCollection($collection);
```
### Validator
* Interfaces were created for the classes `ConstraintViolation`,
`ConstraintViolationList`, `GlobalExecutionContext` and `ExecutionContext`.
If you type hinted against any of these classes, you are recommended to
type hint against their interfaces now.
Before:
```php
use Symfony\Component\Validator\ExecutionContext;
public function validateCustomLogic(ExecutionContext $context)
```
After:
```php
use Symfony\Component\Validator\ExecutionContextInterface;
public function validateCustomLogic(ExecutionContextInterface $context)
```
For all implementations of `ConstraintValidatorInterface`, this change is
mandatory for the `initialize` method:
Before:
```php
use Symfony\Component\Validator\ConstraintValidatorInterface;
use Symfony\Component\Validator\ExecutionContext;
class MyValidator implements ConstraintValidatorInterface
{
public function initialize(ExecutionContext $context)
{
// ...
}
}
```
After:
```php
use Symfony\Component\Validator\ConstraintValidatorInterface;
use Symfony\Component\Validator\ExecutionContextInterface;
class MyValidator implements ConstraintValidatorInterface
{
public function initialize(ExecutionContextInterface $context)
{
// ...
}
}
```
* The sources of the pluralized messages in translation files have changed
from the singular to the pluralized version. If you created custom
translation files for validator errors, you should adapt them.
Before:
<trans-unit id="6">
<source>You must select at least {{ limit }} choices.</source>
<target>Sie müssen mindestens {{ limit }} Möglichkeit wählen.|Sie müssen mindestens {{ limit }} Möglichkeiten wählen.</target>
</trans-unit>
After:
<trans-unit id="6">
<source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source>
<target>Sie müssen mindestens {{ limit }} Möglichkeit wählen.|Sie müssen mindestens {{ limit }} Möglichkeiten wählen.</target>
</trans-unit>
Check the file src/Symfony/Component/Validator/Resources/translations/validators.en.xlf
for the new message sources.
#### Deprecations
* The interface `ClassMetadataFactoryInterface` was deprecated and will be
removed in Symfony 2.3. You should implement `MetadataFactoryInterface`
instead, which changes the name of the method `getClassMetadata` to
`getMetadataFor` and accepts arbitrary values (e.g. class names, objects,
numbers etc.). In your implementation, you should throw a
`NoSuchMetadataException` if you don't support metadata for the given value.
Before:
```php
use Symfony\Component\Validator\Mapping\ClassMetadataFactoryInterface;
class MyMetadataFactory implements ClassMetadataFactoryInterface
{
public function getClassMetadata($class)
{
// ...
}
}
```
After:
```php
use Symfony\Component\Validator\MetadataFactoryInterface;
use Symfony\Component\Validator\Exception\NoSuchMetadataException;
class MyMetadataFactory implements MetadataFactoryInterface
{
public function getMetadataFor($value)
{
if (is_object($value)) {
$value = get_class($value);
}
if (!is_string($value) || (!class_exists($value) && !interface_exists($value))) {
throw new NoSuchMetadataException(...);
}
// ...
}
}
```
The return value of `ValidatorInterface::getMetadataFactory()` was also
changed to return `MetadataFactoryInterface`. Make sure to replace calls to
`getClassMetadata` by `getMetadataFor` on the return value of this method.
Before:
```php
$metadataFactory = $validator->getMetadataFactory();
$metadata = $metadataFactory->getClassMetadata('Vendor\MyClass');
```
After:
```php
$metadataFactory = $validator->getMetadataFactory();
$metadata = $metadataFactory->getMetadataFor('Vendor\MyClass');
```
* The class `GraphWalker` and the accessor `ExecutionContext::getGraphWalker()`
were deprecated and will be removed in Symfony 2.3. You should use the
methods `ExecutionContextInterface::validate()` and
`ExecutionContextInterface::validateValue()` instead.
Before:
```php
use Symfony\Component\Validator\ExecutionContext;
public function validateCustomLogic(ExecutionContext $context)
{
if (/* ... */) {
$path = $context->getPropertyPath();
$group = $context->getGroup();
if (!empty($path)) {
$path .= '.';
}
$context->getGraphWalker()->walkReference($someObject, $group, $path.'myProperty', false);
}
}
```
After:
```php
use Symfony\Component\Validator\ExecutionContextInterface;
public function validateCustomLogic(ExecutionContextInterface $context)
{
if (/* ... */) {
$context->validate($someObject, 'myProperty');
}
}
```
* The methods `ExecutionContext::addViolationAtSubPath()` and
`ExecutionContext::addViolationAtPath()` were deprecated and will be
removed in Symfony 2.3. You should use `addViolationAt()` instead.
Before:
```php
use Symfony\Component\Validator\ExecutionContext;
public function validateCustomLogic(ExecutionContext $context)
{
if (/* ... */) {
$context->addViolationAtSubPath('myProperty', 'This value is invalid');
}
}
```
After:
```php
use Symfony\Component\Validator\ExecutionContextInterface;
public function validateCustomLogic(ExecutionContextInterface $context)
{
if (/* ... */) {
$context->addViolationAt('myProperty', 'This value is invalid');
}
}
```
* The methods `ExecutionContext::getCurrentClass()`, `ExecutionContext::getCurrentProperty()`
and `ExecutionContext::getCurrentValue()` were deprecated and will be removed
in Symfony 2.3. Use the methods `getClassName()`, `getPropertyName()` and
`getValue()` instead.
Before:
```php
use Symfony\Component\Validator\ExecutionContext;
public function validateCustomLogic(ExecutionContext $context)
{
$class = $context->getCurrentClass();
$property = $context->getCurrentProperty();
$value = $context->getCurrentValue();
// ...
}
```
After:
```php
use Symfony\Component\Validator\ExecutionContextInterface;
public function validateCustomLogic(ExecutionContextInterface $context)
{
$class = $context->getClassName();
$property = $context->getPropertyName();
$value = $context->getValue();
// ...
}
```
### FrameworkBundle
* The `render` method of the `actions` templating helper signature and arguments changed:
Before:
```php
<?php echo $view['actions']->render('BlogBundle:Post:list', array('limit' => 2), array('alt' => 'BlogBundle:Post:error')) ?>
```
After:
```php
<?php echo $view['actions']->render($view['router']->generate('post_list', array('limit' => 2)), array('alt' => 'BlogBundle:Post:error')) ?>
```
where `post_list` is the route name for the `BlogBundle:Post:list`
controller, or if you don't want to create a route:
```php
<?php echo $view['actions']->render(new ControllerReference('BlogBundle:Post:list', array('limit' => 2)), array('alt' => 'BlogBundle:Post:error')) ?>
```
#### Configuration
* The 2.2 version introduces a new parameter `trusted_proxies` that replaces
`trust_proxy_headers` in the framework configuration.
Before:
```yaml
# app/config/config.yml
framework:
trust_proxy_headers: false
```
After:
```yaml
# app/config/config.yml
framework:
trusted_proxies: ['127.0.0.1', '10.0.0.1'] # a list of proxy IPs you trust
```
### Security
* The existing ``UserPassword`` validator constraint class has been modified.
Its namespace has been changed to better fit the Symfony coding conventions.
Before:
```php
use Symfony\Component\Security\Core\Validator\Constraint\UserPassword;
```
After: (note the `s` at the end of `Constraint`)
```php
use Symfony\Component\Security\Core\Validator\Constraints\UserPassword;
```
* The new ``UserPassword`` validator constraint class now accepts a new
``service`` option that allows to specify a custom validator service name in
order to validate the current logged-in user's password.
```php
use Symfony\Component\Security\Core\Validator\Constraints\UserPassword;
$constraint = new UserPassword(array(
'service' => 'my.custom.validator.user_password',
));
```
#### Deprecations
* The two previous ``UserPassword`` and ``UserPasswordValidator`` classes in
the ``Symfony\Component\Security\Core\Validator\Constraint`` namespace have
been deprecated and will be removed in 2.3.
Before:
```php
use Symfony\Component\Security\Core\Validator\Constraint\UserPassword;
use Symfony\Component\Security\Core\Validator\Constraint\UserPasswordValidator;
```
After:
```php
use Symfony\Component\Security\Core\Validator\Constraints\UserPassword;
use Symfony\Component\Security\Core\Validator\Constraints\UserPasswordValidator;
```
### Serializer
* All serializer interfaces (Serializer, Normalizer, Encoder) have been
extended with an optional `$context` array. This was necessary to allow for
more complex use-cases that require context information during the
(de)normalization and en-/decoding steps.
### HttpKernel
* The `Symfony\Component\HttpKernel\Log\LoggerInterface` now extends `Psr\Log\LoggerInterface`.
So if you have implemented your own logger, you need to implement these methods:
* `emergency`
* `critical`
* `error`
* `warning`
* `log`
#### Deprecations:
* The following Logger methods are deprecated and will be removed in 3.0. You should use the new PSR-3 methods:
* `emerg()` -> `emergency()`
* `crit()` -> `critical()`
* `err()` -> `error()`
* `warn()` -> `warning()`

View File

@ -1,305 +0,0 @@
UPGRADE FROM 2.2 to 2.3
=======================
Form
----
* Although this was not officially supported nor documented, it was possible to
set the option "validation_groups" to false, resulting in the group "Default"
being validated. Now, if you set "validation_groups" to false, the validation
of a form will be skipped (except for a few integrity checks on the form).
If you want to validate a form in group "Default", you should either
explicitly set "validation_groups" to "Default" or alternatively set it to
null.
Before:
```
// equivalent notations for validating in group "Default"
"validation_groups" => null
"validation_groups" => "Default"
"validation_groups" => false
// notation for skipping validation
"validation_groups" => array()
```
After:
```
// equivalent notations for validating in group "Default"
"validation_groups" => null
"validation_groups" => "Default"
// equivalent notations for skipping validation
"validation_groups" => false
"validation_groups" => array()
```
* The array type hint from DataMapperInterface was removed. You should adapt
implementations of that interface accordingly.
Before:
```php
use Symfony\Component\Form\DataMapperInterface;
class MyDataMapper
{
public function mapFormsToData(array $forms, $data)
{
// ...
}
public function mapDataToForms($data, array $forms)
{
// ...
}
}
```
After:
```php
use Symfony\Component\Form\DataMapperInterface;
class MyDataMapper
{
public function mapFormsToData($forms, $data)
{
// ...
}
public function mapDataToForms($data, $forms)
{
// ...
}
}
```
Instead of an array, the methods here are now passed a
RecursiveIteratorIterator containing an InheritDataAwareIterator by default,
so you don't need to handle forms inheriting their parent data (former
"virtual forms") in the data mapper anymore.
Before:
```php
use Symfony\Component\Form\Util\VirtualFormAwareIterator;
public function mapFormsToData(array $forms, $data)
{
$iterator = new \RecursiveIteratorIterator(
new VirtualFormAwareIterator($forms)
);
foreach ($iterator as $form) {
// ...
}
}
```
After:
```php
public function mapFormsToData($forms, $data)
{
foreach ($forms as $form) {
// ...
}
}
```
* The `*_SET_DATA` events are now guaranteed to be fired *after* the children
were added by the FormBuilder (unless setData() is called manually). Before,
the `*_SET_DATA` events were sometimes thrown before adding child forms,
which made it impossible to remove child forms dynamically.
A consequence of this change is that you need to set the "auto_initialize"
option to `false` for `FormInterface` instances that you pass to
`FormInterface::add()`:
Before:
```php
$form = $factory->create('form');
$form->add($factory->createNamed('field', 'text'));
```
This code will now throw an exception with the following message:
Automatic initialization is only supported on root forms. You should set the
"auto_initialize" option to false on the field "field".
Consequently, you need to set the "auto_initialize" option:
After (Alternative 1):
```php
$form = $factory->create('form');
$form->add($factory->createNamed('field', 'text', array(), array(
'auto_initialize' => false,
)));
```
The problem also disappears if you work with `FormBuilder` instances instead
of `Form` instances:
After (Alternative 2):
```php
$builder = $factory->createBuilder('form');
$builder->add($factory->createBuilder('field', 'text'));
$form = $builder->getForm();
```
The best solution is in most cases to let `add()` handle the field creation:
After (Alternative 3):
```php
$form = $factory->create('form');
$form->add('field', 'text');
```
After (Alternative 4):
```php
$builder = $factory->createBuilder('form');
$builder->add('field', 'text');
$form = $builder->getForm();
```
* Previously, when the "data" option of a field was set to `null` and the
containing form was mapped to an object, the field would receive the data
from the object as default value. This functionality was unintended and fixed
to use `null` as default value in Symfony 2.3.
In cases where you made use of the previous behavior, you should now remove
the "data" option altogether.
Before:
```php
$builder->add('field', 'text', array(
'data' => $defaultData ?: null,
));
```
After:
```php
$options = array();
if ($defaultData) {
$options['data'] = $defaultData;
}
$builder->add('field', 'text', $options);
```
PropertyAccess
--------------
* PropertyAccessor was changed to continue its search for a property or method
even if a non-public match was found. This means that the property "author"
in the following class will now correctly be found:
```php
class Article
{
public $author;
private function getAuthor()
{
// ...
}
}
```
Although this is uncommon, similar cases exist in practice.
Instead of the PropertyAccessDeniedException that was thrown here, the more
generic NoSuchPropertyException is thrown now if no public property nor
method are found by the PropertyAccessor. PropertyAccessDeniedException was
removed completely.
Before:
```php
use Symfony\Component\PropertyAccess\Exception\PropertyAccessDeniedException;
use Symfony\Component\PropertyAccess\Exception\NoSuchPropertyException;
try {
$value = $accessor->getValue($article, 'author');
} catch (PropertyAccessDeniedException $e) {
// Method/property was found but not public
} catch (NoSuchPropertyException $e) {
// Method/property was not found
}
```
After:
```php
use Symfony\Component\PropertyAccess\Exception\NoSuchPropertyException;
try {
$value = $accessor->getValue($article, 'author');
} catch (NoSuchPropertyException $e) {
// Method/property was not found or not public
}
```
DomCrawler
----------
* `Crawler::each()` and `Crawler::reduce()` now return Crawler instances
instead of DomElement instances:
Before:
```php
$data = $crawler->each(function ($node, $i) {
return $node->nodeValue;
});
```
After:
```php
$data = $crawler->each(function ($crawler, $i) {
return $crawler->text();
});
```
Console
-------
* New verbosity levels have been added, therefore if you used to do check
the output verbosity level directly for VERBOSITY_VERBOSE you probably
want to update it to a greater than comparison:
Before:
```php
if (OutputInterface::VERBOSITY_VERBOSE === $output->getVerbosity()) { ... }
```
After:
```php
if (OutputInterface::VERBOSITY_VERBOSE <= $output->getVerbosity()) { ... }
```
BrowserKit
----------
* If you are receiving responses with non-3xx Status Code and Location header
please be aware that you won't be able to use auto-redirects on these kind
of responses.
If you are correctly passing 3xx Status Code with Location header, you
don't have to worry about the change.
If you were using responses with Location header and non-3xx Status Code,
you have to update your code to manually create another request to URL
grabbed from the Location header.

View File

@ -1,9 +0,0 @@
UPGRADE FROM 2.3 to 2.4
=======================
Form
----
* The constructor parameter `$precision` in `IntegerToLocalizedStringTransformer`
is now ignored completely, because a precision does not make sense for
integers.

View File

@ -1,263 +0,0 @@
UPGRADE FROM 2.4 to 2.5
=======================
Routing
-------
* Added a new optional parameter `$requiredSchemes` to `Symfony\Component\Routing\Generator\UrlGenerator::doGenerate()`
Form
----
* The method `FormInterface::getErrors()` now returns an instance of
`Symfony\Component\Form\FormErrorIterator` instead of an array. This object
is traversable, countable and supports array access. However, you can not
pass it to any of PHP's `array_*` functions anymore. You should use
`iterator_to_array()` in those cases where you did.
Before:
```
$errors = array_map($callback, $form->getErrors());
```
After:
```
$errors = array_map($callback, iterator_to_array($form->getErrors()));
```
* The method `FormInterface::getErrors()` now has two additional, optional
parameters. Make sure to add these parameters to the method signatures of
your implementations of that interface.
Before:
```
public function getErrors()
{
```
After:
```
public function getErrors($deep = false, $flatten = true)
{
```
Before:
```
{% if form.vars.errors %}
```
After:
```
{% if form.vars.errors|length %}
```
PropertyAccess
--------------
* The methods `isReadable()` and `isWritable()` were added to
`PropertyAccessorInterface`. If you implemented this interface in your own
code, you should add these two methods.
* The methods `getValue()` and `setValue()` now throw an
`NoSuchIndexException` instead of a `NoSuchPropertyException` when an index
is accessed on an object that does not implement `ArrayAccess`. If you catch
this exception in your code, you should adapt the catch statement:
Before:
```php
$object = new \stdClass();
try {
$propertyAccessor->getValue($object, '[index]');
$propertyAccessor->setValue($object, '[index]', 'New value');
} catch (NoSuchPropertyException $e) {
// ...
}
```
After:
```php
$object = new \stdClass();
try {
$propertyAccessor->getValue($object, '[index]');
$propertyAccessor->setValue($object, '[index]', 'New value');
} catch (NoSuchIndexException $e) {
// ...
}
```
A `NoSuchPropertyException` is still thrown when a non-existing property is
accessed on an object or an array.
Validator
---------
* EmailValidator has changed to allow `non-strict` and `strict` email validation
Before:
Email validation was done with php's `filter_var()`
After:
Default email validation is now done via a simple regex which may cause invalid emails (not RFC compliant) to be
valid. This is the default behaviour.
Strict email validation has to be explicitly activated in the configuration file by adding
```
framework:
//...
validation:
strict_email: true
//...
```
Also you have to add to your composer.json:
```
"egulias/email-validator": "~1.2"
```
* `ClassMetadata::getGroupSequence()` now returns `GroupSequence` instances
instead of an array. The sequence implements `\Traversable`, `\ArrayAccess`
and `\Countable`, so in most cases you should be fine. If you however use the
sequence with PHP's `array_*()` functions, you should cast it to an array
first using `iterator_to_array()`:
Before:
```
$sequence = $metadata->getGroupSequence();
$result = array_map($callback, $sequence);
```
After:
```
$sequence = iterator_to_array($metadata->getGroupSequence());
$result = array_map($callback, $sequence);
```
* The array type hint in `ClassMetadata::setGroupSequence()` was removed. If
you overwrite this method, make sure to remove the type hint as well. The
method should now accept `GroupSequence` instances just as well as arrays.
Before:
```
public function setGroupSequence(array $groups)
{
// ...
}
```
After:
```
public function setGroupSequence($groupSequence)
{
// ...
}
```
* The validation engine in `Symfony\Component\Validator\Validator` was replaced
by a new one in `Symfony\Component\Validator\Validator\RecursiveValidator`.
With that change, several classes were deprecated that will be removed in
Symfony 3.0. Also, the API of the validator was slightly changed. More
details about that can be found in UPGRADE-3.0.
You can choose the desired API via the new "api" entry in
app/config/config.yml:
```
framework:
validation:
enabled: true
api: auto
```
When running PHP 5.3.9 or higher, Symfony will then use an implementation
that supports both the old API and the new one:
```
framework:
validation:
enabled: true
api: 2.5-bc
```
When running PHP lower than 5.3.9, that compatibility layer is not supported.
On those versions, the old implementation will be used instead:
```
framework:
validation:
enabled: true
api: 2.4
```
If you develop a new application that doesn't rely on the old API, you can
also set the API to 2.5. In that case, the backwards compatibility layer
will not be activated:
```
framework:
validation:
enabled: true
api: 2.5
```
When using the validator outside of the Symfony full-stack framework, the
desired API can be selected using `setApiVersion()` on the validator builder:
```
// Previous implementation
$validator = Validation::createValidatorBuilder()
->setApiVersion(Validation::API_VERSION_2_4)
->getValidator();
// New implementation with backwards compatibility support
$validator = Validation::createValidatorBuilder()
->setApiVersion(Validation::API_VERSION_2_5_BC)
->getValidator();
// New implementation without backwards compatibility support
$validator = Validation::createValidatorBuilder()
->setApiVersion(Validation::API_VERSION_2_5)
->getValidator();
```
Yaml Component
--------------
* The way Yaml handles duplicate keys in an array was changed from `rewrite with the
last element` behavior to ignoring all the elements with the same key after the first one.
Example:
```
parentElement:
firstChild: foo
secondChild: 123
firstChild: bar
```
Before:
This would be parsed in an array like this: `["parentElement" => ["firstChild" => "bar", "secondChild" => 123]]`
After:
The first value is used: `["parentElement" => ["firstChild" => "foo", "secondChild" => 123]]`

View File

@ -1,428 +0,0 @@
UPGRADE FROM 2.5 to 2.6
=======================
Known Backwards-Compatibility Breaks
------------------------------------
* If you use the `PdoSessionHandler`, the session table now has a different
schema and must be modified. Look below for more details.
Form
----
* The "empty_value" option in the types "choice", "date", "datetime" and "time"
was deprecated and replaced by a new option "placeholder". You should use
the option "placeholder" together with the view variables "placeholder" and
"placeholder_in_choices" now.
The option "empty_value" and the view variables "empty_value" and
"empty_value_in_choices" will be removed in Symfony 3.0.
Before:
```php
$form->add('category', 'choice', array(
'choices' => array('politics', 'media'),
'empty_value' => 'Select a category...',
));
```
After:
```php
$form->add('category', 'choice', array(
'choices' => array('politics', 'media'),
'placeholder' => 'Select a category...',
));
```
Before:
```
{{ form.vars.empty_value }}
{% if form.vars.empty_value_in_choices %}
...
{% endif %}
```
After:
```
{{ form.vars.placeholder }}
{% if form.vars.placeholder_in_choices %}
...
{% endif %}
```
Validator
---------
* The internal method `setConstraint()` was added to
`Symfony\Component\Validator\Context\ExecutionContextInterface`. With
this method, the context is informed about the constraint that is currently
being validated.
If you implement this interface, make sure to add the method to your
implementation. The easiest solution is to just implement an empty method:
```php
public function setConstraint(Constraint $constraint)
{
}
```
* Prior to 2.6 `Symfony\Component\Validator\Constraints\ExpressionValidator`
would not execute the Expression if it was attached to a property on an
object and that property was set to `null` or an empty string.
To emulate the old behaviour change your expression to something like
this:
```
value == null or (YOUR_EXPRESSION)
```
Security
--------
* The `SecurityContextInterface` is marked as deprecated in favor of the
`Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface` and
`Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface`.
```
isGranted => AuthorizationCheckerInterface
getToken => TokenStorageInterface
setToken => TokenStorageInterface
```
The Implementations have moved too, The `SecurityContext` is marked as
deprecated and has been split to use the `AuthorizationCheckerInterface`
and `TokenStorage`. This change is 100% Backwards Compatible as the SecurityContext
delegates the methods.
* The service `security.context` is deprecated along with the above change. Recommended
to use instead:
```
@security.authorization_checker => isGranted()
@security.token_storage => getToken()
@security.token_storage => setToken()
```
HttpFoundation
--------------
* The `PdoSessionHandler` to store sessions in a database changed significantly.
This introduced a **backwards-compatibility** break in the schema of the
session table. The following changes must be made to your session table:
- Add a new integer column called `sess_lifetime`. Assuming you have the
default column and table names, in MySQL this would be:
ALTER TABLE `session` ADD `sess_lifetime` INT NOT NULL ;
- Change the data column (default: `sess_value`) to be a Blob type. In
MySQL this would be:
ALTER TABLE `session` CHANGE `sess_value` `session_value` BLOB NOT NULL;
There is also an [issue](https://github.com/symfony/symfony/issues/12834)
that affects Windows servers.
A legacy class, `LegacyPdoSessionHandler` has been created to ease backwards-compatibility issues when upgrading.
The changes to the `PdoSessionHandler` are:
- By default, it now implements session locking to prevent loss of data by concurrent access to the same session.
- It does so using a transaction between opening and closing a session. For this reason, it's not
recommended to use the same database connection that you also use for your application logic.
Otherwise you have to make sure to access your database after the session is closed and committed.
Instead of passing an existing connection to the handler, you can now also pass a DSN string which
will be used to lazy-connect when a session is started.
- Since accessing a session now blocks when the same session is still open, it is best practice to
save the session as soon as you don't need to write to it anymore. For example, read-only AJAX
request to a session can save the session immediately after opening it to increase concurrency.
- As alternative to transactional locking you can also use advisory locks which do not require a transaction.
Additionally, you can also revert back to no locking in case you have custom logic to deal with race conditions
like an optimistic concurrency control approach. The locking strategy can be chosen by passing the corresponding
constant as `lock_mode` option, e.g. `new PdoSessionHandler($pdoOrDsn, array('lock_mode' => PdoSessionHandler::LOCK_NONE))`.
For more information please read the class documentation.
- The expected schema of the table changed.
- Session data is binary text that can contain null bytes and thus should also be saved as-is in a
binary column like BLOB. For this reason, the handler does not base64_encode the data anymore.
- A new column to store the lifetime of a session is required. This allows to have different
lifetimes per session configured via session.gc_maxlifetime ini setting.
- You would need to migrate the table manually if you want to keep session information of your users.
- You could use `PdoSessionHandler::createTable` to initialize a correctly defined table depending on
the used database vendor.
OptionsResolver
---------------
* The "array" type hint was removed from the `OptionsResolverInterface` methods
`setRequired()`, `setAllowedValues()`, `addAllowedValues()`,
`setAllowedTypes()` and `addAllowedTypes()`. You must remove the type hint
from your implementations.
* The interface `OptionsResolverInterface` was deprecated, since
`OptionsResolver` instances are not supposed to be shared between classes.
You should type hint against `OptionsResolver` instead.
Before:
```php
protected function configureOptions(OptionsResolverInterface $resolver)
{
// ...
}
```
After:
```php
protected function configureOptions(OptionsResolver $resolver)
{
// ...
}
```
* `OptionsResolver::isRequired()` now returns `true` if a required option has
a default value set. The new method `isMissing()` exhibits the old
functionality of `isRequired()`.
Before:
```php
$resolver->setRequired(array('port'));
$resolver->isRequired('port');
// => true
$resolver->setDefaults(array('port' => 25));
$resolver->isRequired('port');
// => false
```
After:
```php
$resolver->setRequired(array('port'));
$resolver->isRequired('port');
// => true
$resolver->isMissing('port');
// => true
$resolver->setDefaults(array('port' => 25));
$resolver->isRequired('port');
// => true
$resolver->isMissing('port');
// => false
```
* `OptionsResolver::replaceDefaults()` was deprecated. Use `clear()` and
`setDefaults()` instead.
Before:
```php
$resolver->replaceDefaults(array(
'port' => 25,
));
```
After:
```php
$resolver->clear();
$resolver->setDefaults(array(
'port' => 25,
));
```
* `OptionsResolver::setOptional()` was deprecated. Use `setDefined()` instead.
Before:
```php
$resolver->setOptional(array('port'));
```
After:
```php
$resolver->setDefined('port');
```
* `OptionsResolver::isKnown()` was deprecated. Use `isDefined()` instead.
Before:
```php
if ($resolver->isKnown('port')) {
// ...
}
```
After:
```php
if ($resolver->isDefined('port')) {
// ...
}
```
* The methods `setAllowedValues()`, `addAllowedValues()`, `setAllowedTypes()`
and `addAllowedTypes()` were changed to modify one option at a time instead
of batch processing options. The old API exists for backwards compatibility,
but will be removed in Symfony 3.0.
Before:
```php
$resolver->setAllowedValues(array(
'method' => array('POST', 'GET'),
));
```
After:
```php
$resolver->setAllowedValues('method', array('POST', 'GET'));
```
* The class `Options` was merged into `OptionsResolver`. If you instantiated
this class manually, you should instantiate `OptionsResolver` now.
`Options` is now a marker interface implemented by `OptionsResolver`.
Before:
```php
$options = new Options();
```
After:
```php
$resolver = new OptionsResolver();
```
* Normalizers for defined but unset options are not executed anymore. If you
want to have them executed, you should define a default value.
Before:
```php
$resolver->setOptional(array('port'));
$resolver->setNormalizers(array(
'port' => function ($options, $value) {
// return normalized value
}
));
$options = $resolver->resolve($options);
```
After:
```php
$resolver->setDefault('port', null);
$resolver->setNormalizer('port', function ($options, $value) {
// return normalized value
});
$options = $resolver->resolve($options);
```
* When undefined options are passed, `resolve()` now throws an
`UndefinedOptionsException` instead of an `InvalidOptionsException`.
`InvalidOptionsException` is only thrown when option values fail their
validation constraints.
Before:
```php
$resolver->setDefaults(array(
'transport' => 'smtp',
'port' => 25,
));
$resolver->setAllowedTypes(array(
'port' => 'integer',
));
// throws InvalidOptionsException
$resolver->resolve(array('foo' => 'bar'));
// throws InvalidOptionsException
$resolver->resolve(array('port' => '25'));
```
After:
```php
$resolver->setDefaults(array(
'transport' => 'smtp',
'port' => 25,
));
$resolver->setAllowedTypes(array(
'port' => 'integer',
));
// throws UndefinedOptionsException
$resolver->resolve(array('foo' => 'bar'));
// throws InvalidOptionsException
$resolver->resolve(array('port' => '25'));
```
VarDumper and DebugBundle
-------------------------
The component and the bundle are new to Symfony 2.6. We encourage you
to enable the bundle in your `app/AppKernel.php` for the *dev* or *test*
environments. Just add this line before loading the `WebProfilerBundle`:
```php
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
```
Then enjoy dumping variables by calling `dump($var)` anywhere in your PHP
and `{% dump var %}` or `{{ dump(var) }}` in Twig. Dumps are displayed
**in the web debug toolbar**.
Translation
-----------
With `LoggingTranslator`, a new translator class is introduced with Symfony
2.6. By default, the `@translator` service is referring to this class in the
debug environment.
If you have your own services that depend on the `@translator` service and expect
this service to be an instance of either
`Symfony\Component\Translation\Translator` or
`Symfony\Bundle\FrameworkBundle\Translation\Translator`, e.g. by type-hinting
for either of these classes, you will need to change that type hint. You can
use the `TranslatorInterface` to be on the safe side for future changes.
Before:
```php
use Symfony\Component\Translation\Translator;
class MyService {
public function __construct(Translator $translator)
{
...
}
}
```
After:
```php
use Symfony\Component\Translation\TranslatorInterface;
class MyService {
public function __construct(TranslatorInterface $translator)
{
...
}
}
```