Skip to content

Releases: 2sic/2sxc

17.08 with new APIs, Features, Bugfixes

16 May 19:05
Choose a tag to compare


  1. New ITemplateService on Kit.Template to easily replace tokens like [User:Id] or [Product:Title] in strings etc. #3373
  2. Ability to switch editions for Super-User in the layout-toolbar button, allowing the super-user to see other editions #3384
  3. Ability to give other users (eg. Admins) the possibility to switch editions - eg. to preview a release #3384 #3386
  4. lots of new tutorials on


  1. MyContext.Block.Guid added #3379
  2. MyContext.Module.Block added #3378
  3. MyModel.Gps("name") added #3383
  4. Updated ImageFlow to latest version (Image Resizer) #3382
  5. Kit.SecureData now has HashSha256(...) and HasSha512(...) methods
  6. Toobar tweak for Data-dialog with filter now supports int-arrays #3376
  7. Show System queries in dropdown, eg. System.Users #3033
  8. help-error when Razor inherits from a file which is not based on real Razor classes
  9. Feature to show toolbars to everyone - eg. for info-toolbars

Bug Fixes

  1. Oqtane partial razor had trouble with AppCode #3370
  2. In various random edge-cases (typically involving ghost content-types) there was an IServiceProvider disposed exception #3387
  3. ValueSort DataSource would return nothing if it had not been configured #3375
  4. Oqtane: null-exception when adding new modules #3369
  5. Compatibility on an old GetContentItem API was temporarily broken #3371
  6. Oqtane bug in LightSpeed cache
  7. Dnn: Improve CodeDom missing messages

Internal Reworks / Refactoring

  1. Make ILookUpEngine functional #3372
  2. Polymorphism now uses better architecture #3385
  3. Improve internal CacheService
  4. Create internal AppJsonService for the app configuration

2sxc 17.07

01 May 14:54
Choose a tag to compare


  1. Razor API Link.Image(..., "SettingsName") can now use settings names #3357
  2. Razor API GetStack(...) now fully implements ITypedItem where possible #3359
  3. Razor API GetStack<T>(...) introduced #3361
  4. AppCode can now contain all Api Controllers precompiled using HotBuild and show them in the UI #3360
  5. UI: Picker-String can now use Value/Title as placeholders in info etc.
  6. Toolbar: Hover-Toolbar on Layout button now shows information about query/streams #3366
  7. Toolbar: Toolbar-buttons with delayed notes now have a small indicator #3367
  8. UI: Picker/Dropdowns performance enhancements
  9. UI: Picker/Dropdowns show indicator if search return no results

Important Bugfixes

  • Draft items not always shown to Admin #3351
  • edit-ui picker shows strange label after creating new items #3352
  • new module without demo-data is missing edit buttons #3354
  • Link.Image(AllSettings...) didn't work properly #3356

Other Bugfixes / minor features

  • ITypedItem.Img(...) (a new api) incorrectly had too many required parameters #3358
  • Renaming a content-type had a regex which failed in newer browsers #3365
  • UI: Picker sometimes used "x" and sometimes "(-)" to indicate remove, standardized on "(-)"
  • internal code to manage app.json config file now caches it intensively
  • feature to enable "always use Roslyn for Razor" implemented (configurable in app.json)

2sxc 17.06.03 LTS

05 Apr 13:50
Choose a tag to compare

Minor bugfix related to custom data sources #3348

2sxc 17.06.02 LTS

04 Apr 19:43
Choose a tag to compare

Just very minor enhancements in regards to new APIs.

Mainly widen the objects you can use with the new As<CustomType>(...) API.

2sxc 17.06.01 LTS

03 Apr 11:04
Choose a tag to compare

Follow up LTS with minor bug fixes

  1. LightSpeed Cache improvements #3342
  2. Bug in Item Picker #3339
  3. AppCode GetService with Type Name #3344
  4. Custom AppCode Api Controllers went stale after cache expiry #3341
  5. Caching AppCode Razor issues with multiple copies of the same DLL #3340
  6. Minor: ensure IDataStream implement ICanBeEntity

2sxc 17.06 LTS

28 Mar 08:16
Choose a tag to compare

The first LTS (Long-Term-Stable) Release of 2sxc 17.

compared to the previous version it mainly has some bugfixes such as:

  • When accessing an App through another app (eg first going to Apps-Management) it show the data of the original app
  • Opening features in Apps-Management didn't work reliably
  • Edit-UI Picker / Dropdown code was cleaned up
  • Copilot Razor Generator ready to use
  • Copilot Service generator ready to use
  • Copilot WebApi generator ready to use
  • Copilot previously failed if the AppCode folder was missing
  • Fix to a data-caching issue in 17.05 (this was important)

17.05 - almost LTS

25 Mar 07:55
Choose a tag to compare

We believe this is stable, but ask the community to do in-depth testing so we can release an LTS


  1. Improved Code-Generator to be in a standalone DLL ToSic.Sxc.Code.Generate
  2. Improved Code-Generator to generate Razor, Code and WebApi base classes


  1. Impove image-resize tooltip #3329
  2. $2sxc JS used in modules which are rendered into Dnn themes #3333
  3. Improve logging of parameters of DataSources (eg. Value-Filter DS)
  4. Prepare for Oqtane 5 SSR
  5. Improve architecture for generating App-objects in the background

Bugs fixed

  1. various admin and replace-operations on inner-content #3299
  2. fix quickE when selecting content-blocks #3317
  3. Token templates - fix some toolbars #3328
  4. Fix issue with Oqtane urls
  5. Fix issue with Oqtane WebApis which affected Blog RSS feed

v17.04.00 - mainly bugfixes

11 Mar 06:09
Choose a tag to compare


  1. MyView.Resources added to complement existing MyView.Settings #3315
  2. ITypedItem.Img(...) added to complement exitsing ITypedItem.Picture(...) #3324
  3. Dnn improve Roslyn build performance in many cases from ca. 2.5 seconds to 0.5 seconds #3322
  4. Query: Improve $select OData parameter
  5. REST API - add $select OData Parameter #3319
  6. Razor / Typed Code: add a Customize helper ojbect #3316
  7. Admin UI - Data Scopes now show count
  8. Add Razor compile code help for more common problem such as accessing typed-items dynamically
  9. Improve razor compile help - show errors before warnings
  10. Picker - auto extract additional fields to retrieve based on placeholders in Label / Help texts etc.

Generate Data Models Improvements

  1. Include Scope name
  2. Include content-types in Configuration scope
  3. CustomItem - implement == and != operators to use wrapper equality
  4. Lots of docs for custom data
  5. app.json editions configuration, add isDefault


  1. UI Date Picker - fix but with UTC offset #3321
  2. UI Page Picker - fix, was broken in 17.03.00 #3320
  3. Calling Query using JS missed the Id property #3325
  4. Admin: state of the DateTime Show-Time toggle didn't properly get persisted #3318

v17.03 with Pickers, Razor Models and more

04 Mar 07:34
Choose a tag to compare


  1. New picker input types for entity, string and number allowing things such as
    1. Custom labels incl. showing the ID or other fields in the label #3195
    2. Ability to show even more info / fields in the tooltip and info icon
    3. Ability to add a link to help for each item
    4. Ability to select the same item multiple times (if configured to allow this) #2871 #3180
  2. Ability to install more pre-recommended apps after the initial install!
  3. Ability to create a Razor with a strictly typed model using @inherits Custom.Hybrid.RazorTyped<TModel> #3310
  4. HotBuild - Ability to have a typed App object with typed Settings and Resources #3312
  5. Ability to create custom AppCode.Razor.AppRazor which would then provide the custom App object #3312
  6. New As<Type> and AsList<Type> APIs for using custom data models
  7. New Custom.Data.CustomItem base type for custom data models
  8. New App.Data.GetAll<Type>() and App.Data.GetOne<Type>(id) APIs


  1. App Admin - Data: show link columns a bit different so it's easy to see if they use the page:72 vs. a real like like https:/... #3311
  2. AppCode.Data auto generated code
    1. Ability to create custom Presentation on generated typed models
    2. Place auto-generated in a sub-namespace and add a prefix to avoid using by accident in other code
    3. Ability to create custom properties using As<Type> and AsList<Type> inside CutomItem
    4. Implement equality so it just works
    5. Improve GPS fields
  3. Add more code-help in common cases such as using @As<type>(...) which makes Razor think <type> is HTML
  4. App_Data/app.json enhanced with improved schema to configure Copilot
  5. On compile errors, show errors before warnings
  6. Add more template apps - now we have Empty and Basic


  1. In Multi-select, the options show the guid instead of title #3296
  2. Dropdown fields sometimes show wrong title #3313
  3. In Dnn with sub-portals having multiple aliases - fix bug which may have selected the first instead of primary

v17.02 with Copilot, AppCode

22 Feb 15:49
Choose a tag to compare


  • 2sxc Copilot generates C# classes for your data 🌟 #3244
  • Major improvements with Intellisense 🌟 - now providing links to docs #3305 #3198
  • Better guidance for users who create new Apps 🌟 #3297
  • Content-Type Composition 🌟 new feature! #3196
  • Renamed ThisApp folder to AppCode #3293 (breaking change on a beta feature)
  • ITypedItem now has a Gps method to get GPS coordinates from a picker #3308


  • Improved Apps-Management UI to use left menu #3292
  • Added persion language pack FA #3294 - thx!
  • Updated Monaco to latest version #3301


  • Oqtane: issues in navigation on Oqtane 5.0.2 #3303
  • Oqtane: issue with 2sxc 17.01.07 #3291 #3306
  • Fix Date-Time picker in UI #3295
  • Edit UI - hint about translated text #3302
  • Edit UI - double click to translate fails #3304
  • Edit UI - required fields are not respected if they were invisible for a while #3307
  • App Cache buggy in 17.01.07 #3298
  • Admin UI showing Ephemeral Entity fields in items #3171
  • REST API permissions #3288