So I am trying to update the url of a remote site specified in my managed package. Salesforce allows me to edit the url of the remote site and everything packages fine in my packaging org. I am making this change within a patch package. However when I push the patch to one of the orgs with my package installed it doesn't update. The remote site url remains unchanged in the client's org. It is still set to the old value. Any idea how to update it? Maybe post install script if possible? Do I just need to add a redirect on my endpoint so that existing orgs will be redirected to the new remote site automatically. Not sure what the best thing to do is. Anyone else ran into this issue?
Remote site settings are not upgradeable in a managed package. Here is a link to the matrix describing this:
Since post install scripts cannot do callouts it would be difficult to update the endpoint as the Metadata API is the best way to do it. IIRC there was an apex hack to do it but not advisable and may cause security review issues.
With that said, I would put a redirect in place and then provide a warning to your users to update the setting by a specified time.
Looks like the only way to do this is by adding a new remote site and doing a full package version. The nice thing is that we can push these packages out now so it can be seamless for the end client.