Provider package versioning
The Gentrace provider packages (e.g., @gentrace/openai
, @gentrace/pinecone
) follow a modified semantic versioning scheme that aligns with the underlying provider SDKs while maintaining clarity about breaking changes.
Version Structure
Our version numbers follow the format MAJOR.MINOR.PATCH
but with specific meanings:
- MAJOR: Matches the major version of the underlying provider SDK
- MINOR: Indicates breaking changes in the Gentrace wrapper
- PATCH: Indicates non-breaking changes, including both bug fixes and feature additions
Example
For the OpenAI provider package:
@gentrace/[email protected]
This version indicates:
- Relies on OpenAI SDK v4.x.x as a peer dependency
- Has had 0 breaking changes in the Gentrace wrapper
- Has had 4 releases with non-breaking changes
Important Notes
- We do not strictly follow conventional commit specifications
- Feature additions may appear in patch versions, unlike traditional semver
- Breaking changes are always indicated by a minor version bump
- Major version changes only occur when updating to support a new major version of the underlying provider SDK
Provider Packages
This versioning scheme applies to all Gentrace provider packages:
@gentrace/openai
@gentrace/pinecone
@gentrace/rivet
- Additional provider packages as they are released
Version Compatibility
When using Gentrace provider packages, ensure you check:
- The major version matches your provider SDK version
- Review minor version changes for breaking changes in the Gentrace wrapper
- Update patch versions freely for bug fixes and new features
Example Timeline
Here's an example of version progression:
4.0.0 - Initial release supporting OpenAI SDK v44.0.1 - Added new feature + bug fixes4.0.2 - More bug fixes4.1.0 - Breaking change in Gentrace wrapper4.1.1 - Bug fixes4.1.2 - Added streaming support