All Changes in EAV and 2sxc v16
Version 16
2sxc v16.00 LTS (2023-05-04)
No relevant changes, just minor bugfixes + our convention to upgrade the main version every 6 months. We mainly finished the docs for various features, so this is what is now done.
- ✅ improve IConfiguration API - lighten the
IDataServiceAPI - ✅ Document new data sources API
- ✅ finish Dynamic DataSources
- ✅ Document CDN / Asset management
- ✅ Document Formula improvements
- ✅ IDataService completed
- ✅...and documented
- ✅ New WYSIWYG mode completed (and documented)
- ✅ Toolbars Service Improvements: transport
datafor use in notes etc. ca. 0.5d 2dm - ✅ Data-conversion of entities to json in attribute... - documented
2sxc v16.01 LTS (2023-05-23)
Various bugfixes + some enhancements.
- ✅ New rich WYSIWYG experience
- ✅ Edit-UI can now be opened to only show a few specified fields (feature API not yet public, but used in the new WYSIWYG feature) #3080
- ✅ New ITypedItem and AsTyped(...) API
- ✅ New Data.Content and Data.Header objects
- ✅ IDynamicEntity now has methods like
String(...),Int(...),Bool(...),Date(...),Decimal(...),Double(...),Long(...),DateTime(...),Float(...)to convert values to the desired type. #3089 - ✅ Sort-Items UI was enhanced with remove, add, add-existing #3077
- ✅ DynamicDataSource now supports relationships #3078
- ✅ DynamicDataSource now shows better errors in Razor on compile issues #3084
- ✅ Razor now automatically suggests the
insightsbutton on the toolbar if there are errors #3085 - ✅ Enhancement: Serializing Entities to JSON now skips
emptyfields such as messages or ephemeral fields - ✅ Clean up Formulas code into better SoC @SDV
- ✅ Clean up ancient documentation which is probably invalid, but still seen by many :(
Dnn / Evoq
- ✅ Evoq: Better support for list management together with page workflow #3087
- ✅ Dnn Skin: Adding module to skin using IRenderService now allows editing entities #3092
Oqtane
- ✅ Enabled full WASM support for Oqtane #3083 (previously only server-rendering worked)
- 🪲 Improvement on how AJAX reloads work, resolves some reload-errors #3081
Minor Bugfixes
- 🪲 Two bugfixes related to Formulas v1 - returning date #3088
- 🪲 XML-Data-Export now works with IsContentAdmin permissions (before it required IsSiteAdmin) #3075
- 🪲 View list of data now works with IsContentAdmin permissions (before it required IsSiteAdmin)
- 🪲 Fixed issue with
GetService<ILogService>()becauseILogServicehad been renamed toISystemLogService#3082
2sxc v16.02 (2023-07-07)
Major Enhancements
- ✅ ImageFlow upgraded to version 0.10.0 - thereby making sure it works with FIPS enabled #3121
- ✅ Brand new typed code Pro mode
ITypedItemandITypedinterfaces with properties such asId,Guidand methods such as.String(name), ...RazorPro,ApiPro,CodeProbase classes with completely reworked API such asAsStack(...),MyPageorAllSettingsApiPronow serializes JSON using new defaults which are more common in WebApis (lower-case properties, auto-serialize entities, etc.)
Documentation
- ✅ Upgraded DocFX from 2.48.1 to 2.67.3 with major improvements to the generated docs
- ✅ Improved Documentation of all Razor and WebApi base classes!
Support for Developers
- ✅ Dramatically improved insights with more details and filtering options
- ✅ Created system to automatically detect and warn about deprecated code - using buttons in the toolbar
- ✅ Created CodeHelp system to guide developers when common coding mistakes were made
- ✅ New Obsolete system collects issues per App and shows them even if the current Razor is not affected
- ✅ Show CodeHelp warnings if a RazorPage doesn't have
@inherits
Various bugfixes + some enhancements.
- ✅ Refactored Razor and WebApi base classes to use Composition over Inheritance
- ✅ RazorBlade upgrade from v4.2.0 to 4.4.0 (also for .net 7 compatibility)
- ✅ Feature to not show edit-toolbar buttons on HTML coming from Resources
- ✅ Improve not showing a metadata-toolbar on images which are coming from demo-items
Dnn / Evoq
- ✅ Downgrade SQL to still work with SQL Server 2012 as people had trouble upgrading #3120
- ✅ Since ImageFlow was upgraded, the following DLLs were also upgraded
- Imageflow, 0.7.24 -> 0.10.0
- Imageflow.Net, 0.7.24 -> 0.10.0
- Imazen.Common, 0.7.7 -> 0.8.1
- Imazen.HybridCache, 0.7.7 -> 0.8.1
- Newtonsoft.Json, Version=10.0.0.0 -> 13.0.0.0
- ✅ As part of the upgrade we also had to upgrade some MS DLLs
- Microsoft.Bcl.AsyncInterfaces, Version=6.0.0.0 -> 7.0.0.0
- System.Collections.Immutable, Version=6.0.0.0 -> 7.0.0.0
- System.Text.Encodings.Web, Version=6.0.0.0 -> 7.0.0.0
- System.Text.Json, Version=6.0.0.0 -> 7.0.0.2
- System.Memory, Version=4.0.1.1 -> 4.0.1.2
Oqtane
- ✅ Oqtane 4.0 Support (with .net 7) #3123
- ✅ Reworked API Middleware to avoid conflicts with OAuth 2
Minor Bugfixes
- 🪲 Fixed issue with Swiper not being able to add slides #3108 #3112
- 🪲 Fixed issue with DatePicker in Edge and also added more cultures #3113
- ✅ Changed internal APIs to return RazorBlade
IHtmlTagobjects instead of previouslyIHybridHtmlString#3098
2sxc v16.03 (2023-08-21)
Enhancements around Typed Code
- ✅ Typed: rename
RazorProtoRazorTypedetc. #3147 - ✅ Make all typed objects very strict when checking if fields exist
- ✅ Add much more helpful info / error when fields not found
- ✅ Typed: Massively enhanced with strict checks and reduced the possibility of writing code which doesn't do anything
- ✅ Typed:
ITypedItemnow has a new .Picture(...) method making the code nicer #3135 - ✅ Typed:
ITypedItems can now be mocked #3141 to create alternate data in code when no data exists - ✅ Typed: New methods
ContainsKey(...),Keys(...)#3142 - ✅ Typed: New methods
IsEmpty(...)andIsNotEmpty(...)#3144 - ✅ Typed: method
.String(..., scrubHtml)now also accepts a string containing tags to remove #3146 - ✅ Typed: If an error occurs, much more information is provided as to how to fix #3143 #3145
- ✅ Typed Json: now also supports paths, so you can use
Kit.Json.ToTyped(jsonString).Int("Root.Child.Id") - ✅ Typed Json: now also strict using propsRequired by default
- ✅ Typed: the property
.Dynnow only exists onITypedItem(entity-based) and not on other wrappers
Other Enhancements
- ✅ Image Resizer: New
Squareresize settings #3134 - ✅ Image Resizer:
ImageServicecan now also handleIFileobjects and get the metadata automatically #3140 - ✅ Web Farm Cache: Updated for v16.02+ (enterprise customers only)
- ✅ Page Parameters: now support ITyped so you can use MyPage.Parameters.Int("id") and similar
Support for Developers
- ✅ Errors now highlight the
.cshtmlline which caused the error - ✅ Errors on mistyped property names now gives very detailed information about it
DNN / Evoq
- ✅ Image Resizer: Upgrade to dnn-imageflow 1.2.1 #3130
- ✅ Newtonsoft internal version in DNN Manifest now matches 13.0.3
Oqtane
- ✅ Oqtane: Better error when Oqtane in installed without sufficient DB permissions #3128 / #3131
- ✅ Internal: Code cleanup with warnings new EF-Core #3132
- ✅ Internal: EF Core QuerySplittingBehavior #3133
Minor Bugfixes
- 🪲 turnOn failed on AJAX reloads during editing #3127
- 🪲 Oqtane: Bugfix importing App Assets #3129
- 🪲 Web Farm Cache: Fix issue which occured on license uploads
- 🪲 Licenses: fix issue with multiple licenses / names resulting in an
unlicensedmessage
2sxc v16.04 (2023-09-05)
Highlight: UniqueKey
- ✅ Razor: New
UniqueKeyproperty (in Typed mode) #3151 - ✅ Razor: New
Kit.Keys.UniqueKeyWith(...)for unique IDs and working with JS #3152
Images
- ✅ Images: Images in rich wysiwyg mode now are shown nicely after import into other site
- ✅ Images: Dialog-Options to set empty title and not use fallback #3150
- ✅ Images: Enable crop/title dialog for public files, with delayed toolbar and warning-hint #3057
- ✅ Images: Fix Safari bug with small images #2
- ✅ Images: Ability to specify alternate toolbar #3157
- ✅ Images: Ability to specify no toolbar #3158
- ✅ Images: Ability to use Toolbar outside of main picture/img tag using img.Toolbar() #3156
- ✅ Images: Metadata now also has a DescriptionExtended
Razor in Typed Mode
- ✅ MyModel: Improve handling fallback / required #3149
- ✅ App.Folder.Url to replace App.Path for clearer APIs
- ✅ App.GetQuery(...) to replace App.Query[name]
- ✅ All ITyped objects now behave strict by default
- ✅ Complete various scenarios for ITyped with unit tests, especially conversion of anonymous and json-based ITyped
- ✅ All ITyped now have APIs for ContainsKey, IsEmpty and IsNotEmpty
- ✅ Razor: Errors now highlight the .cshtml file with a 🎯 emoji
GetDraft / GetPublished(decided not to implement yet)- ✅ Override Equality operations - using ITyped.Equals
Oqtane
- 🩸 Improve indexing in Google #3154
- 🩸 Improve pre-render adding JS/CSS
- 🩸 Improve page header changes (title, metadata) using latest Oqtane 4 APIs
Patrons
- 🦸🏽 New feature to better control language fallback sequence (beta) #3159
- 🦸🏽 Improve showing expired features - important when testing a feature for 24h
Bugfixes
- 🪲 Languages: Bug in UI: Some labels and dropdown-labels didn't show in current language #3153
- 🪲 lots of minor bugfixes
2sxc v16.06 (2023-09-20)
- ✅ Tutorials for new Pro mode / Quick-Ref
- ✅ Optimize build of 2sxc to use local config-files so it's easier for others to contribute @STV
- ✅ Improve JS build to make it easier for others to contribute
- ✅ Improve headers handling in Oqtane 4
2sxc v16.07 LTS (2023-09-22)
- ✅ new
TypeItem.Parent(...)- especially..Parent(current: true)api #3173 - ✅ new parameters to the
.Picture(...)incl.picClass,imgAttributesandpicAttributes - ✅ fix bug where presentation data was generated even if not used #3185
Major: Release 16.07 LTS 🚀
2sxc v16.09 (2023-11-22)
- ✅
TypedItem.Picture("Child.Property")path notation - ✅ fix js minification of
inpage.min.js - ✅ Release all apps in the new typed mode
- ✅ Blazor .net 8 / Oqtane 5 support
- ✅ Improve file-upload to prevent files with ".." in the name
- ✅ Improve DataSource Caching and cache-flushing
- ✅ Add new (beta ⌛) feature for copyright management (Patron AdvancedCMS) to add copyright info to each image
- ✅ Extend SQL Database to store
SysSettingsandGuidon Attributes for future features - 🐞 Fix minor issue with old
.Codefor older Razor base classes - 🐞 Fix minor issue with edit-dialog in scenarios with multiple portal aliases
- 🐞 Fix minor issue with
IMetadata.Children(...)/...Child(...)#3217 - 🐞 Fix DataSource
LanguageModeler#3219 - 🐞 Fix DataSource
TreeMapper - 🩸 Oqtane: Adam backend didn't always serialize all properties #3206