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

Backward compatibility breakage #61

Closed
borisbaldassari opened this issue Nov 30, 2017 · 3 comments
Closed

Backward compatibility breakage #61

borisbaldassari opened this issue Nov 30, 2017 · 3 comments

Comments

@borisbaldassari
Copy link

Hi!

I'm not sure about when that occured, but I've updated my perl modules and now the whole minion API seems to be broken. Among the changes I have identified so far:

  • app->minion->backend->job_info isn't available anymore, have to use list_jobs instead.
  • app->minion->backend->list_jobs now returns a hash ref (was an array ref not so long ago).

I'm still investigating, but other pieces seem to have been moved. Maybe this is all normal, but I could not find any explanation so far so I'm a bit confused..

  • Minion version: 8.03
  • Perl version: (with perlbrew) 5.26.1
  • Operating system: Linux Mint Debian Edition LMDE 2 Betsy

BTW, thanks for all the good work, Mojo rocks. I've built Alambic on top of it, and your framework has proved great and flawless up to now.

@jberger
Copy link
Member

jberger commented Nov 30, 2017

Hello Boris,

Yes there were some breaking changes in the Minion version 8.0 release. Per the project rules breaking changes are allowed at major version releases. While we are sorry that your code is broken, this process has consistently allowed the Mojo project and related projects to improve. In this case the breaking changes allowed for a new Minion Admin UI (Mojolicious::Plugin::Minion::Admin) to be provided, which we hope you'll use and enjoy.

To help you update your code, the changes are always listed in the Changes file:
https://github.com/kraih/minion/blob/0dd0c312cc19886ecc859e1386c5f78800aaaa37/Changes#L15-L24

@jberger jberger closed this as completed Nov 30, 2017
@borisbaldassari
Copy link
Author

Hi Joel,

Thanks for the quick and to-the-point answer. Hum. my bad. :-)
As a sidenote, while I fully understand and appreciate this approach, I now realise that it can be brutal.. I had barely seen the specific upgrade of Minion in the cpanm command, even less that it introduced breaking changes. That's probably the price to pay for a always-up-to-date framework.

I will subscribe to the mailing list now..

Thanks, have a great day!

@Grinnz
Copy link
Contributor

Grinnz commented Nov 30, 2017

I am not sure if this applies to your situation, but with any Perl production deployment it's recommended to use Carton to pin your dependencies, so you can take care with any version updates. https://metacpan.org/pod/Carton (Note that carton exec is not actually needed, you can simply use the installed local/lib/perl5 library dir in whatever manner is suitable to your application.)

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

No branches or pull requests

3 participants