- ⚡️ #366 Update to .NET Core 3.1
🐛 Bug fixes
- #366 Forgot Login Password - Reset Password
- 💻 #347 UI: Page Selector: Ignore leading slash in page search query
- #363 Unable to edit custom entity without publish permission
- #339 Publishing pages from page list leaves publish icon greyed out for other pages
- #370 How to use IOrderableCustomEntityDefinition
🚀 In addition to bug fixes, this release updates the ASP.NET Core packages to 2.2.1.
🐛 Bug fixes
- #295 GetCurrentUserMicroSummaryQuery: Returns null if executed in the same request as a login
- #308 Admin panel custom entity nested custom entities links to not found
- 📚 #305 Documentation: Page paths and canonical urls
- #309 Links in admin email templates do not account for a custom admin directory
💥 Breaking Changes
🔊 In doing this I renamed
LogSuccessfulLoginCommandbecause the old name was misleading. This is only used internally and shouldn't cause a breaking change for developers.
- ⚡️ #270 Update to .NET Core 2.2
- ⚡️ #291 Error handling on startup - better report errors with the update service
🐛 Bug fixes
- #81 Querying a custom entity by url slug
- 🔧 #256 File type blocking: make configurable
- 🚚 #159 Disable built-in features / remove items from admin panel navigation
- 🚚 #257 Remove soft-deletes
- #170 IFileStoreService and orphan items
- #33 Make Image Asset Files Permanently Cachable
- #185 Add Cofoundry starter template
- 🔧 #50 Allow admin panel path to be configurable
- 🔧 #138 Allow admin panel to be disabled via configuration setting
- #128 SlugFormatter: Improve handling of punctuation marks
- #235 IPageBlockTypeDisplayModelMapper: Should pass down IExecutionContext to map method
- #260 Issue with CMS admin login
- 0️⃣ #249 DefaultHtmlSanitizationRuleSetFactory incorrectly whitelists class attribute
- #252 GetCustomEntitySummariesByIdRangeQuery - Setting missing in constructor
- #247 Tags added to Documents are not saved correctly
- #248 Image links generated in the html editor dont have the correct url slug or extensions
- #242 Custom Entity Duplication
- #241 TextFormatter.PascalCaseToSentence: Should account for acronyms
- #193 IRouteRegistration: Adding a catch all route can override the admin route
- 🔌 #251 Plugins
💥 Breaking Changes
UriParsehelper has been renamed
HttpUriParserto better describe it's scope as it only parses http base uris.
- 🚀 The signature to
IPageBlockTypeDisplayModelMapper<TDataModel>has been updated to make mapping simpler (see release blog post for detailed explainaton)
AdminRouteAttributehas been removed. Please register your routes via methods in Cofoundry.Web.Admin.AdminRouteBuilderExtentions
- 🍱 ImageAsset/DocumentAsset: Many property names/sizes tidied up. Removed soft deletes, routes have changed. If you want to redirect requests from the old assets routes you'll need to enable the compatibility feature
- 🔧 ImageAssets: A max image upload size is now enfoced which defaults to 3200x3200 but can be configured in settings.
- ⚡️ Setting
NotDangerousMimeTypeAttributeremoved and replaced with
IAssetFileValidatorthat is now configurable.
Due to a tagging mishap, v0.4 was skipped. Please use 0.4.1 instead.
- ⚡️ #154 Update to .NET 2.1
- #223 Ability to define the sort order for non-orderable custom entities
- #221 Ability to reference the ambient VisualEditor mode
- #220 Custom Entity: Duplicate
- 0️⃣ #214 Default custom entity ordering differences between queries
- 0️⃣ #217 Add mailto links to the default sanitization ruleset
- #206 Custom Entity Permissions: Easily add new permissions to roles after initialization
- #87 Improve Page Querying outside of the admin panel
- #229 Duplicate pages: Does not duplicate block content
- #67 Page/Entities version numbers to be stored in database
- #237 Data mode attributes: throw errors when placed on wrong types
- #234 Template.Region.WrapWithTag: editor does not render for single-block regions
- #230 MessageAggregator: Publish message on transaction complete
- #228 Custom Entity: Block data needs to be partitioned by page
- #227 PageBlockTypes: Missing unique index on filename
- #225 Increase the size of the CustomEntityModelType field in the PageTemplate table to account for longer namespaces
- #222 Can't open select boxes for custom entities that have relations on other custom entities
💥 Breaking Changes:
ApiResponseHelper.SimpleQueryResponsenow returns a 404 status code if the result is null.
IEntityFrameworkSqlExecutor: All sync operations have been removed
PropertyBuilderExtensionshas been moved to
IDatabaseis no longer injected, use
ModelBuilder.UseDefaultConfighas been replaced with
HasAppSchemabecause since the migration to EF Core no other configuration was being performed here other than setting the default schema.
- ✂ Removed the generic versions of
ICustomizedTermCustomEntityDefinition. Use the non-generic versions instead alongside the generic
ICustomEntityDefinition<TDataModel>. The generic versions were a shortcut, but I think it's better to be explicit here so we don't have multiple ways of doing things which can be confusing.
VisualEditorModehas been moved from the
Cofoundry.Webproject to the
VisualEditorMode.Drafthas been renamed
SortDirectionnaming has been changed from Ascending/Descending to be Default/Resversed to better describe the behaviour, this is because for publish/create date sorting the default behaviour is latest first which is not technically ascending ordering.
HasDraftproperty has been renamed
IsPublishedproperty replaced with
IPublishableEntity.IsPublished()to be consistent with similar classes.
GetCustomEntitySummariesByIdRangeQueryno longer accepts
PublishStatusQueryfiltering, ensuring consistency with other uses of
PageSummary. For an equivalent publish-status-aware query, use
OpenGraphData.Imagehas been changed from an
PageRepository.GetPageSummariesByPageIdAsyncwas named incorrectly and has been renamed
PageTemplateIdproperty has been removed and
PageIdhas been added in it's place.
IQueryable<CustomEntityVersion>.FilterByActivehas been renamed `FilterActive for consistency with similar methods.
IQueryable<CustomEntityPublishStatusQuery>.FilterByActivehas been renamed
FilterActive()for consistency with similar methods.
- 0️⃣ The default ordering for custom entities that don't use
IOrderableCustomEntityDefinitionis now by Title. You can change this by implementing
ISortedCustomEntityDefinitionon your custom entity definition.
v0.4.0July 20, 2018
- #204 Add DocumentCollection data annotation
- #179 Allow custom height in HtmlTextAreaAttribute & HtmlArea attribute
- #211 Cofoundry MailTemplate Improvements
- 💻 #180 Data models / Admin UI: Enum DDL
- #203 Html Editor: Custom TinyMCE config
- #209 PageRegion EmptyContentMinHeight renders in non-edit mode
- #208 Embedding a script (e.g. tweet) in a page block breaks the json rendering in edit mode
- 🚚 #213 Custom Entity Ordering: Re-ording one entity type removes ordering from another
- #214 "Pending draft" link in page list for custom entities it's not working
- 💻 #212 Open pdf file on browser
v0.3.1April 13, 2018