Releases: nuxt/content
v3.0.0
Content version 3 is out - introducing SQL based storage, collections, preview API for a better Studio integration and tons of performance improvements.
Read the Announcement to find out more about changes in version 3.
Checkout 📖 Content module's official docs
✨ Highlights
- 🚀 Performance Improvements
- Serverless Compatibility
- WASM SQLite in Browser
- 🗄️ Content Collections
- Define Collections
- Collections Schema
- 🔧 Simplified Vue Utils
- 📦 Built-in Components
- 🔷 TypeScript Integration
- 🖼️ Studio Integration
- Preview API
Note
The new database system enhances the way your data files are stored and structured, ensuring better performance and scalability. This update is entirely behind the scenes and does not affect the file types you can use in Content (yml, json, and markdown).
Breaking changes from previous alpha version
- A new generic
Preview API
has been implemented directly into Nuxt Content. To preview your website in Studio, you just need to enable the preview mode in the Nuxt configuration file by binding the Studio API.
export default defineNuxtConfig({
content: {
preview: {
api: 'https://api.nuxt.studio/
}
},
})
- To keep the app config file updatable from Studio we just need to update the helper import of the
nuxt.schema.ts
file from@nuxthq/studio/theme
to@nuxt/content/preview
.
v3.0.0-alpha.9
✨ Highlights
- Adopt Bun's native Sqlite connector
- Smaller production bundle
- Content parser hooks
🚀 Enhancements
- module: Integrate with unifiedjs VFile (#2911)
- Pre / post parsing hooks (#2925)
- config: Enable watch for all layer configs and load in parallel (#2929)
- Update import path for shiki languages (#2942)
- database: Add support for BunSQLite (#2944)
- sources: Define custom sources (#2941)
🔥 Performance
- Reduce zod bundle size (#2900)
🩹 Fixes
- module: Mark build.pathMeta as optional in module config (8329a633)
- shiki: Preserve style priority on compress (b95e807e)
- module: Update dump template on new file creation (e0981155)
- Prevent import cache in development (8ea4de1f)
- shiki: Inline codes syntax highlighting (f124c953)
- docs: Ensure card prose on the homepage matches the correct title (#2919)
- module: Split big sql queries into two (#2917)
- sqlite: Remove extra / from database filename in windows (8a9af695)
- typos: CollectionQureyBuilder (#2953)
- sqlite: Remove leading / from file path (85010c11)
- Refine json and boolean fields after retrieving content (#2957)
- Undefined ssr event & and invalid column update (#2962)
- navigation: Prevent duplicate nodes (#2959)
- hooks: Generate missing dirname & extension in vFile (e048a55a)
- Vfile extension format (12aef723)
- navigation: Respect user defined order (#2974)
- types: Inject content types to server tsConfig (203ac906)
📖 Documentation
- studio: Update helpers import path (#2901)
- Fix typo (#2905)
- Update migration (2caa4864)
- Lint markdown files with mdclint (ed72d8a2)
- Spelling mistakes in the migration guide (#2908)
- Typos and syntax fixes (#2920)
- migration: State how to register components in content folder as global components (#2935)
- migration: Add types (#2945)
- Fixed names slots prop name (#2963)
- Disable open on github shortcut (5e12ce17)
🏡 Chore
- Update playground (41d13a09)
- Update lockfile (6ff1e599)
- Test @nuxtjs/mdc-edge (7a6056ab)
- Upgrade deps (7826da75)
- Upgrade deps (75fb108f)
- Upgrade docs deps (fe93486c)
- Upgrade deps (f493ece4)
- Upgrade deps (24cd7639)
- Remove performance measurement logs (6f7b4dfb)
- Upgrade deps (6ce20a14)
- Upgrade deps (c81d1c41)
- Cleeanup test (eb4731db)
- release: V3.0.0-alpha.9 (d66516b7)
🎨 Styles
- website: Fix horizontal scrollbar (#2951)
🤖 CI
- Update stale action (f1423c76)
❤️ Contributors
- Farnabaz @farnabaz
- Mateusz Zych @mateusdz
- Micha Huhn @michahuhn1
- Felixrydberg @felixrydberg
- Emmanuel Salomon @ManUtopiK
- Maxime Pauvert @maximepvrt
- Dev @hi@productdevbook.com
- Behon Baker @BayBreezy
- Inesh Bose @dev@inesh.xyz
- Harlan Wilton @harlan-zw
- Ptdev @gomes.roberto@gmail.com
- Puzzle-IT @puzzle-it-nu
- Nicholas Berlette @nberlette
- Joschua @selfire1
- Michael Brevard @yonshi29
- Stijn Slats @stijns96
v3.0.0-alpha.8
✨ Highlights
- Integrate with Nuxt Studio and allow managing Content 3 sites on Studio 🚀
- Collection can now load contents from multiple sources
- Improve query builder to support complex where conditions
🚀 Enhancements
- studio: Integration (#2836)
- Multi source collection (acfbe96a)
- Support where & order in navigation & surround utils (e8df390c)
- Support authentication token for private repositories (66cd3727)
- query: Support complex SQL where conditions (#2878)
- watch: Watch for cahnges in all local sources (c5b1a4f8)
- config: Provide defineContentConfig utility (#2891)
- build: Allow modifying slugify options (#2898)
🔥 Performance
- Broadcase changes before templates update (29577721)
🩹 Fixes
- studio: Use minimatch for browser (a1582b6e)
- lint: Single function argument (c96fd9d5)
- Typecheck (48909976)
- query: No trailing slash on path (a2e5c9f4)
- collection: Path route matching (8ae885dd)
- query: Ensure fields are unique in query (9b4635e2)
- preview: Prerendering issue on load (b955f769)
- preview: Move comment (72e894e8)
- Correct typos in comments within mergeDraft function (006c615e)
- collection: Respect default value in null fields (9fdc4d63)
- hot reload: Normalize files path in windows (f8832736)
- ContentRenderer: Render empty slot if body is empty (c3251514)
- surround: Do not use parent item if it exists as first child (5810fc69)
- docs: Prerendering issues (c9a0cda1)
- surround: Handle missing path (59c69bc4)
- surround: Remove all posible dupplicate paths (d5299960)
- Typecheck prepack (dae41497)
- navigation: Mobile display (0525e9d6)
- navigation: Highlight (862a8b45)
- studio: Find index file collection by route path (c3f2b9ba)
- renderer: Bundle prose/alias components (bd9e15b5)
- module: Postgres database types (36d3b087)
💅 Refactors
📖 Documentation
- app: Transform navigation to improve search (d24e76c1)
- Typos (515a4f24)
- Duplicate section in 3.files/1.markdown.md (#2866)
- Update markdown page (e0aa63db)
- Fix README.md (#2875)
- Switch between v2 and v3 docs (3db7fdf6)
- studio: Dedicated section (2aa3e5e3)
- Update query builder docs (3d55b0a8)
- home: Move to markdown (b51cbdf5)
- Apply studio parsing (9f194234)
- landing: Update studio block (7d87f7e3)
- studio: Update setup video (2bb88758)
- migration: Added migration instructions for ProsePre, ProseCode, and ProseCodeInline (#2892)
- Fix typo (#2893)
- Replace mdcslot docs with native (3fdf8879)
- Update defineContentConfig (ed704c46)
🏡 Chore
- Fixed the smallest typo ever (#2863)
- Remove log (947ccd72)
- Upgrade to @nuxtjs/mdc-edge@latest (50b45e76)
- Upgrade deps (057631ca)
- Update deps (722a9e7f)
- Update types (6e137e68)
- Add the remaining prose tags (#2890)
- Upgrade deps (9e016ee8)
- Upgrade @nuxtjs/mdc (17aaf4d4)
- release: V3.0.0-alpha.8 (86be053e)
✅ Tests
- Add unit tests for query builder, navigation, and search (9443f1f9)
❤️ Contributors
- Farnabaz @farnabaz
- Inesh Bose @ineshbose
- Chris @zyyv
- Maxime Pauvert @maximepvrt
- Jess @JessicaSachs
- Baptiste Leproux @larbish
- Timothy Yin @HoshinoSuzumi
- Martijn Loth @MLoth
- Benjamin Canac @benjamincanac
v3.0.0-alpha.7
✨ Highlights
- New LibSQL database adapter
source.path
accepts glob pattern but the name was misleading, now it has been renamed tosource.include
- Automatic slot unwrap comes to Nuxt Content. If a component has a single paragraph as a child, the paragraph will unwrap and its children will pass to the component slot.
useContentHead
dropped in favor ofuseSeoMeta
🚀 Enhancements
- Add support for LibSQL (e345fdc5)
- Enable
remark-mdc
automatic unwrap (b5b77596) - Provice default value for seo title & description (c8d88489)
🩹 Fixes
- Typo (e0f7bf5b)
- deps: Use
@nuxt/content
from workspace (4d891411) - Dev: Update dump on file modification and deletion (21a04d7e)
- Drop
useContentHead
in favor ofuseSeoMeta
(ca78aaf4) - Use version for info collection (a79040d9)
- source: Do not edit
source.include
(fa591ff1) - icons: Use local server bundle (a440e2fe)
- Broken util (89352b85)
- Drop
markdown.mdc
option, plugin can be controlled viemarkdown.remarkPlugins
(1cf4cbdc) - ContentRenderer: Typo in class props (e8170352)
- Deprioritise
~/components/content
directory (0a7077ab) - Unshift components dirs to prevent getting prefixed (8f8b3739)
- Drop content tables to start local server with a clean state (#2859)
- build: Do not return database in
dropContentTables
(668bc157)
💅 Refactors
- Simplify source definition (3ca01f44)
- Update tables name and schema and better checksum check (893252b5)
📖 Documentation
- Update introduction (a6f48b63)
- Introduction typo (a3118689)
- Raw content (73ecf0a7)
- Update raw content (56fdfd35)
- Improvements (d936c48e)
- Update (edb17276)
- Remove extra console.log (1b6dbceb)
- app: Ts error (8c0693b2)
- Move to /docs (2f291b6d)
- Update collection definition (b49997cd)
- Fix links (0d2c6902)
- Update (1dac4d5e)
- Update structure (d201414c)
- Update (40925dc6)
- Switch config and migration (4be37f0e)
- app: Remove useless mapping on navigation (c4223fbf)
- nuxt.config: Disable
mdc.highlight.noApiRoute
(6803b06a) - nuxt.config: Remove
routeRules
redirect (3f84f7a3) - app: Display links in header (c66afec7)
- app.config: Set
secondary
color (f4fbd729) - app: Configure tailwind
@source
to handleyml
files (44a3dd07) - app: Set background to
950
(0f3473c7) - app: Implement index page (29d8e271)
- content: Update links so generate dont fail (06ba18db)
- Improve asyncData speed (cef504eb)
- landing: Highligh mdc (92fb407d)
- Improve database page (5c5759ad)
- Update (7704f98d)
- Update links (a0099fdb)
- More improvements (705d63e4)
- Update broken links (b9c29d54)
- Improve markdown content (f7b51d89)
- Update code samples (5347c7b2)
- Landing title & description (606d5caf)
- Update (1bcd77bf)
- Various improvements (d501b6c6)
- Fix example (c3e0fde1)
- Fix link (92e7591d)
- Update config with alphabetical order (ee5e97f9)
- Improve docs (8617a30f)
- Update TOC depth (e25cf0bd)
- Fix typo in 1.query-collection.md (#2849)
- Update 1.collections.md file fixing z.Date typo (#2852)
- Add og image for landing page (7a2ebba0)
- home: Rename collection (d4e46a7f)
🏡 Chore
- Add
docs:build
script (b636587a) - Debug libsql timing (2f200872)
- Update (1bfb90d1)
- More logs (2548b356)
- Move back to d1 and remove console.log (3a70b2ee)
- Lint fix (af9d7ccb)
- Lint fix (6e53dc29)
- Upgrade deps (3742d94f)
- Upgrade deps (bc2eb1a1)
- Upgrade @nuxtjs/mdc module (113353e0)
- Remove unused seo fields (6d579bb4)
- Upgrade deps (cb33501f)
- Add ui-pro and i18n examples (7f9ae306)
- Upgrade deps (a900f226)
- Conventional changelog (40cb48be)
- release: V3.0.0-alpha.7 (14b50858)
✅ Tests
❤️ Contributors
- Farnabaz (@farnabaz)
- Baptiste Leproux (@larbish)
- Ismail9k (@ismail9k)
- Paul-louyot (@paul-louyot)
- Sébastien Chopin (@atinux)
- Benjamin Canac (@benjamincanac)
v3.0.0-alpha.6
🚀 Enhancements
- Generate full database sql dump (1cfdbe94)
- Export useContentHead for seo header (0e02c091)
- Load content config of each Nuxt layer (6a9eb838)
- Register component/content as non-global components (cda951f1)
- Count query (691b2e33)
🩹 Fixes
- highlight: Preload typescript language (36953f5c)
- module: Re-parse contents when change is detected in parser options (16682844)
- module: Content module options has priority over MDC module options (19f1b5de)
- Remove postinstall script (9e0b0f76)
- Delete checksum row before inserting (d4199e5a)
- Remove c12 default value (606c73e6)
- Collections default value (705aab77)
- ContentRenderer: Update existed entries in componets map (92adce37)
- Rehype/remark plugin in module options (3c376d6c)
💅 Refactors
📖 Documentation
- Add full-text search snippets (79629dc1)
- Link to full text search in migration guide (8f06edd2)
- useContentHead docs (c233f694)
- Add postgres database (ebc88b20)
🌊 Types
🏡 Chore
- Upgrade Nuxt UI (8fcfe6ad)
- config: Use c12 (#2829)
- Add missing package (18ccf7c7)
- Improve types (7a97c692)
- Remove components/content directory registeration (da3a6d69)
- Upgrade deps (76fe8632)
- Code style (4ebe3018)
- Move useContentHead to composables directory (9eebf494)
- Drop pako in favor of Compression Streams API (34f52def)
- Update lock file (287c7d2b)
- Remove log (dd1edcfd)
🤖 CI
- Use pkg-pr-new to deploy commits (b922f5ec)
❤️ Contributors
- Farnabaz @farnabaz
- Inesh Bose dev@inesh.xyz
v2.13.4
v2.13.3
🩹 Fixes
- module: Allow using
@nuxtjs/mdc
utils via content module (#2775) - search: Add
charset=utf-8
to headers of indexed mode (#2729) - docs: Add warning about using
ssr: false
with Content (#2776) - Corrected .gradient class (#2723)
- build: Keep parser deps out of main bundle (#2780)
- navigation: Respect query locale (#2772)
- Import
defineNitroPlugin
from#imports
(34f65172) - Respect
draft
key as_draft
(#2738) - Draft field order (b0b5eb2d)
📖 Documentation
- Fix incorrect TS types import path in documentation (#2773)
- Missing imports and typo in code blocks (#2741)
- Changed types path (#2735)
- Fix typo in SSR warning on Installation page (#2777)
- Update link to downloads count badge (c1d6ad14)
🏡 Chore
❤️ Contributors
- Farnabaz (@farnabaz)
- Bean Deng 邓斌 (@HADB)
- Sébastien Chopin (@atinux)
- EJ Fox (@ejfox)
- Oh My Neck (@hi-zp)
- Michael DeLally (@mdelally)
- RollingTL (@RollingTL)
- Aditya Mathur (@MathurAditya724)
- 邓超 2325690622@qq.com
- Vilius Paliokas (@ViliusP)
v2.13.2
🩹 Fixes
- search: Add string type to gt/lt/gte/lte type definitions (#2704)
- search: Non-md file might not have dscription file (#2706)
- module: Disable MDC plugin if user disabled it (#2707)
- module: Unwatch storage on nitro
close
(ec7105ad)
📖 Documentation
- home: Update studio section (#2696)
- landing: Design review (#2703)
- Add missing
await
for searchContent docs (#2692) - Prerender home (4253f0bf)
- Update
nuxt-og-image
and addpostinstall
script (#2705) - Update ContentSlot Documentation (#2713)
🤖 CI
❤️ Contributors
- Farnabaz (@farnabaz)
- Jacob Strong (@jacstrong)
- Damien Guard damien@envytech.co.uk
- Florent Delerue florentdelerue@hotmail.com
- Benjamin Canac (@benjamincanac)
- Brock Wilcox (@awwaiid)
v2.13.1
NOTE As of Nuxt@3.12.0 there is a regression which cause removing
/
from prerendered routes. because of this,nuxi generate
might not work as expected. As a workaround you can add/
intonitro.prerender.routes
insidenuxt.config.ts
to solve this issue.
🔥 Performance
- dev-cache: Improve localhost markdown page navigation performance (when having 2,000+ pages) (#2675)
🩹 Fixes
- module: Do not force prerender index page (#2681)
- Hot reload on dev server for documentDriven: false (#2686)
📖 Documentation
🏡 Chore
❤️ Contributors
- Roman Lossa roman.lossa@lycorp.co.jp
- Bogdan Gradinariu (@gion)
- Farnabaz farnabaz@gmail.com
- Gareth gareth@redfern.dev
v2.13.0
Note: Content module ignores files extension in sorting contents.
🚀 Enhancements
- Top level
content/
directory in Nuxt 4 compatibility version (#2649)
🩹 Fixes
- Optimise nested dependencies (#2583)
- Opt in to
import.meta.*
properties (#2597) - Ignore unsupported files from contents list (#2607)
- module: Convert
content-slot
toMDCSlot
(#2632) - Fix typo in logger warning message (#2626)
- search: Keep page's beginning paragraphs (#2658)
- Add Nitro hooks types declarations (#2655)
- Filter draft files in production (#2648)
- search: Use page title as default title for sections (9d81acc2)
- Init storage only when used (#2670)
- Use runtimeconfig only when necessary (6f06f356)
- Do not update
devDependencies
(062fb97f) - search: Improve sections with root node (#2672)
- prerender: Ensure
/
exists inside prerender rotues (#2673)
📖 Documentation
- Update to @nuxt/fonts (40b3a070)
- Update ui-pro ui props (#2585)
- Use new
nuxi module add
command in installation (#2603) - Add multiple slots example (#2619)
- Better excerpt description (#2633)
- Update version (cc894eb2)
- Resolution for nuxt/ui (b581635e)
- Fix and update transformers (#2639)
- Fix social card in README (#2659)
🏡 Chore
- Upgrade deps & linter (#2611)
- Indicate compatibility with new v4 major (#2667)
- Upgrade deps (62805914)
- Prepare script (39671369)
- Upgrade deps (cc4f4152)
❤️ Contributors
- Farnabaz (@farnabaz)
- Benjamin Canac (@benjamincanac)
- Sébastien Chopin (@atinux)
- Daniel Roe (@danielroe)
- Gangan (@shinGangan)
- Roryc (@Coiggahou2002)
- Jakub Sova (@owljackob)
- Corn nice.corn.huang@gmail.com
- Cameron Childress (@cameroncf)
- RollingTL (@RollingTL)
- Arash (@arashsheyda)