Skip to content

Commit 4baa4af

Browse files
docs: update documentation for independent package versioning
- Add Package Versioning section explaining new approach - Document breaking changes and migration requirements - Update publishing instructions for independent versioning - Add benefits and dependency management guidance Co-Authored-By: [email protected] <[email protected]>
1 parent 76d1151 commit 4baa4af

File tree

1 file changed

+28
-7
lines changed

1 file changed

+28
-7
lines changed

README.md

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -214,23 +214,44 @@ Having done this setup, this is what the development cycle looks like moving for
214214

215215
If changes are made to `packages/wasm` see [here](./packages/wasm/README.md) for info on building from source.
216216

217+
## Package Versioning
218+
219+
Starting from version 7.x.x, this monorepo uses independent versioning for packages. This means:
220+
- Each package maintains its own version number
221+
- Only modified packages have their versions incremented during releases
222+
- Internal package dependencies use semver ranges (e.g., ^1.2.3) instead of exact versions
223+
- Package versions are no longer synchronized across all packages
224+
225+
This change improves developer experience by:
226+
- Avoiding unnecessary version bumps for unchanged packages
227+
- Making package version history more meaningful
228+
- Allowing packages to evolve at their own pace
229+
- Providing clearer dependency relationships between packages
230+
231+
### Breaking Changes
232+
If you're upgrading from a previous version, note that this is a breaking change in how versions are managed. You may need to update your dependency management practices to:
233+
- Use appropriate semver ranges for internal dependencies
234+
- Track individual package versions instead of a single SDK version
235+
- Handle potentially different versions of related packages
236+
217237
## Publishing
218238

219239
You must have at least nodejs v18 to do this.
220240

221241
1. Install the latest packages with `yarn install`
222242

223-
2. Run `yarn bump` to bump the version
224-
225-
3. Build all the packages with `yarn build`
243+
2. Build all the packages with `yarn build`
226244

227-
4. Run the unit tests with `yarn test:unit` & e2e node tests `yarn test:local` locally & ensure that they pass
245+
3. Run the unit tests with `yarn test:unit` & e2e node tests `yarn test:local` locally & ensure that they pass
228246

229-
5. Update the docs with `yarn gen:docs --push`
247+
4. Update the docs with `yarn gen:docs --push`
230248

231-
6. Finally, publish with `yarn publish:packages`
249+
5. Publish packages with `yarn publish:packages`. This will:
250+
- Prompt for version increments for modified packages
251+
- Update internal dependencies automatically
252+
- Publish only the packages that have changed
232253

233-
7. Commit these changes "Published version X.X.X"
254+
6. Commit these changes with a message describing the published updates
234255

235256
## Testing
236257

0 commit comments

Comments
 (0)