2sxc 9.3 with Versioning
2sxc 9.3 has some amazing rework done under the hood, but the most important features for the user will be
- Item Versioning - items are saved in a timeline as they change
- Item History - you can look how an item changed in the past
- Item Restore to a previous point in history
To do this perfectly, we spent more than 100 hours refactoring the data layer, because we wanted to implement it in a way that would allow many new features down stream. The full list of changes is here:
https://github.com/2sic/2sxc/milestone/130?closed=1. We also added some exciting features as
- IStorage interface - to enable future storage systems different from the SQL model
- JSON persistence format to serialize Entities (content-items) to JSON allowing a wide range of new features incl. better testability
- Completely reworked the save-logic to allow for exchangable storage systems
Note that we changed a lot of the EAV layer which is in charge of all the data. This shouldn't affect anybody, but in case you had some really deep code accessing IEntity interfaces or similar (which you should not have ;) then this would mean you'll have to update some interface names.
If you're affected by the breaking change, please read https://2sxc.org/en/blog/post/fixing-the-breaking-change-on-tosic-eav-ientity-in-2sxc-9-3