We have moved to GitHub Issues
Created by Dirk 28 Apr 2014, 09:13:47 Updated by Stephan 25 Apr 2016, 07:20:38
Relates to: U4-4730
IPublishedContentProperty has become IPublishedProperty as result of IPublishedContent.GetPropertyValue<>() and IPublishedProperty does not exist in v6.1.6. Thus I think it is a breaking change.
Our documentation states that changes to interfaces belonging to Umbraco.Core.Models are not considered a breaking change because a developer cannot implement these interfaces directly within Umbraco which gives us some flexibility to progress the codebase. However I am not familiar with this exact change (I will ask Stephen about it) but this is how the published content pipeline is implemented in v7 since 7.0 was released.
Have you upgraded to 6.2 and get YSODs because of this? I can only see this being an issue if there are extension methods created against this interface in your own codebase, though I suppose there could be packages that have relied on this, I'm not too sure.
Will see what Stephen says.
Yes, I have upgrade to 6.2 and got a compile time error in my codebase. So not a big issue for me. Just want to report this.
IPublishedContentProperty was renamed into IPublishedProperty for 6.2 and 7.0. Nobody really implements that interface, but code that does content.GetProperty(alias) and expects an IPublishedContentProperty in return will fail and needs to be recompiled. Just recompiled but... breaking change indeed.
Have pushed come code that re-implements the IPublishedContentProperty interface for 6.2 -- will ''not'' get merged into 7, though. So it's really a backward compatibility fix. Dirk... would it be possible for you to test?
Hi Stephan, looks good for me.
Bit confused on this fix, we've got something in 6.1.6 which is using the IPublishedContentProperty to get the Version and Alias (using https://github.com/umbraco/Umbraco-CMS/blob/11c9abf35978557b94fc87dd43106c8c7364f517/src/Umbraco.Core/Models/IPublishedContentProperty.cs) So after upgrading to 6.2.0 these are gone from the interface, even after Stephan's fix, see
So, it seems like it's still a breaking change as you've removed some properties between versions. Can you advise on a workaround?
Breaking change. Alias is now PropertyTypeAlias and Version is gone because it was meaningless for properties (returned Guid.Empty). Can add them back to 6.2.1 -- would that be required?
Thanks for the quick response, if all the properties have an empty guid then that's fine, I can code around that(just needed the version it because the IProperty interface demanded it, I don't think we're actually using it anywhere).
Thanks a lot.
"unbroken" in 320b53ae3cce6d2b0306c2b5c15ec5362af00c2f, will be released with 6.2.1 tomorrow.
@sebastiaan so now there's both an 'Alias' and a 'PropertyTypeAlias' - which is still a breaking change so not sure your fix has solved anything since people would still need to update their implementation of IPublishedContent.
It's not about ppl implementing IPublishedContent I think, more about ppl reading the "Alias" property and not wanting to update their code to read the "PropertyTypeAlias"?
i guess, either way it's already been released like this.
This is old - closing.
Backwards Compatible: True
Affected versions: 6.2.0
Due in version: 6.2.0