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

Add support for stomp-1.1 #7

Merged
merged 6 commits into from
Sep 12, 2014
Merged

Conversation

ralphbean
Copy link
Contributor

I have tested this locally in the test suite as well as with an activemq broker
and my own application.

I think I handled backwards compatibility well. Users of stomper that want to
stay on stomp-1.0 should not notice any difference. To use stomp-1.1, you have
to import stomper.stomp_11 as stomper. If we want to switch it out as the
default at some point, that could be done in stomper/__init__.py.

(Bookkeeping - this relates to #6)

Here's a link to the protocol specification: https://stomp.github.io/stomp-specification-1.1.html

@oisinmulvihill
Copy link
Owner

Hi Ralph,

Thanks for your work on this. I have one or two thoughts on this. I'm tempted to make your version stomp_11.py the default init.py as its the more up to date. With this pull request there is no init.py. This would break current users as it won't import by default. Existing users might be broken by the 1.1 default, however if we flag this up as compatibility breaking 1.3.0 release that might be ok. They could stick with the last release until they update their code. The other thought is perhaps some of the common code between stomp_10.py and stomp_11.py could be shared, although I can see pros and cons to the current approach.

What are your thoughts?

Oisin

@ralphbean
Copy link
Contributor Author

With this pull request there is no init.py.

Oh my! I just forgot to git add it (your .gitignore caught me by surprise.. ;p). Let me add it here..

@ralphbean
Copy link
Contributor Author

So, what I had originally been thinking was that, as in 7ea99d7, we could keep stomp_10.py as the default, and existing users' code would work just as before (fingers crossed).

How about this: we could release a 0.3.0 with this (keeping stomp_10.py the default) and then subsequently release a 1.3.0 with stomp_11.py as default (just change the import in __init__.py). This way, users can choose which of the new implementations they might want. They could use the 0.3.0 release, non-breaking, and take their time to make sure their applications work before committing to 1.3.0.

@oisinmulvihill
Copy link
Owner

Hi Ralph,

I agree with the approach. I'd forgotten to check my own numbering system. No idea where I got the v1.3 from. Lets use the 0.3.0 as the breaking release version and 0.2.9 (with later fixes 0.2.10, 11, ...) for the default stomp_10.py.

Oisin

@oisinmulvihill oisinmulvihill merged commit 7ea99d7 into oisinmulvihill:master Sep 12, 2014
@oisinmulvihill
Copy link
Owner

Merged and released in stomper-0.2.9. I'll now add a version 0.3 with the STOMP v1.1 as the default.

@ralphbean
Copy link
Contributor Author

Exciting! Thank you @oisinmulvihill :)

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

Successfully merging this pull request may close these issues.

2 participants