Ticket #15 (new defect)

Opened 2 years ago

Last modified 2 years ago

Changes after 1.0 which are problematic wrt compatibility

Reported by: res Owned by:
Priority: major Milestone: 1.2RC1
Component: general Version:
Keywords: Cc:

Description

Several changes have been made to trunk after 1.0 was branched off that break source compatibility, or at leas violate interface versioning rules.

Note that this list does not cover scripting actions, mainly due my lack of expertise in that area. Arguably, scripting actions should treated the same way as API calls - don't change the signature without keeping compatibility for the old version, and no immediate removal (only deprecation + removal at next release).

Major offenses

Compile-breaking changes of method signatures, removal of methods, or removal of complete classes or header files.

Minor offenses

Non-breaking changes but violating SCF interface versioning rules. (Usually addition of methods.)

Attachments

Change History

follow-up: ↓ 2   Changed 2 years ago by genjix

r2423: This had been around for a very long time, but is not useful anywhere. It was long overdue removal.

r2506: I accidentally committed some debugging code on my harddrive (removed after).

in reply to: ↑ 1   Changed 2 years ago by res

Replying to genjix:

r2423: This had been around for a very long time, but is not useful anywhere. It was long overdue removal.

Overdue or not, useful or not: if it's in the public API, there's the risk someone uses it; hence it should be properly removed by following the deprecation protocol.

Yes, compatibility can be a real PITA - but I'd prefer to be thorough and consistent and provide backward compat even for features/behaviours that are, in hindsight, really undesireable.

Add/Change #15 (Changes after 1.0 which are problematic wrt compatibility)

Author



Action
as new
 
Note: See TracTickets for help on using tickets.