Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TypeScript 4.7 Iteration Plan #48027

Closed
DanielRosenwasser opened this issue Feb 24, 2022 · 27 comments
Closed

TypeScript 4.7 Iteration Plan #48027

DanielRosenwasser opened this issue Feb 24, 2022 · 27 comments
Labels
Planning Iteration plans and roadmapping

Comments

@DanielRosenwasser
Copy link
Member

DanielRosenwasser commented Feb 24, 2022

This document outlines our focused tasks for TypeScript 4.7. It minimally indicates intent to investigate tasks or contribute to an implementation. Nothing is set in stone, but we will strive to complete these tasks in a reasonable timeframe.

Date Event
TBD TypeScript 4.6 Release
April 1st Create 4.7 Beta (4.7.0) Build for Testing
April 5th TypeScript 4.7 Beta Release
May 6th Create 4.7 RC (4.7.1) Build for Testing
May 10th TypeScript 4.7 RC Release
May 20th Create 4.7 Final (4.7.2) Build for Testing
May 24th TypeScript 4.7 Final Release 🚀

Language and Compiler Features

Editor Productivity

Performance

Infrastructure

Website

@vietanhtran16
Copy link

Hello, I am not sure if this is the right place for this but we got the below issue with version 4.7.0-dev.20220320 (this is automatically selected by VSCode) like the below image. We did some testing and noticed that this issue does not show up for version below 4.7.0, in our case 4.6.2 and 4.1.5 work fine. If this is not the right place for this, please let me know. Thanks

Context:

  • We provide type safe fetch (its type is quite nested) which allows us to safely type the response based on the url of the request we are trying to make for a good dev experience
  • We are getting the below error when we use our fetch in a Promise.all. My assumption is that Promise.all
    is trying to infer the type from our fetch type which is quite nested and caused this error on 4.7.0-dev.20220320
const [responseOne, responseTwo] = await Promise.all([ // it complains about the below error here
    fetch("https://something/v1", { req, timeout: 5000 }),
    fetch(
      "https://something/v2",
      { req, timeout: 5000 }
    )
  ])

image

@aladdin-add
Copy link

@vietanhtran16 yes, the issue is not for bug report, please file a new issue. :)

@vietanhtran16
Copy link

@vietanhtran16 yes, the issue is not for bug report, please file a new issue. :)

Cool I will file a new one

@DanielRosenwasser
Copy link
Member Author

@typescript-bot create release-4.7

@typescript-bot
Copy link
Collaborator

Heya @DanielRosenwasser, I've started to create the release-4.7 branch for you. Here's the link to my best guess at the log.

@DanielRosenwasser
Copy link
Member Author

DanielRosenwasser commented Apr 3, 2022

Looks like it's probably failing because of the Node ESM stuff which we were hoping to unflag for the beta at the least. There's also some basic bug fixes I'd like us to pull in before beta, so maybe we'll go out on April 6th instead.

@DanielRosenwasser
Copy link
Member Author

@typescript-bot create release-4.7

@typescript-bot
Copy link
Collaborator

Heya @DanielRosenwasser, I've started to create the release-4.7 branch for you. Here's the link to my best guess at the log.

@DanielRosenwasser
Copy link
Member Author

DanielRosenwasser commented Apr 6, 2022

The feature roadmap now better-reflects what we've been able to get done for 4.7.

@Jack-Works
Copy link
Contributor

I still want to suggest typescript to drop Node 12 in new Node ESM. Lets start from Node 14. Node 14 has TLA support.

image

Node 12 will end LTS this month.

@lvelden
Copy link

lvelden commented Apr 13, 2022

Hi! I've seen the 4.7-beta announcement, but it's not listed under releases and there's also no v4.7-beta tag. Are you planning on adding this?

@DanielRosenwasser
Copy link
Member Author

DanielRosenwasser commented Apr 13, 2022

Sorry, tag for 4.7 beta should be out https://github.com/microsoft/TypeScript/releases/tag/v4.7-beta

@diervo
Copy link

diervo commented Apr 15, 2022

@DanielRosenwasser is there a specific tag or semantics for filing issues against this beta that will help streamline the process?

@DanielRosenwasser
Copy link
Member Author

Just open up issues and fill out the template, maybe signal specifically whether you've found a regression or a bug in a new feature.

@DanielRosenwasser
Copy link
Member Author

DanielRosenwasser commented May 6, 2022

We've moved resolution-mode from import type and export type into nightly-only, so I cannot summon the bot. The bump to RC is at #49007.

@DanielRosenwasser
Copy link
Member Author

4.8 Iteration Plan is available at #49074

@RyanCavanaugh
Copy link
Member

@typescript-bot bump release-4.7

@typescript-bot
Copy link
Collaborator

Heya @RyanCavanaugh, I've started to update the version number on release-4.7 to 4.7.2 for you. Here's the link to my best guess at the log.

@Jamesernator
Copy link

Just wanted to point out one mistake in the TypeScript 4.7 RC release notes that should probably be fixed for the full release and that's that the line:

Certain global-like values like require() and process cannot be used directly.

Is actually incorrect for process, unlike require which a per-cjs-module injected thing, the process object is actually just a property of global so is usable in ESM as a global without problems.

An alternative object for the sentence could the module per-cjs-module object i.e.:

Certain global-like values like require() and module cannot be used directly.

@DanielRosenwasser
Copy link
Member Author

Thank you for that correction!

@DanielRosenwasser
Copy link
Member Author

TypeScript 4.7 is now out!

@HolgerJeromin
Copy link
Contributor

HolgerJeromin commented May 25, 2022

Happy to test, but linked Typescript SDK has a 404 and nuget.org has a 4.7.2-rc (hu?).
But npm is available :-)

ref #48456

@DensedyGot
Copy link

I installed the typescript 4.7.2 but I encountered an error

Module build failed (from ./node_modules/ts-loader/index.js):
Error: Debug Failure. False expression: Non-string value passed to ts.resolveTypeReferenceDirective, likely by a wrapping package working with an outdated resolveTypeReferenceDirectives signature. This is probably not a problem in TS itself.

I'm using Node@16.15.0 and npm@8.11.0

Here are some of the packages I used
@fluentui/react@8.70.0
@types/react@17.0.45
react@17.0.2
react-dom@7.0.2
@types/node@16.11.36
@typescript-eslint/eslint-plugin@4.29.0
@typescript-eslint/parser@4.29.0
eslint@7.32.0
eslint-config-standard@16.0.2
eslint-plugin-import@2.26.0
eslint-plugin-node@11.1.0
eslint-plugin-promise@5.1.0
typescript@4.7.2

@DanielRosenwasser
Copy link
Member Author

@typescript-bot bump release-4.7

@typescript-bot
Copy link
Collaborator

Heya @DanielRosenwasser, I've started to update the version number on release-4.7 to 4.7.3 for you. Here's the link to my best guess at the log.

@DanielRosenwasser
Copy link
Member Author

@typescript-bot bump release-4.7

@typescript-bot
Copy link
Collaborator

Heya @DanielRosenwasser, I've started to update the version number on release-4.7 to 4.7.4 for you. Here's the link to my best guess at the log.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Planning Iteration plans and roadmapping
Projects
None yet
Development

No branches or pull requests