This blog post tracks actual and potential features of ES2021. I will continually update it.
Note that since the TC39 process was instituted, the importance of ECMAScript versions has much decreased. What really matters now is what stage a proposed feature is in: Once it has reached stage 4, it can be used safely. But even then, you still have to check if your engines of choice support it.
String.prototype.replaceAll (Peter Marshall, Jakob Gruber, Mathias Bynens)
Promise.any() (Mathias Bynens, Kevin Gibbons, Sergey Rubanov)
WeakRefs (Dean Tribble, Mark Miller, Till Schneidereit, Sathya Gunasekaran, Daniel Ehrenberg) [proposal]
Logical assignment operators (Justin Ridgewell, Hemanth HM)
Numeric separators (Sam Goto, Rick Waldron)
The following features are currently at stage 3:
Class public instance fields & private instance fields (Daniel Ehrenberg, Jeff Morrison, Kevin Smith, Kevin Gibbons):
Class public static fields, private static methods, private getters/setters (Daniel Ehrenberg, Kevin Gibbons, Jeff Morrison, Kevin Smith, Shu-Yu Guo)
Hashbang grammar (Bradley Farias) [proposal]
await (Myles Borins)
RegExp match indices (Ron Buckton)
Atomics.waitAsync (Lars Hansen, Shu-yu Guo) [proposal]
.item() (Shu-yu Guo, Tab Atkins)
Import assertions (Myles Borins, Sven Sauleau, Dan Clark, Daniel Ehrenberg) [proposal]
If you are wondering what stages various proposed features are in, consult the readme of the ECMA-262 GitHub repository.
Yes, the TC39 repo lists finished proposals and mentions in which ECMAScript versions they are introduced.
Both books are free to read online.