← Back to team overview

launchpad-dev team mailing list archive

Removing attributes and web service backwards compatibility

 

Hi,

I recently worked on bug 186660, which called for the removal of the wiki_names attribute from Person.  In doing so, I realized the attribute was exported to the web service and completely removing it from the interface and database would break our existing contract for beta and 1.0 versions of the API.

At first Gary and I discussed changing the get method for the Person attribute to return an empty results for the wiki_names collection.  This approach is insufficient as the attribute has been writable too and any scripts attempting to patch it would error.

It would be nice to mark the attribute as deprecated in devel, allowing for removal when beta and 1.0 EOL, but there is currently no lazr-restful declaration analogous to 'operation_removed_in_version' that works with attributes.

For now I have deployed a branch that simply removes references to wiki names for Person from the web UI but leaves the database alone and continues to export the attributes.

So my question is: what is our policy for API backwards compatibility for exported attributes we wish to remove?  Has this been addressed in the past?

Thanks,

Brad

Attachment: PGP.sig
Description: This is a digitally signed message part


Follow ups