3.0.0 (2023-10-31)
- GitHub PR: #9478
- GitHub release notes: https://github.com/facebook/docusaurus/releases/tag/v3.0.0
- GitHub release discussion: #9481
- Upgrade guide: docusaurus.io/docs/migration/v3
💥 Breaking Change
create-docusaurus
,docusaurus-mdx-loader
,docusaurus-plugin-content-blog
,docusaurus-remark-plugin-npm2yarn
,docusaurus-theme-classic
create-docusaurus
,docusaurus-plugin-content-docs
,docusaurus-plugin-ideal-image
,docusaurus-types
,docusaurus-utils
,docusaurus
create-docusaurus
,docusaurus-theme-classic
,docusaurus-theme-common
,docusaurus-theme-live-codeblock
,docusaurus
create-docusaurus
,docusaurus-cssnano-preset
,docusaurus-logger
,docusaurus-mdx-loader
,docusaurus-migrate
,docusaurus-plugin-client-redirects
,docusaurus-plugin-content-blog
,docusaurus-plugin-content-docs
,docusaurus-plugin-content-pages
,docusaurus-plugin-debug
,docusaurus-plugin-google-analytics
,docusaurus-plugin-google-gtag
,docusaurus-plugin-google-tag-manager
,docusaurus-plugin-ideal-image
,docusaurus-plugin-pwa
,docusaurus-plugin-sitemap
,docusaurus-preset-classic
,docusaurus-remark-plugin-npm2yarn
,docusaurus-theme-classic
,docusaurus-theme-common
,docusaurus-theme-live-codeblock
,docusaurus-theme-mermaid
,docusaurus-theme-search-algolia
,docusaurus-theme-translations
,docusaurus-utils-common
,docusaurus-utils-validation
,docusaurus-utils
,docusaurus
,eslint-plugin
,lqip-loader
docusaurus-plugin-content-docs
,docusaurus-theme-classic
docusaurus-theme-classic
,docusaurus-theme-translations
docusaurus-theme-common
,docusaurus-theme-live-codeblock
,docusaurus-theme-mermaid
create-docusaurus
,docusaurus-plugin-content-docs
,docusaurus-plugin-debug
,docusaurus-plugin-google-analytics
,docusaurus-plugin-google-gtag
,docusaurus-plugin-google-tag-manager
,docusaurus-plugin-ideal-image
,docusaurus-plugin-pwa
,docusaurus-theme-classic
,docusaurus-theme-common
,docusaurus-theme-live-codeblock
,docusaurus-theme-mermaid
,docusaurus-theme-search-algolia
,docusaurus-tsconfig
,docusaurus
docusaurus-plugin-content-blog
- #9189 feat(blog-plugin): limit option for blog feedOptions (@johnnyreilly)
create-docusaurus
,docusaurus-tsconfig
create-docusaurus
,docusaurus-mdx-loader
,docusaurus-module-type-aliases
,docusaurus-plugin-client-redirects
,docusaurus-plugin-content-blog
,docusaurus-plugin-content-docs
,docusaurus-plugin-content-pages
,docusaurus-plugin-debug
,docusaurus-plugin-google-analytics
,docusaurus-plugin-google-gtag
,docusaurus-plugin-google-tag-manager
,docusaurus-plugin-ideal-image
,docusaurus-plugin-pwa
,docusaurus-plugin-sitemap
,docusaurus-preset-classic
,docusaurus-theme-classic
,docusaurus-theme-common
,docusaurus-theme-live-codeblock
,docusaurus-theme-mermaid
,docusaurus-theme-search-algolia
,docusaurus-types
,docusaurus
create-docusaurus
create-docusaurus
,docusaurus-mdx-loader
,docusaurus-migrate
,docusaurus-plugin-content-blog
,docusaurus-remark-plugin-npm2yarn
,docusaurus-theme-classic
,docusaurus-theme-common
,docusaurus-theme-mermaid
,docusaurus-types
,docusaurus-utils-validation
,docusaurus-utils
,docusaurus
docusaurus-plugin-content-docs
,docusaurus-theme-classic
,docusaurus-theme-common
,docusaurus
🚀 New Feature
create-docusaurus
,docusaurus-mdx-loader
,docusaurus-plugin-content-blog
,docusaurus-remark-plugin-npm2yarn
,docusaurus-theme-classic
docusaurus-mdx-loader
,docusaurus-utils
create-docusaurus
,docusaurus-plugin-content-docs
,docusaurus-plugin-ideal-image
,docusaurus-types
,docusaurus-utils
,docusaurus
docusaurus-theme-common
,docusaurus-theme-live-codeblock
,docusaurus-theme-mermaid
create-docusaurus
- #9241 feat: support bun package manager in
create-docusaurus
(@colinhacks)
- #9241 feat: support bun package manager in
docusaurus-plugin-content-blog
- #9189 feat(blog-plugin): limit option for blog feedOptions (@johnnyreilly)
docusaurus-theme-classic
docusaurus-plugin-client-redirects
,docusaurus-utils-validation
docusaurus
docusaurus-mdx-loader
,docusaurus-types
,docusaurus
docusaurus-plugin-content-pages
,docusaurus-theme-classic
create-docusaurus
,docusaurus-tsconfig
create-docusaurus
,docusaurus-mdx-loader
,docusaurus-module-type-aliases
,docusaurus-plugin-client-redirects
,docusaurus-plugin-content-blog
,docusaurus-plugin-content-docs
,docusaurus-plugin-content-pages
,docusaurus-plugin-debug
,docusaurus-plugin-google-analytics
,docusaurus-plugin-google-gtag
,docusaurus-plugin-google-tag-manager
,docusaurus-plugin-ideal-image
,docusaurus-plugin-pwa
,docusaurus-plugin-sitemap
,docusaurus-preset-classic
,docusaurus-theme-classic
,docusaurus-theme-common
,docusaurus-theme-live-codeblock
,docusaurus-theme-mermaid
,docusaurus-theme-search-algolia
,docusaurus-types
,docusaurus
docusaurus-theme-common
- #8982 feat(theme-common): code block MagicComments support for TeX/LaTeX/Matlab (@jj-style)
- #8870 feat(theme-common): code block MagicComments support for Lua/Haskell -- and WebAssembly ;; (@tarunrajput)
create-docusaurus
,docusaurus-mdx-loader
,docusaurus-migrate
,docusaurus-plugin-content-blog
,docusaurus-remark-plugin-npm2yarn
,docusaurus-theme-classic
,docusaurus-theme-common
,docusaurus-theme-mermaid
,docusaurus-types
,docusaurus-utils-validation
,docusaurus-utils
,docusaurus
docusaurus-theme-classic
,docusaurus-theme-common
create-docusaurus
,docusaurus-theme-classic
,docusaurus-theme-search-algolia
,eslint-plugin
- #8384 feat(eslint-plugin): new prefer-docusaurus-heading rule (@Devansu-Yadav)
docusaurus-theme-classic
,docusaurus-theme-common
,docusaurus-theme-search-algolia
,docusaurus
,eslint-plugin
- #8156 feat: add eslint plugin no-html-links (@JohnVicke)
docusaurus-plugin-content-blog
,docusaurus-plugin-content-docs
,docusaurus-plugin-content-pages
,docusaurus-theme-classic
,docusaurus-theme-common
,docusaurus-theme-translations
,docusaurus-utils-validation
,docusaurus-utils
- #8004 feat(docs,blog,pages): add support for "unlisted" front matter - hide md content in production (@jodyheavener)
🐛 Bug Fix
docusaurus-theme-common
docusaurus-plugin-content-blog
- #9437 fix(plugin-blog): blog archive should hide unlisted blog posts (@slorber)
- #9151 fix(content-blog): links in feed should be absolute (@VinceCYLiao)
docusaurus
- #9387 fix(core): log missing errorInfo in React 18 onRecoverableError callback (@johnnyreilly)
- #9309 fix(cli): disable vertical borders of the update notification (@qwerzl)
- #9112 fix(core): throw error if build folder already exists on initial clean (@thedevwonder)
- #9006 fix(core): docusaurus CLI should detect the correct yarn version when suggesting upgrades (@0420syj)
- #7951 fix(core): make webpack HMR always listen to current location (@jeengbe)
docusaurus-mdx-loader
- #9386 fix(mdx-loader): get correct error line numbers, handle front matter + contentTitle with remark (@slorber)
- #9262 fix(mdx-loader): improve mdxJsxTextElementToHtml (@slorber)
- #9202 fix(mdx-loader): ensure heading anchor slugs respect GitHub emoji behavior (@yosukekato165)
- #9100 fix(mdx): fix for html multi-line comments (@slorber)
- #9091 fix(mdx-loader): loader error message should display stacktrace if no extra MDX details (@slorber)
- #8960 fix: allow html syntax in MDX v2 with format md (@slorber)
docusaurus-theme-classic
- #9385 fix(theme): avoid rendering empty search container if site has no search plugin (@slorber)
- #9183 fix(theme): make Prism code block language / additionalLanguages case insensitive (@heysujal)
- #9216 fix(theme): fix typo in swizzle component config (@sixhobbits)
- #9093 fix(theme): support details/summary in CommonMark + add md dogfood test cases (@slorber)
docusaurus-mdx-loader
,docusaurus-utils
docusaurus-theme-translations
- #9362 fix(theme-translations): add Japanese translation for "warning" (@tats-u)
- #9321 fix(theme-translations): add missing zh-Hans messages (@chudongvip)
- #9338 fix(theme-translations): complete and fix hungarian translations (@la55u)
- #9292 fix(theme-translations): add missing Spanish theme translations (@Villanuevand)
- #9021 fix(theme-transalations): fix Swedish translation of "last updated" (@gazab)
docusaurus-theme-classic
,docusaurus-theme-translations
- #9308 fix(theme): make warning a first-class admonition, and deprecate caution admonition (@slorber)
- #9269 fix(theme): improve docs sidebar category caret aria-label accessibility (@pinakipb2)
- Other
create-docusaurus
docusaurus-utils
,docusaurus
- #9160 fix(core): handle single quotes inside file paths (@Josh-Cena)
docusaurus-plugin-debug
docusaurus-utils
- #9046 fix(utils): better handling of code blocks in link replacement (@Josh-Cena)
- #8927 fix(utils): make Markdown link replacement much more rigorous (@Josh-Cena)
- #7864 fix(utils): always match exclusion root dirs as complete folder paths (@Josh-Cena)
- #7801 fix(utils): recognize ~~~ as code fences in link replacement (@Josh-Cena)
docusaurus-plugin-pwa
,docusaurus
docusaurus-plugin-content-blog
,docusaurus-plugin-content-docs
,docusaurus-plugin-content-pages
,docusaurus-utils-validation
,docusaurus
docusaurus-theme-classic
,docusaurus-theme-common
docusaurus-theme-classic
,docusaurus-theme-common
,docusaurus-theme-live-codeblock
- #8015 fix(live-codeblock): add error boundary to live code preview (@rashidmya)
docusaurus-mdx-loader
,docusaurus-theme-classic
,docusaurus-theme-common
,docusaurus-utils-validation
,docusaurus
docusaurus-plugin-content-docs
,docusaurus-theme-classic
,docusaurus-theme-common
,docusaurus
🏃♀️ Performance
docusaurus
- #9051 perf(core): use React 18 startTransition for hydration (@sanjaiyan-dev)
- #8081 perf(core): move scripts to document head + defer (@sanjaiyan-dev)
docusaurus-plugin-content-blog
,docusaurus-plugin-content-docs
,docusaurus-plugin-content-pages
,docusaurus
💅 Polish
docusaurus-theme-classic
- #9438 refactor(blog-plugin): blog archive reverse ordering of posts (@slorber)
- #9184 fix(theme): change schema.org itemType prop urls from http to https (@thedevwonder)
docusaurus
docusaurus-theme-translations
- #9302 chore(theme-translations): complete zh-Hant translations (@qwerzl)
- #9025 chore(theme-translations): complete it translations (@bitpredator)
create-docusaurus
,docusaurus-plugin-content-blog
,docusaurus-plugin-content-docs
,docusaurus-plugin-content-pages
,docusaurus
docusaurus-theme-classic
,docusaurus-theme-common
docusaurus-plugin-google-gtag
- #8143 refactor(plugin-gtag): update gtag plugin to modern SPA recommendations (@lanegoolsby)
docusaurus-mdx-loader
,docusaurus-theme-classic
,docusaurus-theme-common
,docusaurus-utils-validation
,docusaurus
Committers: 132
- 0x24Karthick (@KarthickSakthi)
- Abhinandan Wadhwa (@abhinandanwadwa)
- Abinash Satapathy (@Abinashbunty)
- Adam Patterson (@adampatterson)
- Adithya Krishna (@adithyaakrishna)
- Ahmad Shrif (@amdshrif)
- Ahmed Mustafa Malik (@amm98d)
- Akshay Bhalotia (@akshaybhalotia)
- Alex (@sashashura)
- Alexander Nguyen (@GalexyN)
- Alexey Pyltsyn (@lex111)
- Andrew Lyons (@andrewnicols)
- Andrés Villanueva (@Villanuevand)
- Anna (@HumbleDeer)
- Anton Kastritskii (@antonk52)
- Antony Onipko (@antonyoni)
- Aolin (@Oreoxmt)
- Aqueeb (@aqueeb)
- Bei Chu (@chubei)
- Billy Chan (@billy1624)
- Biplav Kumar Mazumdar (@biplavmz)
- Bruce (@recallwei)
- Charles Killer (@Foosballfan)
- Chongyi Zheng (@harryzcy)
- Chua Chee How (@rojakcoder)
- Clément Vannicatte (@shortcuts)
- Colin McDonnell (@colinhacks)
- Coupy (@HyeokjinKang)
- Craigory Coppola (@AgentEnder)
- Dan Dascalescu (@dandv)
- Dan Roscigno (@DanRoscigno)
- Danilo Woznica (@danilowoz)
- David J. Felix (@DavidJFelix)
- Debbie O'Brien (@debs-obrien)
- Devansu Yadav (@Devansu-Yadav)
- Dinh Bao Dang (@chillinPanda)
- Dongjoon Lee (@Djunnni)
- Eduardo Mínguez (@e-minguez)
- Eunkwang Shin (@gracefullight)
- Forresst (@forresst)
- Francesco Ciulla (@FrancescoXX)
- Fredrik Stave (@fredrikstave)
- Fxpby (@fxpby)
- Gabriel Csapo (@gabrielcsapo)
- Gareth Dwyer (@sixhobbits)
- Greg Bergé (@gregberge)
- Grégory Heitz (@edno)
- Gustav Tonér (@gazab)
- Hayden Hong (@AFRUITPIE)
- Hidde de Vries (@hidde)
- Hyunseung (@hslee2008)
- JJ Style (@jj-style)
- James Kerrane (@thatrobotdev)
- Jean Humann (@jean-humann)
- Jesper Engberg (@jeengbe)
- Jody Heavener (@jodyheavener)
- Joe Williams (@BubbaJoe)
- John Cao (@jhcao23)
- John Reilly (@johnnyreilly)
- Jordan Manley (@werner33)
- Jorens Merenjanu (@JorensM)
- Joshua Chen (@Josh-Cena)
- Juan Picado (@juanpicado)
- Kolja (@razzeee)
- Lane Goolsby (@lanegoolsby)
- Lorenzo Lewis (@lorenzolewis)
- Maciek Palmowski (@palmiak)
- Manuel (@manuel-rw)
- Marco Kuper (@scubamaggo)
- Marco Stroppel (@mstroppel)
- Marie (@schneegansm)
- Markshawn (@MarkShawn2020)
- Martin Adamko (@attitude)
- Max Schmitt (@mxschmitt)
- Michael Remediakis (@mickremedi)
- Mikey O'Toole (@homotechsual)
- ModupeD (@ModupeD)
- Mu-Jing-Tsai (@moojing)
- Mysterious_Dev (@Mysterious-Dev)
- Naffy Dharni (@knownasnaffy)
- Naman Garg (@NamanGarg2075)
- Nathaniel Tucker (@ntucker)
- Oleksandr Fediashov (@layershifter)
- Oluwatobi Sofela (@oluwatobiss)
- Paul Razvan Berg (@PaulRBerg)
- Pinaki Bhattacharjee (@pinakipb2)
- Raphaël Barbazza (@rbarbazz)
- Rashid (@rashidmya)
- Ryosuke Igarashi (@cm-igarashi-ryosuke)
- SADIK KUZU (@sadikkuzu)
- Sanjaiyan Parthipan (@sanjaiyan-dev)
- Serenus (@Kesyau)
- Shahriar (@ShahriarKh)
- Shashank Kumar (@shawshankkumar)
- Shun Wakatsuki (@shwaka)
- Silvestar Bistrović (@maliMirkec)
- Sujal Gupta (@heysujal)
- Sunghyun Cho (@anaclumos)
- Surav Shrestha (@suravshrestha)
- Sébastien Lorber (@slorber)
- Tamal Anwar Chowdhury (@tamalchowdhury)
- Tarun Chauhan (@tarunrajput)
- Tatsunori Uchino (@tats-u)
- Thad Guidry (@thadguidry)
- Tom Mrazauskas (@mrazauskas)
- Viktor Malmedal (@JohnVicke)
- Waldir Pimenta (@waldyrious)
- Wan Sim (@0420syj)
- Webber Takken (@webbertakken)
- Will Ceolin (@wceolin)
- Yangshun Tay (@yangshun)
- Zwyx (@Zwyx)
- @Dr-Electron
- @FlorinaPacurar
- @Mogyuchi
- @Sainan
- @VinceCYLiao
- @allyw2002
- @bitpredator
- @conlacda
- @dawei-wang
- @la55u
- @mcallisto
- @prateekbytes
- @qwerzl
- @rsteele6
- @samatt14
- @thedevwonder
- @yosukekato165
- ozaki (@OzakIOne)
- sykp241095 (@sykp241095)
- 初冬 (@chudongvip)