2sxc 20.00.09 MoT - preparing for v21
2sxc v20 cleans up a lot of history, so it has breaking changes.
These mainly affect old code, so they should only affect DNN installations which have old code on it, or used old samples to develop Razor.
Read about it in the blog: https://go.2sxc.org/v20
See also the docs with all the changes and breaking changes
v20.00.09 has a lot of changes, enhancements and more, but most of it is hidden in the background, for the upcoming v21 release.
Possibly Breaking Changes
- Global extension fields (for the edit UI) are now in
/extensionsand notsystemany more.
This may affect you if you were loading the GPS/WYSIWYG manually, or had custom extensions in the old path.
Major Enhancements
- 🧩 App Extensions: Lots of enhancements
- 🧩 Feature to edit extension definition and store in a JSON in the extensions
App_Data - 🧩 System can differentiate between installed extensions and extensions being developed in an App, and provide different actions
- 🧩 Feature to export an extension incl. extensive infos, file fingerprints, versions, releases
- 🧩 Feature to install an extension incl. drag & drop
- 🧩 Feature to check if an installed extension was modified (for safer upgrading)
- 🧩 Feature to delete an installed extension
- 🧩 Extension Settings and language Resources
- 🧩 Extensions can now be installed in multiple editions
- 🧩 Extensions with input-types and multiple editions will load
stagingif user is developer/host - 🧩 Extensions have a lot of properties and links shown in the quick overview
- 🧩 Feature to edit extension definition and store in a JSON in the extensions
- ☢️ Stabilizing DNN CSHTML compiler caching and PDB preservation for better debugging
- 🌪️ Queries: Published many more System queries which were previously secret, such as
System.ContentTypes, etc. see - 🥫 DB: Increase SQL timeout because sometimes SQL was sleeping and causing timeouts
- ❤️🔥 OData Support WIP
- $select support
- $filter support for basic filters (
eq,ne,gt,lt,ge,le,startsWith,not startsWith,contains,not contains) - $orderby support
- 💃🏼 Major: Template Service can now create templated entities.
- 🧑🏼
✈️ Data Copilot: Ability to configure in detail what should be generated and how (specify alternate folders, namespaces, etc.)
Minor Enhancements
- 🔳 Toolbar: Ability to combine toolbar on a entity-field with
Copyto add copies of data to a list - ✏️🔳 Toolbar & Edit UI: Introduce
UiFields()on toolbar button Tweak - ⚙️ Admin UI: Show more info about fields (such as read-only, required etc. in addition to has-formula)
- 🌍 Language: Restore Translate All/Link All feature (had been gone for more than 1 year and nobody noticed)
- ✏️ Edit UI: Improve paste-as-text in WYSIWYG
- 🖼️ Improve Image Service so it knows about Bootstrap if added through
Kit.Page.Activate(...)(otherwise image resize/class is off when used in a skin without bootstrap) - 🌪️ DataSource: ContentType DataSource can now accept
Scopeof*to search through all scopes - Minor: Add Recaptcha Score field to settings
- Minor: Add loading indicators in various UIs to improve UX
Bugfixes
- 🐞 Improve locking / unlocking AppCode.dll which is compiled on the fly
- 🐞 Fix AppCode reporting compilation errors (were disabled in a previous release)
- 🐞 Fix languages returned by serialized entities in WebAPIs (some scenarios resulted in wrong language being returned)
- 🐞 Fix remove a data-source in a VisualQuery
- 🪲 🌍 Edit UI: Translate buttons showed up in the primary language when there was only 1 language
- 🪲 🌍 Edit UI: Translate buttons blocked access to some other buttons on entity-pickers
- 🪲 ☢️ DNN: When code in DNN triggered an HTTP Redirect, it previously logged an exception in DNN
- 🪲 Minor: fix time zone info in edit-entity-history
- 🪲 Minor: fix colors of inner-content toolbar
- 🪲 Minor: fix / enhance Tokens, so multiple fallback-tokens work (previously only 1 was possible)
Internal Changes
- Experimenting with delayed loading of AppCode dll because it may cause issues with anti-virus locking the file at first compile
- Edit UI Improved SASS to latest standards
- API renaming: shorten
noParameterOrdertonpoas the type already indicates what it is - Maintenance: get rid of obsolete warning IHostingEnvironment
- Maintenance: Update xng-breadcrumb to latest version
- Maintenance: Update various npm packages to latest versions