RazorBlade ChangeLog
Version 4
Version 4.0 (2022-12)
- Created a new interface
IHtmlTag
which is supported by all generated code, and ensures you have methods such asAdd(...)
orWrap(...)
when using any tag generically.
It is available onToSic.Razor.Blade
so you don't need to add more namespaces - Create a new
ToSic.Razor.Blade.IHtmlTagService
which provides the same functionality as the staticBlade.Tag
API, but with immutable objects (see below) - All generated tags like
Div
,H2
etc. can now be immutable.- The existing
ToSic.Razor.Blade.Tag.TAGNAME(...)
apis continue to deliver mutable objects (like before) - The new
IHtmlTagService
provides immutable objects. This can lead to surprising effects when migrating existing code, so that should best continue to use the oldBlade.Tag...
- The existing
- .net Core build now requires .net6 (previously .net5)
- Removed the
StartUp.RegisterToJson(...)
method which was used at StartUp in special cases to register alternate json-serializer - The
AttributeOptions
andTagOptions
were made read-only for reliable fluid / immutable APIs. This is kind of a breaking change but we believe it won't affect anybody. since it was basically an internal API which nobody used outside of this. - Changed minimum requirement on
Razor.Blade.Dnn
to be DNN 9.6.1
Version 3
Version 3.0 (2019-10-21)
Released V3 which was a complete rework and had a new root namespace.
- Created website with full API documentation Razor-Blade.net
- Created all Html5 tags and quick-accessor using Tag.xxx
Breaking Changes
We really hate to introduce breaking changes, but 3.0 was a good opportunity for this.
- Renamed everything to use the namespace
ToSic.Razor.Blade
from previouslyConnect.Razor.Blade
. This was improtant, because we decided to release RazorBlade as a NuGet package, and the previous namespaceConnect
didn't make any sense. - Renamed the DLL to be in-line with the changes, which also means that previous code still works, because the new namespace can run side-by-side with the previous one
- Reorganized some internal APIs, so they won't disturb in public documentation
- Modified the
Text.First()
method so it could now take an unlimited amount of strings to pick the first one. - Moved primary repo in Github to 2sic
V3.01 2019-12
Minor fixes / changes which required a version bump.
V3.02 2020-04
- Added Tags.SafeUrl()
V3.03 - V3.06 2021
- Added support for .net 5 and Oqtane
- Deprecating support for the
HtmlPage
because it won't work in .net core
V3.07 2021-09
- Created
Tag.RawHtml(...)
Tag.Attr(...)
now can also accept ITag values like prepared attributes- Various null-checks/bugfixes
- Operators to enable adding Tags like
Tag.P() + Tag.Div()
- Adding tag contents with IEnumerable (previously only Arrays worked)
- Fix Json serialization for Oqtane (previously internal ToJson only worked in .net 451)
- Will probably be bundled with 2sxc 12.05
- Removed the
IHtmlPage
interface from the docs as it shouldn't be used any more
V3.08 2022-01
- Improved
Tag.Custom(...)
andTag.RawHtml(...)
V3.09 2022-02
- Added new IScrub system and ca. 100 unit tests
- Implemented DI support
- Added
Text.After(...)
- Added
Text.AfterLast(...)
- Added
Text.Before(...)
- Added
Text.BeforeLast(...)
- Added
Text.Between(...)
V3.10 2022-02
- Minor bugfixes and clean-up of tests
Version 2
Version 2.02 (2019-10-15)
- Improved the
Add
andWrap
on the fluid API AddIconSet(...)
now defaults to using the provided image as the favicon
Version 02.01 (2019-10-14)
HtmlPage
gotAddIcon
andAddIconSet
- see tutorial
Version 2.00 (2019-04-09)
- Released first draft of Fluent Tag API which was later brought to final in 3.0
Version 1
Version 1.02 (2019-04-05)
- Created draft
HtmlTags
API - which was later completed in 3.0
Version 1.01 (2019-02-27)
- Created
HtmlPage
API to read/write DNN header properties and add all kind of headers
Version 1.00 (2019-02-17)
- Released RazorBlade
- Created
Text...
andTags...
API - Released it as a DNN Extension Library on Github