# 2.0.0 (unreleased) ## Document sets Documents now belong to "sets", which are attached to Pages. A Page can have many Document Sets, and a Set has a many_many relationship with Documents. When upgrading from 1.x to 2.x you will need to migrate the relationships from your Pages to Documents to support having a Document Set intermediary. [See here](../migration/document-sets.md) for an example build task to help with this process. ## API changes * `DMSSiteTreeExtension::no_documents_tab` removed, use YAML configuration `MyPage.documents_enabled: false` instead * `DMSSiteTreeExtension::show_documents_tab` removed, use YAML configuration `MyPage.documents_enabled: true` instead * `DMSSiteTreeExtension::PageDocuments` removed, use `DMSSiteTreeExtension::getDocumentSets` instead * `DMSSiteTreeExtension::getDocuments` removed, use `DMSSiteTreeExtension::getAllDocuments` instead * `DMSDocument::addPage` removed, use document sets instead * `DMSDocument::addPages` removed, use document sets instead * `DMSDocument::removePage` removed, use document sets instead * `DMSDocument::removeAllPages` removed, use document sets instead * `DMSDocument::getPages` removed, use `DMSDocument::getRelatedPages` instead * `DMSDocumentInterface` has had the page manipulation methods removed, as above * `DMSDocumentAddController::add_allowed_extensions` removed, use YAML configuration `DMSDocumentAddController::allowed_extensions` instead * `DMSInterface` (and `DMS`) are stricter in the `getByPage` method, enforcing a `SiteTree` type hint * New method `DMSInterface::getDocumentSetsByPage` (and in `DMS`) * `DMS::$dmsFolder` removed, use YAML configuration `DMS.folder_name` instead * `DMS::$dmsFolderSize` removed, use YAML configuration `DMS.folder_size` instead * `DMS::get_dms_path` made non-static, use `DMS::inst()->getStoragePath()` instead * `DMS::transform_file_to_file_path` made non-static, use `DMS::inst()->transformFileToFilePath()` instead * `DMS::create_storage_folder` made non-static, use `DMS::inst()->createStorageFolder()` instead * `DMS::get_storage_folder` made non-static, use `DMS::inst()->getStorageFolder()` instead * `DMSDocument::addTag`, `::getTagsList`, `::removeTag` and `::removeAllTags` removed from the `DMSDocument` and `DMSDocumentInterface`. Please use the ORM relationship created by applying the `DMSDocumentTaxonomyExtension` extension to `DMSDocument` instead. * `DMSInterface::getByTag` removed from `DMSInterface` and `DMS`. Use ORM relationships from applying `DMSDocumentTaxonomyExtension` to `DMSDocument` instead. ## Template changes The default template entry point is now `DocumentSets.ss` (previously `Documents.ss`). As well as this change, `Documents.ss` has been renamed to `DocumentSet.ss`. ## Frontend assets We've removed the configuration for using Compass to build SCSS. You can now use Webpack instead. [See here](building-frontend-assets.md) for more information on this.