Questions tagged [backward-compatibility]

The tag has no usage guidance.

4
votes
1answer
173 views

What would be the pros and cons of requiring major versions to be forward compatible? [closed]

So I was learning about forward compatibility, and I was wondering if you could warn a "dependent" that a dependency is backward compatible, but not forward compatible*, and vice-versa. The SemVer ...
2
votes
3answers
62 views

Using data to maintain compatibility when evolving RESTful service

I've been reading up on API versioning for REST APIs. Most of the articles I've come across (here's an example) seem to focus on two options: URI based versioning, e.g. v1/my_resource/ Media Type ...
-3
votes
1answer
39 views

Software Platform/Framework Backwards Compatibility with Extensions

How do software platforms/frameworks test for backwards compatibility with third party extensions? For instance, say I have a framework that many third party extensions rely on, and I want to make a ...
3
votes
2answers
121 views

Code quality on backports branch with limitted lifespan

JuliaLang just hit version 1.0 the other week I and many other package maintainers have thus updated out packages to work with julia 0.7 (the transitional release) and 1.0. In doing so, we've often ...
-1
votes
2answers
152 views

How to test for backwards compatibility in NuGet?

Let us say I am working on a project with maybe 100 nuget packages installed and 50 of these packages require an update. I would ike to get a clear overview on which package updates cause any ...
2
votes
4answers
907 views

Best practices for database backward compatibility

I am working on an app which has multiple versions deployed in the market. Different versions have modified databases and databases are to be synced between local storage and server storage by signed ...
2
votes
0answers
846 views

How has Windows maintained binary compatibility for over 20 years? [closed]

Modern Windows 10 can run binaries that were compiled on 20 years ago for Windows 95 or NT4, however I imagine that the libraries that the code is calling would have changed massively since then. I ...
4
votes
3answers
261 views

Why are minor breaking language changes not handled with transpilers?

For any successful programming language, making a breaking change to the language is extremely difficult. This is the case even for those changes where the legacy code could be reliably and ...
1
vote
1answer
472 views

Architecture for Windows 7 Embedded and Windows 10 IoT

I am in the process of refactoring a large application originally written in .NET 2.0, running on an old version of Microsoft's Compact Framework. The idea is to refactor and rewrite the code so that ...
4
votes
1answer
564 views

Impacts of using class_alias() to maintain backwards compatibility in PHP

Scenario: An open-source PHP project that has existed for several years has too many classes in the main namespace that we want to refactor some of them into another namespace, but we have a widely ...
2
votes
1answer
2k views

ASP.NET Web API: enum or strings

I have an ASP.NET Web API application. It uses enums for some fixed sets of states or types. Now I need to extend enum to support more values. But it will break backwards compatibility so I need to ...
1
vote
1answer
124 views

Ensure compatibility between software components

We do have several Components in our product which are Component A Component B Component C Dependencies are (if unmet the system fails): A <-> B B <-> C We are currently creating a build ...
1
vote
3answers
2k views

Handle backward compatibility on API changes

I have an API which allows me to communication with a device. The communication protocol is stored in a JSON file. It list the events that the device can raise, the functions, the frames format, etc. ...
1
vote
1answer
74 views

Is an all-encompassing enumerator appropriate?

I will illustrate the problem with a specific case. Suppose we have a bit-flag style enumeration type defining different kinds of validations. It's tempting to define an enumerator like ...
6
votes
1answer
110 views

How to deal with legacy functionality conflicting with new feature

I am working on a well established (aka clients using it for a while) video player. We recently found out that the drawing engine (ddraw) is deprecated in windows 8 and 10, and choose a modern ...
18
votes
1answer
731 views

Why does(/did) Bertrand Meyer think subclassing is the only way to extend a “closed” module?

In Meyer's Object-Oriented Software Construction (1988) he defines the open/closed principle as follows: A module will be said to be open if it is still available for extension. For example, it ...
13
votes
3answers
2k views

What is a good design for allowing backwards compatibility of files between different versions of software?

What is a good design for allowing backwards compatibility of a file type between different versions of software? For instance, how does microsoft get word 2007, 2010 and 2013 etc... to all open docx ...
15
votes
3answers
2k views

Which version of Java should I use for a desktop application to reach the most users? [closed]

Am I correct to assume that most end users are using an older version than Java 8? Since I do not want to force people to upgrade in order to use my application, should I plan it to use Java 7 or even ...
4
votes
2answers
1k views

Changing method signature while keeping backwards compatibility

I've inherited an API to maintain. Users can pass a callback function to the class which gets called on some event. The callback function is currently passed in a single argument. I need to change ...
14
votes
3answers
560 views

Is there any mechanism to make programming language more stable(compatible) for changes?

There are a big number of programming languages. Some of them grow up and become very popular. People use such languages more and more often. The founder of such language (or founding organisation/...
-1
votes
1answer
633 views

Twitter Bootstap: Backwards compatibility? [closed]

I work for a university Digital Services team. Our university's main website uses the Ektron CMS (I have my own thoughts about this, but that's irrelevant). Because we maintain a university website, ...
2
votes
1answer
107 views

Requirement that code changes within release be reverse compatible with DB schema

I have recently come across a requirement related to our release/SDLC process that seems a little out of the ordinary to me so I am writing this to inquire whether this practice is common and, if not, ...
4
votes
3answers
2k views

Is it safe to just use MySQLi?

I have developed an open source PHP application and currently it uses both the MySQLi or MySQL extension for backwards compatibility. I'm wondering about switching it over to only be compatible with ...
55
votes
14answers
9k views

Keep a programming language backwards compatible vs. fixing its flaws

First, some context (stuff that most of you know anyway): Every popular programming language has a clear evolution, most of the time marked by its version: you have Java 5, 6, 7 etc., PHP 5.1, 5.2, 5....
5
votes
2answers
927 views

Is bash “finished”? [closed]

Should bash be expected to change in ways that break non-trivial amounts of existing scripts at some point in the (near/<5y) future? How much change has it gone trough in the last ten years ...
5
votes
2answers
1k views

How to decide how backward-compatible my new Mac OS X application should be?

I'm currently contemplating writing an OS X version of my Windows software. My Windows application still supports Windows XP, and I know that if I drop support for it now, our customers will cry ...
6
votes
2answers
376 views

Use of versioned objects/data to handle program version compatibility?

Is there a common name for the practice of keeping a version number on your data, so that different versions of your program can identify, for example, "current", "legacy", and "too-old-to-deal-with" ...
1
vote
2answers
239 views

What's the term for re-implementing an old API in terms of a newer API

The reason for doing it is to solve the case when a newer API is no longer backwards compatible with an older API. To explain, just say that there is an old API v1.0. The maker of this API decides it ...
10
votes
2answers
13k views

What is .NET framework backward compatibility?

We develop a windows application in .NET 4 with a database of MySQL. When we are about to deploy that application, we install the .NET 4 framework in our client, then when installing the .NET ...
0
votes
1answer
98 views

Compatibility Test and other testing method to use while building software

I will be adding a feature to the software and have to update or modify some of public API of the present open source software. What are steps which could be taken to ensure the compatibility of the ...
7
votes
3answers
1k views

Strategy for backwards compatibility of persistent storage

In my experience, trying to ensure that new versions of an application retain compatibility with data storage from previous versions can often be a painful process. What I currently do is to save a ...
2
votes
2answers
245 views

How quickly is the silent IE upgrade likely to propagate to end users? What about managed corporate IT infrastructures? [closed]

According to this article from the BBC and this post on Microsoft's Exploring IE Blog, Microsoft has planned to automatically upgrade Windows XP, Windows Vista, and Windows 7's IE to the latest ...
19
votes
7answers
10k views

When to update jQuery?

When you recommend updating jQuery/jQuery UI? Or in other words: what are the best practices for updating jQuery/jQuery UI? I’m working on a long project that will take at least one more year. In ...
2
votes
3answers
704 views

Is C++0x Compatible with C?

I have heard that there will be a lot of changes done in C++ because of the new standard (C++0x). My question is: What are the major changes, and will C++0x be compatible with C++ 98 and C ?
3
votes
3answers
173 views

Will any js libraries be updating api's with html5 under the hood?

So there is a lot of cool stuff in the html5/css3 specs which should be able to replace a lot of the stuff that have been traditionally done with javascript. Does anyone know if any of the major js ...
2
votes
3answers
847 views

Version Changes: How considerable are the compatibility issues in project?

For example if we consider ActionScript2.0(based on Objects but programming does not implement much OOP ) vs 3.0(highly OOP) its like a whole new scripting language in the sense of approach, ...
18
votes
13answers
2k views

C# or .Net features to cut off assuming no backward compatibility needed? [closed]

Any product or framework evolves. Mainly it's done to catch up the needs of it's users, leverage new computing powers and simply make it better. Sometimes the primary design goal also changes with the ...