Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flask-Restless 1.0.0 is unfixably incompatible to 0.17.0… #611

Open
Natureshadow opened this issue Nov 29, 2016 · 4 comments
Open

Flask-Restless 1.0.0 is unfixably incompatible to 0.17.0… #611

Natureshadow opened this issue Nov 29, 2016 · 4 comments

Comments

@Natureshadow
Copy link
Contributor

…which is known and the intention of version 1.0.0.

However, it has turned out in production that migrating to the new JSONAPI stuff is not always possible, and in at least one project it is not desired at all. We have to decide now whether to move to 1.0.0 and unnecessarily re-design the entire API, or drop Flask-Restless and lose most of its conveniences.

I tried forking flask-restless as flask-restless-legacy, but it starts producing strange behaviour when renamed, and I didn't really find out why.

In any case, do you think there would be some way to keep the traditional flask-restless around? I think that JSONAPI is a huge mess in itself, but apart from that, as explained above, migration is not always possible, and as things stand now, having both the traditional and the new flask-restless is not possible.

@jfinkels
Copy link
Owner

In retrospect it was not a good decision for me to make such a drastic change without creating a new project entirely. My apologies for that. I have definitely learned a lot about managing open source software while working on this project the last few years. However, the 0.17.0 version of Flask-Restless has so many problems, I don't feel comfortable recommending anyone to use it. So I'm going to mark this as "won't fix".

My advice is to do what you attempted, create a fork and replace every occurrence of flask_restless with flask_restless_legacy (or whatever name you like). I'm not sure exactly what the strange behavior is, but take a look at the Flask Extension Development guidelines. Direct me to your fork if you want me to take a quick look and see if I can help.

As a last resort, you will always be able to check out the 0.17.0 tag of the Git repository, or download the tarball for that version at https://github.com/jfinkels/flask-restless/releases/tag/0.17.0.

@Natureshadow
Copy link
Contributor Author

OK, I will give it another try tomorrow.

You know, I would like to get both versions into the Debian distribution. I expect other people to have the same issue, and I'd rather have at least some maintenance and security support for the legacy version by having it maintained in a distribution than people operating software with some old dependency they grabbed form just somewhere.

That said, do you have a roadmap for the 1.0.0 release? To get it into Debian 9, I would have to get it uplaoded by middle of January.

@jfinkels
Copy link
Owner

While I understand that the Debian release cycle can be slow and therefore it is important to get things packaged as timely as possible, this will not be ready by then. There are still a few crucial things that need to get done, including creating a migration guide (#535) and full association proxy support (#480).

@sholsapp
Copy link

I know this is probably no longer relevant to @Natureshadow's original question, but for others that stumble upon this issue, I think that http://thelaziestprogrammer.com/sharrington/web-development/upgrading-to-flask-restless-v1.0.0-part-1 is a good introduction into the changes and how to migrate. @jfinkels maybe including a migration document would help folks?

Good stuff, thanks for supporting Flask-Restless!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants