-
-
Notifications
You must be signed in to change notification settings - Fork 564
Changelog
This page contains all updates in the official releases. For information about what's been updated in the pre-releases, please refer to Pre-release Changelog.
2020-02-17
Piranha.Data.EF 8.1.1
, Piranha.Data.EF.MySql 8.1.1
, Piranha.Data.EF.SQLite 8.1.1
, Piranha.Data.EF.SQLServer 8.1.1
This service release fixes a critical failure in the Post Service where an async method call is not awaited properly, causing threading issues.
- Async operation not awaited in
ContentService.Transform
. #1051
2020-02-16
Please note that in this versions all EF Migrations have been pulled out into provider specific packages due to changes in how migrations are generated for EF Core
3.1
. Check the template projects and the docs for reference.
Big thanks to @gyfke, @lukethenuke, @mikaellindemann and @psandgren for their contributions and all of the people who has helped with translating the manager.
- Add native comment system. #186
- Add hook for extending Sitemap generation. #961
- Add option for UseSitemapRouting to IntegratedMiddleware. #979
- Store hostnames for current request. #986
- Updated Manager Bootstrap to v4.4.1 #997
- Add meta-fields for media assets. #1020
- Asynchronous SaveChanges for Identity. #1023
- Add support for permissions on Pages & Posts. #1025
- Add Generic Block rendering. #820
- Use push state to store active folder in the media view. #867
- Keyboard command for saving content in the manager. #891
- Redesign config view for more space. #964
- Updated Manager Bootstrap to v4.4.1 #997
- Hide archive & site in PostPicker in modal when not needed. #1003
- Placeholders in the User/Edit are not localized. #1014
- Update manager media library. #1024
- No error message on login page when used wrong password or username. #1027
- Compile .vue templates into components. #1034
- ListExpand not working for collection regions. #888
- Manager resources doesn't work behind a reverse proxy. #934
- No button to add post for new archive. #948
- Preview resize works in debug environment but not deployed. #987
- The alias manager always uses the default site. #1002
- Redirect after successful manager login. #1019
- Specific Vue components give a compilation error on page-load. #1021
2019-12-25
Piranha 8.0.2
, Piranha.AspNetCore 8.0.2
- Allow more configuration for Integrated Middleware. #954
- Non-Integrated Middleware Fails check for Preview Claims. #953
- HTTP Caching is missing from Integrated middleware. #955
- Redirect is missing from Integrated Middleware. #956
2019-12-11
Piranha 8.0.1
, Piranha.AspNetCore 8.0.1
, Piranha.Azure.BlobStorage 8.0.1
- Field description not being display in list region. #938
- New list item not getting the ListTitlePlaceholder value if it was set. #939
- Add option for runtime view compilation to simple startup. #941
- Page parameter in ArchiveModel.OnGet is always null. #942
- Integrated middleware does not pass on query params. #943
- Piranha.Azure.BlobStorage as wrong package reference. #944
2019-12-05
This version includes updating to
.NET Core 3.1
which of course means a couple of breaking changes. Before updating, make sure to read through the notes below. For detailed upgrade instructions, please refer to this article.
Big thanks to @bignfat and @Urreman for their contributions and all of the people who has helped with translating the manager.
-
Piranha.Azure.BlobStorage
has a faulty reference. If you're using this package, please add a manual package reference toMicrosoft.Azure.Storage.Blob 11.1.0
in your project.
- As Microsoft has changed the underlying component for handling
SQLite
and changed howGuid
columns are represented forSQLite
, migrating an existing database won't be possible. Instead setup a new database and migrate the data.
- Support routing for Archives positioned below a page. #699
- Upgrade to
.NET Core 3.1
. #878 - Simplify Startup for integrated applications. #935
- SelectField is not populated if used in a collection region. #930
- Manager resources doesn't work in HTTPS behind a reverse proxy. #934
2019-11-15
Please note that TinyMCE has been moved into it's own package which needs to be included into your application to enable WYSIWYG editing. We now also provide an alternative package for Summernote.
To install TinyMCE into your application you need to add the package:
Piranha.Manager.TinyMCE
Then add the following lines to your Startup.cs
public void ConfigureServices(IServiceCollection services)
{
...
services.AddPiranhaTinyMCE();
...
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, IApi api)
{
...
app.UsePiranhaTinyMCE();
...
}
Big thanks to @121GWJolt for his contributions and all of the people who has helped our translating the manager.
- Manager UI should remove buttons the admin does not have access to. #772
- BlockDisplayMode.Vertical component. #791
- Move TinyMCE into a separate module. #815
- Media System Performance enhancement #845. #845
- Delete confirmations in manager. #847
- Cannot choose route for page. #856
- Add paging in manager archive view. #860
- Add post should not be a dropdown if Archive only has one post type. #871
- Add client side validation for manager forms. #872
- Full support for Toolbar actions. #873
- Can we make piranha play nice with swashbuckle?. #876
- Support for SVG images. #879
- Password validation. #883
- Improve styling on global fields for Horizontal Block Groups. #896
- Move folders in the media library. #904
- Flush cache after changing site host url. #516
- Sitemap is not purged correctly from cache. #855
- DateField saves time of day (sort of) when using Datepicker. #877
- Updating an image moves the image to the root of the media library. #892
2019-10-04
Piranha 7.0.3
, Piranha.AspNetCore 7.0.1
, Piranha.AttributeBuilder 7.0.1
. Piranha.Data.EF 7.0.2
, Piranha.Manager 7.0.5
Please note that in order to support field meta-data in block groups the following attributes has been moved from the namespace
Piranha.AttributeBuilder
toPiranha.Extend
.
FieldAttribute
,FieldDescriptionAttribute
,RegionAttribute
andRegionDescriptionAttribute
.Make sure to update your PageTypes, PostTypes and Regions by using the new namespace.
- Add support for FieldAttribute to BlockGroup Fields. #831
- Add helper method for rendering Css Name from block type. #835
- Automatically register custom fields used in blocks. #839
- Custom partials are not rendered in the manager. #832
- SelectFields are not initialized for Block Groups. #834
- BlockGroup fields are not initialized on load. #836
- TinyMCE doesn't clear bogus tags on save. #838
2019-09-26
Piranha 7.0.2
, Piranha.Manager 7.0.4
, Piranha.Manager.Localization 7.0.4
Big thanks to @AlexJPawlak, @AlexeyMAGician and @121GWJolt for their contributions.
- Default title implementations for standard Blocks. #800
- Add full Russian & Polish translations. #812
- Add SRI support for custom manager scripts. #819
- Collapse block on load in the manager. #828
- Show block title when collapsed. #829
- Getting archive by tag crashes. #801
- IsUnlisted = false is not handled when adding Block Group Items. #821
- ArchivePage doesn't filter on allowed Post Types. #827
- BlockGroup fields not initialized correctly on Create. #805
2019-09-10
Piranha 7.0.1
, Piranha.Data.EF 7.0.1
, Piranha.Manager 7.0.3
, Piranha.Manager.Localization 7.0.3
- Confirm deleting site. #783
- Draft post does not display in post list. #793
- GetTitle on HtmlField should strip HtmlTags. #795
- HtmlField does not propagate title change to parent. #796
- Post setting regions doesn't have the "region" class. #785
- Site setting regions doesn't have the "region" class. #792
- SelectFields does not work for Site Content. #794
2019-08-30
Piranha.Manager 7.0.2
, Piranha.Manager.Localization 7.0.2
- Added German & Dutch translations. #768
- Move manager block styles outside of .block. #774
- Add css support for custom block actions. #775
- PageField only shows links from the default site. #777
- UI Issues in media Gallery view. #779
- Redirect is missing from the manager UI. #766
- EditorConfig initializes Block styles as inline. #767
- Mediapicker does not clear filter when changing folder. #771
2019-08-23
Piranha.Manager 7.0.1
, Piranha.Manager.Localization 7.0.1
This updates contains a simplified way of configuring the Tiny MCE editor. Your can read more about it in the documentation.
- Menu includes links when user is not authorized. #756
- TinyMCE Dropdowns breaks in column blocks. #757
- Empty HTML-block in columns doesn't allocate 100% height. #762
- Positioning of Tiny MCE toolbar doesn't work properly. #763
2019-08-19
Starting with this version the Manager interface has changed technology stack and is now built with
Razor Pages
andVueJs
. Projects developed with earlier versions of Piranha CMS will need to update their view components for custom blocks and custom fields in order for them to work in the new Manager. For guidance on how to implement custom components, please refer to the official documentation.
Known issues
- Manager menu doesn't remove items not valid for the current user. #756
- Add WebApi module for accessing the IApi. #229
- Reference fields should use cached data. #588
- Archive service doesn't populate category/tag. #620
- Updated posts are not purged from cache. #603
- Save drafts of already published content. #622
- Saving a copied page throws exception. #626
- Null checks of fields. #692
- Move texts to resources for translation. #39
- Media card/gallery view. #62
- Update font awesome. #406
- New manager interface. #460
- Add possibility to add custom buttons to the manager. #508
- Horizontal block groups. #599
- Possibility to collapse all blocks. #613
- Two imagefields on one page aren't updating right. #614
- Description on fields. #621
- Documents displayed as videos in media. #629
- Page ordering past depth of 5. #636
- PageField & PostField can cause circular reference. #260
- Sitemap caching issues when updating pages. #725
2019-05-01
Starting with this version all project templates have been merged into a single package
Piranha.Templates
. This is to simplify setup on your local development machine and make sure you get all future templates as well when updating this package.
Big thanks to @i-love-code and @stefanolsen for their contributions.
- DisplayTemplate missing in example for VideoBlock. #548
- Null-checking a PageField causes a NullReferenceException. #572
- Full caching still causes repeated SQL queries. #574
- Add interfaces for all services exposed in the Api. #576
- Archive page returns 404 when request URL has trailing slash. #580
- SimpleCache should use ConcurrentDictionary. #583
- Aliases are cached only if found. #587
- Manager ajax urls when deployed to virtual directory. #372
- Media folders do not take in account other folders as items. #565
- Using Manager Login - ReturnUrl in LoginModel is always null. #579
- Blocks without Custom Editor Templates / Checkbox Field Serialization. #585
- Hide menu group when no item is visible. #593
- Publish/unpublish content does not reflect when CacheLevel=Full. #568
- GetSitemap in for EF does not take scheduled pages into account. #569
- Items on a BlockGroup does not gets serialized on posts. #577
2019-04-03
Piranha.Manager 6.0.2
By mistake outdated
.css
and.js
files where bundled with the manager causing theImageBlock
andVideoBlock
to behave incorrectly.
2019-04-02
Piranha 6.0.1
, Piranha.Data.EF 6.0.1
, Piranha.Manager 6.0.1
- Sitemap cache is not clear when publishing a drafted page. #555
- Items on BlockGroup still not gets serialized. #558
- IsUnlisted is ignored on the first add-block on a post. #559
2019-03-31
As of
6.0
all data mappings for Entity Framework Core as been moved into the new packagePiranha.Data.EF
. To ensure backwards compatibility, make sure you include this package into your project.
As of
6.0
the entire application pipeline and all allApi
metods are now async. To ensure backwards compatibility for sync code, make sure you include the packagePiranha.Extensions.Sync
, however it is of course our recommendation that all code should be migrated to use the async methods.
Methods in the
ArchiveService
has been revised to allow loading just the posts without the containing page. Existing code must be updated from making one call to making two separate calls, one for the page itself, and a second one for the post archive.
// Old code
var model = _api.Archives.GetById<MyArchivePage>(...);
// New code
var model = await _api.Pages.GetByIdAsync<MyArchivePage>(...);
model.Archive = await _api.Archives.GetByIdAsync(...);
The
TagService
andCategoryService
has been removed to simplify repository implementation forNoSql
databases. Methods for getting these taxonomies can now be found in thePostService
api.Posts.GetAllCategoriesAsync
api.Posts.GetCategoryBySlugAsync
api.Posts.GetAllTagsAsync
api.Posts.GetTagBySlugAsync
- Make API async. #102
- Optimize queries for large sets of non cached data. #198
- Add VideoBlock. #458
- Async Pipeline. #478
- Add hooks for content models. #513
- Add block type to serialized JSON. #518
- Multiple Blocks with Archive listing slow down page. #519
- MemoryCaches should clone object on Get. #522
- Items on BlockGroup does not get serialized to JSON. #543
- Add allowed PostTypes to Archive page. #276
- Add item count on media folders. #484
- Restrict so that not empty media folders can't be deleted. #485
- Recalculating block indexes is missing some attributes. #450
- Placeholder does not get printed for Posts & Sites. #552
2019-03-01
Note that
Piranha.Cache.MemCache
has been renamed toPiranha.Cache.SimpleCache
. Update your code to reflect the changes, or change it to use one of the new cache services available.
- Added support for
IDistributedCache
. #249 - Added support for
IMemoryCache
. #482 - Upgraded
ImageSharp
to beta6. #492
- Updated
Piranha.Manager
toRazor Class Library
. #527 - Updated
Piranha.AspNetCore.Identity
toRazor Class Library
. #527
- When uploading media, file extensions is case sensitive. #483
- Delete role is missing from
AspNetCore.Identity
. #525 - Last role assignment on each row is not saved. #526
2019-02-16
Piranha.Azure.BlobStorage 5.3.1
- Replaced
WindowsAzure.Storage
withMicrosoft.Azure.Storage.Blob
. #487 - Create BlobStorage with connection string. #491
2018-12-08
Piranha 5.3.1
, Piranha.AspNetCore 5.3.1
, Piranha.Manager 5.3.1
Service release containing some minor bug fixes and updates on routing in multiple site scenarios.
- Redesign how sites are fetched from hostname. #449
- Routing with Two Different Sites. #437
- Adding a region to page is not backward-compatible. #446
- Api is always null in ApplicationService. #447
- The DateField EditorTemplate renders with different format than expected. #451
2018-11-19
Big thanks to @filipjansson, @Talagozis, @MCNorthwood, @DraagrenKirneh and @be4i for their contributions.
- Mobile Friendly Hamburger menu. #302
- Culture / Language Support on Site level. #308
- Add config to FileStorage extension method. #422
- Document media preview. #69
- Default block template. #411
- Improve add user email field. #412
- Add loading animation to AJAX actions on Manager. #413
- Tooltip support. #414
- Allow HTML in region descriptions. #415
- Don't show inner HTML in link dialog. #419
- Published post from unpublished archive page is accessible. #323
- Updating image-link in the HTML-editor. #420
- Pdfs show last image viewed in modal. #421
- Fix hardcoded item title for single field list regions #435
2018-10-17
This is primarily a security update to address the Denial of Service vulnerability in
AspNetCore 2.1
. For more information regarding this, please read Microsofts official announcement at https://github.com/dotnet/announcements/issues/67. This release is updated to the latest packages and .NET Core2.1.5
.
2018-10-15
Big thanks to @Talagozis for his contribution.
- Page redirects in sitemap for better SEO. #340
- Remove IApi from ContentTypeBuilder. #363
- Keep all Content Types in memory. #369
- Add placeholder option for fields. #370
- Add support for async
Init()
on Fields. #374 - Adding information text for a region. #388
- Rename BlogPage to ArchivePage. #391
- Extension method for adding Mem Cache. #398
- Extension method for adding Blob Storage. #399
- BrowserLink for live updated preview. #287
- Better support for multiple sites. #351
- Change Login Logo via Manager / Config. #359
- Ability to filter the manager media list. #360
- Add possibility to inject partials into the manager. #373
- Make buttons fixed for Page & Post edit. #393
- Fix button layout for Post & Page field. #395
- Post link dialog doesn't support multiple sites. #405
- Display group icon instead of placeholder icon. #402
- Cannot add hyperlink to image in HTML editor. #343 #343
- Raw SQL in migration breaks in MySQL. #375
- Markdown Fields not saved on first click. #392
- 24 hour time format in manager date picker? #394
- Can't remove last block from Page. #396
2018-08-10
Please note that the HTML-editor initialization has been updated due to the new Ajax save. If you have a custom TinyMCE setup in your project, make sure you add the following lines to your TinyMCE init:
setup: function (editor) {
editor.on('change', function () {
editor.save();
});
}
- Missing Content Type for
Sitemap.xml
. #350 - EF Migration error on Npgsql. #352
- Bug when saving static HTML fields in the manager. #358
2018-07-24
- Bug in Sitemap Caching. #337
- After changing sort order wrong site is loaded. #346
- Problem adding pages with multiple sites. #347
- Meta description limitations not updated. #349
2018-07-10
Please note that this version switches from AspNetCore and EF Core
2.0
to2.1.1
Big thanks to @filipjansson and @aatmmr for their contributions.
A new service component have been added to hold information for the request context, such as current Site
, Sitemap
and other info. After upgrading you must add this service in your Startup.cs
.
public IServiceProvider ConfigureServices(IServiceCollection services)
{
...
services.AddPiranhaApplication();
...
}
To access the new features in your views, add the following in your _ViewImports.cshtml
.
@inject Piranha.AspNetCore.Services.IApplicationService WebApp
- Add support for Block Groups. #291
- Support for site-global content. #295
- Support multiple file formats in image scaling. #296
- Upgrade to .NET Core 2.1.1 & EF Core 2.1.1 #297
- Added MySQL support for Identity. #298
- Change Page & Post edit to save via Ajax. #292
- Improve error message on failed login. #294
- Improve UX on media fields. #299
- Show Block icon and name on hover. #303
- Visual placeholders for empty HTML blocks. #307
- Set new Block dialog position depending on screen position. #318
- Add support for "unlisted" block types. #324
- Add ApplicationService to simplify application development. #333
- Adding blog post to not saved draft of a new archive causes exception. #321
2018-05-25
- Fixed so the login page doesn't say
5.0.0-beta1
2018-05-25
This release contains some minor breaking changes. Application startup needs to be updated to incorporate new services & features. For more information, please refer to Project Setup in the Wiki.
Big thanks to @filipjansson and @lukethenuke for their contributions.
- Added block-based content. #202
- Add checkbox field. #230
- Add support for custom search queries. #232
- Add Hook for slug generation. #243
- Add tag filtering for archives. #246
- Support DI in field Init(). #250
- Rename Piranha.Extend.FieldAttribute. #251
- Support for Page Copies. #252
- Add security module for AspNetCore Identity. #271
- Add number Field. #277
- Updated slug generation. 278
- Support for loading content without regions & blocks. #285
- Auto register fields used by content types. #288
- Add media link to TinyMCE. #242
- Add module info to the Manager. #248
- Add custom css/js to the Manager. #273
- Add font awesome to the Manager. #275
- Added column swap for column blocks. #281
- Make scheduled entries more visible. #283
- Sitemap middleware includes unpublished posts. #195
- Archive router bug for Razor pages. #248
- Requesting a non-existing post should throw 404. #261
- Image resize not working in TinyMCE. #282
2018-04-02
Intermediate release with some bug fixes for the manager UI.
- SimpleMDE not initialized correctly in new List Region. #224
- Moving list region items sometimes crash. #225
2018-03-23
General improvements and new content features.
- Add Select field. #56
- Add support for Generic fields. #56
- Split caching into different levels. #96
- Allow aliases to point to http:// urls. #204
- CDN support for media storage. #205
- Allow prefix in hostnames. #209
- Store requested SiteId in HttpContext. #210
- Drag n Drop for moving media assets. #67
- Drag and drop media upload. #67
- Toolbar for Markdown fields. #85
- Suggest alias when changing slugs. #184
- Show Page type name in site tree. #212
- IApi should be injected in middleware Invoke(). #213
- Old media isn't removed when updated with new filename. #218
- Collection regions not working for posts. #219
2018-03-01
Service release with some bug fixes and minor updates.
- Markdown preview doesn't limit image width. #192
- Published date format error for pages & posts. #200
2018-02-22
This release expands the functionality with more features like alias management, image cropping and more.
- Added alias model. #97
- Added hooks for aliases. #105
- Added hooks for categories. #105
- Added hooks for media. #105
- Added hooks for media folders. #105
- Added hooks for params. #105
- Added hooks for sites. #105
- Added hooks for tags. #105
- Made IStorage & IStorageSession async. #109
- Added image scaling & image versions. #119
- Added sitemap.xml generator. #150
- Added basic project template. #167
- Fixed bug in PostRouter for multiple sites. #181
- Fixed so start page router can handle blog pages. #187
- Added support for Azure Blob Storage. #23
- Added alias management views. #97
- Fixed format error on post published date. #183
- Updated save behavior for posts. #185
- Added post search in the blog archive. #188
- Added manual publish date for pages. #189
2018-01-22
Intermediate release that adds some features for blogging to support larger amounts of posts.
- Added methods for deleting unused categories & posts. #172
- Added support for setting a future publish date for posts. #170
- Added post type filter to the blog list. #168
- Added category filter to the blog list. #165
2018-01-14
This version adds blogging support with Posts, Categories, Tags and Archive Pages. It also includes some bug fixes & general improvements.
Thanks to @gyretech for testing and feedback.
- Added category model. #76
- Added tag model. #77
- Added post model. #78
- Added document field. #157
- Added video field. #158
- Added media field. #159
- Added post field. #160* Fixed bug with empty collection regions. #162
- Added page field. #163
- Added archive category filter. #164
- Added custom TinyMCE plugin for Page & Post links. #153
- Added sitemap reload after move. 6ede7ac
- Prohibited recursive page delete. 83b3176
2017-12-12
Intermediate release that addresses the following problems.
- Added policy permissions support for menu. #151
- Fixed initialization for dynamically inserted HTML-editors. #152
2017-12-02
Intermediate release that addresses the following problems.
- Fixed bug in media modal c5b65aa
2017-12-01
First official release with support for building page based sites.
With contributions by: @gyretech & @filipjansson
- Completely rewritten for NetStandard 2.0 & EF Core
- Smart pluggable caching
- Pluggable file storage
- SEO-friendly URL’s & meta-data
- Claims-based admin permissions
- Templated page types
- Multiple sites with hostname-based routing
- HTML and Markdown content
- Hierarchical media library
- Simple and intuitive interface
- Responsive down to portrait tablets
- Extensible