diff options
| -rw-r--r-- | index.md | 490 |
1 files changed, 490 insertions, 0 deletions
diff --git a/index.md b/index.md new file mode 100644 index 0000000..222e9d3 --- /dev/null +++ b/index.md @@ -0,0 +1,490 @@ +# Go Proposals + +## Introduction + +[Proposing Changes to Go](README.html). +The document that describes the process for proposing, documenting, and +implementing changes to the Go project. + + +## Proposals + +The proposal is grouped by its status: Draft, Incoming, Active, Hold, Accepted, +Declined, and Withdraw; then ordered by issue number, not by created date or +last updated, in descending order (the latest proposal is at the top). + + +### Draft + +[Custom Fuzz Input Types](design/48815-custom-fuzz-input-types.html), +May 2023\ +_Richard Hansen_\ +Discussion at [#48815](https://go.dev/issue/48815). + +[Less Error-Prone Loop Variable Scoping](design/60078-loopvar.html), +May 2023\ +_David Chase and Russ Cox_ +Discussion at [#60078](https://go.dev/issue/60078). + +[Go Vulnerability Database](design/draft-vulndb.html), +March 2021\ +_Roland Shoemaker and Filippo Valsorda_. + +[First Class Fuzzing](design/draft-fuzzing.html), +24 February 2021\ +_Katie Hockman_\ +Discussion at [Reddit](https://go.dev/s/draft-fuzzing-reddit). + +[File System Interfaces for Go](design/draft-iofs.html), +July 2020\ +_Russ Cox and Rob Pike_\ +Discussion at [Reddit](https://go.dev/s/draft-iofs-reddit). + +[Go command support for embedded static assets (files)](design/draft-embed.html), +July 2020\ +_Russ Cox and Brad Fitzpatrick_\ +Discussion at [Reddit](https://go.dev/s/draft-embed-reddit). + +[Bug-resistant build constraints](design/draft-gobuild.html), +30 June 2020\ +_Russ Cox_\ +Discussion at [Reddit](https://go.dev/s/go-build-reddit). + +[Go 2 Draft Designs](design/go2draft.html) + +* Error handling, + + * [Error Handling — Problem Overview](design/go2draft-error-handling-overview.html), + 27 August 2018\ + _Russ Cox_. + + * [Error Handling — Draft Design](design/go2draft-error-handling.html), + 27 August 2018\ + _Marcel van Lohuizen_. + + * [Wiki feedback page](https://go.dev/wiki/Go2ErrorHandlingFeedback). + +* Error values, + + * [Error Values — Problem Overview](design/go2draft-error-values-overview.html), + 27 August 2018\ + _Russ Cox_. + + * [Error Inspection — Draft Design](design/go2draft-error-inspection.html), + 27 August 2018\ + _Jonathan Amsterdam and Damien Neil_. + + * [Error Printing — Draft Design](design/go2draft-error-printing.html), + 27 August 2018\ + _Marcel van Lohuizen_. + + * [Wiki feedback page](https://go.dev/wiki/Go2ErrorValuesFeedback). + +* Generics, + + * [Generics — Problem Overview](design/go2draft-generics-overview.html), + 27 August 2018\ + _Russ Cox_. + + * [Contracts — Draft Design](design/go2draft-contracts.html), + 31 July 2019\ + _Ian Lance Taylor and Robert Griesemer_. + + * [Generics implementation - Dictionaries](design/generics-implementation-dictionaries.html). + + * [Generics implementation - GC Shape Stenciling](design/generics-implementation-gcshape.html). + + * [Generics implementation - Stenciling](design/generics-implementation-stenciling.html). + + * [Wiki feedback page](https://go.dev/wiki/Go2GenericsFeedback). + + +### Incoming + +[Check references to standard library packages inconsistent with go.mod go version](design/46136-vet-std-references.html), +12 May 2021\ +_Jay Conrod_\ +Discussion at [#46136](https://go.dev/issue/46136). + +[GC Pacer Redesign](design/44167-gc-pacer-redesign.html), +8 February 2021\ +_Michael Knyszek_\ +Discussion at [#44167](https://go.dev/issue/44167). + +[Make the internal lockedfile package public](design/33974-add-public-lockedfile-pkg.html), +15 October 2019\ +_Adrien Delorme_\ +Discussion at [#33974](https://go.dev/issue/33974). + + +### Active + +[Localization support in Go](design/12750-localization.html), +September 2015\ +_Marcel van Lohuizen_\ +Discussion at [#12750](https://go.dev/issue/12750). + + +### Hold + +[Generic parameterization of array sizes](design/44253-generic-array-sizes.html), +16 March 2021\ +_Andrew Werner_\ +Discussion at [#44253](https://go.dev/issue/44253). + +[go:wasmexport directive](design/42372-wasmexport.html), +17 December 2020\ +_Francesco Guardiani_\ +Discussion at [#42372](https://go.dev/issue/42372). + +[Make 64-bit fields be 64-bit aligned on 32-bit systems, add //go:packed, //go:align directives](design/36606-64-bit-field-alignment.html), +8 July 2020\ +_Dan Scales_\ +Discussion at [#36606](https://go.dev/issue/36606). + +[Built in support for high performance unbounded queue](design/27935-unbounded-queue-package.html), +2 October 2018\ +_Christian Petrin_\ +Discussion at [#27935](https://go.dev/issue/27935). + +[Raw XML Token](design/26756-rawxml-token.html), +1 September 2018\ +_Sam Whited_\ +Discussion at [#26756](https://go.dev/issue/26756). + +[percpu.Sharded, an API for reducing cache contention](design/18802-percpu-sharded.html), +27 January 2017\ +_Austin Clements_\ +Discussion at [#18802](https://go.dev/issue/18802). + + +### Accepted + +[Extended backwards compatibility for Go](design/56986-godebug.html), +December 2022\ +_Russ Cox_\ +Discussion at [#56986](https://go.dev/issue/56986). + +[Structured Logging](design/56345-structured-logging.html). +19 October 2022\ +_Jonathan Amsterdam_\ +Discussion at [#56345](https://go.dev/issues/56345). + +[Profile guided optimization](design/55022-pgo.html). +12 September 2022\ +_Cherry Mui, Austin Clements, and Michael Pratt_\ +Discussion at [#55022](https://go.dev/issue/55022). + +[Extend code coverage testing to include applications](design/51430-revamp-code-coverage.html), +March 2022\ +_Than McIntosh_\ +Discussion at [#51430](https://go.dev/issue/51430) + +[go/doc: headings, lists, and links in Go doc comments](design/51082-godocfmt.html) +January 2022\ +Russ Cox\ +Earlier discussion at [#48305](https://go.dev/issue/48305) +and [#45533](https://go.dev/issue/45533). +Proposal at [#51082](https://go.dev/issue/51082). + +[Soft memory limit](design/48409-soft-memory-limit.html), +15 September 2021\ +_Michael Knyszek_\ +Discussion at [#48409](https://go.dev/issue/48409). + +[Additions to go/types to support type parameters](design/47916-parameterized-go-types.html), +17 August 2021\ +_Rob Findley and Robert Griesemer_\ +Discussion at [#47916](https://go.dev/issue/47916). + +[Additions to go/ast and go/token to support parameterized functions and types](design/47781-parameterized-go-ast.html), +18 August 2021\ +_Rob Findley and Robert Griesemer_\ +Discussion at [#47781](https://go.dev/issue/47781). + +[Multi-Module Workspaces in `cmd/go`](design/45713-workspace.html), +22 April 2021\ +_Michael Matloob_\ +Discussion at [#45713](https://go.dev/issue/45713). + +[Type Parameters Proposal](design/43651-type-parameters.html), +20 August 2021\ +_Ian Lance Taylor and Robert Griesemer_\ +Discussion at [#43651](https://go.dev/issue/43651). + +[Register-based Go calling convention](design/40724-register-calling.html), +10 August 2020\ +_Austin Clements_\ +Discussion at [#40724](https://go.dev/issue/40724). + +[`go install` should install executables in module mode outside a module](design/40276-go-install.html), +29 September 2020\ +_Jay Conrod and Daniel Martí_\ +Discussion at [#40279](https://go.dev/issue/40276). + +[API for unstable runtime metrics](design/37112-unstable-runtime-metrics.html), +7 February 2020\ +_Michael Knyszek_\ +Discussion at [#37112](https://go.dev/issue/37112). + +[Lazy Module Loading](design/36460-lazy-module-loading.html), +20 February 2020\ +_Bryan C. Mills_\ +Discussion at [#36460](https://go.dev/issue/36460). + +[Scaling the Go page allocator](design/35112-scaling-the-page-allocator.html), +18 October 2019\ +_Michael Knyszek and Austin Clements_\ +Discussion at [#35112](https://go.dev/issue/35112). + +[Low-cost defers through inline code, and extra funcdata to manage the panic case](design/34481-opencoded-defers.html), +23 September 2019\ +_Dan Scales, Keith Randall, and Austin Clements_\ +Discussion at [#34481](https://go.dev/issue/34481). + +[Cryptography Principles](design/cryptography-principles.html), +June 2019\ +_Filippo Valsorda_\ +Discussion at [#42466](https://go.dev/issue/32466). + +[`go` command configuration file](design/30411-env.html), +1 March 2019\ +_Russ Cox_\ +Discussion at [#30411](https://go.dev/issue/30411). + +[Smarter Scavenging](design/30333-smarter-scavenging.html), +20 February 2019\ +_Michael Knyszek_\ +Discussion at [#30333](https://go.dev/issue/30333). + +[Go 2 Error Inspection](design/29934-error-values.html), +25 January 2019\ +_Jonathan Amsterdam, Russ Cox, Marcel van Lohuizen, and Damien Neil_\ +Discussion at [#29934](https://go.dev/issue/29934). + +[Go 2 transition](design/28221-go2-transitions.html), +15 October 2018\ +_Ian Lance Taylor_\ +Discussion at [#28221](https://go.dev/issue/28221). + +[Create an undefined internal calling convention](design/27539-internal-abi.html), +14 January 2019\ +_Austin Clements_\ +Discussion at [#27539](https://go.dev/issue/27539). + +[Simplify mark termination and eliminate mark 2](design/26903-simplify-mark-termination.html), +9 August 2018\ +_Austin Clements_\ +Discussion at [#26903](https://go.dev/issue/26903). + +[Go 1.5 Vendor Experiment](design/25719-go15vendor.html), +July 2015\ +_Russ Cox_, based on work by Keith Rarick\ +Discussion at [#25719](https://go.dev/issue/25719). + +[Secure the Public Go Module Ecosystem](design/25530-sumdb.html), +24 April 2019\ +_Russ Cox and Filippo Valsorda_\ +Discussion at [#25530](https://go.dev/issue/25530). + +[Non-cooperative goroutine preemption](design/24543-non-cooperative-preemption.html), +18 January 2019\ +_Austin Clements_\ +Discussion at [#24543](https://go.dev/issue/24543). + +[Versioned Go Modules](design/24301-versioned-go.html), +20 March 2018\ +_Russ Cox_\ +Discussion at [#24301](https://go.dev/issue/24301). + +[Emit DWARF inlining info in the Go compiler](design/22080-dwarf-inlining.html), +23 October 2017\ +_Than McIntosh_\ +Discussion at [#22080](https://go.dev/issue/22080). + +[XML Stream](design/19480-xml-stream.html), +9 March 2017\ +_Sam Whited_\ +Discussion at [#19480](https://go.dev/issue/19480). + +[Mid-stack inlining in the Go compiler](design/19348-midstack-inlining.html), +10 March 2017\ +_David Lazar and Austin Clements_\ +Discussion at [#19348](https://go.dev/issue/19348). + +[Go 2 Number Literal Changes](design/19308-number-literals.html), +6 March 2019\ +_Russ Cox and Robert Griesemer_\ +Discussion at [#19113](https://go.dev/issue/19308). + +[Permit Signed Integers as Shift Counts for Go 2](design/19113-signed-shift-counts.html), +17 January 2019\ +_Robert Griesemer_\ +Discussion at [#19113](https://go.dev/issue/19113). + +[Type Aliases](design/18130-type-alias.html), +16 December 2016\ +_Russ Cox and Robert Griesemer_\ +Discussion at [#18130](https://go.dev/issue/18130). + +[Eliminate STW stack re-scanning](design/17503-eliminate-rescan.html), +21 October 2016\ +_Austin Clements and Rick Hudson_\ +Discussion at [#17503](https://go.dev/issue/17503). + +[Support for pprof profiler labels](design/17280-profile-labels.html), +15 May 2017\ +_Michael Matloob_\ +Discussion at [#17280](https://go.dev/issue/17280). + +[Add support for CIDR notation in no_proxy variable](design/16704-cidr-notation-no-proxy.html), +10 July 2017\ +_Rudi Kramer and James Forrest_\ +Discussion at [#16704](https://go.dev/issue/16704). + +[Ignore tags in struct type conversions](design/16085-conversions-ignore-tags.html), +16 June 2016\ +_Robert Griesemer_\ +Discussion at [#16085](https://go.dev/issue/16085). + +[Separate soft and hard heap size goal](design/14951-soft-heap-limit.html), +31 October 2017\ +_Austin Clements_ (inspired by discussion with Rick Hudson and Rhys Hiltner)\ +Discussion at [#14951](https://go.dev/issue/14951). + +[Go Benchmark Data Format](design/14313-benchmark-format.html), +February 2016\ +_Russ Cox and Austin Clements_\ +Discussion at [#14313](https://go.dev/issue/14313). + +[Natural XML](design/13504-natural-xml.html), +27 September 2016\ +_Sam Whited_\ +Discussion at [#13504](https://go.dev/issue/13504). + +[A Code of Conduct for the Go community](design/13073-code-of-conduct.html), +17 November 2015\ +_Andrew Gerrand_\ +Discussion at [#13073](https://go.dev/issue/13073). + +[Monotonic Elapsed Time Measurements in Go](design/12914-monotonic.html), +26 January 2017\ +_Russ Cox_\ +Discussion at [#12914](https://go.dev/issue/12914). + +[Dense mark bits and sweep-free allocation](design/12800-sweep-free-alloc.html), +30 September 2015\ +_Austin Clements_\ +Discussion at [#12800](https://go.dev/issue/12800). + +[Rules for passing pointers between Go and C](design/12416-cgo-pointers.html), +October 2015\ +_Ian Lance Taylor_\ +Discussion at [#12416](https://go.dev/issue/12416). + +[Testing: programmatic sub-test and sub-benchmark support](design/12166-subtests.html), +2 September 2015\ +_Marcel van Lohuizen_\ +Discussion at [#12166](https://go.dev/issue/12166). + +[Decentralized GC coordination](design/11970-decentralized-gc.html), +25 October 2015\ +_Austin Clements_\ +Discussion at [#11970](https://go.dev/issue/11970). + +[Security Policy for Go](design/11502-securitypolicy.html), +31 July 2015\ +_Jason Buberel_\ +Discussion at [#11502](https://go.dev/issue/11502). + +[Permit embedding of interfaces with overlapping method sets](design/6977-overlapping-interfaces.html), +16 October 2019\ +_Robert Griesemer_\ +Discussion at [#6977](https://go.dev/issue/6977). + +[Testing: better support test helper functions with TB.Helper](design/4899-testing-helper.html), +27 December 2016\ +_Caleb Spare_ (based on previous work by Josh Bleecher Snyder)\ +Discussion at [#4899](https://go.dev/issue/4899). + +[json flag in `go test`](design/2981-go-test-json.html), +14 September 2016\ +_Nodir Turakulov_\ +Discussion at [#2981](https://go.dev/issue/2981). + +[Binary-Only Packages](design/2775-binary-only-packages.html), +24 April 2016\ +_Russ Cox_\ +Discussion at [#2775](https://go.dev/issue/2775). + + +### Declined + +[Proposal: Add support for Persistent Memory in Go](design/43810-go-pmem.html), +20 January 2021\ +_Jerrin Shaji George, Mohit Verma, Rajesh Venkatasubramanian, and Pratap Subrahmanyam_\ +Discussion at [#43810](https://go.dev/issue/43810). + +[A built-in Go error check function, `try`](design/32437-try-builtin.html), +12 July 2019\ +_Robert Griesemer_\ +Discussion at [#32437](https://go.dev/issue/32437). + +[DNS Based Vanity Imports](design/26160-dns-based-vanity-imports.html), +30 June 2018\ +_Sam Whited_\ +Discussion at [#26160](https://go.dev/issue/26160). + +[Alias declarations for Go](design/16339-alias-decls.html), +18 July 2016\ +_Robert Griesemer and Rob Pike_\ +Discussion at [#16339](https://go.dev/issue/16339). + +[Go should have generics](design/15292-generics.html), +April 2016\ +_Ian Lance Taylor_\ +Discussion at [#15292](https://go.dev/issue/15292). + +[Zip-based Go package archives](design/14386-zip-package-archives.html), +February 2016\ +_Russ Cox_\ +Discussion at [#14386](https://go.dev/issue/14386). + +[Multi-dimensional slices](design/6282-table-data.html), +17 November 2016\ +_Brendan Tracey_\ +Discussion at [#6282](https://go.dev/issue/6282). + +[Go 1.2 Field Selectors and Nil Checks](design/4238-go12nil.html), +July 2013\ +_Russ Cox_\ +Discussion at [#4238](https://go.dev/issue/4238). +Originally at [https://go.dev/s/go12nil]. + + +### Withdraw + +[User-configurable memory target](design/44309-user-configurable-memory-target.html), +16 February 2021\ +_Michael Knyszek_\ +Discussion at [#44309](https://go.dev/issue/44309). + +[Concurrent stack re-scanning](design/17505-concurrent-rescan.html), +18 October 2016\ +_Austin Clements and Rick Hudson_\ +Discussion at [#17505](https://go.dev/issue/17505). + +[Go Heap Dump Viewer](design/16410-heap-viewer.html), +20 July 2016\ +_Michael Matloob_\ +Discussion at [#16410](https://go.dev/issue/16410). + +[Audio for Mobile](design/13432-mobile-audio.html), +30 November 2015\ +_Jaana Burcu Dogan_\ +Discussion at [#13432](https://go.dev/issue/13432). + +[A minimal release process for Go repositories](design/12302-release-proposal.html), +3 December 2015\ +_Dave Cheney_\ +Discussion at [#12302](https://go.dev/issue/12302). |
