- Add missing skipUpdateCheck option to config schema #1011 (@ryan-case-ml)
- Ryan Case (@ryan-case-ml)
- Ensure GitHub Action runs in specified version of node #1006 (@tevanoff)
- Recommended files and ignored paths for yarn 4 #1005 (@tevanoff)
- Todd Evanoff (@tevanoff)
- Clean package.json before compiling into source #1003 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Chore: Update the RegEx filter to pull out empty strings #1004 (@ethriel3695)
- Reuben Ellis (@ethriel3695)
- Add fallback type for Storybook 6 builder syntax #1001 (@ethriel3695 @ghengeveld)
- Only replace local builds with uncommitted changes #994 (@ghengeveld)
- Clean package.json before publishing #999 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Reuben Ellis (@ethriel3695)
- Upgrade Storybook to 8.1 #989 (@ethriel3695)
- Pass
SLACK_WEBHOOK_URL
to release script #992 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Reuben Ellis (@ethriel3695)
- Pass
CI=1
environment variable to Storybook build command to disable prompts #991 (@ghengeveld) - Setup Slack plugin for auto to notify on new CLI releases #990 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Use replacement build for baseline build with uncommitted changes #988 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Todd Evanoff (@tevanoff)
- Todd Evanoff (@tevanoff)
- Todd Evanoff (@tevanoff)
- Fix type declaration for
isChromatic
import #986 (@quantizor @ethriel3695) - Specify the ts import resolver in the eslint config #965 (@paulelliott @thafryer)
- Evan Jacobs (@quantizor)
- Jarel Fryer (@thafryer)
- Paul Elliott (@paulelliott)
- Reuben Ellis (@ethriel3695)
- Use current working directory as default value for
storybookBaseDir
#976 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Properly check
storybookBaseDir
against repository root rather than CWD #974 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Throw user-friendly error when config file fails to parse as JSON #961 (@ghengeveld)
- Suppress issues caused by missing Git remote #962 (@ghengeveld)
- Trim
v
prefix from shipIt's version to avoid double prefixing tags #960 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Allow passing both
buildScriptName
andstorybookBuildDir
#934 (WOU@kmd.dk @woutervanvliet @ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Wouter van Vliet (@woutervanvliet)
- Wouter van Vliet (WOU) (WOU@kmd.dk)
- Properly handle GitHub Action inputs that can have multiple values #951 (@tevanoff)
- Fix GitHub Action release script using data from Auto shipIt hook rather than from Git #956 (@ghengeveld)
- Bump ip from 2.0.0 to 2.0.1 #925 (@dependabot[bot] @ghengeveld)
- Bump vite from 4.4.9 to 4.5.2 #895 (@dependabot[bot] @ghengeveld)
- Bump ip from 1.1.5 to 1.1.9 in /subdir #926 (@dependabot[bot] @ghengeveld)
- Bump semver from 5.7.1 to 5.7.2 in /subdir #786 (@dependabot[bot] @thafryer @ghengeveld)
- @dependabot[bot]
- Gert Hengeveld (@ghengeveld)
- Jarel Fryer (@thafryer)
- Todd Evanoff (@tevanoff)
- Add
skipUpdateCheck
option #928 (@work933k @ghengeveld)
- Report code coverage to Codacy #950 (@paulelliott)
- Fixes for various issues reported by Codacy #947 (@ghengeveld)
- Restrict permissions in GitHub Action workflows #946 (@ghengeveld)
- Tell SB8 users to pass
--stats-json
rather than--webpack-stats-json
#948 (@tmeasday)
- @work933k
- Gert Hengeveld (@ghengeveld)
- Paul Elliott (@paulelliott)
- Tom Coleman (@tmeasday)
- Todd Evanoff (@tevanoff)
- Prevent non-string or null message in timestamp logging from causing exit code 254 during build. #931 (@BenjaminEllisSo)
- Todd Evanoff (@tevanoff)
- escape special characters in onlyStoryFiles filenames #942 (@JonathanKolnik)
- Jono Kolnik (@JonathanKolnik)
- Todd Evanoff (@tevanoff)
- Display full error message when storybookBaseDir is invalid #932 (@andrewortwein)
- Andrew Ortwein (@andrewortwein)
- Jarel Fryer (@thafryer)
- Allow commit hash to not be known when finding merge queue PR number #929 (@adrianbruntonsagecom)
- Adrian Brunton (@adrianbruntonsagecom)
- Add new invalid sb base dir error message and validator function #921 (@andrewortwein @ethriel3695)
- Andrew Ortwein (@andrewortwein)
- Reuben Ellis (@ethriel3695)
- Avoid build verify timeout when waiting for upgrade builds #922 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Todd Evanoff (@tevanoff)
- Todd Evanoff (@tevanoff)
- clean up debug log as it's too much noise #919 (@ethriel3695)
- Reuben Ellis (@ethriel3695)
- Tom Coleman (@tmeasday)
- Add missing
fileHashing
option to GitHub Action #918 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Be smarter about comparing lock files #912 (@ghengeveld @tmeasday)
- Gert Hengeveld (@ghengeveld)
- Tom Coleman (@tmeasday)
- Expose
repositoryRootDir
,configFile
and fixdiagnosticsFile
#913 (@ghengeveld) - Support
env
,sessionId
andlog
options via Node API #897 (@work933k) - Add timestamps to debug and file logging #907 (@ghengeveld)
- @work933k
- Gert Hengeveld (@ghengeveld)
- Jarel Fryer (@thafryer)
- Todd Evanoff (@tevanoff)
- Steven Kitterman (@skitterm)
- Jarel Fryer (@thafryer)
- Jarel Fryer (@thafryer)
- Add "package.json" to exports map #900 (@yannbf)
- Improve logging around upload errors #894 (@ghengeveld)
- Don't skip uploading of empty files, it works now #901 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Yann Braga (@yannbf)
- Tom Coleman (@tmeasday)
- Jarel Fryer (@thafryer)
- Fix potential zip upload error when deduping files on a very large Storybook #892 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Add missing
skip
option to configuration schema #890 (@ghengeveld) - Detect merge queue branch and retrieve real branch name from pull request #884 (@JonathanKolnik @ghengeveld)
- Deduplicate files to be uploaded using file hashing #875 (@ghengeveld)
- Replace upload mechanism to use a batched mutation with a new API #888 (@ghengeveld)
- Retrieve
sentinelUrls
fromuploadBuild
and wait for all of them before finishing upload task #878 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Jono Kolnik (@JonathanKolnik)
- Add configFile option to GitHub Action #885 (@wisestuart)
- Stuart Hammar (@wisestuart)
- Revert "Replace
getUploadUrls
withuploadBuild
mutation" #883 (@JonathanKolnik) - Run publish-action script as afterShipIt hook #877 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Jono Kolnik (@JonathanKolnik)
- Replace
getUploadUrls
withuploadBuild
mutation #876 (@ghengeveld) - Implement file hashing for to-be-uploaded files #870 (@ghengeveld)
- Allow overriding
NODE_ENV
withSTORYBOOK_NODE_ENV
#879 (@tmeasday) - Use code splitting in tsup CJS output #873 (@tmeasday)
- Gert Hengeveld (@ghengeveld)
- Tom Coleman (@tmeasday)
- Support pinning GitHub Action to major or patch version #863 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Tom Coleman (@tmeasday)
- Don't write
chromatic.log
by default, allow configuring log files #855 (@ghengeveld)
- Redact
userToken
in diagnostics and fatal error output #859 (@ghengeveld) - Bump zod from 3.22.2 to 3.22.3 #830 (@dependabot[bot] @thafryer)
- Bump word-wrap from 1.2.3 to 1.2.5 #804 (@dependabot[bot] @thafryer)
- Bump get-func-name from 2.0.0 to 2.0.2 #824 (@dependabot[bot] @thafryer)
- Bump @babel/traverse from 7.16.3 to 7.23.2 in /subdir #838 (@dependabot[bot] @thafryer)
- Fix changelog for 9.0.0 and update auto config to prevent issue in the future #854 (@ghengeveld)
- Drop next-release label (@ghengeveld)
- @dependabot[bot]
- Gert Hengeveld (@ghengeveld)
- Jarel Fryer (@thafryer)
- Support
projectId
+userToken
as alternative toprojectToken
for auth #852 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Drop official support for Node 14/16 #839 (@ghengeveld)
- Merge Group (Queues) GitHub Action Event Support #825 (@mhemmings @thafryer)
- Bump browserify-sign from 4.2.1 to 4.2.2 #848 (@dependabot[bot])
- Bump semver from 7.3.5 to 7.5.2 #778 (@dependabot[bot])
- Bump browserify-sign from 4.2.1 to 4.2.2 in /subdir #849 (@dependabot[bot] @thafryer)
- Configure auto with
prerelease
setting and update readme #847 (@ghengeveld)
- @dependabot[bot]
- Gert Hengeveld (@ghengeveld)
- Jarel Fryer (@thafryer)
- Mark Hemmings (@mhemmings)
- Merge Group (Queues) GitHub Action Event Support #825 (@mhemmings @thafryer)
- Configure auto with
prerelease
setting and update readme #847 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Jarel Fryer (@thafryer)
- Mark Hemmings (@mhemmings)
- Configure auto with
prerelease
setting and update readme #847 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Fix config for Auto and add
next-release
tag to trigger anext
release #846 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Fix
ENOENT
when uploading stats file with--upload-metadata
#843 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Fix use of
LoggingRenderer
after bad merge #845 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Write to log file and add
--upload-metadata
to publish metadata files #836 (@ghengeveld)
- Add workflow to require certain PR labels before merging #841 (@ghengeveld)
- Fix reading
diagnostics
from undefined #840 (@ghengeveld) - Only release 'latest' GitHub Action from
main
branch #837 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Support untraced flag in dependency tracing fallback scenario (for pnpm) #835 (@ghengeveld)
- Improvements to auto release workflow #832 (@chromatic-support @ghengeveld)
- @chromatic-support
- Gert Hengeveld (@ghengeveld)
- Pass runtime metadata in
announceBuild
#826 (@ghengeveld)
- Gracefully handle gpg signature info in
git log
output #833 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Fix dependency tracing for monorepos with no
package.json
at the repository root #827 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Clean up auto-generated changelog (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- Add
experimental_abortSignal
to Node API to allow canceling builds #822 (@ghengeveld) - Migrate from Jest to Vitest, update ESLint config and upgrade Execa #821 (@ghengeveld)
- Replace release script with auto shipit #828 (@ghengeveld)
- Gert Hengeveld (@ghengeveld)
- 812 Allow running a build from a repo with only one commit when not in CI
- 810 Add
onTaskStart
, and a new typed fieldctx.task
- 808 Add
onTaskError
option to report errors to node consumers - 813 Rename
onTaskError
toexperimental_onTaskError
- 789 Use
@antfu/ni
to supportpnpm
for Storybook build - 805 Add a
onTaskProgress
option and report progress on it
This is a potentially breaking change due to the introduction of @antfu/ni to handle running the storybook build
command in the Build Storybook step.
- 803 Support Mode Name as Suffix for Build Progress Indicator
- 800 Fix type signature for
runAll
andrunBuild
- 795 Add
--local
flag and pass to builds asisLocalBuild
- 796 Pass
gitUserEmailHash
up with new builds and uselocalBuilds
filter in baseline calculations
- 798 Calculate and record
uncommittedHash
when creating a build
- 794 Add
getGitInfo
function exported by the Node API - 780 Add support for
schedule
GitHub Action workflow trigger - 793 Update snyk parser and added tests for yarn berry
- 788 Track Build ID for Storybook Uploads
- 734 Add support for
release
event to Github action. - 750 Update CI to store tokens in environment variables
- 775 Increase timeout for Git command(s) execution
- 765 Add some fields to package.json to help resolve types in entrypoints
- 773 Bump the Loggly Dependency
- 770 Ensure we exit with a code at the end
- 768 Add
isChromatic
exports
- 763 Fix issue with onTaskComplete callback
- 763 Fix issue with
onTaskComplete
callback
- 764 Move all depenendencies to dev deps
- 758 Add additional logging for turbosnap
- 753 Update getStorybookMetadata to safely record version even if fails to parse mainConfig
- 737 Better discovery for TurboSnap trace-changed and related directories
- 747 Fix Storybook config detection by adding serverRequire to interpret files
- 738 Get the builder name and version via the mainConfig for SB v7+
- 743 Bump Snyk lockfile parser dependency
- 730 Disconnect preserveMissing from
--only-story-names
flag
- 726 Increase timeout on Storybook Verification
- 725 Bump webpack from 5.72.1 to 5.76.0
- 711 Bump http-cache-semantics from 4.1.0 to 4.1.1
- 718 Update
changedFiles
target to fix broken trace utility
- 695 Omit
inputs
forworkflow_dispatch
event in GitHub Action - 713 Add support for
issue_comment
event in GitHub Action
- 710 Add
--repository-slug
flag to CLI, andrepositorySlug
+branchName
options to GitHub Action
- 700 Revert "Don't bundle package.json but rely on meow's runtime value instead"
- 676 Log message when TurboSnap is unavailable
- 671 Don't bundle package.json but rely on meow's runtime value instead
- 675 Output progress updates in non-interactive mode every 10 seconds
- 685 Support custom DNS IP and DNS failover IP using custom DNS resolver
- 689 Improve the failure message when there's only one git commit
- 670 Trace command errors for package manifest change
- 659 Add interactionTestFailuresCount to GitHub Action output
- 660 Update GitHub Action to Node 16
- 644 Bump node-fetch from 3.0.0 to 3.2.10
- 666 Bump @actions/core from ^1.5.0 to ^1.10.0
- 667 Edit package file detection process for the untraced flag
- 665 Added onlyStoryFiles to the github action
- 648 TurboSnap not bailed if package manifest change isn't dependency-related
- 661 Add
debug
as an option to the GH action
- 651 Update buildHasErrors with interaction test failure specific messaging
- 649 Fix TurboSnap for module names containing URL params in stats file
- 650 Ensure all GitHub Action outputs are exposed
- 645 Check onlyStoryNames is non-empty
- 620 Add various counts as GitHub Action outputs
- 643 Fix implied
--preserve-missing
for--only-story-names
- 634 Add
--only-story-files
flag - 565 Add tests for
--untraced
flag validation - 636 Suggest using
--force-rebuild
when skipping rebuild
- 635 Retry queries by default and allow even more retries for
FirstCommittedAtQuery
- 607 Bump terser from 4.8.0 to 4.8.1
- 601 Bump moment from 2.29.1 to 2.29.4
- 594 Bump shell-quote from 1.7.2 to 1.7.3
- 553 Bump minimist from 1.2.5 to 1.2.6
- 631 Bump @actions/core from 1.5.0 to 1.9.1
- 630 Rename
--only
to--only-story-names
but keep it as a deprecated alias - 629 Deprecate
--preserve-missing
and raise a warning if it's being used
In order to support advanced use cases where only a subset of stories would be included in a Storybook, the --preserve-missing
flag could be used to prevent excluded stories from being marked as "removed" in Chromatic. This behavior could lead to problematic situations regarding infrastructure upgrades and cause truly removed stories to never be removed from Chromatic. That's why we are sunsetting the "preserve missing" behavior. As of v6.8.0, using this flag will raise a warning message in the CLI. In a future major version, the flag will be removed completely, and continuing to use it with an older CLI version will start to fail your build.
To upgrade, you should remove the --preserve-missing
flag from your CI and/or package.json
scripts. If you use our GitHub Action, you should remove the preserveMissing
input (with: ...
) from your workflow config file. Furthermore, you should make sure that your build-storybook
script builds all stories, not just a subset. Check your stories
configuration in .storybook/main.js
so it doesn't omit any stories (e.g. based on an environment variable).
Most likely you were using preserveMissing
to cut down on the number of snapshots taken by Chromatic. To achieve the same goal, you have three options:
- Recommended: Use TurboSnap to automatically only snapshot stories for which related source files have changed.
- Use
--only-story-names
to only snapshot stories matching a glob pattern by component/story name. - (Soon) Use
--only-story-files
to only snapshot stories matching a glob pattern by story filename.
In each of these cases, any stories that aren't captured are "inherited" from their baseline.
- 624 Read Webpack stats file as stream to support very large projects
- 621 Add
addon-interactions
to list of supported addons
- 615 Changed trim stats to stream and added test
- 612 Add change count to buildPassed message if changes exist
- 598 Enable bash mode for globs when matching branches with picomatch
- 8be428f Prevent split on undefined
- 592 Filter out unsupported addons from Storybook metadata
- 566 Handle commits that are missing from the repository (i.e. rebased) when doing TurboSnap
- 562 Implement async build creation process
- 585 Fix Storybook metadata retrieval
- 554 Downcase the slug so we don't accidentally treat origin as fork
- 536 Fix
slug
for GitHub'sworkflow_dispatch
event - 547 Fix line splitting on Windows for Git output
- 538 Bump url-parse from 1.5.3 to 1.5.10
- 545 Bump ansi-html from 0.0.7 to 0.0.8
- 528 Bump follow-redirects from 1.14.7 to 1.14.9
- Fix: Cannot read property 'startsWith' of null
- 513 Add support for custom npm registry url
- 521 Add TurboSnap support for Vite
- 523 Fix TurboSnap support for Storybook 6.5 with
.cjs
extension - 518 Fix
storybookUrl
output by removingiframe.html
suffix
- 505 Migrate to TypeScript
- 499 Fix handling of
CANCELLED
build status - 501 Fix handling of missing
ref
and/orsha
inputs onworkflow_dispatch
event #501 - 503 Reformat help text and move
allowConsoleErrors
to deprecated options - 504 Fix consistent naming of flags for
trace
util
- 495 TurboSnap: Add
--trace-changed
flag andtrace
utility - 490 TurboSnap: Detect mismatching entry file and suggest a fix
- 502 Add
--force-rebuild
to prevent skipping on rebuild - 500 Use commit author info instead of committer info
- 487 Improve how process exit code is set
- 488 Fix
--untraced
for package files - 474 Fix commit status update for UI Review when using
--skip
- Filter empty values in array flags and restore warnings
- Disable warning about
--externals
requiring--only-changed
- Disable warning about
--untraced
requiring--only-changed
- 461 Add
--untraced
flag to avoid retesting stories that depend on certain files - 479 Add
--diagnostics
flag to write process context data to a file - 458 Track
bailReason
, improve TurboSnap messaging and throw on zero CSF globs - 482 Fix commit details when using env var and warn if the commit is missing
- Avoid optional chaining which breaks in Node 12 (GitHub Actions)
- Fix error handling in GraphQL client to not retry mutation on HTTP error
- 477 Retry createBuild based on error messages
- 468 Increase unpack wait timeout to 3 minutes
- 466 Add workingDirectory input handler for action
- 465 Remove the need to set a GitHub token
- 459 Add --zip flag to upload files as zip archive
- 463 Fix tests of makeZipFile
- 447 Add support for passing the same flag multiple times
- 455 Add
--storybook-base-dir
to support TurboSnap with a prebuilt Storybook originating from a subdirectory - 456 Add
--dry-run
to skip publishing - 444 Add support for proxy authentication
- 457 Throw error rather than bailing out of TurboSnap when tracing changed files fails
- 449 Fix TurboSnap for unnamed modules in Webpack 5 stats file
- 442 Set exitCode to 0 when branch is skipped with skip flag
- 440 Add TurboSnap support for 6.4 virtual story file locations
- 440 Fix TurboSnap for files that are chunked with preview files
- 436 Fix DEBUG env variable being set
- 424 Update GitHub Action to use Node 14
- 433 Add optional window arg to
isChromatic
- Fix issue with
node:path
import caused bymeow
v10.
- Fix
--only-changed
to bail on changes topackage.json
,package-lock.json
oryarn.lock
located at the repository root.
- 393 Bundle the bin & action so it's dependency-less
- 393 Add support for
workflow_run
event - 393 Make lookup of storybook version optional
- Make
isChromatic
the package main entry point - Remove the deprecated Storybook addon
Before:
import isChromatic from 'chromatic/isChromatic';
After:
import isChromatic from 'chromatic';
- 404 Fix the version of node-fetch to
2.6.0
due to a bug in2.6.3
- 311 Support
workflow_dispatch
event in GitHub Action - 382 Support absolute paths in webpack stats
- 370 Ignore
--only-changed
on rebuild - 381 Throw when specifying an invalid loglevel
- 392 Better path handling for TurboSnap
- 374 Fix handling of
NO_PROXY
environment variable - 397 Fix runtime issues with HTTP_PROXY / NO_PROXY
- 380 Fix
isChromatic
for server-side rendering - 401 Update BuildHasChanges message to be clearer
- 366 Fix resolving webpack stats in subdirectory
- 365 Fix cross-fork builds from GitHub Action
- 347 Add support for proxy server
- 334 Check existence and validity of package.json
- 355 Ignore
--only-changed
on changes matching--externals
- 350 Restore original
preferLocal
settings for Execa
- 348 Restore original behavior to use npm_execpath
- 345 Restore implying of
--preserve-missing
when using--only
- 344 Fix determining viewLayer when using transitive dependency
- 337 Fix chromatic script that can be added to package.json
- 331 Log
clientVersion
on fatal error
- 319 Retrieve viewLayer and version from dependencies and support @web/dev-server-storybook
- 313 Use original baseline for rebuilds (new build for the same commit)
- 304 Support only testing components affected by recent git changes via
--only-changed
- 305 Fix
npx chromatic
timing out on build-storybook
- Better logging when Storybook validation fails
- 283 Explicitly allow multiple project-tokens (last will be used)
- 301 Strip
origin/*
prefix from branch name - 297 Add @storybook/vue3 support
- 296 Support Yarn 2 execpath
- 295 Gracefully handle
git config
command in Netlify - 284 Fix
storybookUrl
in GitHub Action - 287 Update CLI to use new
test
terminology and statuses - 298 Document GitHub action outputs
- 306 Fix tunnel builds
- 282 Revert meow upgrade (will upgrade again in next major release)
- Update
@chromaui/localtunnel
dependency to patch Axios security vulnerability
- 233 Add
--branch-name
flag to override branch name - 193 Record the repository slug to support builds from forks
- 237 Avoid passing
--silent
when invoking npm through Node.js script - 231 Fix overriding Storybook version through environment variable
- 212 Add support for monorepo using a new
path
argument - 218 isChromatic should always be a boolean
- Dependency upgrades
- Throw error when running from shallow clone.
- Improve error messages for when build-storybook fails.
- Add support for
pull_request_target
andpull_request_review
events to GitHub Action.
- Retrieve branch name using more modern git commands, if available.
- Auto-detect buildScriptName from available scripts.
- Improve various log messages.
- Keep track of baselines when doing squash or rebase merges.
- If the build directory we defined is empty, try to detect the actual build output directory from the Storybook build log and warn about it.
- Show a user-friendly error message if we still don't find any Storybook files to publish.
- We now read package.json using
pkgUp
, so theoretically you can runchromatic
from a subdirectory. - Added the
--output-dir (-o)
flag to use instead of a temp dir. - Added
buildScript
to the error json output so we won't have to ask for it in support every time. - Added a global promise rejection handler, in case we accidently forget to catch them.
- Added a user-friendly error message when build-storybook fails.
- Fixed the
--debug
flag so it actually prints something. - Fixed the
--only
flag. - Fixed issue with
node-loggly-bulk
when using Yarn 2.
- Completely overhauled the CLI, with improved UX and better error handling
- Removed JSDOM and its shims to avoid a whole category of issues with broken builds
- Added a version upgrade check that warns when a new major update is available
- Added --junit-report to generating build reports for integration with other tools
- Changed --only to accept a simple glob
- Moved documentation to the Chromatic website
- Replace child_process.execSync with execa
- ADD mock for execCommand in JSDOM
- REMOVE node_env development chromaui#81
- ADD ability to create a patch build for pull requests
- ADD extra parameters to upload chromaui#107
- IMPROVE readability of error message from build-storybook chromaui#112
- IMPROVE user experience during onboarding
- RENAME appCode to projectToken chromaui#109
- REMOVE adding a environment variable when adding script, use cli flag instead chromaui#105
- FIX version of JSDOM to 16.1 as 16.2 includes a conflicting custom element support chromaui#95
- FIX setting the
fromCI
flag from our github action https://github.com/chromaui/action/issues/14
- CHANGE so the CLI stop on storybook runtime errors chromaui#75
- ADD a flag (
--allow-console-errors
) to continue on storybook runtime errors chromaui#75 - ADD early warning system for if the storybook output folder is empty chromaui#78
- IMPROVE readability of the error when build-storybook fails chromaui#73
- IMPROVE readability of the error when storybook runtime throws an error chromaui#73
- FIX
Intl.PluralRules.supportedLocalesOf is not a function
error chromaui#76
- FIX pubish script
- IMPROVE logging when git fails
- FIX script for windows
- ADD
--exit-once-uploaded
flag - FIX escape chararacters in error messages
- ADD jsdom shim for SVG elements
- ADD jsdom shim for fetch
- Bugfix jsdom shim for Intl
- ADD compatibility with github action
- ADD test with github action
- ADD compatibility with github env vars for tracing git branch
- Bugfix running on windows by using cross-spawn
- ADD licence file
- Bugfix compatibility with CHROMA_APP_CODE
- Bugfix report list of addons
- ADD chroma bin
- Bugfix indentation of messages in terminal
- REMOVE the need for the clientside addon
- unify the 2 related packages into a single repository
- Bugfix for compatibility with localtunnel`
-
Add support for docs-mode (Storybook 5.2 feature).
-
Add support for a new parameter:
pauseAnimationsAtEnd
. Read about it here: https://www.chromatic.com/docs/animations -
Retry requests to uploading storybooks in case of network problems.
- Upgrade
axios
dependency for security update
- Add a
--skip
flag to indicate a commit is not going to be built (and still tag the PR as passing). - Allow
chromatic
story parameters to be functions of({ id, kind name })
-- in particular e.g.chromatic: { viewport: () => [/*something dynamic based on story info */]}
- A fix for issues involving story listings differing between browsers.
-
We now default to building and uploading your storybook, rather than starting and tunneling it. This has many benefits including increased reliability and better support for Live View. You'll need to ensure you have a
build-storybook
script defined inpackage.json
(as added by the Storybook CLI). To get the old behaviour, pass-s
to thechromatic test
command. -
We now support HTTPS storybooks (using the
--ssl
flag and friends). -
We polyfill
window.Intl
in our JSDOM environment. -
We polyfill
window.customElements
in our JSDOM environment.
- Retry requests to the API server if one fails rather than bailing out on builds.
- Fixed issue with uploaded builds and Storybook 5 URLs.
-
Added a new
diffThreshold
Storybook parameter you can use to control the anti-aliasing threshold we use for diffing if you find that certain images are tripping our diff. -
Fix an issue with handling rebased branches in unusual CI systems.
- Add a dedicated endpoint for
isChromatic
so you don't need to load our full package to use it (which is useful if you want to use it inside your app, which we generally don't advise).
-
Change the default behaviour around starting the storybook; if we find something running on the port, we assume it's your storybook, instead of requiring you to pass
-S/--do-not-start
. -
Add a new flag
--preserve-missing
which means any stories that are missing from the last build will be assumed to be unchanged. Use this if you are doing tricky things around dynamically building your Storybook based on code changes.
- Fix an issue with Angular/zone.js failing to patch our
MutationObserver
mock
-
Fix an issue with using
isChromatic()
inside Jest (storyshots). -
Some rendering timing fixes to better support Storybook version 5
-
Added an export
isChromatic()
to determine if code is running under test. -
Added JSDOM mocks for
CreateObjectUrl
andMutationObserver
-
Added a parameter
{ chromatic: { disable: true } }
to skip a story in chromatic -
Added a parameter
{ chromatic: { noScroll: true } }
to avoid scrolling screenshots in (non-chrome) browsers.
- Allow overwriting the polyfills we create in JSDOM mode. (This is a bugfix for some libraries that bundle their own polyfills).
-
Allow controlling package initialization timing via
import configure from 'storybook-chromatic/configure'; configure()
-
Add a flag
--ignore-last-build-on-branch=X
to not use the last build on a branch no matter what (which helps with rebasing, see: http://chromatic.com/docs/branching-and-baselines#rebasing).
- Update logging dependency from
loggly
tonode-loggly-bulk
due to security vulnerabilities. NOTE: this package was only used by our CLI tool and so there is no need for concern, but this new version should avoid tripping security tools.
-
Pass
chromatic
parameters from Storybook@4, supporting:- Viewports: http://chromatic.com/docs/viewports
- Delay: http://chromatic.com/docs/delay
-
Better logging from the package to allow us to debug build problems.
-
Fix regression for node v6
-
Fix for supporting stories that use Canvas APIs in JSDOM
-
Fix to work on Windows CI
-
Added a
--storybook-build-dir
parameter that allows you to upload a pre-built storybook.
- Fix a bug with Live View and Storybook@3.4
-
We now set the
CHROMATIC_APP_CODE
variable for you, with explicit instructions to remove it (and set via CI) in less secure applications. -
Some small bugfixes to support unusual usages.
-
Renamed the package from
react-chromatic
tostorybook-chromatic
, to indicate support for all view layers that Storybook supports! -
Tweaked to focus soley on Storybook -- simply
import 'storybook-chromatic';
(no/storybook-addon
required). Run tests withchromatic test --app-code
(no--storybook-addon
required). -
Changed some URL parameters for the test command:
--port
renamed--storybook-port
--url
renamed--storybook-url
--app-path
removed (it's always/iframe.html
, as per Storybook).--exec
added to run arbitrary commands as an alternative to--script-name
--no-interactive
added to disable interactive mode (and we do so automatically when on CI)
-
We no longer require you to have npm installed if you are using yarn.
-
Small bug fixes for missing git repositories, various failure modes.
-
We now track your Storybook version and view layer so we know when to ship/change features.
- Fix an issue for stories that use
navigator.mimeTypes
- Fix a bug where sometimes the package did not detect the checked out branch.
-
Better support for rebasing branches - we now always treat the last build on this branch as a baseline, even if strictly it is not a git ancestor of the current commit. This helps deal with the situation where you rebase a branch off main, and still want to use the previously approved snapshots.
-
Improved support for CI systems, especially Netlify and Travis PR builds. Travis PR builds are a special case, read more about how to handle them in Chromatic here: https://www.chromatic.com/docs/ci#travis
- Fix a small bug in the git algorithm for old Chromatic projects.
-
Reworked the git baseline detection algorithm to use a different technique that should be more reliable across many different modes of usage.
-
Gather stories from Storybook 3.4 without requiring direct installation.
-
Added
--auto-accept-changes
to avoid approvals on certain branches -
Added
--only
flag to run a single story
-
Handle the case where the last few Chromatic builds were run against commits which are no longer in the repository (due to rebasing or squashing). This could cause the tool to crash or fail to find a baseline for a build.
-
Add a
--url
argument to allow running tests against arbitrary running apps.
- Small API change for querying build change counts.
- Our test script now warns you if your Storybook logs any errors. This can sometimes help reveal subtle problems that are caused by the script evaluating your Storybook in JSDOM. If you have legitimate things logged to
console.error
this may cause noise---you should probably get rid of them.
-
We no longer write your app code to your
package.json
by default; instead we prefer you pass it via theCHROMATIC_APP_CODE
environment variable. (You can still optionally use--app-code=xyz
if you are comfortable with the security of yourpackage.json
). -
We now show the final part of your Story's kind as the component name in the Chromatic UI. So "Webapp/UserList" will appear in Chromatic as "UserList".
- This version sends us a little more information about the environment the package runs in -- is it CI? which package version?
- Fix an issue where we did not pass the context to stories in the right format.
- We detect a running process on your app's port and don't try and start the app if so. Pass
--do-not-start
if you've already started the app.
- We now upload your application bundle to our tunnel server directly from the package. This means that on slower uplinks, we no need to set arbitrary timeouts in our server process; instead we simply will not start your Chromatic build until we've verified the bundle has uploaded successfully.