- 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.