1### [1.2.4] - 2016-12-06 2 3 * Fixed regression in output handling of scripts from 1.2.3 4 * Fixed support for LibreSSL detection as lib-openssl 5 * Fixed issue with Zend Guard in the autoloader bootstrapping 6 * Fixed support for loading partial provider repositories 7 8### [1.2.3] - 2016-12-01 9 10 * Fixed bug in HgDriver failing to identify BitBucket repositories 11 * Fixed support for loading partial provider repositories 12 13### [1.2.2] - 2016-11-03 14 15 * Fixed selection of packages based on stability to be independent from package repository order 16 * Fixed POST_DEPENDENCIES_SOLVING not containing some operations in edge cases 17 * Fixed issue handling GitLab URLs containing dots and other special characters 18 * Fixed issue on Windows when running composer at the root of a drive 19 * Minor fixes 20 21### [1.2.1] - 2016-09-12 22 23 * Fixed edge case issues with the static autoloader 24 * Minor fixes 25 26### [1.2.0] - 2016-07-19 27 28 * Security: Fixed [httpoxy](https://httpoxy.org/) vulnerability 29 * Fixed `home` command to avoid rogue output on unix 30 * Fixed output of git clones to clearly state when clones are from cache 31 * (from 1.2 RC) Fixed ext-network-ipv6 to be php-ipv6 32 33### [1.2.0-RC] - 2016-07-04 34 35 * Added caching of git repositories if you have git 2.3+ installed. Repositories will now be cached once and then cloned from local cache so subsequent installs should be faster 36 * Added detection of HEAD changes to the `status` command. If you `git checkout X` in a vendor directory for example it will tell you that it is not at the version that was installed 37 * Added a virtual `php-ipv6` extension to require PHP compiled with IPv6 support 38 * Added `--no-suggest` to `install` and `update` commands to skip output of suggestions at the end 39 * Added `--type` to the `search` command to restrict to a given package type 40 * Added fossil support as alternative to git/svn/.. for package downloads 41 * Improved BitBucket OAuth support 42 * Added support for blocking cache operations using COMPOSER_CACHE_DIR=/dev/null (or NUL on windows) 43 * Added support for using declare(strict_types=1) in plugins 44 * Added `--prefer-stable` and `--prefer-lowest` to the `require` command 45 * Added `--no-scripts` to the `require` and `remove` commands 46 * Added `_comment` top level key to the schema to endorse using it as a place to store comments (it can be a string or array of strings) 47 * Added support for justinrainbow/json-schema 2.0 48 * Fixed binaries not being re-installed if deleted by users or the bin-dir changes. `update` and `install` will now re-install them 49 * Many minor UX and docs improvements 50 51### [1.1.3] - 2016-06-26 52 53 * Fixed bitbucket oauth instructions 54 * Fixed version parsing issue 55 * Fixed handling of bad proxies that modify JSON content on the fly 56 57### [1.1.2] - 2016-05-31 58 59 * Fixed degraded mode issue when accessing packagist.org 60 * Fixed GitHub access_token being added on subsequent requests in case of redirections 61 * Fixed exclude-from-classmap not working in some circumstances 62 * Fixed openssl warning preventing the use of config command for disabling tls 63 64### [1.1.1] - 2016-05-17 65 66 * Fixed regression in handling of #reference which made it update every time 67 * Fixed dev platform requirements being required even in --no-dev install from a lock file 68 * Fixed parsing of extension versions that do not follow valid numbers, we now try to parse x.y.z and ignore the rest 69 * Fixed exact constraints warnings appearing for 0.x versions 70 * Fixed regression in the `remove` command 71 72### [1.1.0] - 2016-05-10 73 74 * Added fallback to SSH for https bitbucket URLs 75 * Added BaseCommand::isProxyCommand that can be overridden to mark a command as being a mere proxy, which helps avoid duplicate warnings etc on composer startup 76 * Fixed archiving generating long paths in zip files on Windows 77 78### [1.1.0-RC] - 2016-04-29 79 80 * Added ability for plugins to register their own composer commands 81 * Optimized the autoloader initialization using static loading on PHP 5.6 and above, this reduces the load time for large classmaps to almost nothing 82 * Added `--latest` to `show` command to show the latest version available of your dependencies 83 * Added `--outdated` to `show` command an `composer outdated` alias for it, to show only packages in need of update 84 * Added `--direct` to `show` and `outdated` commands to show only your direct dependencies in the listing 85 * Added support for editing all top-level properties (name, minimum-stability, ...) as well as extra values via the `config` command 86 * Added abandoned state warning to the `show` and `outdated` commands when listing latest packages 87 * Added support for `~/` and `$HOME/` in the path repository paths 88 * Added support for wildcards in the `show` command package filter, e.g. `composer show seld/*` 89 * Added ability to call composer itself from scripts via `@composer ...` 90 * Added untracked files detection to the `status` command 91 * Added warning to `validate` command when using exact-version requires 92 * Added warning once per domain when accessing insecure URLs with secure-http disabled 93 * Added a dependency on composer/ca-bundle (extracted CA bundle management to a standalone lib) 94 * Added support for empty directories when archiving to tar 95 * Added an `init` event for plugins to react to, which occurs right after a Composer instance is fully initialized 96 * Added many new detections of problems in the `why-not`/`prohibits` command to figure out why something does not get installed in the expected version 97 * Added a deprecation notice for script event listeners that use legacy script classes 98 * Fixed abandoned state not showing up if you had a package installed before it was marked abandoned 99 * Fixed --no-dev updates creating an incomplete lock file, everything is now always resolved on update 100 * Fixed partial updates in case the vendor dir was not up to date with the lock file 101 102### [1.0.3] - 2016-04-29 103 104 * Security: Fixed possible command injection from the env vars into our sudo detection 105 * Fixed interactive authentication with gitlab 106 * Fixed class name replacement in plugins 107 * Fixed classmap generation mistakenly detecting anonymous classes 108 * Fixed auto-detection of stability flags in complex constraints like `2.0-dev || ^1.5` 109 * Fixed content-length handling when redirecting to very small responses 110 111### [1.0.2] - 2016-04-21 112 113 * Fixed regression in 1.0.1 on systems with mbstring.func_overload enabled 114 * Fixed regression in 1.0.1 that made dev packages update to the latest reference even if not whitelisted in a partial update 115 * Fixed init command ignoring the COMPOSER env var for choosing the json file name 116 * Fixed error reporting bug when the dependency resolution fails 117 * Fixed handling of `$` sign in composer config command in some cases it could corrupt the json file 118 119### [1.0.1] - 2016-04-18 120 121 * Fixed URL updating when a package's URL changes, composer.lock now contains the right URL including correct reference 122 * Fixed URL updating of the origin git remote as well for packages installed as git clone 123 * Fixed binary .bat files generated from linux being incompatible with windows cmd 124 * Fixed handling of paths with trailing slashes in path repository 125 * Fixed create-project not using platform config when selecting a package 126 * Fixed self-update not showing the channel it uses to perform the update 127 * Fixed file downloads not failing loudly when the content does not match the Content-Length header 128 * Fixed secure-http detecting some malformed URLs as insecure 129 * Updated CA bundle 130 131### [1.0.0] - 2016-04-05 132 133 * Added support for bitbucket-oauth configuration 134 * Added warning when running composer as super user, set COMPOSER_ALLOW_SUPERUSER=1 to hide the warning if you really must 135 * Added PluginManager::getGlobalComposer getter to retrieve the global instance (which can be null!) 136 * Fixed dependency solver error reporting in many cases it now shows you proper errors instead of just saying a package does not exist 137 * Fixed output of failed downloads appearing as 100% done instead of Failed 138 * Fixed handling of empty directories when archiving, they are not skipped anymore 139 * Fixed installation of broken plugins corrupting the vendor state when combined with symlinked path repositories 140 141### [1.0.0-beta2] - 2016-03-27 142 143 * Break: The `install` command now turns into an `update` command automatically if you have no composer.lock. This was done only half-way before which caused inconsistencies 144 * Break: By default the `remove` command now removes dependencies as well, and --update-with-dependencies is deprecated. Use --no-update-with-dependencies to get old behavior 145 * Added support for update channels in `self-update`. All users will now update to stable builds by default. Run `self-update` with `--snapshot`, `--preview` or `--stable` to switch between update channels. 146 * Added support for SSL_CERT_DIR env var and openssl.capath ini value 147 * Added some conflict detection in `why-not` command 148 * Added suggestion of root package's suggests in `create-project` command 149 * Fixed `create-project` ignoring --ignore-platform-reqs when choosing a version of the package 150 * Fixed `search` command in a directory without composer.json 151 * Fixed path repository handling of symlinks on windows 152 * Fixed PEAR repo handling to prefer HTTPS mirrors over HTTP ones 153 * Fixed handling of Path env var on Windows, only PATH was accepted before 154 * Small error reporting and docs improvements 155 156### [1.0.0-beta1] - 2016-03-03 157 158 * Break: By default we now disable any non-secure protocols (http, git, svn). This may lead to issues if you rely on those. See `secure-http` config option. 159 * Break: `show` / `list` command now only show installed packages by default. An `--all` option is added to show all packages. 160 * Added VCS repo support for the GitLab API, see also `gitlab-oauth` and `gitlab-domains` config options 161 * Added `prohibits` / `why-not` command to show what blocks an upgrade to a given package:version pair 162 * Added --tree / -t to the `show` command to see all your installed packages in a tree view 163 * Added --interactive / -i to the `update` command, which lets you pick packages to update interactively 164 * Added `exec` command to run binaries while having bin-dir in the PATH for convenience 165 * Added --root-reqs to the `update` command to update only your direct, first degree dependencies 166 * Added `cafile` and `capath` config options to control HTTPS certificate authority 167 * Added pubkey verification of composer.phar when running self-update 168 * Added possibility to configure per-package `preferred-install` types for more flexibility between prefer-source and prefer-dist 169 * Added unpushed-changes detection when updating dependencies and in the `status` command 170 * Added COMPOSER_AUTH env var that lets you pass a json configuration like the auth.json file 171 * Added `secure-http` and `disable-tls` config options to control HTTPS/HTTP 172 * Added warning when Xdebug is enabled as it reduces performance quite a bit, hide it with COMPOSER_DISABLE_XDEBUG_WARN=1 if you must 173 * Added duplicate key detection when loading composer.json 174 * Added `sort-packages` config option to force sorting of the requirements when using the `require` command 175 * Added support for the XDG Base Directory spec on linux 176 * Added XzDownloader for xz file support 177 * Fixed SSL support to fully verify peers in all PHP versions, unsecure HTTP is also disabled by default 178 * Fixed stashing and cleaning up of untracked files when updating packages 179 * Fixed plugins being enabled after installation even when --no-plugins 180 * Many small bug fixes and additions 181 182### [1.0.0-alpha11] - 2015-11-14 183 184 * Added config.platform to let you specify what your target environment looks like and make sure you do not inadvertently install dependencies that would break it 185 * Added `exclude-from-classmap` in the autoload config that lets you ignore sub-paths of classmapped directories, or psr-0/4 directories when building optimized autoloaders 186 * Added `path` repository type to install/symlink packages from local paths 187 * Added possibility to reference script handlers from within other handlers using @script-name to reduce duplication 188 * Added `suggests` command to show what packages are suggested, use -v to see more details 189 * Added `content-hash` inside the composer.lock to restrict the warnings about outdated lock file to some specific changes in the composer.json file 190 * Added `archive-format` and `archive-dir` config options to specify default values for the archive command 191 * Added --classmap-authoritative to `install`, `update`, `require`, `remove` and `dump-autoload` commands, forcing the optimized classmap to be authoritative 192 * Added -A / --with-dependencies to the `validate` command to allow validating all your dependencies recursively 193 * Added --strict to the `validate` command to treat any warning as an error that then returns a non-zero exit code 194 * Added a dependency on composer/semver, which is the externalized lib for all the version constraints parsing and handling 195 * Added support for classmap autoloading to load plugin classes and script handlers 196 * Added `bin-compat` config option that if set to `full` will create .bat proxy for binaries even if Composer runs in a linux VM 197 * Added SPDX 2.0 support, and externalized that in a composer/spdx-licenses lib 198 * Added warnings when the classmap autoloader finds duplicate classes 199 * Added --file to the `archive` command to choose the filename 200 * Added Ctrl+C handling in create-project to cancel the operation cleanly 201 * Fixed version guessing to use ^ always, default to stable versions, and avoid versions that require a higher php version than you have 202 * Fixed the lock file switching back and forth between old and new URL when a package URL is changed and many people run updates 203 * Fixed partial updates updating things they shouldn't when the current vendor dir was out of date with the lock file 204 * Fixed PHAR file creation to be more reproducible and always generate the exact same phar file from a given source 205 * Fixed issue when checking out git branches or tags that are also the name of a file in the repo 206 * Many minor fixes and documentation additions and UX improvements 207 208### [1.0.0-alpha10] - 2015-04-14 209 210 * Break: The following event classes are deprecated and you should update your script handlers to use the new ones in type hints: 211 - `Composer\Script\CommandEvent` is deprecated, use `Composer\Script\Event` 212 - `Composer\Script\PackageEvent` is deprecated, use `Composer\Installer\PackageEvent` 213 * Break: Output is now split between stdout and stderr. Any irrelevant output to each command is on stderr as per unix best practices. 214 * Added support for npm-style semver operators (`^` and `-` ranges, ` ` = AND, `||` = OR) 215 * Added --prefer-lowest to `update` command to allow testing a package with the lowest declared dependencies 216 * Added support for parsing semver build metadata `+anything` at the end of versions 217 * Added --sort-packages option to `require` command for sorting dependencies 218 * Added --no-autoloader to `install` and `update` commands to skip autoload generation 219 * Added --list to `run-script` command to see available scripts 220 * Added --absolute to `config` command to get back absolute paths 221 * Added `classmap-authoritative` config option, if enabled only the classmap info will be used by the composer autoloader 222 * Added support for branch-alias on numeric branches 223 * Added support for the `https_proxy`/`HTTPS_PROXY` env vars used only for https URLs 224 * Added support for using real composer repos as local paths in `create-project` command 225 * Added --no-dev to `licenses` command 226 * Added support for PHP 7.0 nightly builds 227 * Fixed detection of stability when parsing multiple constraints 228 * Fixed installs from lock file containing updated composer.json requirement 229 * Fixed the autoloader suffix in vendor/autoload.php changing in every build 230 * Many minor fixes, documentation additions and UX improvements 231 232### [1.0.0-alpha9] - 2014-12-07 233 234 * Added `remove` command to do the reverse of `require` 235 * Added --ignore-platform-reqs to `install`/`update` commands to install even if you are missing a php extension or have an invalid php version 236 * Added a warning when abandoned packages are being installed 237 * Added auto-selection of the version constraint in the `require` command, which can now be used simply as `composer require foo/bar` 238 * Added ability to define custom composer commands using scripts 239 * Added `browse` command to open a browser to the given package's repo URL (or homepage with `-H`) 240 * Added an `autoload-dev` section to declare dev-only autoload rules + a --no-dev flag to dump-autoload 241 * Added an `auth.json` file, with `store-auths` config option 242 * Added a `http-basic` config option to store login/pwds to hosts 243 * Added failover to source/dist and vice-versa in case a download method fails 244 * Added --path (-P) flag to the show command to see the install path of packages 245 * Added --update-with-dependencies and --update-no-dev flags to the require command 246 * Added `optimize-autoloader` config option to force the `-o` flag from the config 247 * Added `clear-cache` command 248 * Added a GzipDownloader to download single gzipped files 249 * Added `ssh` support in the `github-protocols` config option 250 * Added `pre-dependencies-solving` and `post-dependencies-solving` events 251 * Added `pre-archive-cmd` and `post-archive-cmd` script events to the `archive` command 252 * Added a `no-api` flag to GitHub VCS repos to skip the API but still get zip downloads 253 * Added http-basic auth support for private git repos not on github 254 * Added support for autoloading `.hh` files when running HHVM 255 * Added support for PHP 5.6 256 * Added support for OTP auth when retrieving a GitHub API key 257 * Fixed isolation of `files` autoloaded scripts to ensure they can not affect anything 258 * Improved performance of solving dependencies 259 * Improved SVN and Perforce support 260 * A boatload of minor fixes, documentation additions and UX improvements 261 262### [1.0.0-alpha8] - 2014-01-06 263 264 * Break: The `install` command now has --dev enabled by default. --no-dev can be used to install without dev requirements 265 * Added `composer-plugin` package type to allow extensibility, and deprecated `composer-installer` 266 * Added `psr-4` autoloading support and deprecated `target-dir` since it is a better alternative 267 * Added --no-plugins flag to replace --no-custom-installers where available 268 * Added `global` command to operate Composer in a user-global directory 269 * Added `licenses` command to list the license of all your dependencies 270 * Added `pre-status-cmd` and `post-status-cmd` script events to the `status` command 271 * Added `post-root-package-install` and `post-create-project-cmd` script events to the `create-project` command 272 * Added `pre-autoload-dump` script event 273 * Added --rollback flag to self-update 274 * Added --no-install flag to create-project to skip installing the dependencies 275 * Added a `hhvm` platform package to require Facebook's HHVM implementation of PHP 276 * Added `github-domains` config option to allow using GitHub Enterprise with Composer's GitHub support 277 * Added `prepend-autoloader` config option to allow appending Composer's autoloader instead of the default prepend behavior 278 * Added Perforce support to the VCS repository 279 * Added a vendor/composer/autoload_files.php file that lists all files being included by the files autoloader 280 * Added support for the `no_proxy` env var and other proxy support improvements 281 * Added many robustness tweaks to make sure zip downloads work more consistently and corrupted caches are invalidated 282 * Added the release date to `composer -V` output 283 * Added `autoloader-suffix` config option to allow overriding the randomly generated autoloader class suffix 284 * Fixed BitBucket API usage 285 * Fixed parsing of inferred stability flags that are more stable than the minimum stability 286 * Fixed installation order of plugins/custom installers 287 * Fixed tilde and wildcard version constraints to be more intuitive regarding stabilities 288 * Fixed handling of target-dir changes when updating packages 289 * Improved performance of the class loader 290 * Improved memory usage and performance of solving dependencies 291 * Tons of minor bug fixes and improvements 292 293### [1.0.0-alpha7] - 2013-05-04 294 295 * Break: For forward compatibility, you should change your deployment scripts to run `composer install --no-dev`. The install command will install dev dependencies by default starting in the next release 296 * Break: The `update` command now has --dev enabled by default. --no-dev can be used to update without dev requirements, but it will create an incomplete lock file and is discouraged 297 * Break: Removed support for lock files created before 2012-09-15 due to their outdated unusable format 298 * Added `prefer-stable` flag to pick stable packages over unstable ones when possible 299 * Added `preferred-install` config option to always enable --prefer-source or --prefer-dist 300 * Added `diagnose` command to to system/network checks and find common problems 301 * Added wildcard support in the update whitelist, e.g. to update all packages of a vendor do `composer update vendor/*` 302 * Added `archive` command to archive the current directory or a given package 303 * Added `run-script` command to manually trigger scripts 304 * Added `proprietary` as valid license identifier for non-free code 305 * Added a `php-64bit` platform package that you can require to force a 64bit php 306 * Added a `lib-ICU` platform package 307 * Added a new official package type `project` for project-bootstrapping packages 308 * Added zip/dist local cache to speed up repetitive installations 309 * Added `post-autoload-dump` script event 310 * Added `Event::getDevMode` to let script handlers know if dev requirements are being installed 311 * Added `discard-changes` config option to control the default behavior when updating "dirty" dependencies 312 * Added `use-include-path` config option to make the autoloader look for files in the include path too 313 * Added `cache-ttl`, `cache-files-ttl` and `cache-files-maxsize` config option 314 * Added `cache-dir`, `cache-files-dir`, `cache-repo-dir` and `cache-vcs-dir` config option 315 * Added support for using http(s) authentication to non-github repos 316 * Added support for using multiple autoloaders at once (e.g. PHPUnit + application both using Composer autoloader) 317 * Added support for .inc files for classmap autoloading (legacy support, do not do this on new projects!) 318 * Added support for version constraints in show command, e.g. `composer show monolog/monolog 1.4.*` 319 * Added support for svn repositories containing packages in a deeper path (see package-path option) 320 * Added an `artifact` repository to scan a directory containing zipped packages 321 * Added --no-dev flag to `install` and `update` commands 322 * Added --stability (-s) flag to create-project to lower the required stability 323 * Added --no-progress to `install` and `update` to hide the progress indicators 324 * Added --available (-a) flag to the `show` command to display only available packages 325 * Added --name-only (-N) flag to the `show` command to show only package names (one per line, no formatting) 326 * Added --optimize-autoloader (-o) flag to optimize the autoloader from the `install` and `update` commands 327 * Added -vv and -vvv flags to get more verbose output, can be useful to debug some issues 328 * Added COMPOSER_NO_INTERACTION env var to do the equivalent of --no-interaction (should be set on build boxes, CI, PaaS) 329 * Added PHP 5.2 compatibility to the autoloader configuration files so they can be used to configure another autoloader 330 * Fixed handling of platform requirements of the root package when installing from lock 331 * Fixed handling of require-dev dependencies 332 * Fixed handling of unstable packages that should be downgraded to stable packages when updating to new version constraints 333 * Fixed parsing of the `~` operator combined with unstable versions 334 * Fixed the `require` command corrupting the json if the new requirement was invalid 335 * Fixed support of aliases used together with `<version>#<reference>` constraints 336 * Improved output of dependency solver problems by grouping versions of a package together 337 * Improved performance of classmap generation 338 * Improved mercurial support in various places 339 * Improved lock file format to minimize unnecessary diffs 340 * Improved the `config` command to support all options 341 * Improved the coverage of the `validate` command 342 * Tons of minor bug fixes and improvements 343 344### [1.0.0-alpha6] - 2012-10-23 345 346 * Schema: Added ability to pass additional options to repositories (i.e. ssh keys/client certificates to secure private repos) 347 * Schema: Added a new `~` operator that should be preferred over `>=`, see http://getcomposer.org/doc/01-basic-usage.md#package-versions 348 * Schema: Version constraints `<x.y` are assumed to be `<x.y-dev` unless specified as `<x.y-stable` to reduce confusion 349 * Added `config` command to edit/list config values, including --global switch for system config 350 * Added OAuth token support for the GitHub API 351 * Added ability to specify CLI commands as scripts in addition to PHP callbacks 352 * Added --prefer-dist flag to force installs of dev packages from zip archives instead of clones 353 * Added --working-dir (-d) flag to change the working directory 354 * Added --profile flag to all commands to display execution time and memory usage 355 * Added `github-protocols` config key to define the order of preferred protocols for github.com clones 356 * Added ability to interactively reset changes to vendor dirs while updating 357 * Added support for hg bookmarks in the hg driver 358 * Added support for svn repositories not following the standard trunk/branch/tags scheme 359 * Fixed git clones of dev versions so that you end up on a branch and not in detached HEAD 360 * Fixed "Package not installed" issues with --dev installs 361 * Fixed the lock file format to be a snapshot of all the package info at the time of update 362 * Fixed order of autoload requires to follow package dependencies 363 * Fixed rename() failures with "Access denied" on windows 364 * Improved memory usage to be more reasonable and not grow with the repository size 365 * Improved performance and memory usage of installs from composer.lock 366 * Improved performance of a few essential code paths 367 * Many bug small fixes and docs improvements 368 369### [1.0.0-alpha5] - 2012-08-18 370 371 * Added `dump-autoload` command to only regenerate the autoloader 372 * Added --optimize to `dump-autoload` to generate a more performant classmap-based autoloader for production 373 * Added `status` command to show if any source-installed dependency has local changes, use --verbose to see changed files 374 * Added --verbose flag to `install` and `update` that shows the new commits when updating source-installed dependencies 375 * Added --no-update flag to `require` to only modify the composer.json file but skip the update 376 * Added --no-custom-installers and --no-scripts to `install`, `update` and `create-project` to prevent all automatic code execution 377 * Added support for installing archives that contain only a single file 378 * Fixed APC related issues in the autoload script on high load websites 379 * Fixed installation of branches containing capital letters 380 * Fixed installation of custom dev versions/branches 381 * Improved the coverage of the `validate` command 382 * Improved PEAR scripts/binaries support 383 * Improved and fixed the output of various commands 384 * Improved error reporting on network failures and some other edge cases 385 * Various minor bug fixes and docs improvements 386 387### [1.0.0-alpha4] - 2012-07-04 388 389 * Break: The default `minimum-stability` is now `stable`, [read more](https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion) 390 * Break: Custom installers now receive the IO instance and a Composer instance in their constructor 391 * Schema: Added references for dev versions, requiring `dev-master#abcdef` for example will force the abcdef commit 392 * Schema: Added `support` key with some more metadata (email, issues, forum, wiki, irc, source) 393 * Schema: Added `!=` operator for version constraints in `require`/`require-dev` 394 * Added a recommendation for package names to be `lower-cased/with-dashes`, it will be enforced for new packages on Pacakgist 395 * Added `require` command to add a package to your requirements and install it 396 * Added a whitelist to `update`. Calling `composer update foo/bar foo/baz` allows you to update only those packages 397 * Added support for overriding repositories in the system config (define repositories in ~/.composer/config.json) 398 * Added `lib-*` packages to the platform repository, e.g. `lib-pcre` contains the pcre version 399 * Added caching of GitHub metadata (faster startup time with custom GitHub VCS repos) 400 * Added caching of SVN metadata (faster startup time with custom SVN VCS repos) 401 * Added support for file:// URLs to GitDriver 402 * Added --self flag to the `show` command to display the infos of the root package 403 * Added --dev flag to `create-project` command 404 * Added --no-scripts to `install` and `update` commands to avoid triggering the scripts 405 * Added `COMPOSER_ROOT_VERSION` env var to specify the version of the root package (fixes some edge cases) 406 * Added support for multiple custom installers in one package 407 * Added files autoloading method which requires files on every request, e.g. to load functional code 408 * Added automatic recovery for lock files that contain references to rewritten (force pushed) commits 409 * Improved PEAR repositories support and package.xml extraction 410 * Improved and fixed the output of various commands 411 * Fixed the order of installation of requirements (they are always installed before the packages requiring them) 412 * Cleaned up / refactored the dependency solver code as well as the output for unsolvable requirements 413 * Various bug fixes and docs improvements 414 415### [1.0.0-alpha3] - 2012-05-13 416 417 * Schema: Added `require-dev` for development-time requirements (tests, etc), install with --dev 418 * Schema: Added author.role to list the author's role in the project 419 * Schema: Added `minimum-stability` + `@<stability>` flags in require for restricting packages to a certain stability 420 * Schema: Removed `recommend` 421 * Schema: `suggest` is now informational and can use any description for a package, not only a constraint 422 * Break: vendor/.composer/autoload.php has been moved to vendor/autoload.php, other files are now in vendor/composer/ 423 * Added caching of repository metadata (faster startup times & failover if packagist is down) 424 * Added removal of packages that are not needed anymore 425 * Added include_path support for legacy projects that are full of require_once statements 426 * Added installation notifications API to allow better statistics on Composer repositories 427 * Added support for proxies that require authentication 428 * Added support for private github repositories over https 429 * Added autoloading support for root packages that use target-dir 430 * Added awareness of the root package presence and support for it's provide/replace/conflict keys 431 * Added IOInterface::isDecorated to test for colored output support 432 * Added validation of licenses based on the [SPDX registry](http://www.spdx.org/licenses/) 433 * Improved repository protocol to have large cacheable parts 434 * Fixed various bugs relating to package aliasing, proxy configuration, binaries 435 * Various bug fixes and docs improvements 436 437### [1.0.0-alpha2] - 2012-04-03 438 439 * Added `create-project` command to install a project from scratch with composer 440 * Added automated `classmap` autoloading support for non-PSR-0 compliant projects 441 * Added human readable error reporting when deps can not be solved 442 * Added support for private GitHub and SVN repositories (use --no-interaction for CI) 443 * Added "file" downloader type to download plain files 444 * Added support for authentication with svn repositories 445 * Added autoload support for PEAR repositories 446 * Improved clones from GitHub which now automatically select between git/https/http protocols 447 * Improved `validate` command to give more feedback 448 * Improved the `search` & `show` commands output 449 * Removed dependency on filter_var 450 * Various robustness & error handling improvements, docs fixes and more bug fixes 451 452### 1.0.0-alpha1 - 2012-03-01 453 454 * Initial release 455 456[1.2.4]: https://github.com/composer/composer/compare/1.2.3...1.2.4 457[1.2.3]: https://github.com/composer/composer/compare/1.2.2...1.2.3 458[1.2.2]: https://github.com/composer/composer/compare/1.2.1...1.2.2 459[1.2.1]: https://github.com/composer/composer/compare/1.2.0...1.2.1 460[1.2.0]: https://github.com/composer/composer/compare/1.2.0-RC...1.2.0 461[1.2.0-RC]: https://github.com/composer/composer/compare/1.1.3...1.2.0-RC 462[1.1.3]: https://github.com/composer/composer/compare/1.1.2...1.1.3 463[1.1.2]: https://github.com/composer/composer/compare/1.1.1...1.1.2 464[1.1.1]: https://github.com/composer/composer/compare/1.1.0...1.1.1 465[1.1.0]: https://github.com/composer/composer/compare/1.0.3...1.1.0 466[1.1.0-RC]: https://github.com/composer/composer/compare/1.0.3...1.1.0-RC 467[1.0.3]: https://github.com/composer/composer/compare/1.0.2...1.0.3 468[1.0.2]: https://github.com/composer/composer/compare/1.0.1...1.0.2 469[1.0.1]: https://github.com/composer/composer/compare/1.0.0...1.0.1 470[1.0.0]: https://github.com/composer/composer/compare/1.0.0-beta2...1.0.0 471[1.0.0-beta2]: https://github.com/composer/composer/compare/1.0.0-beta1...1.0.0-beta2 472[1.0.0-beta1]: https://github.com/composer/composer/compare/1.0.0-alpha11...1.0.0-beta1 473[1.0.0-alpha11]: https://github.com/composer/composer/compare/1.0.0-alpha10...1.0.0-alpha11 474[1.0.0-alpha10]: https://github.com/composer/composer/compare/1.0.0-alpha9...1.0.0-alpha10 475[1.0.0-alpha9]: https://github.com/composer/composer/compare/1.0.0-alpha8...1.0.0-alpha9 476[1.0.0-alpha8]: https://github.com/composer/composer/compare/1.0.0-alpha7...1.0.0-alpha8 477[1.0.0-alpha7]: https://github.com/composer/composer/compare/1.0.0-alpha6...1.0.0-alpha7 478[1.0.0-alpha6]: https://github.com/composer/composer/compare/1.0.0-alpha5...1.0.0-alpha6 479[1.0.0-alpha5]: https://github.com/composer/composer/compare/1.0.0-alpha4...1.0.0-alpha5 480[1.0.0-alpha4]: https://github.com/composer/composer/compare/1.0.0-alpha3...1.0.0-alpha4 481[1.0.0-alpha3]: https://github.com/composer/composer/compare/1.0.0-alpha2...1.0.0-alpha3 482[1.0.0-alpha2]: https://github.com/composer/composer/compare/1.0.0-alpha1...1.0.0-alpha2 483