Skip to content

v2.0.0 Beta1

Pre-release
Pre-release
Compare
Choose a tag to compare
@jamiepollock jamiepollock released this 16 Jan 00:13
· 120 commits to main since this release

This release sees a rework of factories with many breaking changes.

Breaking Changes

  • IComponentMetaDataFactory was moved to the Web packages
  • IImageBuilderFactory and ILinkBuilderFactory were completely removed in favor of directly injecting IImageBuilder and ILinkBuilder into the DI container.
  • IImageBuilder and ILinkBuilder were also moved out of the Infrastructure package and into their own separate package Rhythm.Drop.Builders. This was done so these builders can support web and non-web based logic if needed.

ILinkBuilder specific changes

  • Logic in ILinkBuilder and its methods was consolidated into a single class instead of spread across multiple concrete classes.
  • Removed WithLabel under ILinkBuilder this to discourage varying paths to get to the same thing (e.g. WithLabel() -> AndUrl() was the same as WithUrl() -> AndLabel()). However for extension methods both scenarios would need to be considered.
  • Logic for AndLabel, Include/Remove Attribute and Add/Remove Class was moved to generic interfaces to help with future extension method writing to utilize these methods with duplicating code.

Misc

  • Add RhythmDropBulider for Web were given a "Web" name (e.g. AddHelpers is now AddWebHelpers)
  • RhythmDropBuilder is now in the Rhythm.Drop package.