Skip to main content

Questions tagged [backward-compatibility]

The tag has no usage guidance.

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 ...
einpoklum's user avatar
  • 2,574
-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 ...
Anon's user avatar
  • 3,613
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(...
Stéphane Bruckert's user avatar
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, ...
awakened's user avatar
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 ...
user16508174's user avatar
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 = ...
Yosi Dahari's user avatar
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, ...
Kal's user avatar
  • 355
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 = $...
SOFe's user avatar
  • 708
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 (...
Matthias's user avatar
  • 145
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 ...
JamesBoyZ's user avatar
  • 245
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 ...
CidTori's user avatar
  • 149
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 ...
Erik Madsen's user avatar
-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 ...
Need Answers Fast's user avatar
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 ...
Frames Catherine White's user avatar
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 ...
Just van der Veeken's user avatar

15 30 50 per page