Change Log - @typespec/versioning
July 14, 2026 ยท View on GitHub
0.84.0
Deprecations
- #10964 Deprecate old testing framework (
createTestHost,createTestRunner,createTestWrapper,createTestLibrary,BasicTestRunner,TypeSpecTestLibrary, etc.). UsecreateTesterfrom@typespec/compiler/testinginstead.
0.83.0
No changes, version bump only.
0.82.0
No changes, version bump only.
0.81.0
No changes, version bump only.
0.80.0
Bump dependencies
- #9838 Upgrade dependencies
Bug Fixes
- #9932 [API] Fix running multiple versioning mutators together
0.79.0
Bug Fixes
- #9444 Fix incorrect incompatible versioning error in model expressions
0.78.0
Bump dependencies
- #9223 Upgrade dependencies
0.77.0
Bump dependencies
- #9046 Upgrade dependencies
0.76.0
Bump dependencies
- #8823 Upgrade dependencies
0.75.0
No changes, version bump only.
0.74.0
Bump dependencies
- #8317 Upgrade dependencies
Bug Fixes
- #8327 Skip validating versioning in template declaration as information could be missing
0.73.0
Features
- #7999 Use of
@useDependencyis now optional when referencing types from a versioned library. By default the latest version of the library will be used.
Bump dependencies
- #7978 Upgrade dependencies
0.72.0
Bump dependencies
- #7674 Upgrade dependencies
0.71.0
Bug Fixes
- #7473 Fix tuples not correctly versioned
0.70.0
No changes, version bump only.
0.69.0
Bug Fixes
-
#7022 Fix issue where the incompatible-versioned-reference diagnostic was incorrectly triggered when a model had a
@removeddecorator and one of its properties had an@addeddecorator, even if the versions were compatible.Example:
@removed(Versions.v3) model Widget { @added(Versions.v2) name: string; }
0.68.0
Bump dependencies
- #6595 Upgrade dependencies
0.67.0
Breaking Changes
-
#5977 Minimum node version is now 20
-
#6327 Remove deprecated versioning projection, switch to the mutator approach
// Step 1: Update to retrieve the mutation instead of projections -const versions = buildVersionProjections(program, service.type); +const versions = getVersioningMutators(program, service.type); // Step 2: call mutator instead of projection api -const projectedProgram = projectProgram(originalProgram, versionRecord.projections); +const subgraph = unsafe_mutateSubgraphWithNamespace(program, [mutator], service.type); +subgraph.type // this is the mutated service namespace
Bump dependencies
- #6266 Update dependencies
0.66.0
No changes, version bump only.
0.65.0
Bump dependencies
- #5690 Upgrade dependencies
Features
- #5459 add code fixes for incompatible version errors
- #4931 Provide new mutator based way of getting version snapshot
Deprecations
- #4931 Deprecate versioning projection, switch to the mutator approach
// Step 1: Update to retrieve the mutation instead of projections
-const versions = buildVersionProjections(program, service.type);
+const versions = getVersioningMutators(program, service.type);
// Step 2: call mutator instead of projection api
-const projectedProgram = projectProgram(originalProgram, versionRecord.projections);
+const subgraph = unsafe_mutateSubgraphWithNamespace(program, [mutator], service.type);
+subgraph.type // this is the mutated service namespace
0.64.0
No changes, version bump only.
0.63.0
Bug Fixes
- #5262 Fixes diagnostics for @typeChangedFrom to properly detect when an incompatible version is referenced inside of a template, union, or tuple.
0.62.0
Bump dependencies
- #4679 Upgrade dependencies - October 2024
0.61.0
Bump dependencies
- #4424 Bump dependencies
0.60.1
Bug Fixes
- #4408 Fixes versioning when using versioned named union variants
0.60.0
Bug Fixes
- #4145 Fix error when trying to reference types from another sub namespace of a versioned namespace
- #4179 Add validation to make sure operation params reference models available in the current version
- #4179 Add validation to make sure types referencing array in union types have compatible versioning.
Features
- #4139 Internals: Migrate to new api for declaring decorator implementation
0.59.0
Bug Fixes
- #3911 Allow spreading a model that has props added in previous version
- #3951 Fixes issue where spreading a versioned model as a parameter to an incompatible versioned operation would cause the compiler to crash.
Bump dependencies
- #3948 Update dependencies
0.58.0
Bump dependencies
- #3718 Dependency updates July 2024
0.57.0
Bug Fixes
- #3292 Add
@madeRequireddecorator - #3022 Update to support new value types
- #3409 Using
@removedon member types and@addedon containing type could result in errors - #3255 If a property were marked with @added on a later version, the logic that said it was originally added on the first version was erroneously removed, resulting in incorrect projections.
Bump dependencies
- #3401 Update dependencies - May 2024
0.56.0
Bug Fixes
- #3264 Fix crash when
@serviceappears inside a versioned namespace
Bump dependencies
- #3169 Update dependencies
0.55.0
Bump dependencies
- #3027 Update dependencies
Features
- #3053 Add support for versioning of scalars(Added, removed, renamed)
0.54.0
Bump dependencies
- #2900 Update dependencies
Features
- #2950 Export the VersionProjections interface.
0.53.0
Patch Changes
0.52.0
Wed, 24 Jan 2024 05:46:53 GMT
Updates
- Update dependencies
0.51.0
Wed, 06 Dec 2023 19:40:58 GMT
Updates
- Fix crash in versioning library.
0.50.0
Wed, 08 Nov 2023 00:07:17 GMT
Updates
TypeScriptusetypesentry underexportsofpackage.jsoninstead of legacytypesVersionsto provide the definition files- BREAKING CHANGE Dropped support for node 16, minimum node version is now 18
- Update targets for
@added,@removed,@renamedFrom,@madeOptionaland@typeChangedFromto more clearly communicate where they can be used.
0.49.0
Wed, 11 Oct 2023 23:31:35 GMT
Updates
- Update dependencies
- Ensure that use of
@renamedFromdoes not result in duplicate properties on a model.
0.48.0
Tue, 12 Sep 2023 21:47:11 GMT
Updates
- Fixed issue with
@typeChangedFromcomplaining about incorrect versioned references.
0.47.0
Tue, 08 Aug 2023 22:32:10 GMT
Version update only
0.46.0
Tue, 11 Jul 2023 22:06:00 GMT
Updates
- Update dependencies
0.45.0
Tue, 06 Jun 2023 22:44:16 GMT
Updates
- Update decorators to use
valueof - Update decorators signature to use
{}instead ofobject - Add signature for missing decorators
0.44.0
Wed, 10 May 2023 21:24:00 GMT
Updates
- Fix: Crash during validation when using certain templated models from versioned library
- Update compiler to be a peer dependency
- Update dependencies
- Added validation preventing version enums from having duplicate values.
- Fix issue where "is" dependencies were not detected.
- Raise error if versioned spec specifies a single service version.
0.43.0
Tue, 11 Apr 2023 18:49:17 GMT
Updates
- Fix: Issue with using version as a template parameter across different namespace. Include a significant change in the versioning library internals.
- Use pre-projections to fix issues with versioned resources.
- support new datetime types
- Removed deprecated decorator @versionedDependency and deprecated versioning helper methods: getRenamedFromVersion, getRenamedFromOldName, getAddedOn, getRemovedOn, addedAfter, removedOnOrBefore, and renamedAfter.
0.42.0
Mon, 13 Mar 2023 21:30:44 GMT
Version update only
0.41.0
Fri, 03 Mar 2023 19:59:17 GMT
Updates
- Revert back changelog
- Update package.json entrypoint to tspMain
- Rename to TypeSpec
- Update homepage link
0.40.0
Tue, 07 Feb 2023 21:56:17 GMT
Updates
- Adds the @useDependency decorator. Deprecates the @versionedDependency decorator.
- Ensure @renamedFrom requires a non-empty value.
0.39.0
Fri, 13 Jan 2023 00:05:26 GMT
Updates
- Exporting addedOnVersions and removedOnVersions accessors.
- Added
@returnTypeChangedFromdecorator. - Fix issues with @added and @removed. Deprecate addedAfter and removedOnOrBefore. Added existsAtVersion.
- Ensure properties marked '@madeOptional' are actually optional.
0.38.0
Wed, 07 Dec 2022 17:21:52 GMT
Minor changes
- Internal: update to use new
getTypeNameandgetNamespaceStringhelper - Deprecated getRenamedFromVersion, getRenamedFromOldName, and renamedAfter methods in favor of getRenamedFromVersions, getNameAtVersion, and hasDifferentNameAtVersion.
Patches
- Fix: Issue with loading different version of versioning library in emitter
- Update dependencies
- Allow @renamedFrom to be used multiple times
Updates
- Fix: Validation of versioned dependency giving false positive when inside a sub namespace of versioned namespace
0.10.0
Sat, 12 Nov 2022 00:14:04 GMT
Minor changes
- Declare decorators in cadl using
extern dec
0.9.0
Wed, 12 Oct 2022 21:12:35 GMT
Minor changes
- Uptake changes to navigateProgram
0.8.0
Thu, 08 Sep 2022 01:04:53 GMT
Minor changes
- Uptake change to enum members map type
- Uptake changes to compiler with current projection
- Update decororator state key to allow multiple instance of library to work together.
- React to Type suffix removal
0.7.0
Thu, 11 Aug 2022 19:05:23 GMT
Minor changes
- Internal: Uptake new compiler helpers to work with template types
Patches
- Fix: Versioning when non-versioned library has template with spread.
- Fix: Versioning when multiple service versions consume the same library version.
0.6.1
Fri, 08 Jul 2022 23:22:57 GMT
Version update only
0.6.0
Mon, 13 Jun 2022 23:42:28 GMT
Minor changes
- Uptake changes to decorator context
- Add ability to use @renamedFrom on Models, Operations, Interface, Unions and Enums.
- Add validation for incompatible versioning across references
- Moved all decorators and functions to
Cadl.Versioningnamespace - Breaking Change Version must be defined using an enum and referenced using enums
Updates
- Upgrade to TS4.7
0.5.0
Fri, 06 May 2022 17:19:57 GMT
Minor changes
- Uptake
mixes->extendsrename - Fix issues with spreading versioned model
- Remove node 14 support
- Updated versioning data getter to return
undefinedinstead of-1
Patches
- Fix issue with versioning of operation parameters in interfaces
- Fix: Using versioned lib validation false positive with interfaces and unions
0.4.0
Thu, 31 Mar 2022 17:10:49 GMT
Minor changes
- Add validation when using versioned library without @versionedDependency
- Enable ability to pick a specific version for a versioned dependency when service itself isn't versioned
0.3.2
Wed, 09 Mar 2022 17:42:09 GMT
Version update only
0.3.1
Tue, 15 Feb 2022 22:35:02 GMT
Version update only
0.3.0
Mon, 14 Feb 2022 03:01:08 GMT
Minor changes
- Update decorators to take in api change
Patches
- Bump dependency versions
0.2.0
Fri, 04 Feb 2022 18:00:18 GMT
Minor changes
- Add versioning framework