JsonApiDotNetCore follows Semantic Versioning (SemVer) with some flexibility regarding minor updates to balance feature velocity with stability.
Major Updates
Major updates contain breaking changes that may affect user code or API clients. These changes are documented in the release notes and official documentation.
Minor Updates
To avoid frequent major version bumps, the project may introduce minor breaking changes in specific areas. However, the following core components are guaranteed to remain stable (no breaking changes) in minor updates:
- Extensibility points: Controllers, resource services, resource repositories, resource definitions, and the
Identifiable interface. - Annotations:
[Attr], [HasOne], and [HasMany]. - API Surface: URL routes, JSON structure of request/response bodies, and query string syntax.
Note on 'Pubternal' types: The project may introduce breaking changes to types in Internal namespaces or less common classes (e.g., OperationsProcessor) during minor updates. These changes might be binary-breaking (e.g., adding an optional constructor parameter), which requires you to recompile your existing code to resolve compiler errors. If you use these types, expect to recompile your project during minor version upgrades.