Deprecated fields on releases and tracks
AnthonySteele opened this issue · 4 comments
On Release
and Track
, the Price
and Formats
fields are deprecated - they just mirror data from the primary package under Download
. ReleaseDate
will go the same way soon.
If I mark these fields with the [Obsolete]
attribute then the xml deserialisation stops populating them, and they always contain null
. We don't want that.
Suggest that we remove the Price
and Formats
fields from the Release
and Track
public DTOs entirely, or replace with read-only properties that forward to data from the primary package.
Consumers will see this upon updating to latest schema nuget package.
As the api responses must still contain the deprecated fields, these public dtos cannot then be used to generate releases and track, only to consume them. That's fine - we can use other internal dtos for generation.
Yup, agree in principle with replacing with read only properties that forward the deserialized. Is it possible to then mark those as [Obselete]
, so we can remove in the next release?
Do people use the schema to generate serialized data then?
-
Should be possible to mark read-only props as
[Obsolete]
, yes -
I will check, some apis that generate lists of releases probably use this. We will swap them over before updating this package.
👍 super
Just resurrecting this as I noticed Locker uses Release
as part of LockerRelease
, and it still uses ReleaseDate
.
Therefore ReleaseDate
on Release should not be marked Obselete
, unless a whole new Schema object is created for the release in LockerRelease
.