Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release: Prerelease 8.1.0-alpha.8 #26811

Merged
merged 541 commits into from May 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
541 commits
Select commit Hold shift + click to select a range
762a784
Wait for story to rerender after HMR before responding to save-story …
ghengeveld Apr 17, 2024
365a46d
No need to retry selectStory call anymore
ghengeveld Apr 17, 2024
7a189bb
Add new actions to the bottom of the panel and auto scroll
kasperpeulen Apr 17, 2024
3e66373
e2e tests for save-from-controls
ndelangen Apr 17, 2024
b5e083d
Merge branch 'save-from-controls' of https://github.com/storybookjs/s…
ndelangen Apr 17, 2024
907fb3a
Fix import in ControlsPanel.tsx
ndelangen Apr 17, 2024
beb0fd7
add cache.mock entrypoint to nextjs
JReinhold Apr 17, 2024
10b556c
Fix notification selector in save-from-controls.spec.ts
ndelangen Apr 17, 2024
a3565f2
Address review
kasperpeulen Apr 17, 2024
6a2eea2
Merge pull request #26864 from storybookjs/kasper/action-order
kasperpeulen Apr 17, 2024
24683a3
Merge pull request #26865 from storybookjs/jeppe/export-next-cache
JReinhold Apr 17, 2024
80dd303
Fix notification selector in save-from-controls.spec.ts
ndelangen Apr 17, 2024
3816841
Fix submit button click in save-from-controls.spec.ts
ndelangen Apr 17, 2024
0222515
Fix input fill in save-from-controls.spec.ts
ndelangen Apr 17, 2024
3d10cd7
Refactor save-from-controls.spec.ts and ControlsPanel.tsx
ndelangen Apr 17, 2024
e89b365
Merge remote-tracking branch 'origin/save-from-controls' into valenti…
valentinpalkovic Apr 17, 2024
60fb5ba
Refactor save-from-controls.spec.ts and ControlsPanel.tsx
ndelangen Apr 17, 2024
139e8c9
Prevent color swatch from showing on top of SaveStory bar
ghengeveld Apr 17, 2024
8390ec5
Avoid transparent background to prevent controls from showing through
ghengeveld Apr 17, 2024
f34265b
Only send updated args when saving story, to prevent meta args from b…
ghengeveld Apr 17, 2024
fa3d3be
Fix typo in save-from-controls.spec.ts
ndelangen Apr 17, 2024
a07031a
Merge branch 'save-from-controls' of https://github.com/storybookjs/s…
ndelangen Apr 17, 2024
331da20
fix providerImportSource extension
bashmish Apr 17, 2024
6c08614
Refactor save-from-controls.spec.ts and ControlsPanel.tsx
ndelangen Apr 17, 2024
43be965
Use deepEqual rather than equality check
ghengeveld Apr 17, 2024
944ff5f
Introduce useDebounce hook
valentinpalkovic Apr 18, 2024
333329a
Export request and response interfaces for some channels
valentinpalkovic Apr 18, 2024
0c19a46
Change generic parser to use @babel/parser
valentinpalkovic Apr 18, 2024
6b81b0c
Use renderer package for typescript template
valentinpalkovic Apr 18, 2024
a449d8c
Return storyFilePath and exported name when creating a story in the r…
valentinpalkovic Apr 18, 2024
0f37b98
Enhance file search to exclude stories and to filter out unsupported …
valentinpalkovic Apr 18, 2024
b2ba678
Update error message
valentinpalkovic Apr 18, 2024
343081b
Implement argtypes channel in Preview
valentinpalkovic Apr 18, 2024
30eb66a
Implement FileSearchModal
valentinpalkovic Apr 18, 2024
fa49c94
Add unit tests to FileSearchModal.utils
valentinpalkovic Apr 18, 2024
19b6094
Rename helper function
valentinpalkovic Apr 18, 2024
aac320d
Remove unnecessary imports
valentinpalkovic Apr 18, 2024
f9d81b5
Animate modal opening
valentinpalkovic Apr 18, 2024
05ac43c
Try to absolute position modal
valentinpalkovic Apr 18, 2024
67c6785
Fix highlight color on dark theme
ghengeveld Apr 18, 2024
07c4fc3
Add types to stories
ghengeveld Apr 18, 2024
9077a3f
Remove stray story
ghengeveld Apr 18, 2024
b997f1e
Use getByLabel rather than getByText
ghengeveld Apr 18, 2024
0136382
support nextjs 14.2 useParams functionality
yannbf Apr 18, 2024
b984dd1
Update sandbox stories
yannbf Apr 18, 2024
fb24aef
remove path params aliasing
yannbf Apr 18, 2024
2fb5ed5
update snapshots
yannbf Apr 18, 2024
f1808c8
Modal polishing
valentinpalkovic Apr 18, 2024
316779b
Merge pull request #26874 from storybookjs/yann/fix-nextjs-14.2-usepa…
yannbf Apr 18, 2024
1d423a7
Merge remote-tracking branch 'origin/save-from-controls' into valenti…
valentinpalkovic Apr 18, 2024
67a2111
Merge pull request #26862 from storybookjs/yann/fix-docgen-convert-crash
yannbf Apr 18, 2024
03039b6
allow args to contain function etc.
ndelangen Apr 18, 2024
cfec679
Add stories and polishing
valentinpalkovic Apr 18, 2024
2a4c289
hopefully fix the e2e
ndelangen Apr 18, 2024
d904884
Cherry-pick 343081be5e47149b569a71b822fcc2ff3cc6850c
ghengeveld Apr 18, 2024
567f464
Move requestResponse util and types to core-events
ghengeveld Apr 18, 2024
8bfbaa8
Move requestResponse util to manager-api
ghengeveld Apr 18, 2024
963b8ef
Merge branch 'next' into save-from-controls
ghengeveld Apr 18, 2024
0df8706
Fix save-from-controls e2e test
ndelangen Apr 18, 2024
76a59c2
Ensure that simultaneous onStoriesChanged don't clobber each other
tmeasday Apr 19, 2024
da43540
Renamed gates for clarity
tmeasday Apr 19, 2024
2f71566
Updating Vuetify decorator example
justingish Mar 27, 2024
bedeb9a
Update Vuetify decorator snippet
yannbf Apr 19, 2024
979227d
Merge pull request #26883 from storybookjs/justingish/update-vuetify-…
yannbf Apr 19, 2024
df5db07
Merge branch 'next' into jeppe/allow-http-docs-external-links
yannbf Apr 19, 2024
2cf3ea2
Polishing
valentinpalkovic Apr 19, 2024
e0af40b
Polish skeleton
valentinpalkovic Apr 19, 2024
c3f0177
Polish no results
valentinpalkovic Apr 19, 2024
d7039ef
Implement file formatting
ghengeveld Apr 19, 2024
3ebe4f7
chore: remove repetitive words
goodactive Apr 19, 2024
fa134a9
Add FileSearchModal
valentinpalkovic Apr 19, 2024
ccf154f
pick https://github.com/storybookjs/storybook/pull/26882/files#diff-d…
ndelangen Apr 19, 2024
a8385b3
Merge branch 'save-from-controls' of https://github.com/storybookjs/s…
ndelangen Apr 19, 2024
7c7134e
Merge branch 'next' into save-from-controls
ndelangen Apr 19, 2024
0596ca2
Separate CreateNewStoryFileModal from FileSearchModal
valentinpalkovic Apr 19, 2024
32213e8
Merge pull request #26853 from storybookjs/kasper/mock-names
kasperpeulen Apr 19, 2024
53ec3dd
dedupe
ndelangen Apr 19, 2024
640213e
Implement redirect and Redirect error boundary
kasperpeulen Apr 19, 2024
551704b
Fix error handling for saveStory
ghengeveld Apr 19, 2024
20d0e7e
Fix babel traverse issue
ghengeveld Apr 19, 2024
5538e26
Wait a while
ghengeveld Apr 19, 2024
3e6e7e2
Copy Next patch of console.error
kasperpeulen Apr 19, 2024
1c194d8
Cleanup
valentinpalkovic Apr 19, 2024
d16983e
Fix stories
ghengeveld Apr 19, 2024
c12ae69
Merge pull request #26488 from storybookjs/jeppe/allow-http-docs-exte…
JReinhold Apr 19, 2024
b094da7
Merge branch 'kasper/module-mocking' into kasper/redirect-boundary
kasperpeulen Apr 19, 2024
9077f9e
Move icons to FileSearchList
valentinpalkovic Apr 19, 2024
f29966e
Fix test
valentinpalkovic Apr 19, 2024
1378113
Retrigger search after succefull story creation
valentinpalkovic Apr 19, 2024
2e5a457
Fix modal snapshot
ghengeveld Apr 19, 2024
f2da3b4
fix the test-runner-prod step
yannbf Apr 19, 2024
479b8e9
Merge pull request #26890 from storybookjs/yann/fix-test-runner-prod
yannbf Apr 19, 2024
3b959d3
add logs to try and debug flakiness
yannbf Apr 19, 2024
56e6520
Merge branch 'next' into save-from-controls
ndelangen Apr 19, 2024
e7817b0
Merge remote-tracking branch 'origin/save-from-controls' into valenti…
valentinpalkovic Apr 19, 2024
a007256
WIP
valentinpalkovic Apr 19, 2024
3cf9846
Finalize Create New Story File feature
valentinpalkovic Apr 20, 2024
6a961aa
Fix tests
valentinpalkovic Apr 20, 2024
bda5336
Fix TypeScript errors
valentinpalkovic Apr 20, 2024
8f9b5ae
react-dom-shim: Support React 19
Tobbe Apr 20, 2024
fcc3ca5
chore: fix rendering of stateful tabs component
lifeiscontent Apr 20, 2024
f9ba2f1
test 'nextjs/default-ts' instead of 'nextjs/default-js' in e2e tests
JReinhold Apr 22, 2024
3c33b3c
Merge pull request #26907 from storybookjs/jeppe/fix-nextjs-js-e2e
JReinhold Apr 22, 2024
5c20d18
Merge branch 'next' of github.com:storybookjs/storybook into subtitle…
JReinhold Apr 22, 2024
6dadc7c
fix migration
JReinhold Apr 22, 2024
3889e83
rename Subtitle stories
JReinhold Apr 22, 2024
1c204ea
Merge branch 'next' into subtitle-of-prop
JReinhold Apr 22, 2024
ce73138
Merge branch 'next' into feat/22490-Title
JReinhold Apr 22, 2024
ee0dd00
simplify Title extraction
JReinhold Apr 22, 2024
2bff7a1
Merge pull request #22552 from joaonunomota/subtitle-of-prop
JReinhold Apr 22, 2024
5542e3a
Merge branch 'next' of github.com:storybookjs/storybook into feat/224…
JReinhold Apr 22, 2024
688cf18
Move migration note
JReinhold Apr 22, 2024
7b2ddea
Update CHANGELOG.md for v8.0.9 [skip ci]
storybook-bot Apr 22, 2024
d310cb9
Fix tests
valentinpalkovic Apr 22, 2024
01dcbd8
Merge branch 'next' into chore/fix-rendering-of-stateful-tabs-component
lifeiscontent Apr 22, 2024
7702cb6
Fix Modals in onboarding and add stories to manager's Storybook
valentinpalkovic Apr 23, 2024
28f4bb7
Merge pull request #26924 from storybookjs/valentin/fix-onboarding-modal
valentinpalkovic Apr 23, 2024
466a774
Upgrade babel dependencies
valentinpalkovic Apr 23, 2024
9fc3a0f
Update kitchen-sink lock files
valentinpalkovic Apr 23, 2024
51ede75
Merge branch 'next' into feat/22490-Title
JReinhold Apr 23, 2024
37b8aef
Merge pull request #23728 from Sidnioulz/feat/22490-Title
JReinhold Apr 23, 2024
b6c900a
add previewHead to sandboxes with explicit monospace font stack
JReinhold Apr 24, 2024
0a1e098
align monospace font stack with Next.js defaults
JReinhold Apr 24, 2024
9148b6a
Merge pull request #26939 from storybookjs/jeppe/sandbox-fix-monospac…
JReinhold Apr 24, 2024
c3eb412
Merge branch 'next' into fix-links-stories
JReinhold Apr 24, 2024
caf3f2a
fix link stories not working in all renderers
JReinhold Apr 24, 2024
18e298a
Merge pull request #24400 from storybookjs/fix-links-stories
JReinhold Apr 24, 2024
2aadfc1
Merge branch 'next' into chore/fix-rendering-of-stateful-tabs-component
JReinhold Apr 24, 2024
4c1d585
Merge pull request #26899 from storybookjs/chore/fix-rendering-of-sta…
JReinhold Apr 24, 2024
a092fed
get index AFTER setting filters is done
JReinhold Apr 25, 2024
3cbe01d
cleanup
JReinhold Apr 25, 2024
65c84db
cleanup
JReinhold Apr 25, 2024
cfe6e11
Merge branch 'next' into yann/investigate-safari-flakiness
JReinhold Apr 25, 2024
b6e832d
use auto-retrying assertions for text content in e2e tests
JReinhold Apr 25, 2024
3625c2e
Merge remote-tracking branch 'origin/next' into valentin/add-file-picker
valentinpalkovic Apr 25, 2024
7c89f0f
Update snapshot
valentinpalkovic Apr 25, 2024
397ab28
Fix play function
valentinpalkovic Apr 25, 2024
bb832e5
Merge pull request #26875 from storybookjs/valentin/add-file-picker
valentinpalkovic Apr 25, 2024
913f691
Merge pull request #26950 from storybookjs/jeppe/fix-flaky-e2e
valentinpalkovic Apr 25, 2024
4011f99
fix: bump @storybook/csf to 0.1.5
Cherry Apr 25, 2024
f065b3f
Merge branch 'next' into tobbe-react-19
JReinhold Apr 26, 2024
34f0c20
Merge pull request #26898 from Tobbe/tobbe-react-19
JReinhold Apr 26, 2024
6b509a5
Merge branch 'next' into 22163_logEventFalseyFix
Fatcat560 Apr 26, 2024
7e1ee32
Merge pull request #26949 from storybookjs/yann/investigate-safari-fl…
JReinhold Apr 26, 2024
e9f4264
Merge branch 'next' into save-from-controls
ghengeveld Apr 28, 2024
5ccf741
dedupe
ndelangen Apr 29, 2024
1b1af0b
throw error when asked to convert CSF2
ndelangen Apr 29, 2024
8841ef7
only explicitly support empty function when save-from-controls is used
ndelangen Apr 29, 2024
b336534
improve mobile layout
ndelangen Apr 29, 2024
2a46827
Add arrow navigation to the Save From Controls Modal search results
valentinpalkovic Apr 29, 2024
88fdc09
Enhance error messaging for the user when updating CSF2 stories
valentinpalkovic Apr 29, 2024
30b09f6
Merge branch 'next' into fix/providerImportSource-extension
ndelangen Apr 29, 2024
f163e6f
Maintain cursor position in FileSearchModal input field while typing
valentinpalkovic Apr 29, 2024
d9851f7
Improve required args extraction by taking account controls type
valentinpalkovic Apr 29, 2024
1d5d849
Merge branch 'next' into tom/fix-losing-args-on-hmr
yannbf Apr 29, 2024
6d5ce32
fix linting
ndelangen Apr 29, 2024
435407d
Merge branch 'next' into pr/yuemori/26860
ndelangen Apr 29, 2024
e9d56c4
dedupe
ndelangen Apr 29, 2024
7cb3ecf
Enhance extractSeededRequiredArgs function
valentinpalkovic Apr 29, 2024
bc129cb
Fix stringification of function for saving a new story
valentinpalkovic Apr 29, 2024
f6ecc28
Merge pull request #26860 from yuemori/fix-vite-builder-override-asse…
ndelangen Apr 29, 2024
7cf08a8
Merge branch 'next' into tom/fix-losing-args-on-hmr
ndelangen Apr 29, 2024
bbafa40
Merge branch 'next' into 22163_logEventFalseyFix
kasperpeulen Apr 29, 2024
28eb522
Merge pull request #26917 from Fatcat560/22163_logEventFalseyFix
kasperpeulen Apr 29, 2024
eeabdb6
redesign error screen
ndelangen Apr 29, 2024
f1616eb
Merge branch 'save-from-controls' of https://github.com/storybookjs/s…
ndelangen Apr 29, 2024
da73dd6
Merge branch 'next' into save-from-controls
ndelangen Apr 29, 2024
13a9f37
fix
ndelangen Apr 29, 2024
d510c20
Merge branch 'save-from-controls' of https://github.com/storybookjs/s…
ndelangen Apr 29, 2024
aa67b8d
Merge pull request #26882 from storybookjs/tom/fix-losing-args-on-hmr
ndelangen Apr 29, 2024
15901b9
thrown when missing
ndelangen Apr 29, 2024
16d5b72
Merge pull request #26958 from Cherry/next
kasperpeulen Apr 29, 2024
41f8819
fix chromatic
ndelangen Apr 29, 2024
77595aa
Merge branch 'next' into save-from-controls
ndelangen Apr 29, 2024
9bd0766
make stacktrace deterministic
ndelangen Apr 30, 2024
5e63c2f
Fix issue with getProjectRoot function in paths.ts when user does not…
valentinpalkovic Apr 30, 2024
3844765
Fix issues with disabled checkboxes and radios
valentinpalkovic Apr 30, 2024
313c50d
Improve required args extraction by considering enums
valentinpalkovic Apr 30, 2024
9b836fe
Fix paths util
valentinpalkovic Apr 30, 2024
abf5d99
Fix existing story evaluation
valentinpalkovic Apr 30, 2024
b1063c8
Enhance handleFileSearch
valentinpalkovic Apr 30, 2024
df9f64f
Merge remote-tracking branch 'refs/remotes/origin/next' into kasper/m…
kasperpeulen Apr 30, 2024
a3e482a
Update @storybook/csf dependency to ^0.1.6
kasperpeulen Apr 30, 2024
aee76c7
fix layout of error screen in preview
ndelangen Apr 30, 2024
5b24137
Merge branch 'save-from-controls' of https://github.com/storybookjs/s…
ndelangen Apr 30, 2024
8ede257
Update executor class in CircleCI to xlarge for build
kasperpeulen Apr 30, 2024
38dfc50
Merge pull request #26992 from storybookjs/kasper/build-xlarge-ci
kasperpeulen Apr 30, 2024
8c1740f
When creating a story, navigate to it if it exists
valentinpalkovic Apr 30, 2024
50fbf50
Fix tests
valentinpalkovic Apr 30, 2024
ad1b0b0
Implement telemetry for create-new-story-file flow
valentinpalkovic Apr 30, 2024
1298227
Fix sorting for file search
valentinpalkovic Apr 30, 2024
fd1b05b
Fix unit test
kasperpeulen Apr 30, 2024
7664e2c
Merge branch 'next' into save-from-controls
ndelangen Apr 30, 2024
f0d81b1
change placeholder, to indicate you can use globs
ndelangen Apr 30, 2024
55759a1
Suppress caught redirect errors in next framework.
kasperpeulen Apr 30, 2024
75eac98
Merge branch 'refs/heads/kasper/module-mocking' into kasper/redirect-…
kasperpeulen Apr 30, 2024
d1dbc73
improve UI in dark mode
ndelangen Apr 30, 2024
9b2b60f
Fix selection of story if it exists
valentinpalkovic Apr 30, 2024
9386252
disable chromatic for failing interaction test story
ndelangen May 1, 2024
dbb3718
Merge branch 'save-from-controls' of https://github.com/storybookjs/s…
ndelangen May 1, 2024
4537146
disable charomatic for failing interaction test
ndelangen May 1, 2024
85ec7ff
Merge branch 'next' into save-from-controls
ndelangen May 1, 2024
1f851e9
Address review
kasperpeulen May 1, 2024
9bd94fe
Change to beforeEach
kasperpeulen May 1, 2024
fa28236
Merge branch 'refs/heads/kasper/module-mocking' into kasper/redirect-…
kasperpeulen May 1, 2024
c0246d1
Add test for invalidating state using next redirect
kasperpeulen May 1, 2024
0c2818a
Merge branch 'next' into kasper/module-mocking
kasperpeulen May 1, 2024
123fc26
Merge remote-tracking branch 'refs/remotes/origin/kasper/module-mocki…
kasperpeulen May 1, 2024
5524059
Fix story name
kasperpeulen May 1, 2024
393d0f7
Fix story name
kasperpeulen May 1, 2024
deb49bb
Command for adding packages with pnpm is "add", not "install"
scottdotjs May 1, 2024
0bf9744
Merge pull request #26688 from storybookjs/kasper/module-mocking
kasperpeulen May 1, 2024
00f8344
Merge branch 'next' into kasper/redirect-boundary
kasperpeulen May 1, 2024
d6e9002
Fix TS
kasperpeulen May 1, 2024
6c7c40f
Merge remote-tracking branch 'origin/kasper/redirect-boundary' into k…
kasperpeulen May 1, 2024
76a14be
Fix
kasperpeulen May 1, 2024
069cf67
Fix vue snippets
kylegach May 1, 2024
7b8d076
Fix typo in playwright portable stories snippet
kylegach May 1, 2024
bf6a671
Merge pull request #27001 from storybookjs/fix-vue-snippets
kylegach May 1, 2024
1ef9050
Merge pull request #27002 from storybookjs/fix-playwright-portable-st…
kylegach May 1, 2024
cbfa757
initial warning
JReinhold May 1, 2024
5aa7cfc
Merge branch 'next' into save-from-controls
ndelangen May 2, 2024
0255264
Merge branch 'next' into fix/providerImportSource-extension
ndelangen May 2, 2024
84b322b
Merge pull request #26827 from storybookjs/save-from-controls
ndelangen May 2, 2024
e4d1b06
remove optional from load api docs
JReinhold May 2, 2024
8a22135
add correct link to portable stories docs
JReinhold May 2, 2024
089f2c5
improve default title and name typesafety
JReinhold May 2, 2024
0b88b64
remove it.only
JReinhold May 2, 2024
24148ad
update stories
JReinhold May 2, 2024
5425777
Merge branch 'next' into jeppe/warn-cleanup-ps
JReinhold May 2, 2024
f7d809a
improve readability
JReinhold May 2, 2024
307d4fb
Merge branch 'jeppe/warn-cleanup-ps' of github.com:storybookjs/storyb…
JReinhold May 2, 2024
afe5f8f
update test snapshots
JReinhold May 2, 2024
75f87a5
Fix test
kasperpeulen May 2, 2024
0f42d7a
Merge branch 'next' into next
jonniebigodes May 2, 2024
a4b05ec
Cleanup tests
kasperpeulen May 2, 2024
a79bebd
Wait for redirect to have happened
kasperpeulen May 2, 2024
259f3da
Merge pull request #26885 from goodactive/next
jonniebigodes May 2, 2024
16c7e42
Merge branch 'next' into next
jonniebigodes May 2, 2024
56a9f7b
Merge pull request #26998 from scottdotjs/next
jonniebigodes May 2, 2024
514c37b
Add comment describing possible solution for flashing UI with redirects
kasperpeulen May 3, 2024
314fbd6
Merge pull request #26886 from storybookjs/kasper/redirect-boundary
kasperpeulen May 3, 2024
0690c53
update portable stories docs
JReinhold May 3, 2024
eebfd15
fix mistakes.
JReinhold May 3, 2024
ef1d144
Merge pull request #27008 from storybookjs/jeppe/warn-cleanup-ps
JReinhold May 4, 2024
b309c94
Revert "Nextjs: Implement next redirect and the RedirectBoundary"
JReinhold May 4, 2024
f457a5a
Merge pull request #27025 from storybookjs/revert-26886-kasper/redire…
JReinhold May 4, 2024
858973b
Merge pull request #26868 from bashmish/fix/providerImportSource-exte…
shilman May 5, 2024
0dcf06f
Write changelog for 8.1.0-alpha.8 [skip ci]
storybook-bot May 5, 2024
a082032
Update CHANGELOG.prerelease.md
shilman May 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion .circleci/config.yml
Expand Up @@ -124,7 +124,7 @@ jobs:
yarn docs:prettier:check
build:
executor:
class: large
class: xlarge
name: sb_node_16_classic
steps:
- git-shallow-clone/checkout_advanced:
Expand Down
22 changes: 22 additions & 0 deletions CHANGELOG.md
@@ -1,3 +1,25 @@
## 8.0.9

- Addon-docs: Fix MDX compilation when using `@vitejs/plugin-react-swc` with plugins - [#26837](https://github.com/storybookjs/storybook/pull/26837), thanks @JReinhold!
- CSF: Fix typings for control and other properties of argTypes - [#26824](https://github.com/storybookjs/storybook/pull/26824), thanks @kasperpeulen!
- Controls: Fix crashing when docgen extraction partially fails - [#26862](https://github.com/storybookjs/storybook/pull/26862), thanks @yannbf!
- Doc Tools: Signature Type Error Handling - [#26774](https://github.com/storybookjs/storybook/pull/26774), thanks @ethriel3695!
- Next.js: Move sharp into optional deps - [#26787](https://github.com/storybookjs/storybook/pull/26787), thanks @shuta13!
- Nextjs: Support next 14.2 useParams functionality - [#26874](https://github.com/storybookjs/storybook/pull/26874), thanks @yannbf!
- Test: Remove chai as dependency of @storybook/test - [#26852](https://github.com/storybookjs/storybook/pull/26852), thanks @kasperpeulen!
- UI: Fix sidebar search hanging when selecting a story in touch mode - [#26807](https://github.com/storybookjs/storybook/pull/26807), thanks @JReinhold!

## 8.0.8

- Automigration: Fix name of VTA addon - [#26816](https://github.com/storybookjs/storybook/pull/26816), thanks @valentinpalkovic!

## 8.0.7

- CLI: Add Visual Tests addon install auto-migration when upgrading to 8.0.x - [#26766](https://github.com/storybookjs/storybook/pull/26766), thanks @ndelangen!
- Next.js: Move sharp into optional deps - [#26787](https://github.com/storybookjs/storybook/pull/26787), thanks @shuta13!
- Vue: Disable controls for events, slots, and expose - [#26751](https://github.com/storybookjs/storybook/pull/26751), thanks @shilman!
- Webpack: Bump webpack-dev-middleware to patch high security issue - [#26655](https://github.com/storybookjs/storybook/pull/26655), thanks @jwilliams-met!

## 8.0.6

- CLI: Add --config-dir flag to migrate command - [#26721](https://github.com/storybookjs/storybook/pull/26721), thanks @yannbf!
Expand Down
30 changes: 30 additions & 0 deletions CHANGELOG.prerelease.md
@@ -1,3 +1,33 @@
## 8.1.0-alpha.8

- Addon-actions: Fix falsy args printing as object - 22163 - [#26917](https://github.com/storybookjs/storybook/pull/26917), thanks @Fatcat560!
- Addon-docs: Fix MDX compilation with `@vitejs/plugin-react-swc` and plugins - [#26837](https://github.com/storybookjs/storybook/pull/26837), thanks @JReinhold!
- Automigration: Fix name of VTA addon - [#26816](https://github.com/storybookjs/storybook/pull/26816), thanks @valentinpalkovic!
- Blocks: Add `of` prop to `Subtitle` - [#22552](https://github.com/storybookjs/storybook/pull/22552), thanks @joaonunomota!
- Blocks: Add `of` prop to `Title` - [#23728](https://github.com/storybookjs/storybook/pull/23728), thanks @Sidnioulz!
- CSF: Fix typings for control and other properties of argTypes - [#26824](https://github.com/storybookjs/storybook/pull/26824), thanks @kasperpeulen!
- Controls: Added server channel to create a new story - [#26769](https://github.com/storybookjs/storybook/pull/26769), thanks @valentinpalkovic!
- Controls: Fix crashing when docgen extraction partially fails - [#26862](https://github.com/storybookjs/storybook/pull/26862), thanks @yannbf!
- Controls: Add UI to create new story files - [#26875](https://github.com/storybookjs/storybook/pull/26875), thanks @valentinpalkovic!
- Core: Drop unneeded `UPDATE_STORY_ARGS` which was for SSv6 - [#25993](https://github.com/storybookjs/storybook/pull/25993), thanks @tmeasday!
- Core: Ensure that simultaneous onStoriesChanged don't clobber each other - [#26882](https://github.com/storybookjs/storybook/pull/26882), thanks @tmeasday!
- Core: Fix filters not being applied in WebKit - [#26949](https://github.com/storybookjs/storybook/pull/26949), thanks @JReinhold!
- Core: Implement file formatter - [#26809](https://github.com/storybookjs/storybook/pull/26809), thanks @valentinpalkovic!
- Core: Save from controls - [#26827](https://github.com/storybookjs/storybook/pull/26827), thanks @ndelangen!
- Dependencies: Upgrade @storybook/csf to 0.1.5 - [#26958](https://github.com/storybookjs/storybook/pull/26958), thanks @Cherry!
- Doc Tools: Signature Type Error Handling - [#26774](https://github.com/storybookjs/storybook/pull/26774), thanks @ethriel3695!
- Docs: Fix providerImportSource extension - [#26868](https://github.com/storybookjs/storybook/pull/26868), thanks @bashmish!
- MDX: Don't transform `http://` links - [#26488](https://github.com/storybookjs/storybook/pull/26488), thanks @JReinhold!
- Next.js: Move sharp into optional deps - [#26787](https://github.com/storybookjs/storybook/pull/26787), thanks @shuta13!
- Next.js: Support v14.2 useParams functionality - [#26874](https://github.com/storybookjs/storybook/pull/26874), thanks @yannbf!
- Portable Stories: Warn when rendering stories without cleaning up first - [#27008](https://github.com/storybookjs/storybook/pull/27008), thanks @JReinhold!
- React: Support v19 in `react-dom-shim` - [#26898](https://github.com/storybookjs/storybook/pull/26898), thanks @Tobbe!
- Test: Remove chai as dependency of @storybook/test - [#26852](https://github.com/storybookjs/storybook/pull/26852), thanks @kasperpeulen!
- Test: Support module mocking with conditional subpath imports in `package.json` - [#26688](https://github.com/storybookjs/storybook/pull/26688), thanks @kasperpeulen!
- UI: Fix not re-rendering tabs on state change - [#26899](https://github.com/storybookjs/storybook/pull/26899), thanks @lifeiscontent!
- UI: Fix sidebar search hanging when selecting a story in touch mode - [#26807](https://github.com/storybookjs/storybook/pull/26807), thanks @JReinhold!
- Vite: Merge assetsInclude property with Storybook default values - [#26860](https://github.com/storybookjs/storybook/pull/26860), thanks @yuemori!

## 8.1.0-alpha.7

- CLI: Add --config-dir flag to add command - [#26771](https://github.com/storybookjs/storybook/pull/26771), thanks @eric-blue!
Expand Down
69 changes: 54 additions & 15 deletions MIGRATION.md
@@ -1,7 +1,12 @@
<h1>Migration</h1>

- [From version 7.x to 8.0.0](#from-version-7x-to-800)
- [From version 8.0.x to 8.1.x](#from-version-80x-to-81x)
- [Subtitle block and `parameters.componentSubtitle`](#subtitle-block-and-parameterscomponentsubtitle)
- [Title block](#title-block)
- [Portable stories](#portable-stories)
- [@storybook/nextjs requires specific path aliases to be setup](#storybooknextjs-requires-specific-path-aliases-to-be-setup)
- [From version 7.x to 8.0.0](#from-version-7x-to-800)
- [Portable stories](#portable-stories-1)
- [Project annotations are now merged instead of overwritten in composeStory](#project-annotations-are-now-merged-instead-of-overwritten-in-composestory)
- [Type change in `composeStories` API](#type-change-in-composestories-api)
- [Composed Vue stories are now components instead of functions](#composed-vue-stories-are-now-components-instead-of-functions)
Expand Down Expand Up @@ -90,17 +95,17 @@
- [Tab addons cannot manually route, Tool addons can filter their visibility via tabId](#tab-addons-cannot-manually-route-tool-addons-can-filter-their-visibility-via-tabid)
- [Removed `config` preset](#removed-config-preset-1)
- [From version 7.5.0 to 7.6.0](#from-version-750-to-760)
- [CommonJS with Vite is deprecated](#commonjs-with-vite-is-deprecated)
- [Using implicit actions during rendering is deprecated](#using-implicit-actions-during-rendering-is-deprecated)
- [typescript.skipBabel deprecated](#typescriptskipbabel-deprecated)
- [Primary doc block accepts of prop](#primary-doc-block-accepts-of-prop)
- [Addons no longer need a peer dependency on React](#addons-no-longer-need-a-peer-dependency-on-react)
- [CommonJS with Vite is deprecated](#commonjs-with-vite-is-deprecated)
- [Using implicit actions during rendering is deprecated](#using-implicit-actions-during-rendering-is-deprecated)
- [typescript.skipBabel deprecated](#typescriptskipbabel-deprecated)
- [Primary doc block accepts of prop](#primary-doc-block-accepts-of-prop)
- [Addons no longer need a peer dependency on React](#addons-no-longer-need-a-peer-dependency-on-react)
- [From version 7.4.0 to 7.5.0](#from-version-740-to-750)
- [`storyStoreV6` and `storiesOf` is deprecated](#storystorev6-and-storiesof-is-deprecated)
- [`storyIndexers` is replaced with `experimental_indexers`](#storyindexers-is-replaced-with-experimental_indexers)
- [`storyStoreV6` and `storiesOf` is deprecated](#storystorev6-and-storiesof-is-deprecated)
- [`storyIndexers` is replaced with `experimental_indexers`](#storyindexers-is-replaced-with-experimental_indexers)
- [From version 7.0.0 to 7.2.0](#from-version-700-to-720)
- [Addon API is more type-strict](#addon-api-is-more-type-strict)
- [Addon-controls hideNoControlsWarning parameter is deprecated](#addon-controls-hidenocontrolswarning-parameter-is-deprecated)
- [Addon API is more type-strict](#addon-api-is-more-type-strict)
- [Addon-controls hideNoControlsWarning parameter is deprecated](#addon-controls-hidenocontrolswarning-parameter-is-deprecated)
- [From version 6.5.x to 7.0.0](#from-version-65x-to-700)
- [7.0 breaking changes](#70-breaking-changes)
- [Dropped support for Node 15 and below](#dropped-support-for-node-15-and-below)
Expand All @@ -126,7 +131,7 @@
- [Deploying build artifacts](#deploying-build-artifacts)
- [Dropped support for file URLs](#dropped-support-for-file-urls)
- [Serving with nginx](#serving-with-nginx)
- [Ignore story files from node_modules](#ignore-story-files-from-node_modules)
- [Ignore story files from node\_modules](#ignore-story-files-from-node_modules)
- [7.0 Core changes](#70-core-changes)
- [7.0 feature flags removed](#70-feature-flags-removed)
- [Story context is prepared before for supporting fine grained updates](#story-context-is-prepared-before-for-supporting-fine-grained-updates)
Expand All @@ -140,7 +145,7 @@
- [Addon-interactions: Interactions debugger is now default](#addon-interactions-interactions-debugger-is-now-default)
- [7.0 Vite changes](#70-vite-changes)
- [Vite builder uses Vite config automatically](#vite-builder-uses-vite-config-automatically)
- [Vite cache moved to node_modules/.cache/.vite-storybook](#vite-cache-moved-to-node_modulescachevite-storybook)
- [Vite cache moved to node\_modules/.cache/.vite-storybook](#vite-cache-moved-to-node_modulescachevite-storybook)
- [7.0 Webpack changes](#70-webpack-changes)
- [Webpack4 support discontinued](#webpack4-support-discontinued)
- [Babel mode v7 exclusively](#babel-mode-v7-exclusively)
Expand Down Expand Up @@ -190,7 +195,7 @@
- [Dropped addon-docs manual babel configuration](#dropped-addon-docs-manual-babel-configuration)
- [Dropped addon-docs manual configuration](#dropped-addon-docs-manual-configuration)
- [Autoplay in docs](#autoplay-in-docs)
- [Removed STORYBOOK_REACT_CLASSES global](#removed-storybook_react_classes-global)
- [Removed STORYBOOK\_REACT\_CLASSES global](#removed-storybook_react_classes-global)
- [7.0 Deprecations and default changes](#70-deprecations-and-default-changes)
- [storyStoreV7 enabled by default](#storystorev7-enabled-by-default)
- [`Story` type deprecated](#story-type-deprecated)
Expand Down Expand Up @@ -403,6 +408,40 @@
- [Packages renaming](#packages-renaming)
- [Deprecated embedded addons](#deprecated-embedded-addons)

## From version 8.0.x to 8.1.x

### Portable stories

#### @storybook/nextjs requires specific path aliases to be setup

In order to properly mock the `next/router`, `next/header`, `next/navigation` and `next/cache` APIs, the `@storybook/nextjs` framework includes internal Webpack aliases to those modules. If you use portable stories in your Jest tests, you should set the aliases in your Jest config files `moduleNameMapper` property using the `getPackageAliases` helper from `@storybook/nextjs/export-mocks`:

```js
const nextJest = require("next/jest.js");
const { getPackageAliases } = require("@storybook/nextjs/export-mocks");
const createJestConfig = nextJest();
const customJestConfig = {
moduleNameMapper: {
...getPackageAliases(), // Add aliases for @storybook/nextjs mocks
},
};
module.exports = createJestConfig(customJestConfig);
```

This will make sure you end using the correct implementation of the packages and avoid having issues in your tests.

### Subtitle block and `parameters.componentSubtitle`

The `Subtitle` block now accepts an `of` prop, which can be a reference to a CSF file or a default export (meta).

`parameters.componentSubtitle` has been deprecated to be consistent with other parameters related to autodocs, instead use `parameters.docs.subtitle`.

##### Title block

The `Title` block now accepts an `of` prop, which can be a reference to a CSF file or a default export (meta).

It still accepts being passed `children`.

## From version 7.x to 8.0.0

### Portable stories
Expand Down Expand Up @@ -5049,7 +5088,7 @@ SB 5.1.0 added [support for project root `babel.config.js` files](https://github

### React native server

Storybook 5.1 contains a major overhaul of `@storybook/react-native` as compared to 4.1 (we didn't ship a version of RN in 5.0 due to timing constraints). Storybook for RN consists of an an UI for browsing stories on-device or in a simulator, and an optional webserver which can also be used to browse stories and web addons.
Storybook 5.1 contains a major overhaul of `@storybook/react-native` as compared to 4.1 (we didn't ship a version of RN in 5.0 due to timing constraints). Storybook for RN consists of an UI for browsing stories on-device or in a simulator, and an optional webserver which can also be used to browse stories and web addons.

5.1 refactors both pieces:

Expand Down Expand Up @@ -5477,7 +5516,7 @@ Currently there is no recommended way of accessing the component options of a st

## From version 4.0.x to 4.1.x

There are are a few migrations you should be aware of in 4.1, including one unintentionally breaking change for advanced addon usage.
There are a few migrations you should be aware of in 4.1, including one unintentionally breaking change for advanced addon usage.

### Private addon config

Expand Down
75 changes: 43 additions & 32 deletions code/addons/actions/src/components/ActionLogger/index.tsx
@@ -1,22 +1,23 @@
import type { FC, PropsWithChildren } from 'react';
import React, { Fragment } from 'react';
import { styled, withTheme } from '@storybook/theming';
import type { ElementRef, ReactNode } from 'react';
import React, { forwardRef, Fragment, useEffect, useRef } from 'react';
import type { Theme } from '@storybook/theming';
import { styled, withTheme } from '@storybook/theming';

import { Inspector } from 'react-inspector';
import { ActionBar, ScrollArea } from '@storybook/components';

import { Action, InspectorContainer, Counter } from './style';
import { Action, Counter, InspectorContainer } from './style';
import type { ActionDisplay } from '../../models';

const UnstyledWrapped: FC<PropsWithChildren<{ className?: string }>> = ({
children,
className,
}) => (
<ScrollArea horizontal vertical className={className}>
{children}
</ScrollArea>
const UnstyledWrapped = forwardRef<HTMLDivElement, { children: ReactNode; className?: string }>(
({ children, className }, ref) => (
<ScrollArea ref={ref} horizontal vertical className={className}>
{children}
</ScrollArea>
)
);
UnstyledWrapped.displayName = 'UnstyledWrapped';

export const Wrapper = styled(UnstyledWrapped)({
margin: 0,
padding: '10px 5px 20px',
Expand All @@ -39,24 +40,34 @@ interface ActionLoggerProps {
onClear: () => void;
}

export const ActionLogger = ({ actions, onClear }: ActionLoggerProps) => (
<Fragment>
<Wrapper>
{actions.map((action: ActionDisplay) => (
<Action key={action.id}>
{action.count > 1 && <Counter>{action.count}</Counter>}
<InspectorContainer>
<ThemedInspector
sortObjectKeys
showNonenumerable={false}
name={action.data.name}
data={action.data.args || action.data}
/>
</InspectorContainer>
</Action>
))}
</Wrapper>

<ActionBar actionItems={[{ title: 'Clear', onClick: onClear }]} />
</Fragment>
);
export const ActionLogger = ({ actions, onClear }: ActionLoggerProps) => {
const wrapperRef = useRef<ElementRef<typeof Wrapper>>(null);
const wrapper = wrapperRef.current;
const wasAtBottom = wrapper && wrapper.scrollHeight - wrapper.scrollTop === wrapper.clientHeight;

useEffect(() => {
// Scroll to bottom, when the action panel was already scrolled down
if (wasAtBottom) wrapperRef.current.scrollTop = wrapperRef.current.scrollHeight;
}, [wasAtBottom, actions.length]);

return (
<Fragment>
<Wrapper ref={wrapperRef}>
{actions.map((action: ActionDisplay) => (
<Action key={action.id}>
{action.count > 1 && <Counter>{action.count}</Counter>}
<InspectorContainer>
<ThemedInspector
sortObjectKeys
showNonenumerable={false}
name={action.data.name}
data={action.data.args ?? action.data}
/>
</InspectorContainer>
</Action>
))}
</Wrapper>
<ActionBar actionItems={[{ title: 'Clear', onClick: onClear }]} />
</Fragment>
);
};
4 changes: 2 additions & 2 deletions code/addons/actions/src/containers/ActionLogger/index.tsx
Expand Up @@ -63,12 +63,12 @@ export default class ActionLogger extends Component<ActionLoggerProps, ActionLog
addAction = (action: ActionDisplay) => {
this.setState((prevState: ActionLoggerState) => {
const actions = [...prevState.actions];
const previous = actions.length && actions[0];
const previous = actions.length && actions[actions.length - 1];
if (previous && safeDeepEqual(previous.data, action.data)) {
previous.count++;
} else {
action.count = 1;
actions.unshift(action);
actions.push(action);
}
return { actions: actions.slice(0, action.options.limit) };
});
Expand Down
21 changes: 20 additions & 1 deletion code/addons/actions/src/loaders.ts
Expand Up @@ -18,7 +18,26 @@ const logActionsWhenMockCalled: LoaderFunction = (context) => {
typeof global.__STORYBOOK_TEST_ON_MOCK_CALL__ === 'function'
) {
const onMockCall = global.__STORYBOOK_TEST_ON_MOCK_CALL__ as typeof onMockCallType;
onMockCall((mock, args) => action(mock.getMockName())(args));
onMockCall((mock, args) => {
const name = mock.getMockName();

// TODO: Make this a configurable API in 8.2
if (
!/^next\/.*::/.test(name) ||
[
'next/router::useRouter()',
'next/navigation::useRouter()',
'next/navigation::redirect',
'next/cache::',
'next/headers::cookies().set',
'next/headers::cookies().delete',
'next/headers::headers().set',
'next/headers::headers().delete',
].some((prefix) => name.startsWith(prefix))
) {
action(name)(args);
}
});
subscribed = true;
}
};
Expand Down
23 changes: 13 additions & 10 deletions code/addons/actions/template/stories/spies.stories.ts
@@ -1,24 +1,27 @@
import { global as globalThis } from '@storybook/global';
import { spyOn } from '@storybook/test';

export default {
const meta = {
component: globalThis.Components.Button,
loaders() {
beforeEach() {
spyOn(console, 'log').mockName('console.log');
},
args: {
label: 'Button',
},
parameters: {
chromatic: { disable: true },
console.log('first');
},
};

export default meta;

export const ShowSpyOnInActions = {
parameters: {
chromatic: { disable: true },
},
beforeEach() {
console.log('second');
},
args: {
label: 'Button',
onClick: () => {
console.log('first');
console.log('second');
console.log('third');
},
},
};