Questions tagged [backward-compatibility]
The backward-compatibility tag has no usage guidance.
47
questions
0
votes
1
answer
186
views
How to decide when to increase the minimum supported C++ standard version?
I'm maintaining a library written in C++, which offers modern-C++ bindings for another API that's C-ish (it's this one, although I'm trying to make this question somewhat more general).
Now, when I ...
-3
votes
1
answer
220
views
When has C or C++ made itself intentionally backwards incompatible? [closed]
Context ( You can skip )
I will be doing a presentation on Python, and will be touching upon V3's decision to be intentionally backwards incompatible, and how that has affected Python long term. I ...
4
votes
2
answers
2k
views
Raising new exceptions in Python backward-incompatible?
I'm trying to know if we can freely raise new exceptions when maintaining methods of a versioned library.
Here is a minimal example of what the change could be:
import logging
def check_id_old(...
7
votes
9
answers
2k
views
Changing number of arguments of a function
I wanted to know the best practice(s) for ensuring scalability while passing arguments.
Say, in version 1.0 of an application, the foo function looks like this
void foo(int i)
Now, in version 1.1, ...
40
votes
7
answers
10k
views
Why do library developers deliberately break existing code?
Today, I updated ZBateson\MailMimeParser the PHP e-mail parser library from 1.x to 2.x.
Soon enough, my PHP error log started filling up with errors.
Noting where it happened, I found out that it had ...
0
votes
0
answers
84
views
Download method of type void vs response
Given a method that is widely used and has a void return type:
from somepackage import download_model
from somepackage import get_filename
def download(name, download_path):
response = ...
1
vote
2
answers
103
views
In client-server software systems, why should the client sometimes be backward-compatible instead of the server?
For instance, in the case of PostgreSQL, it is entirely acceptable to use a newer client to connect to an older server; but if you do the opposite, using an older client to connect to a newer server, ...
0
votes
3
answers
163
views
Should it be considered a BC break to return clone instead of new self?
(This question applies to the equivalent code in both Java and PHP)
I have a class like this:
class Foo {
private int $bar;
public function __construct(int $bar) {
$this->bar = $...
2
votes
1
answer
487
views
Backward compatibility testing
As a creator of a software library, how can I verify backward compatibility with earlier versions?
When using a dependency management (here: Maven), multiple versions of my dependency could be (...
0
votes
2
answers
2k
views
How to design front-end to handle multiple back-end versions
In my company, we're using Spring Boot to implement backend API and React to implement frontend including Web interface and Android/iOS apps.
Since our product is an Enterprise software, customers ...
4
votes
1
answer
1k
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
3
answers
96
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
1
answer
53
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
2
answers
168
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 ...
0
votes
2
answers
937
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 ...