- Implemented nested collections.
- A folder in the collection tree is now labelled with its own index file, instead of the title of whichever entry happens to come first. This effectively solves decaporg/decap-cms#7651.
- Adding an entry to a folder that already holds some no longer saves it over that folder’s
index.md. This effectively solves decaporg/decap-cms#7606. - A new entry’s file is now named from the collection’s
slugtemplate oridentifier_field, rather than always from thetitlefield — a collection without atitlefield no longer saves every entry asuntitled. This effectively solves decaporg/decap-cms#4972. - An entry can now be added to the folder you’re browsing without overwriting that folder’s own entry, leaving the parent folder blank files the entry where the collection’s
pathoption puts it, and a folder that’s genuinely free is never rejected as already taken. This effectively solves decaporg/decap-cms#7094 and decaporg/decap-cms#7534. - The
preview_pathoption now produces a working URL, keeping the folder structure and dropping the shared index file name, so an entry stored atdocs/intro/_index.mdis previewed atdocs/intro— which is also what a Relation field stores. This effectively solves decaporg/decap-cms#4963. - An image uploaded while creating an entry now lands beside it, because the
{{dirname}}template tag is resolved from the start rather than only once the entry is saved and reopened. This effectively solves decaporg/decap-cms#7752. - I18n now works with nested collections: the whole collection is listed with the
multiple_foldersstructure, the sidebar folder tree filters entries instead of coming out broken, and an entry missing one locale’s file saves normally rather than producing an empty commit. This effectively solves decaporg/decap-cms#4677, decaporg/decap-cms#6974 and decaporg/decap-cms#7389. - A link to a nested entry now opens that entry, rather than stopping at the first segment of its path and opening the wrong one. This effectively solves decaporg/decap-cms#4753.
- A deep tree now keeps working whatever
nested.depthis set to, because the file list comes from a single recursive request. This effectively solves decaporg/decap-cms#7460. - The entry path is now chosen from a folder tree instead of being typed by hand, and a folder that doesn’t exist yet can be created right in the picker. Netlify CMS offered an experimental widget for this, but it doesn’t work with Decap CMS.
- Bug fixes and improvements.
Full Changelog: v0.208.2...v0.209.0