graphql-config icon indicating copy to clipboard operation
graphql-config copied to clipboard

Breaking changes from v2.2.1 to v2.2.2

Open jaydenseric opened this issue 4 years ago • 2 comments

There are undocumented API breaking changes from v2.2.1 to v2.2.2:

https://github.com/kamilkisiela/graphql-config/compare/v2.2.1...v2.2.2

writeSchema is no longer exported, and I for one was depending on it.

For example:

https://gist.github.com/jaydenseric/dccd8719ee41741df6d221815a0b0394#file-update-schema-js

The v2.2.2 release description “Same as v2.2.1” is frustrating:

Screen Shot 2020-04-17 at 8 33 40 pm

Please:

  • Consider adding the removed APIs back in a v2 patch release.
  • Update the changelog file to reflect the currently undocumented changes.
  • Update the GitHub release descriptions.
  • Refrain from publishing versions with invalid semver regarding breaking changes moving forwards.

jaydenseric avatar Apr 17 '20 10:04 jaydenseric

@jaydenseric I took released code from v2.2.1 and published that. Don't look at the tag on GitHub. Are you sure v2.2.2 has breaking changes because you checked in code or just on github?

kamilkisiela avatar Apr 18 '20 09:04 kamilkisiela

Don't look at the tag on GitHub.

Why would the tag be incorrect? Very confusing.

Are you sure v2.2.2 has breaking changes because you checked in code or just on github?

I thought I had tested it out with a full installation, but maybe I read the changelog for v3 and couldn't see anything about writeSchema so I tried it out, got an error, then started walking backwards in the versions tagged in GitHub to see when it was removed. Because the GitHub tag for v2.2.2 doesn't match what was actually published, I thought that was when it was removed.

Just now I created a quick test installation of [email protected] and a writeSchema function is indeed exported (without testing the actually functionality, but let's assume it works):

const { writeSchema } = require('graphql-config')
console.log(typeof writeSchema)

Here are the actual files published to npm:

In light of this, I apologise for my tone when I said:

Refrain from publishing versions with invalid semver regarding breaking changes moving forwards.

In my defense I was tired at 8.40 pm on a Friday night, the changelog did not document which version had the breaking change and the GitHub version tag was incorrect.

Actionable:

  • Update the changelog file to reflect the currently undocumented changes in v3 (e.g. removal of writeSchema).
  • Update the GitHub release descriptions to match the changelog updates.
  • Correct the GitHub version tags.

jaydenseric avatar Apr 18 '20 15:04 jaydenseric

closing due time

dimaMachina avatar Jul 03 '23 09:07 dimaMachina