removed CHANGELOGs and UPGRADEs for 2.x versions
This commit is contained in:
parent
92706399c3
commit
d0672a8f03
352
CHANGELOG-2.2.md
352
CHANGELOG-2.2.md
@ -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
|
637
CHANGELOG-2.3.md
637
CHANGELOG-2.3.md
@ -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
|
401
CHANGELOG-2.4.md
401
CHANGELOG-2.4.md
@ -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
|
||||
|
301
CHANGELOG-2.5.md
301
CHANGELOG-2.5.md
@ -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
|
||||
|
@ -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
|
||||
|
1478
UPGRADE-2.1.md
1478
UPGRADE-2.1.md
File diff suppressed because it is too large
Load Diff
668
UPGRADE-2.2.md
668
UPGRADE-2.2.md
@ -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()`
|
305
UPGRADE-2.3.md
305
UPGRADE-2.3.md
@ -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.
|
@ -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.
|
263
UPGRADE-2.5.md
263
UPGRADE-2.5.md
@ -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]]`
|
428
UPGRADE-2.6.md
428
UPGRADE-2.6.md
@ -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)
|
||||
{
|
||||
...
|
||||
}
|
||||
}
|
||||
```
|
Reference in New Issue
Block a user