Skip to content
This repository has been archived by the owner on Dec 13, 2021. It is now read-only.

Releases: umco/umbraco-ditto

Ditto 0.8.4

08 Dec 16:56
Compare
Choose a tag to compare
Ditto 0.8.4 Pre-release
Pre-release

Hey there Ditto fans!

Following on from the v0.8.3 release, we are proud to announce the release of Ditto v0.8.4!


Bug fixes

  • #111 Generic Dictionary detected as Enumerable

Breaking Changes

  • #127 #128 Deprecated legacy Ditto TypeConverters (marked as Obsolete, non-breaking change)
  • #116 #119 Removed Ditto.ModelFactory from the repository, (relocated to the Ditto labs repository)

Refactoring (Internal)

  • #110 Moved "Attributes" folder under "ComponentModel"
  • #126 Unit-test for ImageCropDataSet
  • #107 Custom DisposableTimer (for debug mode only)
  • #138 Testing IPublishedContent with IsEnumerableOfType extension method

Documentation


Enjoy the release!

All the best from @mattbrailsford, @leekelleher and @JimBobSquarePants

Ditto 0.8.3

25 Sep 11:28
Compare
Choose a tag to compare
Ditto 0.8.3 Pre-release
Pre-release

Following on from our recent v0.8.2 release, we have a bug fix release... v0.8.3!

Bug fixes

  • #118 Custom PublishedContent property nullifies value

Ditto 0.8.2

17 Sep 15:46
Compare
Choose a tag to compare
Ditto 0.8.2 Pre-release
Pre-release

Following on from this mornings v0.8.1 release, we have a bug fix release... v0.8.2!

Bug fixes

  • #115 Fixes DittoConversionHandlerRegistry cache type-cast

Apologies for the short release cycle with this patch, discovering this specific bug was purely coincidental.

Ditto 0.8.1

17 Sep 09:01
Compare
Choose a tag to compare
Ditto 0.8.1 Pre-release
Pre-release

Following on from our recent v0.8.0 release, we have a bug fix release... v0.8.1!

Bug fixes

  • #114 Bumped ModelFactory version number to v0.1.1, as Ditto v0.8.0 caused a Missing method exception, see #112 for details.
  • #109 Rejected TypeConverter value returns null

Ditto 0.8.0

21 Aug 11:10
Compare
Choose a tag to compare
Ditto 0.8.0 Pre-release
Pre-release

Hey there Ditto fans! We are proud to announce the release of Ditto v0.8.0!

Brace yourself, there are a bunch of breaking changes... apologies for any pain caused, ultimately we think they make for a better developer experience!


Bug fixes

  • #80 Made invalid constructor parameters error message more descriptive.
  • #101 Fixed issue when calling .As<IPublishedContent> causes error, when it should just return the current IPublishedContent.

New features

  • #83 Added UmbracoProperties class attribute to allow you to set an Umbraco property Prefix and/or Recursive flag for the whole model.
  • #87 Added ability to populate an existing object.
  • #86 Added DittoOnConverting / DittoOnConverted method attributes to allow custom logic to be run on the model before / after conversion.
  • #86 Added DittoConversionHandler class attributes to allow before / after conversion logic to be encapsulated in custom classes rather than on the model.
  • #86 Added recursive mapping support if resolved values are IPublishedContent or IEnumerable<IPublishedContent>.
  • #79 Added CurrentContentAsAttribute value resolver to allow remapping of current content to a sub model.
  • #95 Added value resolver context support to allow passing in runtime contextual information to value resolvers (e.g. querystring parameters, etc).
  • 72250be Added generic DittoValueResolverAttribute to allow registering simple value resolvers that don't require an attribute for configuration.
  • #99 Added global conversion handler / value resolver / type converter registry, accessible from root Ditto façade.
  • #104 Property lookups (on IPublishedContent members) are now case insensitive.

Breaking Changes

  • #86 Removed EventHandlers (Use conversion handlers instead.)
  • #86 Changed .As converting/converted callbacks to use DittoConversionHandlerContext.
  • #86 Changed .As method signatures, parameters have been reordered based on usage.
  • #86 Changed value resolver class signature, now no need for method parameters or specific constructor signatures.
  • c4252bb Removed docTypeAlias param for IEnumerable .As calls as it was being used as a pre-filter which is not of Ditto concern and so should be done prior to calling Ditto .As.

Documentation


Enjoy the release!

All the best from @mattbrailsford, @leekelleher and @JimBobSquarePants

Ditto 0.7.0

29 May 10:18
Compare
Choose a tag to compare

Bug fixes

  • #49 Allow TypeConverters to be called when property value is null
  • #53 null check fix and fall-back value for setting the current Culture
  • #59 Update type converters to treat empty string the same as null
  • #61 Error when using a TypeConverter that returns a string (Model property is a string)
  • #63 Issue with type converters and dependency injection

New features

  • #47 Added Enum converter.
  • #65 Ditto Value Resolvers (new attributes to populate property values)
    • Dictionary Value Resolver attribute
    • #73 AppSettings Value Resolver attribute
  • Even more NuGet support...
    • #42 Adding support for SymbolSource for both NuGet and MyGet
    • #43, #57 Create NuGet package for Ditto.ModelFactory

Breaking Changes

  • #52, #55 Remove the need for <T> in converters.
  • #56 Prefix Core TypeConverters with "Ditto"

Performance Improvements

  • #51 Refactoring PublishedContentExtensions for readability and performance.
  • #67 Implemented the use of Proxy classes to enable lazy loading of virtual properties.

Testing

  • #60 Sample of mocking IPublishedContent

Documentation

Special thanks to all Ditto contributors for this release:
@akatakritos, @Hendy, @Jeavon, @JimBobSquarePants, @leekelleher, @mattbrailsford, @mortenbock

Ditto 0.6.1

05 Mar 15:54
Compare
Choose a tag to compare
Ditto 0.6.1 Pre-release
Pre-release

New features

  • #26 - v6.x support
  • #31 - Calls CanConvertFrom when a custom TypeConverter attribute is used
  • #35 - Added a IPublishedContent context to the TypeConverters
  • #38 - PropertyDescriptor now points to target POCO's property
  • #39 - Marked the ConverterHelper as public
  • #41 - Adds a CultureInfo parameter to the .As<T> extension methods
  • #24 - Added built in TypeConverters:
    • ContentPickerConverter
    • HtmlStringConverter
    • MediaPickerConverter
    • MultiNodeTreePickerConverter
    • MultipleMediaPickerConverter
    • UltimatePickerConverter

API amends (non-breaking changes)

  • #40 - Loosen the constraint on the RenderModel extension method
  • #41 - Adds a CultureInfo parameter to the .As<T> extension methods

Breaking Changes

Important breaking change in v0.6.0

If you are using Ditto's IPublishedContentModelFactory implementation, please note that this has been moved to its own project/assembly.

There are 2 reasons for this breaking change:

  1. We wanted to support Umbraco v6.x (to which the IPublishedContentModelFactory was only introduced in v7.1.4)
  2. We faced a show-stopping issue with models containing references to parent models, which ultimately caused an infinite loop. By moving the ModelFactory to its own project meant we could isolate issues without impacting the development of the main Ditto project.
  • #32 - Moved the ModelFactory code to its own project

Ditto 0.6.0

05 Mar 15:37
Compare
Choose a tag to compare
Ditto 0.6.0 Pre-release
Pre-release

Due to a small technical issue with NuGet dependencies, we've had to bump the version number, so please download Ditto 0.6.1. Thanks for your understanding.

Ditto 0.6.1

Ditto 0.5.1

18 Feb 14:31
Compare
Choose a tag to compare
Ditto 0.5.1 Pre-release
Pre-release

Fixes an issue with the assembly reference for System.Web.Mvc (reverts from v4.0.0.1 back down to v4.0.0.0).

Resolves:

  • #27 - Conflicting assemblies when building against Umbraco 7.2.1

Ditto 0.5.0

27 Jan 11:40
Compare
Choose a tag to compare
Ditto 0.5.0 Pre-release
Pre-release

Fixes, improvements and pull-request:

  • VS StyleCop code formatting (#7 - Replace Tabs with Spaces; #9 - Stylekitten)
  • #11 - Minor bug fixes
  • #12 - Move typeconverter check
  • #14 - Error when adding a macro to the RTE
  • #15 - Workaround null-reference exceptions from non-frontend calls
  • #16 - Property Value Null Checks
  • #19 - Adding performance improvements (this covers #3 - Reflection Caching?)
  • #20 - Use DependencyResolver to load TypeConverters
  • #21 - Parse TypeConverter attributes on enumerables