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

deprecation updates ahead of 9.0.0 #2240

Merged
merged 8 commits into from
Feb 17, 2023
Merged

Conversation

davidjgoss
Copy link
Contributor

@davidjgoss davidjgoss commented Feb 12, 2023

πŸ€” What's changed?

  • Some rewording and fixing around how we describe deprecations
  • Undeprecate defineStep - at the time the direction seemed to be to eventually make strict keywords the only behaviour. However there is not a consensus across platforms for doing that, so on that basis it should only be an option. The PickleStep model has an 'Unknown' value so we can use that for defineStep and just throw if you try to use it with strict keywords. Finally, a user raised a separate concern in defense of defineStep from a linguistics perspective. So overall I think there's no longer a case to remove this.
  • Deprecate the export of JsonFormatter class - currently most of the built-in formatter classes are exported like this but I think they should mostly be considered implementation details. When we tackle make json formatter reusable outside cucumber-jsΒ #2239 we'll rewrite this formatter, probably in the new "plugin"-style format we've discussed, so we should get this off the entry point as soon as we can.
    • Whilst it would be good to move early on this, we can't reasonably deprecate something without pointing to the new thing that people should migrate to, which we don't have yet, so omitting this for now.

🏷️ What kind of change is this?

  • 🏦 Refactoring/debt/DX (improvement to code design, tooling, documentation etc. without changing behaviour)

πŸ“‹ Checklist:

  • I agree to respect and uphold the Cucumber Community Code of Conduct
  • I've changed the behaviour of the code
    • I have added/updated tests to cover my changes.
  • My change requires a change to the documentation.
    • I have updated the documentation accordingly.
  • Users should know about my change
    • I have added an entry to the "Unreleased" section of the CHANGELOG, linking to this pull request.

This text was originally generated from a template, then edited by hand. You can modify the template here.

@davidjgoss davidjgoss added this to the 9.0.0 milestone Feb 12, 2023
@coveralls
Copy link

coveralls commented Feb 12, 2023

Coverage Status

Coverage: 98.561%. Remained the same when pulling 7c7ddae on chore/deprecations-housekeeping into 90ebb80 on main.

@mpkorstanje
Copy link
Contributor

mpkorstanje commented Feb 12, 2023

From a process point of view I have only one remark:

except maybe SummaryFormatter which is the one people would reasonably extend when building their own.

If this class is open for extension it should be documented as such. And be tested against the specific use cases it aims to support.

Otherwise it will be hard to evolve the code in the future.

@davidjgoss davidjgoss merged commit 9fbdd82 into main Feb 17, 2023
@davidjgoss davidjgoss deleted the chore/deprecations-housekeeping branch February 17, 2023 08:57
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.

None yet

3 participants