# Turborepo v0.8.5 — Release & Upgrade Intelligence
- **Product:** Turborepo (https://turbo.build)
- **Version:** v0.8.5
- **Released:** Dec 01, 2021
- **Impact Score:** 7/10
- **Breaking Changes:** Source flagged
- **Canonical Analysis:** https://changelogs.us/turborepo/updates/v0.8.5/

## Executive Summary (TL;DR)
Turborepo v0.8.5. Source highlight: Completely rewritten and revamped internal graph. Fixes long standing bug with construction. You no longer need to specify all possible tasks, turbo will figure out the transitive tasks necessary automatically.

## Breaking Changes & Deprecations
- Breaking changes - `turbo prune` now generates only one folder with all the source code in it (instead of 2). This makes the command more useful to people not using Docker.
- Breaking changes - Logs are now output to `.turbo` directory instead of `turbo` directory. This moves the directory out of the middle of your package's source code. Update your `.gitignore` accordingly.

## New Features
- Remove support doublestar globs in workspaces (introduced in `v0.8.1`) until a faster implementation can be found
- Added ability to specify token, team, and project via `TURBO_TOKEN`, `TURBO_TEAM`, and `TURBO_PROJECT` environment variables. The flags will take precendence over the environement variables when both are present.
- Upgrade turbo: `yarn add turbo -W`
- Invite your team members so they can use your artifacts too. In your dashboard, go to Users and then blast out some invites. Once they have accepted the invitation, they'll be added to your team and have access to all of your projects. They can then link their local git repos to your shared turborepo.
- Connect your CI (programmatic non-interactive access): To give your CI/CD access to your turborepo.com team, project, and cache, go to the dashboard and create a personal access token for your account (API Tokens > Create). Copy this token to a safe place (you'll only see it once). Add it to as a secret environment variable in your CI provider. You can then pass it to turbo CLI like so: `yarn turbo run build --token=<my_token> --team=<my-team-url> --project=<my-project>`
- Added (back) partial support for NPM and PNPM workspaces. When using either of these package managers, `turbo` will include the entire contents of the relevant lockfile in its hashing algorithm for each package task. This differs from `yarn` behavior where `turbo` will include the resolved the versions of dependencies for a given package. The `prune` command does not yet work with `pnpm` or `npm`. These features will be added at a later date.

## Improvements
- Improved error messages around auth flow
- Improved chrome profiling output (`--profile`) flag
- Improved error messages
- `turbo` is now 50-80% faster thanks to refactoring/improving cache behavior. While fetching artifacts from the cache is still synchronous, storing task artifacts is now async (and queued) among a worker pool so that it is non-blocking. The cache internals have been tweaked so that multiple cache implementations (i.e. local and remote) can be multiplexed together in the future.
- `turbo` is around 20% faster thanks to some concurrency/performance improvements to hashing
- Improved lockfile parse performance. `turbo` now will hash/cache the converted SYML in the cache folder for faster subsequent reads. This hash is not included in task hashes, it's just used for determining if `turbo` should re-parse the SYML lockfile or not.

## Bug Fixes
- Completely rewritten and revamped internal graph. Fixes long standing bug with construction. You no longer need to specify all possible tasks, turbo will figure out the transitive tasks necessary automatically.
- Botched release due to GitHub packages bug, do not use. This has been removed from the registry.
- Fixed issue where including an pipeline package-specific overrides with topological `dependsOn` created circular task graph dependency
- Fix regression with `--since` flag (it wasn't working)
- Fixed issue with `prune` where `.gitignore` didn't exist. It now safely handles this situation.
- Fixed issue with `prune` where turbo's internal representation of the lockfile was being outputted to the root directory instead of to the cache.

## Upgrade Command
```bash
npm install --save-dev --save-exact turbo@0.8.5
```
