Skip to content

Please properly report breaking changes and adjust for semver #3489

@matsko

Description

@matsko

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:

845a6f5

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions