Table of Contents

All Changes in EAV and 2sxc v12

Version 12

Changes Version 12.10

  1. New Children DataSource
  2. New Parents DataSource
  3. New Metadata DataSource
  4. New MetadataTargets DataSource
  5. The StreamMerge DataSource got three new out-streams Distinct, And and Xor
  6. Moved IPageService from previously ToSic.Sxc.Web to ToSic.Sxc.Services but preserving compatibility with old code
  7. Moved IPageService from previously ToSic.Sxc.Web to ToSic.Sxc.Services but preserving compatibility with old code

Breaking Change Version 12.10

  1. Jquery is completely removed. This shouldn't affect your code, since all old code usually runs in DNN where jQuery is included by default.

Changes Version 12.06 LTS

No relevant changes

Changes Version 12.05

  1. Introduced IJsonService for json serialize/deserialize
  2. Introduced IConvertService for simple data-type conversion, also available on the Convert property of Razor12 and Api12
  3. Introduced ToSic.Sxc.Services.ILogService to log messages to the system (Dnn/Oqtane)
  4. Introduced IMailService to easily send mails cross-platform
  5. Introduced ISecureDataService to use encrypted settings
  6. Introduced IRenderService for inner-content rendering (Oqtane code must use this)
  7. Published ToSic.Eav.DataFormats.EavLight to better document simple eav data
  8. Published IConvertToEavLight as the new standard way to prepare entities for WebAPI serialization. This is meant to replace previous code using objects such as EntitiesToDictionary or DataToDictionary which are now marked as obsolete.
  9. New Razor12, Api12 and Code12 Classes now don't support old, obsolete APIs anymore
  10. Link.Image now also accepts parameters as a parameter
  11. Link.Image and Link.To always create safe urls now (spaces are encoded etc.)
  12. Link.To and Link.Image now have a parameter type which can be "full" to ensure domains are always added to links (for use in APIs generating RSS etc.)
  13. Update to RazorBlade v3.7
  14. Edit.Toolbar now supports condition so that toolbars may or may not be created based on a true/false value
  15. Link.Image now also accepts a factor or aspectRatio which is a string like 1:2 or 3/4
  16. AsDynamic(...) now also wraps anonymous objects in quite an amazing way
  17. Bugfix: lots of small ones

Breaking Change Version 12.05

V12 adds new properties to Razor and WebAPI which could result in some surprises: Path, Convert, Settings, Resources and DevTools. Especially the new Path and Convert could clash with existing code which had @using System or @using System.IO so the code would just read Path.GetFileName(...) or something. Because of this, we only give the latest classes Custom.Dnn.Razor12, Custom.Dnn.Code12, Custom.Hybrid.Razor12, Custom.Hybrid.Api12 etc. these properties.

This means that previous base classes do not have these by design, and we encourage you to move to these latest base classes.

Important: 2sxc 12.00 - 12.04 also had some of these properties on ToSic.Sxc.Dnn.RazorComponent as well as ToSic.Sxc.Dnn.ApiController. So if you were eager to use these properties but didn't change the base class, you were able to use it. To protect thousands of upgrade-scenarios we had to take them away from the old base classes. Sorry!

Possible Breaking Changes

  1. We believe nothing broke, but it could be that some commands on EntitiesToDictionary or DataToDictionary were accidentally changed. Pls report so we can fix that.
  2. The Link.To(...) now returns safe URLs. This should not be an issue, but in rare cases post-processing of the string returned may expect spaces or something, which are now %20
  3. We disabled old obsolete APIs on the new Razor12, Api12 and Code12 base classes. In case you were using this (not likely) you'll get an error telling you about this.

Changes Version 12.04 incl 12.03 which was not officially released

  1. Settings Stack and Resources Stack added, and the Settings / Resources object now have this
  2. Global Settings.Images.xxx settings defined for Content, Screen, Lightbox and Section
  3. Global Settings.Resources.xxx defined for fancybox3, fancybox4, bootstrap4, bootstrap5
  4. Link.Image API created to support predefined sizes/resize modes etc.
  5. Created feature where DynamicEntities can browse to sub-items using their identifier (used for Settings.Images.Content where Content is actually the title of a sub-entity)
  6. Added debug-feature for DynamicEntity get
  7. String-Dropdown inputs now have a value-key presets option (instead of the key-value which was flaky) and added support for escaping special characters
  8. #Oqtane 2.2 support added
  9. Introduced Monaco (VS-Code online) editor for beta-testing source-editing

Breaking Change Version 12.04

  1. DynamicEntity now has a property Count because it's a list as well, this could cause issues if a content-type has a property Count
  2. DynamicEntity is now always a list. Because of this we removed the DynamicEntityWithList object. We believe the type is never referenced in user code, but if it is, this would be a breaking change.
  3. Many parts that prepare Entities returned a Dictionary<string, object> and now return an IDictionary<string, object>.
    We believe this shouldn't hurt much, since the result would usually be in a var or returend directly to the API for streaming, but in case someone had used explicitly typed code, this will require a minor change

Changes Version 12.02

  1. Formulas feature finalized
  2. DynamicEntityStack object created
  3. Hybrid IPageService created with Activate and similar features
  4. CmsContext was enhanced with View information
  5. Content-Type icons can now be stored in the app with an [App:Path]/image.jpg style reference
  6. Enabled view-configuration to configure search behavior incl. not-to-index or what streams should be indexed
  7. turnOn created / deployed
  8. #Oqtane 2.1 support added in 2sxc 12.02.01

Changes Version 12.00 Todo