It's been a while... But we bring you a new GoopherJS release, featuring long-awaited generics support. Thanks to @grantnelson-wf's persistence, GopherJS now fully supports generics according to the Go 1.19 spec. Given the magnitude and complexity of the change, we would like to make this a beta release, if you run into any bugs or issues, please feel free to report them. If no major issues are discovered, we will tag a stable 1.19 release, at last.
In the meantime, work on 1.20 is already starting, stay tuned!
What's Changed
An alternate approach to generics support by @nevkontakte in https://github.com/gopherjs/gopherjs/pull/1272
Bump ip from 1.1.5 to 1.1.9 in /node-syscall by @dependabot[bot] in https://github.com/gopherjs/gopherjs/pull/1268
chore: remove repetitive words by @avoidalone in https://github.com/gopherjs/gopherjs/pull/1275
Refactor srctesting to support parsing and checking multiple packages. by @nevkontakte in https://github.com/gopherjs/gopherjs/pull/1274
Support collecting instances across packages in typeparams.Collector. by @nevkontakte in https://github.com/gopherjs/gopherjs/pull/1276
Guard generics support behind an experiment flag. by @nevkontakte in https://github.com/gopherjs/gopherjs/pull/1279
chore: fix some typos in comments by @kindknow in https://github.com/gopherjs/gopherjs/pull/1288
Bump tar from 6.1.11 to 6.2.1 by @dependabot[bot] in https://github.com/gopherjs/gopherjs/pull/1286
Bump tar from 6.1.11 to 6.2.1 in /node-syscall by @dependabot[bot] in https://github.com/gopherjs/gopherjs/pull/1285
Updated test/gorepo/run.go's build constraint checker by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1289
Foundations of generics support by @nevkontakte in https://github.com/gopherjs/gopherjs/pull/1290
Refactorings from the original generics branch by @nevkontakte in https://github.com/gopherjs/gopherjs/pull/1291
Fix function name in comment by @deferdeter in https://github.com/gopherjs/gopherjs/pull/1292
Remove extra pruneImport by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1299
Fixing internalization of null slice and array fields by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1303
Fix float64 to uint{8,16,32} conversion. by @nevkontakte in https://github.com/gopherjs/gopherjs/pull/1305
Changed uint to use $imul by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1307
compiler: break functions related to Decls out of Compile(). by @nevkontakte in https://github.com/gopherjs/gopherjs/pull/1311
Move function translation code into a separate file. by @nevkontakte in https://github.com/gopherjs/gopherjs/pull/1318
Another attempt to move tests from CircleCI to GitHub Actions by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1317
Update NodeJS from 12 to 18 by @nevkontakte in https://github.com/gopherjs/gopherjs/pull/1329
Make slow stdlib tests faster. by @nevkontakte in https://github.com/gopherjs/gopherjs/pull/1327
Remove npm dependencies we don't need anymore by @nevkontakte in https://github.com/gopherjs/gopherjs/pull/1336
Final round of refactoring ported from the original generics branch. by @nevkontakte in https://github.com/gopherjs/gopherjs/pull/1335
Moving DCE into its own package by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1339
Adding more functions to InstanceMap by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1345
Adding DCE integration tests in compiler by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1343
Blocking for Function Instances by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1347
Adding instance tracking to the DCE by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1340
Fixing issue in len with string concatenation in argument by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1348
Improving return with defers blocking by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1349
Fixing issues in analysis around generics by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1351
Archive serialization updates and DCE fix by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1354
Updating Decl's FullNames by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1350
Skipping crypto tests with expired certificate by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1360
Separate Parsing and Compiling by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1361
Use sources instead of parsed package by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1362
Perform cross package type analysis by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1364
Fix: linkname no longer causes issues for 1.24.x and probably others by @IngwiePhoenix in https://github.com/gopherjs/gopherjs/pull/1367
Update evanw/esbuild and spf13/cobra for direct and transitive vulnerabilities by @LRGoldenPony in https://github.com/gopherjs/gopherjs/pull/1369
Adding nested type support by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1370
Handling nested type arguments by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1374
DCE update to support nested types by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1375
Adding selectors to index handling for generics by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1376
[generics] Grouping by declaration kinds and adding $finishSetup by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1380
Bump brace-expansion from 1.1.11 to 1.1.12 in /node-syscall by @dependabot[bot] in https://github.com/gopherjs/gopherjs/pull/1381
[generics] Fixed collecting instances from inverted dependencies by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1384
Update go1.19 native overrides by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1386
[generics][go1.19] Enable generics and remove overrides for generics by @grantnelson-wf in https://github.com/gopherjs/gopherjs/pull/1387
New Contributors
@avoidalone made their first contribution in https://github.com/gopherjs/gopherjs/pull/1275
@kindknow made their first contribution in https://github.com/gopherjs/gopherjs/pull/1288
@deferdeter made their first contribution in https://github.com/gopherjs/gopherjs/pull/1292
@IngwiePhoenix made their first contribution in https://github.com/gopherjs/gopherjs/pull/1367
@LRGoldenPony made their first contribution in https://github.com/gopherjs/gopherjs/pull/1369
Full Changelog: https://github.com/gopherjs/gopherjs/compare/v1.19.0-beta1...v1.19.0-beta2