Releases: vercel/turbo
v1.0.28
What's changed?
- Updated
next-env.d.ts
increate-turbo
so that there isn't a cache miss on the first run due to altered source
Full Changelog: v1.0.27...v1.0.28
v1.0.27
v1.0.26
v1.0.25
What's new?
Environment variable dependencies and hashing
When you use turbo
with tools which inline environment variables at build time (e.g. Next.js or Create React App), it is important you tell turbo
about it. Otherwise, you could ship a cached artifact with the wrong environment variables!
With this release, you can now change a task hash by doing any of the following:
- (new) Including environment variables in a
dependsOn
in yourpipeline
definition prefixed by a$
will impact the cache fingerprint on a per-task or per-package-task basis. - (new) Including environment variables in
globalDependencies
list prefixed by a$
will impact the cache fingerprint of all tasks. - Including files or globs of files in
globalDependencies
will impact the cache fingerprint of all tasks. - (new) The value of any environment variable that includes
THASH
in its name will impact the cache fingerprint of all tasks.
Example Configuration
{
"turbo": {
"pipeline": {
"build": {
"dependsOn": {
"^build"
// env vars will impact hashes of all "build" tasks
"$SOME_ENV_VAR"
},
"outputs": ["dist/**"]
},
"web#build": { // override settings for the "build" task for the "web" app
"dependsOn": [
"^build",
// env vars that will impact the hash of "build" task for only "web" app
"$STRIPE_SECRET_KEY",
"$NEXT_PUBLIC_STRIPE_PUBLIC_KEY",
"$NEXT_PUBLIC_ANALYTICS_ID",
],
"outputs": [".next/**"],
},
"docs#build": { // override settings for the "build" task for the "docs" app
"dependsOn": [
"^build",
// env vars that will impact the hash of "build" task for only "web" app
"$STRIPE_SECRET_KEY",
"$NEXT_PUBLIC_STRIPE_PUBLIC_KEY",
"$NEXT_PUBLIC_ANALYTICS_ID",
],
"outputs": [".next/**"],
}
},
"baseBranch": "origin/main",
"globalDependencies": [
"$GITHUB_TOKEN"// env var that will impact the hashes of all tasks,
"tsconfig.json" // file contents will impact the hashes of all tasks,
".env.*" // glob file contents will impact the hashes of all tasks,
],
}
}
Bugfixes
- Correctly show pnpx command in
create-turbo
- Treat symlink directory as directory in
globalDependencies
- Fix cpu overloading during long running tasks
- Better error message when
workspaces
are not defined
Commits
- Bump @babel/core from 7.16.0 to 7.16.7 by @dependabot in #477
- fix kitchen-sink test #466 by @kbenrafik in #473
- Bump @types/jest from 27.0.3 to 27.4.0 by @dependabot in #476
- docs: Fix gap on open mobile nav with banner by @jaredpalmer in #507
- docs: Papercuts by @jaredpalmer in #513
- docs: add missing flag for pnpm install command by @fwouts in #520
- docs: add privacy / security questions to faq by @jaredpalmer in #522
- fix: pnpx command is deprecated in version 6.x by @KieSun in #486
- fix: treat symlink directory as directory by @markjm in #532
- fix: Move runOptions stream checks before the
for
loop to prevent cpu load by @marcinbunsch in #529 - QoL changes for using examples by @markjm in #518
- Hash env vars by @jaredpalmer in #495
- fix: error when workspaces are not defined by @KarolNov in #472
New Contributors
- @kbenrafik made their first contribution in #473
- @fwouts made their first contribution in #520
- @KieSun made their first contribution in #486
- @markjm made their first contribution in #532
- @marcinbunsch made their first contribution in #529
- @KarolNov made their first contribution in #472
Full Changelog: v1.0.24...v1.0.25
v1.0.25-canary.1
What's Changed
- Bump @babel/core from 7.16.0 to 7.16.7 by @dependabot in #477
- fix kitchen-sink test #466 by @kbenrafik in #473
- Bump @types/jest from 27.0.3 to 27.4.0 by @dependabot in #476
- docs: Fix gap on open mobile nav with banner by @jaredpalmer in #507
- docs: Papercuts by @jaredpalmer in #513
- docs: add missing flag for pnpm install command by @fwouts in #520
- docs: add privacy / security questions to faq by @jaredpalmer in #522
- fix: pnpx command is deprecated in version 6.x by @KieSun in #486
- fix: treat symlink directory as directory by @markjm in #532
- fix: Move runOptions stream checks before the
for
loop to prevent cpu load by @marcinbunsch in #529 - QoL changes for using examples by @markjm in #518
- Hash env vars by @jaredpalmer in #495
- fix: error when workspaces are not defined by @KarolNov in #472
New Contributors
- @kbenrafik made their first contribution in #473
- @fwouts made their first contribution in #520
- @KieSun made their first contribution in #486
- @markjm made their first contribution in #532
- @marcinbunsch made their first contribution in #529
- @KarolNov made their first contribution in #472
Full Changelog: v1.0.24...v1.0.25-canary.1
v1.0.25-canary.0
What's New?
Hashing Environment Variables
When you use turbo
with tools which inline environment variables at build time (e.g. Next.js or Create React App), it is important you tell turbo
about it. Otherwise, you could ship a cached artifact with the wrong environment variables!
With this PR, you can now change a task hash by doing any of the following:
- Including environment variables in a
dependsOn
in yourpipeline
definition prefixed by a$
will impact the cache fingerprint on a per-task or per-package-task basis. - Including environment variables in
globalDependencies
list prefixed by a$
will impact the cache fingerprint of all tasks. - Including files or globs of files in
globalDependencies
will impact the cache fingerprint of all tasks. - The value of any environment variable that includes
THASH
in its name will impact the cache fingerprint of all tasks.
Example Configuration
{
"turbo": {
"pipeline": {
"build": {
"dependsOn": {
"^build"
// env vars will impact hashes of all "build" tasks
"$SOME_ENV_VAR"
},
"outputs": ["dist/**"]
},
"web#build": { // override settings for the "build" task for the "web" app
"dependsOn": [
"^build",
// env vars that will impact the hash of "build" task for only "web" app
"$STRIPE_SECRET_KEY",
"$NEXT_PUBLIC_STRIPE_PUBLIC_KEY",
"$NEXT_PUBLIC_ANALYTICS_ID",
],
"outputs": [".next/**"],
},
"docs#build": { // override settings for the "build" task for the "docs" app
"dependsOn": [
"^build",
// env vars that will impact the hash of "build" task for only "web" app
"$STRIPE_SECRET_KEY",
"$NEXT_PUBLIC_STRIPE_PUBLIC_KEY",
"$NEXT_PUBLIC_ANALYTICS_ID",
],
"outputs": [".next/**"],
}
},
"baseBranch": "origin/main",
"globalDependencies": [
"$GITHUB_TOKEN"// env var that will impact the hashes of all tasks,
"tsconfig.json" // file contents will impact the hashes of all tasks,
".env.*" // glob file contents will impact the hashes of all tasks,
],
}
}
Commits
- Bump @babel/core from 7.16.0 to 7.16.7 by @dependabot in #477
- fix kitchen-sink test #466 by @kbenrafik in #473
- Bump @types/jest from 27.0.3 to 27.4.0 by @dependabot in #476
- docs: Fix gap on open mobile nav with banner by @jaredpalmer in #507
- docs: Papercuts by @jaredpalmer in #513
- docs: add missing flag for pnpm install command by @fwouts in #520
- docs: add privacy / security questions to faq by @jaredpalmer in #522
- fix: pnpx command is deprecated in version 6.x by @KieSun in #486
New Contributors
- @kbenrafik made their first contribution in #473
- @fwouts made their first contribution in #520
- @KieSun made their first contribution in #486
Full Changelog: v1.0.24...v1.0.25-canary.0
v1.0.24
What's Changed?
- Added pnpm starter to
create-turbo
- Fixed yarn lockfile parsing on Windows machines. In the past, windows machines would not resolve yarn deps like linux and mac, but just hash the contents of the file. This has been fixed and removed.
- Fixed log output streaming so that both stderr and stdout now correctly print output regardless of which one goes first. This was causing rollup and storybook watch commands to hang
Commits
- Enable pnpm starter by @jaredpalmer in #423
- examples: bump next package version by @charkour in #424
- chore: Update devcontainer by @jaredpalmer in #431
- Add bash scripts to test all examples by @jaredpalmer in #432
- Fix yarn lockfile parsing on Windows by @jaredpalmer in #434
- chore: sync the versions of
eslint
to the same 7.32.0 version by @weyert in #435 - drain body to prevent potential connection thrashing by @cometkim in #433
- Merge
stderr
beforestdout
by @jaredpalmer in #296 - Prefer
--include-dependencies
in docs by @ericclemmons in #450 - docs: fix typo in migrate-from-lerna.mdx by @kyletsang in #457
- docs: Fix dag diagram by @jaredpalmer in #459
- Refactor log streaming by @jaredpalmer in #462
- fix:
monroepo
tomonorepo
typo by @AlaaZorkane in #469
New Contributors
- @cometkim made their first contribution in #433
- @ericclemmons made their first contribution in #450
- @kyletsang made their first contribution in #457
- @AlaaZorkane made their first contribution in #469
Full Changelog: v1.0.23...v1.0.24
v1.0.24-canary.2
What's Changed
- Enable pnpm starter by @jaredpalmer in #423
- examples: bump next package version by @charkour in #424
- chore: Update devcontainer by @jaredpalmer in #431
- Add bash scripts to test all examples by @jaredpalmer in #432
- Fix yarn lockfile parsing on Windows by @jaredpalmer in #434
- chore: sync the versions of
eslint
to the same 7.32.0 version by @weyert in #435 - drain body to prevent potential connection thrashing by @cometkim in #433
- Merge
stderr
beforestdout
by @jaredpalmer in #296 - Prefer
--include-dependencies
in docs by @ericclemmons in #450 - docs: fix typo in migrate-from-lerna.mdx by @kyletsang in #457
- docs: Fix dag diagram by @jaredpalmer in #459
- Refactor log streaming by @jaredpalmer in #462
New Contributors
- @cometkim made their first contribution in #433
- @ericclemmons made their first contribution in #450
- @kyletsang made their first contribution in #457
Full Changelog: v1.0.23...v1.0.24-canary.2
v1.0.24-canary.1
What's Changed
- Enable pnpm starter by @jaredpalmer in #423
- examples: bump next package version by @charkour in #424
- chore: Update devcontainer by @jaredpalmer in #431
- Add bash scripts to test all examples by @jaredpalmer in #432
- Fix yarn lockfile parsing on Windows by @jaredpalmer in #434
- chore: sync the versions of
eslint
to the same 7.32.0 version by @weyert in #435 - drain body to prevent potential connection thrashing by @cometkim in #433
- Merge
stderr
beforestdout
by @jaredpalmer in #296 - Prefer
--include-dependencies
in docs by @ericclemmons in #450 - docs: fix typo in migrate-from-lerna.mdx by @kyletsang in #457
- docs: Fix dag diagram by @jaredpalmer in #459
- Refactor log streaming by @jaredpalmer in #462
New Contributors
- @cometkim made their first contribution in #433
- @ericclemmons made their first contribution in #450
- @kyletsang made their first contribution in #457
Full Changelog: v1.0.23...v1.0.24-canary.1
v1.0.24-canary.0
What's Changed
- Enable pnpm starter by @jaredpalmer in #423
- examples: bump next package version by @charkour in #424
- chore: Update devcontainer by @jaredpalmer in #431
- Add bash scripts to test all examples by @jaredpalmer in #432
- Fix yarn lockfile parsing on Windows by @jaredpalmer in #434
- chore: sync the versions of
eslint
to the same 7.32.0 version by @weyert in #435 - drain body to prevent potential connection thrashing by @cometkim in #433
- Merge
stderr
beforestdout
by @jaredpalmer in #296 - Prefer
--include-dependencies
in docs by @ericclemmons in #450 - docs: fix typo in migrate-from-lerna.mdx by @kyletsang in #457
New Contributors
- @cometkim made their first contribution in #433
- @ericclemmons made their first contribution in #450
- @kyletsang made their first contribution in #457
Full Changelog: v1.0.23...v1.0.24-canary.0