Replies: 3 comments 2 replies
-
I don't think we should remove all APIs that are deprecated, as there are different reasons for deprecation. Some things are deprecated without an alternative (like If the code is easy to upgrade and the deprecated API is not commonly used or widely covered in tutorials, then I think it makes sense to remove such APIs after N minor versions. For example, in 4.4 release we can add a message "This property will be removed in Godot 4.6" for some deprecated properties. This will give users enough time to upgrade their projects. |
Beta Was this translation helpful? Give feedback.
-
This would require changing our release policy so it's pretty risky, and most deprecation should involve replacing code with delegation meaning the "dead" code is usually very minimal for things I'd say would be reasonable to remove (i.e. not deprecated classes or major old code) If deprecated code isn't needed, and reducing unnecessary size is important, you can always compile with |
Beta Was this translation helpful? Give feedback.
-
So far, the amount of deprecated code is pretty small and manageable, at least in my opinion. If we keep accruing it at approximately the same rate, I don't think we should really be burdened by it, even after 4-5 years. Of course, that could change, and we could see an increase and a corresponding spike in maintenance cost, but I think we should address it then and not before it becomes an actual problem. |
Beta Was this translation helpful? Give feedback.
-
Just like the title says, this proposal, if implemented, would make all code marked as deprecated have a set lifetime (for example 3 minor versions, which is around a year of Godot development).
As it stands, deprecations get removed during a major version update (e.g. Godot 3 -> Godot 4). This is in line with semantic versioning, but it comes at the cost of having to bundle dead code with the engine.
Beta Was this translation helpful? Give feedback.
All reactions