v0.25.0

yarnpkg/yarnv0.25.0May 12, 2017by bestander

AI Summary

A major feature release introducing Workspaces support, dynamic peer dependency checking, and various CLI improvements.

Key Highlights

  • Introduces Workspaces support for managing multiple packages
  • Breaking change: Allow prerelease versions when checking peer dependencies
  • Adds 'yarn create' command
  • Adds 'enable-meta-folder' option to organize integrity files
  • Includes yarn and node versions in yarn.lock

Breaking Changes

  • Allow prerelease versions when checking peer deps (#3361)

New Features

  • Workspaces support
  • Dynamic peer dependency checking
  • yarn create command
  • enable-meta-folder option
  • Include yarn and node versions in yarn.lock

Full Release Notes

    
    

* __Make yarn-bundle-entry.js executable__

    [Daniel Lo Nigro](mailto:daniel@dan.cx) - Fri, 12 May 2017 10:10:36 -0700
    
    

* __improved error message (#3269)__

    [Konstantin Raev](mailto:bestander@gmail.com) - Fri, 12 May 2017 17:15:09 +0100
    

* __Remove warning spam during install with file mutex (#3165)__

    [Matt Traynham](mailto:skitch920@gmail.com) - Fri, 12 May 2017 16:54:20 +0100
    
    

* __added check on response code on publish cli command to accomodate additional registries (#3149)__

    [Mason Richins](mailto:richins.mason.a@gmail.com) - Fri, 12 May 2017 16:50:05 +0100
    
    

* __Switch to micromatch: fixes yarnpkg/yarn#3336 (#3339)__

    
    * Trim patterns before generating RegExp
    Test suite now passes
    

* (BREAKING) __Allow prerelease versions when checking peer deps (#3361)__

    [James Ide](mailto:ide@jameside.com) - Fri, 12 May 2017 16:19:53 +0100
    
    * Allow prerelease versions when checking peer deps
     Uses lower-level APIs in node-semver to allow prerelease versions when
    checking peer deps. This honors the intent of library authors e.g. when they
    write a React component that asks for `"react": ">=15.0.0"` they're saying OK
    with `react@16.0.0` (partly because the React team specifically has said that
    if you don't have any warnings in version N, then version N+1 should work for
    you). By extension and modulo bugs, `react@16.0.0-alpha` works too (if the user
    explicitly installs it).
     Test Plan: Added unit tests for the new semver utility.
     Tested in a real project that uses React 16.0.0-alpha.11 and verified I didn't
    get any peer dep warnings that usually appear from libraries that ask for
    `"react": ">=15.0.0"`. Downgraded React to 0.14.0 (too low) and saw peer dep
    warnings come back as expected.
    
    * Tighten up upper bounds so that "2.0.0-pre" doesn't match "^1.0.0"
     node-semver converts ~ and ^ ranges into pairs of >= and < ranges but the
    upper bounds don't properly exclude prerelease versions. For example, "^1.0.0"
    is converted to ">=1.0.0 <2.0.0", which includes "2.0.0-pre" since prerelease
    versions are lower than their non-prerelease counterparts. As a practical
    workaround we make upper-bound ranges exclude prereleases and convert "<2.0.0"
    to "<2.0.0-0", for example.
     Added unit tests as well.
    

* __modify git ref parsing to not error on non-matching lines #3325 (#3351)__

    [Jeff Valore](mailto:rally25rs@yahoo.com) - Fri, 12 May 2017 16:14:00 +0100
    
    

* __Include requested url in cantRequestOffline error (#3335)__

    [Andres Suarez](mailto:zertosh@gmail.com) - Fri, 12 May 2017 14:54:58 +0100
    
    

* __workspaces: first phase: install node_modules aggregated from all workspaces (#3229)__

    [Konstantin Raev](mailto:bestander@gmail.com) - Thu, 11 May 2017 17:53:36 +0100
    
    

* __Fix Travis OSX tests (#3379)__

    [PICHOU Kyâne](mailto:kyane@kyane.fr) - Thu, 11 May 2017 15:33:20 +0100
    
    

* __Fix yarn "entrypoint" shell script (#3362)__

    [PICHOU Kyâne](mailto:kyane@kyane.fr) - Thu, 11 May 2017 14:46:24 +0100
    
    #3260 PR broke the `bin/yarn` shell script (see issue #3321)
    #3338 tried to fix it in a improper way
     This way should work.

* __use yarn instead of npm everywhere is possible aka Eating your own dog food (#3374)__

    [Simon Vocella](mailto:voxsim@gmail.com) - Wed, 10 May 2017 19:02:52 +0100
    
    

* __Implements the enable-meta-folder (#3367)__

    [Maël Nison](mailto:nison.mael@gmail.com) - Wed, 10 May 2017 19:01:08 +0100
    
    * Implements the enable-meta-folder
    
    * Adds enable-meta-folder support to yarn-error.log
    

* __upgrade babel-core (#3366)__

    [Simon Vocella](mailto:voxsim@gmail.com) - Wed, 10 May 2017 17:22:45 +0100
    
    

* __Updates the yarn-create prefix (#3358)__

    [Maël Nison](mailto:nison.mael@gmail.com) - Tue, 9 May 2017 13:56:39 +0100
    
    

* __Add a more useful error message when we cache a broken tarball (#3355)__

    [Roman Sandler](mailto:rsandler@zendesk.com) - Tue, 9 May 2017 13:55:45 +0100
    
    It looks like there should be an error handler that reports the
    `fetchErrorCorrupt` string, but instead an error from tar-stream
    is being
    returned without the filename.

* __Include yarn and node versions in yarn.lock (#3265)__

    [Christopher Stott](mailto:christopherstott@gmail.com) - Mon, 8 May 2017 17:48:25 +0100
    
    Sometimes it is helpful for automated tooling to know the version of
    yarn and
    nodejs that was used in the environment that last modified the
    yarn.lock file.
    
     For example, this allows CI platforms to automatically ensure the
    same
    versions of yarn and node are used in CI as locally.
     This functionality can be disabled by adding to .yarnrc
     yarn-disable-lockfile-versions true

* __link bins of transitive deps to top level (#3310)__

    [Jeff Valore](mailto:rally25rs@yahoo.com) - Mon, 8 May 2017 16:56:15 +0100
    
    * #2874 link bins of transitive deps to top level
    
  

* __Don't always prune mirrored scoped packages resolved by URLs (#3342)__

    [Nicholas Bollweg](mailto:nick.bollweg@gmail.com) - Mon, 8 May 2017 16:53:32 +0100
    
    

* __Adds yarn create (#3244)__

    [Maël Nison](mailto:nison.mael@gmail.com) - Fri, 5 May 2017 10:26:04 +0100
    
  

* __Fixes offline resolution for absolute Windows paths (#3319)__

    [Maël Nison](mailto:nison.mael@gmail.com) - Thu, 4 May 2017 17:48:17 +0100