Skip to content

TypeScript 4.9

Compare
Choose a tag to compare
@weswigham weswigham released this 17 Nov 18:09

For release notes, check out the release announcement.

Downloads are available on:

Changes:

See More
  • 3d2b401 Fix assertion functions accessed via wildcard imports (#51324)
  • 64d0d5a fix(51301): Fixing an unused import at the end of a line removes the newline (#51320)
  • 754eeb2 Update CodeQL workflow and configuration, fix found bugs (#51263)
  • d8aad26 Update package-lock.json
  • d4f26c8 fix(51245): Class with parameter decorator in arrow function causes "convert to default export" refactoring failure (#51256)
  • 16faf45 Update package-lock.json
  • 8b1ecdb fix(50654): "Move to a new file" breaks the declaration of referenced variable (#50681)
  • 170a17f Dom update 2022-10-25 (#51300)
  • 9c4e14d Remove "No type information for this code" from baseline (#51311)
  • 88d25b4 fix(50068): Refactors trigger debug failure when JSX text has a ' and a tag on the same line. (#51299)
  • 8bee69a Update package-lock.json
  • 702de1e Fix early call to return/throw on generator (#51294)
  • 2c12b14 Add a GH Action to file a new issue if we go a week without seeing a typescript-error-deltas issue (#51271)
  • 6af270d Update package-lock.json
  • 2cc4c16 Update package-lock.json
  • 6093491 Fix apparent typo in getStringMappingType (#51248)
  • 61c2609 Update package-lock.json
  • ef69116 Generate shortest rootDirs module specifier instead of first possible (#51244)
  • bbb42f4 Fix typo in canWatchDirectoryOrFile found by CodeQL (#51262)
  • a56b254 Include 'this' type parameter in isRelatedTo fast path (#51230)
  • 3abd351 Fix super property transform in async arrow in method (#51240)
  • eed0511 Update package-lock.json
  • 2625c1f Make the init config category order predictable (#51247)
  • 1ca99b3 fix(50551): Destructuring assignment with var bypasses "variable is used before being assigned" check (2454) (#50560)
  • 3f28fa1 Update package-lock.json
  • 906ebe4 Revert structuredTypeRelatedTo change and fix isUnitLikeType (#51076)
  • 8ac4652 change type (#51231)
  • 245a02c fix(51222): Go-to-definition on return statements should jump to the containing function declaration (#51227)
  • 2dff34e markAliasReferenced should include ExportValue as well (#51219)
  • 5ef2634 Update package-lock.json
  • d0f0e35 Remove old tslint comments (#51220)
  • 85d405a Fixed a false positive "await has no effect on the type" diagnostic with mixed generic union (#50833)
  • 1f8959f fix: avoid downleveled dynamic import closing over specifier expression (#49663)
  • 11066b2 Rename internal functions to narrowTypeBySwitchOnTypeOf and narrowTypeByInKeyword (#51215)
  • 4c9afe8 Update package-lock.json
  • f25bcb7 fix(49196): add jsdoc snippet for interface member functions (#51135)
  • 7406ee9 fix(51170): Completing an unimplemented property overwrites rest of line (#51175)
  • a1d82fc Remove some unnecessary code discovered by rollup (#51204)
  • 0481773 LEGO: Merge pull request 51200
  • 98c19cb LEGO: Merge pull request 51190
  • 13c9b05 Update package-lock.json
  • 673475e Update package-lock.json
  • f6cf510 Add more tracing to node16/nodenext resolution (#51168)
  • 83c5581 Update package-lock.json
  • be5f0fe Add an extra regression test for awaited unresolvable recursive union (#51167)
  • 2cb7e77 fix(50416): correctly names disabled export refactors (#50663) [ #50416 ]
  • 2bcfed0 feat(37440): Provide a quick-fix for non-exported types (#51038)
  • a24201c Remove VSDevMode.ps1 and createPlaygroundBuild (#51166)
  • 2da62a7 fix(51112): omit parameter names that precede the type (#51142)
  • cf1b6b7 feat(51163): show QF to fill in the missing properties for the mapped type. (#51165)
  • bdcc240 Remove bug-causing carve-out in conditional type instantiation that hopefully is no longer required (#51151)
  • 37317a2 Check nested weak types in intersections on target side of relation (#51140)
  • 9f49f9c Update package-lock.json
  • 4f54e7e Fix isExhaustiveSwitchStatement to better handle circularities (#51095)
  • 503604c Overloads shouldn't gain @deprecated tags of other overloads in quick info (#50904)
  • e14a229 Update package-lock.json
  • 67256e5 Remove unused declarations array in extractSymbol's TargetRange (#51091)
  • 9c87ded fix(51100): ensure tsserver shuts down when parent process is killed (#51107)
  • c01ae01 Fix nightly publish oops in Gulpfile (#51131)
  • a7d10f1 Update package-lock.json
  • d0bfd8c fix(51072): ts.preProcessFile finds import in template string after conditional expression with template strings (#51082)
  • ad56b5c Convert scripts/Gulpfile to checked mjs/cjs so they can run without compilation (#50988)
  • dbeae5d fix(51017): Make lineText in the references response opt-out (#51081)
  • d06a592 Properly defer resolution of mapped types with generic as clauses (#51050)
  • 42b1049 Update package-lock.json
  • 5f3e6cc Plugin probe location is higher priority than peer node_modules (#51079) [ #34616 ]
  • 2648f6a Plugins in project were adding up after every config file reload (#51087)
  • c18791c Fix incorrect options type to WatchOptions (#51064)
  • b0795e9 Update package-lock.json
  • 43c6fd4 Covert some of the config testing to baselines for easy validation (#51063)
  • fc5e72b Remove unused defaultWatchFileKind method since useFsEvents is default for tsserver and tsc (#51044)
  • 8af9a93 Use typescript.d.ts in APISample tests (#51061)
  • 4953316 Remove configureLanguageServiceBuild, instrumenter (#51048)
  • 9dfffd0 Update GitHub Actions (#51045)
  • 4635a5c Update package-lock.json
  • 33a34e5 Adding a JSDoc comment to the es5 type declarations to describe the functionality of Date.now() (#50630)
  • 299745c Fix crash in goto-def on @override (#51016)
  • 7dcf11f fix(50750): Object type literal with string literal property in contextual typing position causes language service error on all literal type references (#50757)
  • 5cd49f6 Update package-lock.json
  • 8a1b858 Update package-lock.json
  • 96894db Include type parameter defaults in contextual typing (#50994) [ #51002 ]
  • 0d0a793 Allow Unicode extended escapes in ES5 and earlier (#50918)
  • 58bae8d Update package-lock.json
  • 0ce72ef Add option to OrganizeImports for removal only (#50931)
  • 42f9143 feat: codefix for for await of (#50623)
  • ecf50e8 Properly compute SymbolFlags.Optional for intersected properties (#50958)
  • d1586de Fully resolve aliases when checking symbol flags (#50853)
  • 45148dd Update LKG to 4.8.4 (#50987)
  • 9a83f25 Update package-lock.json
  • 865848f Fix <= and > comparisons when compared against prerelease versions (#50915)
  • fbfe934 Fix comparability between type parameters related by a union constraint (#50978)
  • b09e93d Merge pull request #50041 from microsoft/fix/47969
  • 0ac12bb Update package-lock.json
  • 8192d55 Pick correct compilerOptions when checking if we can share emitSignatures (#50910) [ #50902 ]
  • 16faef1 During uptodate ness check with buildInfo, check if there are errors explicitly with noEmit (#50974) [ #50959 ]
  • 63791f5 Update package-lock.json
  • 09368bc Handle if project for open file will get recollected because of pending cleanup from closed script info (#50908) [ #50868 ]
  • c81bf4d fix(49594): Typescript 4.7.3 bracketed class property compilation error strictPropertyInitialization:true (#49619)
  • bc9cbbe Merge pull request #49912 from microsoft/fix/47508
  • 5a10f46 Update package-lock.json
  • 8e71f42 Fixing pr comments
  • c100c64 Update package-lock.json
  • 2a91107 Update package-lock.json
  • 4ab9e76 Use paths in package.json 'files' array that work with npm 6 and later. (#50930)
  • 549b542 Use paths in package.json 'files' array that work with npm 6 and later.
  • 7f37d25 Update version to 4.9.1-beta and LKG.
  • f16ca7d Remove 'async' dependency, used only in errorCheck.ts, modernize file (#50667)
  • c6bef3f LEGO: Merge pull request 50921
  • 6753027 Update package-lock.json
  • 9740bcc Pluralized hasInvalidatedResolution -> hasInvalidatedResolutions (#50912)
  • 84c29cd 🤖 Pick PR #50912 (Pluralized `hasInvalidatedResolutio...) into release-4.9 (#50913)
  • a26f634 Merge remote-tracking branch 'origin/main' into release-4.9
  • a455955 Make hasInvalidatedResolution non internal for program and add it watchApi (#50776) [ #48057 ]
  • 645d1cd Fix assert in addIndirectUser in FAR (#50905)
  • bbec17d LEGO: Merge pull request 50900
  • a9ecc67 Update package-lock.json
  • 221cf55 package.json exports should have priority over typesVersions (#50890)
  • acb8977 Remove .github/tsc.json (#50664)
  • 7a3de81 fix(49993): skip the quick fix for an expression with an enum type (#50625)
  • 2644f28 fix(49200): skip duplicated method declarations (#50609)
  • 98652a3 Bump version to 4.9.0-beta and LKG.
  • 4d91204 fix(37030): Expand Selection in function and arrow function skips body block (#50711)
  • e2dd508 DOM update 2022/09/21 (#50884)
  • 1d9ab83 fix(50866): emit modifiers from export declarations (#50874)
  • 92a1b12 LEGO: Merge pull request 50877
  • e383db6 Fix debug.ts __debugKind check (#50871)
  • 01054e0 Consistently add undefined/missing to optional tuple element types (#50831)
  • d90795e Improve escape sequence handling in private names (#50856)
  • 938a69a Fix import statement completions followed by interface declaration (#50350)
  • e002159 feat(49962): Disallow comparison against NaN (#50626)
  • 80ae43d Fixing spaces
  • abc58bd Fixing baseline errors
  • 305f4bd Merge branch 'main' into fix/47969
  • 23746af fix(50591): RangeError: Maximum call stack size exceeded (#50594)
  • 168186f Allow a union property of a private/protected member and an intersection property including that same member (#50328)
  • 812ebcf Update package-lock.json
  • 16156b1 Add rules from eslint's recommended set that triggered good lints (#50422)
  • a11c416 Improve checking of in operator (#50666)
  • 67f2b62 Gabritto/jsemitfixsilly (#50849)
  • 3014dec Don't elide imports when transforming JS files (#50404)
  • 57c7aa7 LEGO: Merge pull request 50842
  • 48a8e89 Improve check of whether type query node possibly contains reference to type parameter (#50070)
  • af9ced1 LEGO: Merge pull request 50825
  • a8e13f7 Fixed an issue with destructured bindings from a generic union constraint not being narrowed correctly (#50221)
  • 08af0b6 Update package-lock.json
  • 0df46e8 Fix test around RegExp match vs. exec results (#50813)
  • 906510e Fixes for pr
  • 2970c5d make RegExpExecArray always include index 0 (#50713)
  • 0507192 Accepting baselines
  • 29e50b3 Rewording documentation
  • 01cae69 fix(50796): omit questionToken in object literal method completions (#50802)
  • 3b84f76 Fix crash caused by incorrect bounds check (regression in 4.8) (#50797)
  • 7e51306 Update package-lock.json
  • 8b35c13 The error "Object is possibly null or undefined" is ambiguous. (#49797)
  • a3f51b3 Update user baselines +cc @sandersn (#43554)
  • ba10a0d Removing duplicated code
  • ec6ae1c Partially revert #41044, restoring parameter destructurings in d.ts files (#50779)
  • 28232ca LEGO: Merge pull request 50783
  • 49cfa1d Update package-lock.json
  • 4110b80 Fix equality narrowing and comparable relation for intersections with {} (#50735)
  • b23f1d6 LEGO: Merge pull request 50771
  • 618fb2d Update package-lock.json
  • 08b91f6 fix(50717): tsc crashes when it sees a JSDoc tag inside an @OverRide annotation (#50724)
  • 60963d7 Discriminant of type never should never be matched (#50755)
  • e37ea53 Update package-lock.json
  • a88c366 Fix test baselining for tsserver host timeouts (#50748)
  • 6d38487 Fix workflow typo (#50746)
  • 6b890f9 Handle more places where package direcroy is converted to canonical file path (#50740)
  • f5f2923 Revert removal of nonInferrableAnyType (#50691)
  • 7120b52 Update twoslash workflow (#50738)
  • 68d526c Don't run linter after tests runs (#50597)
  • 8e5e2e0 Fix backticks in our JSDoc comments (#50737)
  • a4cabe7 Support for auto-accessor fields from the Stage 3 Decorators proposal (#49705)
  • 7737473 Update package-lock.json
  • 12ab0fe Update package-lock.json
  • eb40134 Don't leave space for property access on non-integer literals (#50703)
  • a70bb9d Preserve special intersections in mapped types (#50704)
  • 1a1c271 Don't remove space before dot if in property access on numeric literal (#50695)
  • 7c918fb Baseline host state when baselining tsserver tests (#50678)
  • 2f1ba45 Update LKG and devDep of typescript to v4.8.3 (#50689)
  • be4e9ba Update package-lock.json
  • f46a680 Remove error message in node16 (#50673)
  • ab831d0 Ignore --help and -? in tsc init generated compilerOptions (#50628)
  • bb6f36f Forward intersection state flag to conditional type target check (#50620)
  • b58721f Update package-lock.json
  • 3c3820b Simplify CI detection (#50661)
  • 9ac1fce Fix eslint not looking at certain scripts, fix lints (#50660)
  • fd05c0c Make useFsEvents as default strategy for the watching (#50366)
  • 5c2f770 Remove unused cancellation from build (#50658)
  • 66fbf05 Update package-lock.json
  • 7910c50 Update package-lock.json
  • fd3a84c Report every instance of TS1208 (#50101)
  • 62f980a Check if its same buildinfo only for directly referenced projects and not recursively (#50617) [ #50545 ]
  • 856c7c5 Allow {} to narrow in same special cases as unknown (#50601)
  • 854d448 in operator shouldn't narrow {} originating in unknown (#50610)
  • 549e61d Update package-lock.json
  • bcf9949 fix(50079): show deprecated on JSX attributes (#50084)
  • 5df09a5 Use bidirectional comparability in narrowing (#50592)
  • 891cdc5 Remove unused baselines (#50593)
  • 6db2c88 {} & null and {} & undefined should always be never (#50553)
  • 238c341 Defer distributing index over generic object types (#50540)
  • 2983092 Do not canonicalize the file names when getting absolute paths during nodenext resolution (#50557) [ #50544 ]
  • dcade77 Update package-lock.json
  • a9797d2 fix(50340): typeof ... === "undefined" check on discriminated union of undefined and object type doesn't narrow correctly (#50344)
  • 43f8ae6 Only normalize intersections that include {} (#50535)
  • d293e72 Rename API to importPlugin (#50554)
  • cd312d3 Managing control flow
  • 19defbf Update package-lock.json
  • f071d30 Move contributing related info out of README to CONTRIBUTING (#50543)
  • 488d0ee Retain name and propertyName in declaration emit copies of binding patterns if property name is a keyword (#50537)
  • 8b482b5 Update package-lock.json
  • c89f355 Remove redundant pretest script (#50518)
  • 6d170b4 Handle intersections in isGenericTypeWithoutNullableConstraint (#50497)
  • ed6889c LEGO: Merge pull request 50506
  • 29cbfe9 LEGO: Merge pull request 50493
  • 6faa291 LEGO: Merge pull request 50484
  • 71b2ba6 Reuse computed type of condition expressions (#49881)
  • 8778c1d Update package-lock.json
  • 4579245 fix(50427): allow convert function expressions (#50430)
  • cbc0b17 Push package-lock.json updates via typescript-bot token (#50476)
  • bb3a7ae fix(50415): Language server debug failure - Did not expect GetAccessor to have an Identifier in its trivia (#50470)
  • 3557092 Rephrase error message to be 100% technically correct (#50471)
  • 71d1911 add unknown to DateTimeFormatTypes (#50402)
  • 8f89599 Don't include .gitattributes in package (#50475)
  • 6e8337e Optimize substitution types (#50397)
  • 226dd0b Fix typechecking related lints that changed post 4.8, update LKG to 4.8.2 (#50472)
  • 164dddc feat(7481): Operator to ensure an expression is contextually typed by, and satisfies, some type (#46827)
  • 0715791 Update package-lock.json
  • e675ea8 Remove AUTHORS.md, .mailmap, authors.ts script (#50410)
  • 38076df Fix auto import crash due to difference in paths handling (#50419)
  • 12eb519 fix(50435): Duplicate seeming Code Actions for convert const to let (#50442)
  • a08b045 Jsdoc property description (#50269) [ #47933 ]
  • 5ba22e0 Remove top level loc folder (#50421)
  • c4eb37c Update package-lock.json
  • 8d7ad8c fix(50375): Errors for missing enum-named properties should attempt to preserve names (#50382)
  • fb717df Discard union types before considering weak type checks on unit-like types (#50423)
  • b9a5bbc Syntax operations also need to ensure project is present for the open script infos since update could be pending to make sure open script info has project (#50418) [ #50131 ]
  • 1d4fbbb Update package-lock.json
  • 44ce3cf fix(50224): Intellisense for strings within a type's Union doesn't work properly for JSX (#50231)
  • 6ee5db9 Use package.json files array instead of .npmignore (#50408)

This list of changes was auto generated.