Community Tip - When posting, your subject should be specific and summarize your question. Here are some additional tips on asking a great question. X
Hi everyone !
I’ve got a question regarding deprecation.
I've recently been working on porting old Windchill customizations (wind 8.0) to Windchill 10.1.
When compiling the old java files I’m prompted with warnings about deprecation.
While the goal ofcourse is to use different methods/interfaces to replace the once causing the deprecation warnings there are some cases where it would be more convenient not to …
So how does the transition from deprecation to suspension work, is it usually between big releases like 10 – 10.1 or can it also be between “service updates”? So if these methods/interfaces etc “work” under Windchill 10.1 are there any guarantees that they will work under 10.1 in the future?
Solved! Go to Solution.
It is unlikely a deprecated method would be removed in a point release (e.g. 10.0 to 10.1) or MOR unless there was a security problem.
In general, once a method is deprecated, it has to stay until customers are no longer able to upgrade from when it was supported. For example, if a class or method was supported in 8, deprecated in 9, and if customers can upgrade from 8 to 10, then it should remain in 10.
I think the official policy is in the Customizer's Guide. Also the "Change for this Release" document should list deprecated and removed APIs.
I haven't noticed a deprecated method actually disappearing. Here's an example of how I account for deprecated methods, etc.
PersistenceHelper.manager.find(QuerySpec), for instance, is now PersistenceHelper.manager.find(StatementSpec). I created my own class/method call that simply performs a cast and calls PersistenceHelper.manager.find against the given QuerySpec with a cast to StatementSpec. If there are future changes to the find method, hopefully, I'll only have to account for them in one spot.
There is a policy written out somewhere as to how long after initial deprecation a supported method is supposed to be kept around. Generally such methods are kept along long after this time period, but they certainly can be removed at any point thereafter (to clean up the code, etc).
It is unlikely a deprecated method would be removed in a point release (e.g. 10.0 to 10.1) or MOR unless there was a security problem.
In general, once a method is deprecated, it has to stay until customers are no longer able to upgrade from when it was supported. For example, if a class or method was supported in 8, deprecated in 9, and if customers can upgrade from 8 to 10, then it should remain in 10.
I think the official policy is in the Customizer's Guide. Also the "Change for this Release" document should list deprecated and removed APIs.