Skip to content

Comments

docs: add maintainers criteria#2618

Open
drwpow wants to merge 1 commit intomainfrom
drwpow/review-criteria
Open

docs: add maintainers criteria#2618
drwpow wants to merge 1 commit intomainfrom
drwpow/review-criteria

Conversation

@drwpow
Copy link
Contributor

@drwpow drwpow commented Feb 12, 2026

Changes

Adds docs for thoughts on how to review, how to release. General maintainer guidelines

How to Review

Read it!!! 🙏

Checklist

No, seriously, read it please and give feedback

@drwpow drwpow requested a review from a team as a code owner February 12, 2026 16:55
@drwpow drwpow requested a review from gzm0 February 12, 2026 16:55
@netlify
Copy link

netlify bot commented Feb 12, 2026

Deploy Preview for openapi-ts canceled.

Name Link
🔨 Latest commit 320bc24
🔍 Latest deploy log https://app.netlify.com/projects/openapi-ts/deploys/698e06140b5fca0008b99fe7

@drwpow drwpow requested a review from duncanbeevers February 12, 2026 16:55
@changeset-bot
Copy link

changeset-bot bot commented Feb 12, 2026

⚠️ No Changeset found

Latest commit: 320bc24

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions
Copy link
Contributor

size-limit report 📦

Path Size
packages/openapi-fetch/dist/index.mjs 7.03 KB (0%)

Copy link
Contributor

@gzm0 gzm0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TY for writing this. This LGTM modulo the bit about "one test" (but it feels we're in agreement and it's mostly wordsmithing).

Keeping the North Star in mind, here’s the necessary criteria for a PR:

- **Tests written.** No exceptions. They make a change, they MUST write a test.
- Updating existing tests is not OK. It must be a new test (if their change does necessitate updating other tests, that’s fine but doesn’t count towards testing their PR, but also, updating existing tests falls under breaking change consideration)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel that's a bit too low-level of a criteria? I fully agree with the underlying sentiment (IIUC: new stuff must be appropriately tested, bugfixes must have regression tests).

Sometimes, I could see how extending an existing test is a better / more readable way of testing a change. (Maybe I'm nit-picking too much on the term "a test" here 🤷 ).

- It might be a `major` release if the example changes are thousands and thousands of lines (and the changes are complex and layered).
- It might be a `major` release if the output seems laterally-different, such as replacing `|` for `&`.

There’s more subjectivity to it than one realizes. In general, try and estimate how many people _may_ be impacted. Use the OpenAPI example specs as a reference—you can at least see how much it changes the output for a handful of real-world scenarios. Try and wait to ship sweeping, high-impact changes for major releases if at all possible.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might make sense going forward to narrow down our guidelines w.r.t. this. For example: is a change requiring a newer typescript feature but clearly having better types a breaking change?

The main reason I think we should narrow down guidelines is because they not only matter for maintainers, but also for users. As a user I want to know what the library I use considers a breaking change.

All that being said, definitely not something that is actionable in the scope of this PR.


For 0.x projects (which, again, no longer apply), we’d switch to use `patch` for any **backwards-compatible change** and `minor` for all **breaking changes** (i.e. disregard feature vs bug).

## History
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! I think this section is super helpful. Good call writing that.

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.

2 participants