Not necessarily a definitive list, but things that come to mind.
Not fixing additional problems not described in the issue.¶
If so, split the PR into additional sub-tasks.
All string extractions follows our rules.¶
No exceptions are squashed.¶
There are no rescue statements throwing away exceptions, therefore stacktraces.
scoped_search definitions for virtual fields (:ext_method) use :only_explicit¶
It can stop free text search breaking if the field definition added doesn't actually exist - i.e. it's a fake field that uses :ext_method to return results. In this case it should use
:only_explicit => true too so it isn't searched in free text searches (see also #5777 for another instance of this).
For internal APIs etc that are changing, use Foreman::Deprecation.deprecation_warning to add a warning for plugins that are triggering old codepaths.
We ship deprecated methods for two stable releases, giving plugin authors the chance to ship their plugin with compatibility for a couple of versions before forcing their hand. If our most recent stable release is say, 1.9-stable, then the deprecation first goes into develop which becomes 1.10, still in 1.11 and so the deadline would be 1.12. It would be removed after 1.11-stable's branched. Use the most recent stable number, plus three to work out the deadline.