Table of Contents

All Changes in 2sxc and EAV v19

Version 19

2sxc v19.00 (2024-12-21)

  1. 🅰️ Update UI to Angular 19 and Angular Material 19
  2. ✅ Finalize Pickers main features
    1. Radio
    2. Checkboxes
    3. Preview Material Icon
    4. Preview SVG
    5. Preview Image (jpg/png)
    6. Configurations: AppAssets, CSS, Entity, Query, CustomList, CSV
    7. Preview features
    8. Info Link Tooltip
  3. ✅ New AppAssets DataSource and System.AppAssets query to get assets for pickers such as all SVGs in a folder.
  4. ✅ Double-Encrypt sensitive data on HTTP-Transport
  5. ✅ Ability to switch UI languages (not just content-languages)
  6. ✅ GPS Picker enhancements with my current location and searching for addresses which were not in the data
  7. ✅ Ability to delete a field (column) which had entity-relationships in it (previously SQL stopped you)
  8. ✅ New Toolbar.Audience(...) API to show it when needed
  9. ✅ Improve UI for creating fields for content-types, better dropdowns, longer etc.

Breaking Changes

  1. An interface called ToSic.Sxc.DataSources.IBlockInstance was removed since it was identical to ToSic.Eav.DataSource.IDataSource and should not be used anywhere.

Bugfixes

  1. 🐞 Fix: various issues around the Pickers
  2. 🐞 Fix: Public forms called a backend endpoint which was protected, and got errors (though it wasn't necessary)

Internal

  1. ✅ Refactor toolbar and image/picture objects to use records instead of classes in C#

2sxc v19.01 (2025-01-16)

Note: the version was incorrectly released as 19.00.01.

  1. ✅ Implemented system to use the As<...> API with interfaces, which will automatically find the right class to instantiate
  2. ✅ Created new DataModel system in the Models and Data.Model namespace #3543
  3. ✅ Created data model for IFileModel and IFolderModel which matches the entities returned by the AppAssets DataSource
  4. ✅ Created data model for IUserModel and IUserRoleModel which matches entities returned by the Users and UserRoles DataSource
  5. ✅ Renamed Roles DataSource to UserRoles (could be breaking change for very few users)
  6. ✅ Created data model ISiteModel which matches data returned by the Sites DataSource
  7. ✅ created data model IPageModel which matches data returned by Pages DataSource
  8. ✅ Finished the ICacheService on Kit.Cache #3536
  9. ✅ Finished the AppAssets Datasource and documented it #3541
  10. ✅ New ToSic.Sxc.Data.Models with ModelWithEntity and ModelWithItem base classes
  11. ✅ Changed System.Text.Json to use .net 9 #3547
  12. ✅ Upgraded to Oqtane 6+ so it's only compatible with Oqtane 6.0.1+ now #3548
  13. 🅰️ Update Date/Time picker to use Angular Material Time Picker
  14. 🩸 Oqtane: Set minimum version to 06.00.01 and minimum .net to 9 because of security warnings

Minor

  1. 🅰️ Fix some inconsistencies in the GPS UI
  2. 🅰️ Minor update Google Maps API to latest (was using old API before)
  3. ✅ Improved Custom DataSource so you can access the List and GetStream(...) #3540

Bugfixes

  1. 🐞 Bug: Fix access to global and site settings
  2. 🐞🩸 Oqtane bugs with JavaScripts due to changes in Oqtane 6.0 and 6.0.1 - affected Interactive mode #3533
  3. 🪲 Minor bugfixes in new AppAssets DataSource

Internal Stuff

  1. ✅ Refactor internal Entity, Attribute Values, ContentType to use record
  2. ✅ Refactor internal SaveOptions to use record
  3. ✅ Refactor internal Entity to be init-only (where were a few set properties left for legacy reasons)
  4. 🏃🏼‍➡️ Start architecture for a Task-system to run things #3545
  5. ⚠️ Enhancement in the Pages DataSource - property renames Visible to IsNavigation and Clickable to IsClickable
  6. ⚠️ Enhancement to the Roles DataSource - renamed to UserRoles - breaking change!

2sxc v19.02 (2025-01-21)

  1. IUserService on Kit.User #3552 which can get one/all users and all roles of Dnn/Oqtane in the same signature as the Users DataSource
  2. ✅ better structure for models in Cms.Users, Cms.Pages etc.
  3. ⚠️ Renamed the system query System.Roles to System.UserRoles - breaking change!

Minor

  1. ✅ Ensure that As<...> API allows the new model interfaces just like AsList<...> #3551
  2. 🐞 Bug: previous release a few days ago had an issue exporting Apps - files in the root folder were missing
  3. 🐞 Bug: previous release a few days ago had issues saving hidden items - they were visible
  4. 🐞 Bug: App name and version did not show in App Admin UI
  5. 💪🏼 Cleanup internal APIs on an internal interface IEntityLight which is not public. Properties: Title, Attributes and this[...]

2sxc v19.03 (2025-01-22)

  1. ✅ introduced Custom.Data.CustomModel
  2. ✅ Finalizing model base classes in ToSic.Sxc.Data.Models and attributes
  3. 🐞 Bugfix editing global and site custom settings