bullmq icon indicating copy to clipboard operation
bullmq copied to clipboard

Please properly report breaking changes and adjust for semver

Open matsko opened this issue 2 months ago • 6 comments

Hello.

We've been using bullmq for a while now and we've noticed inconsistencies with how breaking changes and typescript interface contracts are changed whenever new versions show up.

This issue is a plea to do a better job of keeping track of dangerous changes in your codebase that effect your customers.

Up until this release, our backend was relying on a jobID syntax in the form of part1:part2:part3. Today, as we upgraded to 5.61.0 from 5.58.5, this patch caused a serious outage for us:

https://github.com/taskforcesh/bullmq/commit/845a6f5fdede9ecf4050e8b5617feb56dbb3c9a1

After looking around for what went wrong with the update, I found this small inclusion in your CHANGELOG:

job: add custom jobId validation to prevent : inclusion ([#3384](https://github.com/taskforcesh/bullmq/issues/3384)) fixes [#3382](https://github.com/taskforcesh/bullmq/issues/3382) ([845a6f5](https://github.com/taskforcesh/bullmq/commit/845a6f5fdede9ecf4050e8b5617feb56dbb3c9a1))

This is definitely a BREAKING CHANGE.

While we're only using the free version of bullmq, I can imagine a change of this magnitude would cause serious problems for your paying customers. You see we didn't have unit tests in place to see if bullmq would "freak out" depending as to what goes into a job id--a colon seems to be a pretty ok bet (and it was for years), but a change like this is on your end to communicate.

In addition to this issue, it looks like CHAGNELOG.md isn't used at all within Github. Do us all the favor and provide an actual link to https://docs.bullmq.io/changelog within the CHANGELOG.md and README.md files.

Making changes like this is fine and to be expected with frameworks and libraries, but put in the work to report changes of this sort to your audience.

matsko avatar Oct 08 '25 09:10 matsko

+1, got the same issues myself. that's why now I'm sticking to a version and only upgrade when I remember to @matsko

ferreiro avatar Oct 09 '25 02:10 ferreiro

hi folks, I'll link same comment as in the original pr, this is actually a bug that was reported and we also added a warning while back in our docs since 2023. As @manast said

In your case it was not manifested as a bug as you did not trigger the bug if you did not use flows

roggervalf avatar Oct 09 '25 03:10 roggervalf

about our changelog it's in github and used in our documentation. It's just a symbolic link to https://github.com/taskforcesh/bullmq/blob/master/docs/gitbook/changelog.md that is used by gitbook

roggervalf avatar Oct 09 '25 03:10 roggervalf

Can you add an option to keep allow using ":" ? This change break my application and my jobId already using ":" in many place

kennyma-eplus avatar Oct 09 '25 04:10 kennyma-eplus

I get that your CHANGELOG.md file symlinks to a build-generated file, but viewing the file in Github doesn't work:

https://github.com/taskforcesh/bullmq/blob/master/CHANGELOG.md

You should change your build + publish pipeline to just change the CHANGELOG.md file in place like other open-source projects do.

matsko avatar Oct 09 '25 08:10 matsko

+1, had the same issue. Issues like this are becoming increasingly frustrating.

reginsmol avatar Oct 14 '25 13:10 reginsmol