- #9444 Fix incorrect incompatible versioning error in model expressions
- #9223 Upgrade dependencies
- #9046 Upgrade dependencies
- #8823 Upgrade dependencies
No changes, version bump only.
- #8317 Upgrade dependencies
- #8327 Skip validating versioning in template declaration as information could be missing
- #7999 Use of
@useDependencyis now optional when referencing types from a versioned library. By default the latest version of the library will be used.
- #7978 Upgrade dependencies
- #7674 Upgrade dependencies
- #7473 Fix tuples not correctly versioned
No changes, version bump only.
-
#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; }
- #6595 Upgrade dependencies
-
#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
- #6266 Update dependencies
No changes, version bump only.
- #5690 Upgrade dependencies
- #5459 add code fixes for incompatible version errors
- #4931 Provide new mutator based way of getting version snapshot
- #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 namespaceNo changes, version bump only.
- #5262 Fixes diagnostics for @typeChangedFrom to properly detect when an incompatible version is referenced inside of a template, union, or tuple.
- #4679 Upgrade dependencies - October 2024
- #4424 Bump dependencies
- #4408 Fixes versioning when using versioned named union variants
- #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.
- #4139 Internals: Migrate to new api for declaring decorator implementation
- #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.
- #3948 Update dependencies
- #3718 Dependency updates July 2024
- #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.
- #3401 Update dependencies - May 2024
- #3264 Fix crash when
@serviceappears inside a versioned namespace
- #3169 Update dependencies
- #3027 Update dependencies
- #3053 Add support for versioning of scalars(Added, removed, renamed)
- #2900 Update dependencies
- #2950 Export the VersionProjections interface.
Wed, 24 Jan 2024 05:46:53 GMT
- Update dependencies
Wed, 06 Dec 2023 19:40:58 GMT
- Fix crash in versioning library.
Wed, 08 Nov 2023 00:07:17 GMT
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.
Wed, 11 Oct 2023 23:31:35 GMT
- Update dependencies
- Ensure that use of
@renamedFromdoes not result in duplicate properties on a model.
Tue, 12 Sep 2023 21:47:11 GMT
- Fixed issue with
@typeChangedFromcomplaining about incorrect versioned references.
Tue, 08 Aug 2023 22:32:10 GMT
Version update only
Tue, 11 Jul 2023 22:06:00 GMT
- Update dependencies
Tue, 06 Jun 2023 22:44:16 GMT
- Update decorators to use
valueof - Update decorators signature to use
{}instead ofobject - Add signature for missing decorators
Wed, 10 May 2023 21:24:00 GMT
- 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.
Tue, 11 Apr 2023 18:49:17 GMT
- 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.
Mon, 13 Mar 2023 21:30:44 GMT
Version update only
Fri, 03 Mar 2023 19:59:17 GMT
- Revert back changelog
- Update package.json entrypoint to tspMain
- Rename to TypeSpec
- Update homepage link
Tue, 07 Feb 2023 21:56:17 GMT
- Adds the @useDependency decorator. Deprecates the @versionedDependency decorator.
- Ensure @renamedFrom requires a non-empty value.
Fri, 13 Jan 2023 00:05:26 GMT
- 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.
Wed, 07 Dec 2022 17:21:52 GMT
- Internal: update to use new
getTypeNameandgetNamespaceStringhelper - Deprecated getRenamedFromVersion, getRenamedFromOldName, and renamedAfter methods in favor of getRenamedFromVersions, getNameAtVersion, and hasDifferentNameAtVersion.
- Fix: Issue with loading different version of versioning library in emitter
- Update dependencies
- Allow @renamedFrom to be used multiple times
- Fix: Validation of versioned dependency giving false positive when inside a sub namespace of versioned namespace
Sat, 12 Nov 2022 00:14:04 GMT
- Declare decorators in cadl using
extern dec
Wed, 12 Oct 2022 21:12:35 GMT
- Uptake changes to navigateProgram
Thu, 08 Sep 2022 01:04:53 GMT
- 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
Thu, 11 Aug 2022 19:05:23 GMT
- Internal: Uptake new compiler helpers to work with template types
- Fix: Versioning when non-versioned library has template with spread.
- Fix: Versioning when multiple service versions consume the same library version.
Fri, 08 Jul 2022 23:22:57 GMT
Version update only
Mon, 13 Jun 2022 23:42:28 GMT
- 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
- Upgrade to TS4.7
Fri, 06 May 2022 17:19:57 GMT
- Uptake
mixes->extendsrename - Fix issues with spreading versioned model
- Remove node 14 support
- Updated versioning data getter to return
undefinedinstead of-1
- Fix issue with versioning of operation parameters in interfaces
- Fix: Using versioned lib validation false positive with interfaces and unions
Thu, 31 Mar 2022 17:10:49 GMT
- 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
Wed, 09 Mar 2022 17:42:09 GMT
Version update only
Tue, 15 Feb 2022 22:35:02 GMT
Version update only
Mon, 14 Feb 2022 03:01:08 GMT
- Update decorators to take in api change
- Bump dependency versions
Fri, 04 Feb 2022 18:00:18 GMT
- Add versioning framework