diff --git a/content/static/doc/contrib.html b/content/static/doc/contrib.html new file mode 100644 index 0000000000..f0a01c5f0f --- /dev/null +++ b/content/static/doc/contrib.html @@ -0,0 +1,133 @@ + + + + +
+ +

+Go is an open source project developed by a team at +Google and many +contributors from the open source community. +

+ +

+Go is distributed under a BSD-style license. +

+ +

Announcements Mailing List

+

+A low traffic mailing list for important announcements, such as new releases. +

+

+We encourage all Go users to subscribe to +golang-announce. +

+ + +

Version history

+ +

Release History

+ +

A summary of the changes between Go releases. Notes for the major releases:

+ + + +

Go 1 and the Future of Go Programs

+

+What Go 1 defines and the backwards-compatibility guarantees one can expect as +Go 1 matures. +

+ + +

Developer Resources

+ +

Source Code

+

Check out the Go source code.

+ +

Discussion Mailing List

+

+A mailing list for general discussion of Go programming. +

+

+Questions about using Go or announcements relevant to other Go users should be sent to +golang-nuts. +

+ +

Developer and +Code Review Mailing List

+

The golang-dev +mailing list is for discussing code changes to the Go project. +The golang-codereviews +mailing list is for actual reviewing of the code changes (CLs).

+ +

Checkins Mailing List

+

A mailing list that receives a message summarizing each checkin to the Go repository.

+ +

Build Status

+

View the status of Go builds across the supported operating +systems and architectures.

+ + +

How you can help

+ +

Reporting issues

+ +

+If you spot bugs, mistakes, or inconsistencies in the Go project's code or +documentation, please let us know by +filing a ticket +on our issue tracker. +(Of course, you should check it's not an existing issue before creating +a new one.) +

+ +

+We pride ourselves on being meticulous; no issue is too small. +

+ +

+Security-related issues should be reported to +security@golang.org.
+See the security policy for more details. +

+ +

+Community-related issues should be reported to +conduct@golang.org.
+See the Code of Conduct for more details. +

+ +

Contributing code & documentation

+ +

+Go is an open source project and we welcome contributions from the community. +

+

+To get started, read these contribution +guidelines for information on design, testing, and our code review process. +

+

+Check the tracker for +open issues that interest you. Those labeled +help wanted +are particularly in need of outside help. +

diff --git a/content/static/internal/gen/gen.go b/content/static/internal/gen/gen.go index 03148c66a2..384c75ff32 100644 --- a/content/static/internal/gen/gen.go +++ b/content/static/internal/gen/gen.go @@ -43,6 +43,7 @@ var files = []string{ "dirlist.html", "doc/code.html", "doc/conduct.html", + "doc/contrib.html", "doc/copyright.html", "doc/devel/pre_go1.html", "doc/devel/release.html", diff --git a/content/static/static.go b/content/static/static.go index cb0b96ca39..cf5eb6b689 100644 --- a/content/static/static.go +++ b/content/static/static.go @@ -49,6 +49,8 @@ var Files = map[string]string{ "doc/conduct.html": "\x0a\x0a\x0a\x0aAbout\x0a\x0a

\x0aOnline\x20communities\x20include\x20people\x20from\x20many\x20different\x20backgrounds.\x0aThe\x20Go\x20contributors\x20are\x20committed\x20to\x20providing\x20a\x20friendly,\x20safe\x20and\x20welcoming\x0aenvironment\x20for\x20all,\x20regardless\x20of\x20gender\x20identity\x20and\x20expression,\x20sexual\x20orientation,\x0adisabilities,\x20neurodiversity,\x20physical\x20appearance,\x20body\x20size,\x20ethnicity,\x20nationality,\x0arace,\x20age,\x20religion,\x20or\x20similar\x20personal\x20characteristics.\x0a

\x0a\x0a

\x0aThe\x20first\x20goal\x20of\x20the\x20Code\x20of\x20Conduct\x20is\x20to\x20specify\x20a\x20baseline\x20standard\x0aof\x20behavior\x20so\x20that\x20people\x20with\x20different\x20social\x20values\x20and\x20communication\x0astyles\x20can\x20talk\x20about\x20Go\x20effectively,\x20productively,\x20and\x20respectfully.\x0a

\x0a\x0a

\x0aThe\x20second\x20goal\x20is\x20to\x20provide\x20a\x20mechanism\x20for\x20resolving\x20conflicts\x20in\x20the\x0acommunity\x20when\x20they\x20arise.\x0a

\x0a\x0a

\x0aThe\x20third\x20goal\x20of\x20the\x20Code\x20of\x20Conduct\x20is\x20to\x20make\x20our\x20community\x20welcoming\x20to\x0apeople\x20from\x20different\x20backgrounds.\x0aDiversity\x20is\x20critical\x20to\x20the\x20project;\x20for\x20Go\x20to\x20be\x20successful,\x20it\x20needs\x0acontributors\x20and\x20users\x20from\x20all\x20backgrounds.\x0a(See\x20Go,\x20Open\x20Source,\x20Community.)\x0a

\x0a\x0a

\x0aWe\x20believe\x20that\x20healthy\x20debate\x20and\x20disagreement\x20are\x20essential\x20to\x20a\x20healthy\x20project\x20and\x20community.\x0aHowever,\x20it\x20is\x20never\x20ok\x20to\x20be\x20disrespectful.\x0aWe\x20value\x20diverse\x20opinions,\x20but\x20we\x20value\x20respectful\x20behavior\x20more.\x0a

\x0a\x0aGopher\x20values\x0a\x0a

\x0aThese\x20are\x20the\x20values\x20to\x20which\x20people\x20in\x20the\x20Go\x20community\x20(\xe2\x80\x9cGophers\xe2\x80\x9d)\x20should\x20aspire.\x0a

\x0a\x0a\x0a\x0a

\x0aPeople\x20are\x20complicated.\x0aYou\x20should\x20expect\x20to\x20be\x20misunderstood\x20and\x20to\x20misunderstand\x20others;\x0awhen\x20this\x20inevitably\x20occurs,\x20resist\x20the\x20urge\x20to\x20be\x20defensive\x20or\x20assign\x20blame.\x0aTry\x20not\x20to\x20take\x20offense\x20where\x20no\x20offense\x20was\x20intended.\x0aGive\x20people\x20the\x20benefit\x20of\x20the\x20doubt.\x0aEven\x20if\x20the\x20intent\x20was\x20to\x20provoke,\x20do\x20not\x20rise\x20to\x20it.\x0aIt\x20is\x20the\x20responsibility\x20of\x20all\x20parties\x20to\x20de-escalate\x20conflict\x20when\x20it\x20arises.\x0a

\x0a\x0aCode\x20of\x20Conduct\x0a\x0aOur\x20Pledge\x0a\x0a

In\x20the\x20interest\x20of\x20fostering\x20an\x20open\x20and\x20welcoming\x20environment,\x20we\x20as\x0acontributors\x20and\x20maintainers\x20pledge\x20to\x20making\x20participation\x20in\x20our\x20project\x20and\x0aour\x20community\x20a\x20harassment-free\x20experience\x20for\x20everyone,\x20regardless\x20of\x20age,\x20body\x0asize,\x20disability,\x20ethnicity,\x20gender\x20identity\x20and\x20expression,\x20level\x20of\x0aexperience,\x20education,\x20socio-economic\x20status,\x20nationality,\x20personal\x20appearance,\x0arace,\x20religion,\x20or\x20sexual\x20identity\x20and\x20orientation.

\x0a\x0aOur\x20Standards\x0a\x0a

Examples\x20of\x20behavior\x20that\x20contributes\x20to\x20creating\x20a\x20positive\x20environment\x0ainclude:

\x0a\x0a
    \x0a
  • Using\x20welcoming\x20and\x20inclusive\x20language
  • \x0a
  • Being\x20respectful\x20of\x20differing\x20viewpoints\x20and\x20experiences
  • \x0a
  • Gracefully\x20accepting\x20constructive\x20criticism
  • \x0a
  • Focusing\x20on\x20what\x20is\x20best\x20for\x20the\x20community
  • \x0a
  • Showing\x20empathy\x20towards\x20other\x20community\x20members
  • \x0a
\x0a\x0a

Examples\x20of\x20unacceptable\x20behavior\x20by\x20participants\x20include:

\x0a\x0a
    \x0a
  • The\x20use\x20of\x20sexualized\x20language\x20or\x20imagery\x20and\x20unwelcome\x20sexual\x20attention\x20or\x0aadvances
  • \x0a
  • Trolling,\x20insulting/derogatory\x20comments,\x20and\x20personal\x20or\x20political\x20attacks
  • \x0a
  • Public\x20or\x20private\x20harassment
  • \x0a
  • Publishing\x20others’\x20private\x20information,\x20such\x20as\x20a\x20physical\x20or\x20electronic\x0aaddress,\x20without\x20explicit\x20permission
  • \x0a
  • Other\x20conduct\x20which\x20could\x20reasonably\x20be\x20considered\x20inappropriate\x20in\x20a\x0aprofessional\x20setting
  • \x0a
\x0a\x0aOur\x20Responsibilities\x0a\x0a

Project\x20maintainers\x20are\x20responsible\x20for\x20clarifying\x20the\x20standards\x20of\x20acceptable\x0abehavior\x20and\x20are\x20expected\x20to\x20take\x20appropriate\x20and\x20fair\x20corrective\x20action\x20in\x0aresponse\x20to\x20any\x20instances\x20of\x20unacceptable\x20behavior.

\x0a\x0a

Project\x20maintainers\x20have\x20the\x20right\x20and\x20responsibility\x20to\x20remove,\x20edit,\x20or\x20reject\x0acomments,\x20commits,\x20code,\x20wiki\x20edits,\x20issues,\x20and\x20other\x20contributions\x20that\x20are\x0anot\x20aligned\x20to\x20this\x20Code\x20of\x20Conduct,\x20or\x20to\x20ban\x20temporarily\x20or\x20permanently\x20any\x0acontributor\x20for\x20other\x20behaviors\x20that\x20they\x20deem\x20inappropriate,\x20threatening,\x0aoffensive,\x20or\x20harmful.

\x0a\x0aScope\x0a\x0a

This\x20Code\x20of\x20Conduct\x20applies\x20both\x20within\x20project\x20spaces\x20and\x20in\x20public\x20spaces\x0awhen\x20an\x20individual\x20is\x20representing\x20the\x20project\x20or\x20its\x20community.\x20Examples\x20of\x0arepresenting\x20a\x20project\x20or\x20community\x20include\x20using\x20an\x20official\x20project\x20e-mail\x0aaddress,\x20posting\x20via\x20an\x20official\x20social\x20media\x20account,\x20or\x20acting\x20as\x20an\x20appointed\x0arepresentative\x20at\x20an\x20online\x20or\x20offline\x20event.\x20Representation\x20of\x20a\x20project\x20may\x20be\x0afurther\x20defined\x20and\x20clarified\x20by\x20project\x20maintainers.

\x0a\x0a

This\x20Code\x20of\x20Conduct\x20also\x20applies\x20outside\x20the\x20project\x20spaces\x20when\x20the\x20Project\x0aStewards\x20have\x20a\x20reasonable\x20belief\x20that\x20an\x20individual’s\x20behavior\x20may\x20have\x20a\x0anegative\x20impact\x20on\x20the\x20project\x20or\x20its\x20community.

\x0a\x0aConflict\x20Resolution\x0a\x0a

We\x20do\x20not\x20believe\x20that\x20all\x20conflict\x20is\x20bad;\x20healthy\x20debate\x20and\x20disagreement\x0aoften\x20yield\x20positive\x20results.\x20However,\x20it\x20is\x20never\x20okay\x20to\x20be\x20disrespectful\x20or\x0ato\x20engage\x20in\x20behavior\x20that\x20violates\x20the\x20project\xe2\x80\x99s\x20code\x20of\x20conduct.

\x0a\x0a

If\x20you\x20see\x20someone\x20violating\x20the\x20code\x20of\x20conduct,\x20you\x20are\x20encouraged\x20to\x20address\x0athe\x20behavior\x20directly\x20with\x20those\x20involved.\x20Many\x20issues\x20can\x20be\x20resolved\x20quickly\x0aand\x20easily,\x20and\x20this\x20gives\x20people\x20more\x20control\x20over\x20the\x20outcome\x20of\x20their\x0adispute.\x20If\x20you\x20are\x20unable\x20to\x20resolve\x20the\x20matter\x20for\x20any\x20reason,\x20or\x20if\x20the\x0abehavior\x20is\x20threatening\x20or\x20harassing,\x20report\x20it.\x20We\x20are\x20dedicated\x20to\x20providing\x0aan\x20environment\x20where\x20participants\x20feel\x20welcome\x20and\x20safe.

\x0a\x0aReports\x20should\x20be\x20directed\x20to\x20Carmen\x20Andoh\x20and\x20Van\x20Riper,\x20the\x0aGo\x20Project\x20Stewards,\x20at\x20conduct@golang.org.\x0aIt\x20is\x20the\x20Project\x20Stewards\xe2\x80\x99\x20duty\x20to\x0areceive\x20and\x20address\x20reported\x20violations\x20of\x20the\x20code\x20of\x20conduct.\x20They\x20will\x20then\x0awork\x20with\x20a\x20committee\x20consisting\x20of\x20representatives\x20from\x20the\x20Open\x20Source\x0aPrograms\x20Office\x20and\x20the\x20Google\x20Open\x20Source\x20Strategy\x20team.\x20If\x20for\x20any\x20reason\x20you\x0aare\x20uncomfortable\x20reaching\x20out\x20the\x20Project\x20Stewards,\x20please\x20email\x0athe\x20Google\x20Open\x20Source\x20Programs\x20Office\x20at\x20opensource@google.com.

\x0a\x0a

We\x20will\x20investigate\x20every\x20complaint,\x20but\x20you\x20may\x20not\x20receive\x20a\x20direct\x20response.\x0aWe\x20will\x20use\x20our\x20discretion\x20in\x20determining\x20when\x20and\x20how\x20to\x20follow\x20up\x20on\x20reported\x0aincidents,\x20which\x20may\x20range\x20from\x20not\x20taking\x20action\x20to\x20permanent\x20expulsion\x20from\x0athe\x20project\x20and\x20project-sponsored\x20spaces.\x20We\x20will\x20notify\x20the\x20accused\x20of\x20the\x0areport\x20and\x20provide\x20them\x20an\x20opportunity\x20to\x20discuss\x20it\x20before\x20any\x20action\x20is\x20taken.\x0aThe\x20identity\x20of\x20the\x20reporter\x20will\x20be\x20omitted\x20from\x20the\x20details\x20of\x20the\x20report\x0asupplied\x20to\x20the\x20accused.\x20In\x20potentially\x20harmful\x20situations,\x20such\x20as\x20ongoing\x0aharassment\x20or\x20threats\x20to\x20anyone’s\x20safety,\x20we\x20may\x20take\x20action\x20without\x20notice.

\x0a\x0aAttribution\x0a\x0a

This\x20Code\x20of\x20Conduct\x20is\x20adapted\x20from\x20the\x20Contributor\x20Covenant,\x20version\x201.4,\x0aavailable\x20at\x0ahttps://www.contributor-covenant.org/version/1/4/code-of-conduct.html

\x0a\x0aSummary\x0a\x0a
    \x0a
  • Treat\x20everyone\x20with\x20respect\x20and\x20kindness.\x0a
  • Be\x20thoughtful\x20in\x20how\x20you\x20communicate.\x0a
  • Don\xe2\x80\x99t\x20be\x20destructive\x20or\x20inflammatory.\x0a
  • If\x20you\x20encounter\x20an\x20issue,\x20please\x20mail\x20conduct@golang.org.\x0a
\x0a", + "doc/contrib.html": "\x0a\x0a\x0a\x0a\x0a\x0a

\x0aGo\x20is\x20an\x20open\x20source\x20project\x20developed\x20by\x20a\x20team\x20at\x0aGoogle\x20and\x20many\x0acontributors\x20from\x20the\x20open\x20source\x20community.\x0a

\x0a\x0a

\x0aGo\x20is\x20distributed\x20under\x20a\x20BSD-style\x20license.\x0a

\x0a\x0aAnnouncements\x20Mailing\x20List\x0a

\x0aA\x20low\x20traffic\x20mailing\x20list\x20for\x20important\x20announcements,\x20such\x20as\x20new\x20releases.\x0a

\x0a

\x0aWe\x20encourage\x20all\x20Go\x20users\x20to\x20subscribe\x20to\x0agolang-announce.\x0a

\x0a\x0a\x0aVersion\x20history\x0a\x0aRelease\x20History\x0a\x0a

A\x20summary\x20of\x20the\x20changes\x20between\x20Go\x20releases.\x20Notes\x20for\x20the\x20major\x20releases:

\x0a\x0a
    \x0a\x09
  • Go\x201.14\x20(February\x202020)
  • \x0a\x09
  • Go\x201.13\x20(September\x202019)
  • \x0a\x09
  • Go\x201.12\x20(February\x202019)
  • \x0a\x09
  • Go\x201.11\x20(August\x202018)
  • \x0a\x09
  • Go\x201.10\x20(February\x202018)
  • \x0a\x09
  • Go\x201.9\x20(August\x202017)
  • \x0a\x09
  • Go\x201.8\x20(February\x202017)
  • \x0a\x09
  • Go\x201.7\x20(August\x202016)
  • \x0a\x09
  • Go\x201.6\x20(February\x202016)
  • \x0a\x09
  • Go\x201.5\x20(August\x202015)
  • \x0a\x09
  • Go\x201.4\x20(December\x202014)
  • \x0a\x09
  • Go\x201.3\x20(June\x202014)
  • \x0a\x09
  • Go\x201.2\x20(December\x202013)
  • \x0a\x09
  • Go\x201.1\x20(May\x202013)
  • \x0a\x09
  • Go\x201\x20(March\x202012)
  • \x0a
\x0a\x0aGo\x201\x20and\x20the\x20Future\x20of\x20Go\x20Programs\x0a

\x0aWhat\x20Go\x201\x20defines\x20and\x20the\x20backwards-compatibility\x20guarantees\x20one\x20can\x20expect\x20as\x0aGo\x201\x20matures.\x0a

\x0a\x0a\x0aDeveloper\x20Resources\x0a\x0aSource\x20Code\x0a

Check\x20out\x20the\x20Go\x20source\x20code.

\x0a\x0aDiscussion\x20Mailing\x20List\x0a

\x0aA\x20mailing\x20list\x20for\x20general\x20discussion\x20of\x20Go\x20programming.\x0a

\x0a

\x0aQuestions\x20about\x20using\x20Go\x20or\x20announcements\x20relevant\x20to\x20other\x20Go\x20users\x20should\x20be\x20sent\x20to\x0agolang-nuts.\x0a

\x0a\x0aDeveloper\x20and\x0aCode\x20Review\x20Mailing\x20List\x0a

The\x20golang-dev\x0amailing\x20list\x20is\x20for\x20discussing\x20code\x20changes\x20to\x20the\x20Go\x20project.\x0aThe\x20golang-codereviews\x0amailing\x20list\x20is\x20for\x20actual\x20reviewing\x20of\x20the\x20code\x20changes\x20(CLs).

\x0a\x0aCheckins\x20Mailing\x20List\x0a

A\x20mailing\x20list\x20that\x20receives\x20a\x20message\x20summarizing\x20each\x20checkin\x20to\x20the\x20Go\x20repository.

\x0a\x0aBuild\x20Status\x0a

View\x20the\x20status\x20of\x20Go\x20builds\x20across\x20the\x20supported\x20operating\x0asystems\x20and\x20architectures.

\x0a\x0a\x0aHow\x20you\x20can\x20help\x0a\x0a

Reporting\x20issues

\x0a\x0a

\x0aIf\x20you\x20spot\x20bugs,\x20mistakes,\x20or\x20inconsistencies\x20in\x20the\x20Go\x20project's\x20code\x20or\x0adocumentation,\x20please\x20let\x20us\x20know\x20by\x0afiling\x20a\x20ticket\x0aon\x20our\x20issue\x20tracker.\x0a(Of\x20course,\x20you\x20should\x20check\x20it's\x20not\x20an\x20existing\x20issue\x20before\x20creating\x0aa\x20new\x20one.)\x0a

\x0a\x0a

\x0aWe\x20pride\x20ourselves\x20on\x20being\x20meticulous;\x20no\x20issue\x20is\x20too\x20small.\x0a

\x0a\x0a

\x0aSecurity-related\x20issues\x20should\x20be\x20reported\x20to\x0asecurity@golang.org.
\x0aSee\x20the\x20security\x20policy\x20for\x20more\x20details.\x0a

\x0a\x0a

\x0aCommunity-related\x20issues\x20should\x20be\x20reported\x20to\x0aconduct@golang.org.
\x0aSee\x20the\x20Code\x20of\x20Conduct\x20for\x20more\x20details.\x0a

\x0a\x0a

Contributing\x20code\x20&\x20documentation

\x0a\x0a

\x0aGo\x20is\x20an\x20open\x20source\x20project\x20and\x20we\x20welcome\x20contributions\x20from\x20the\x20community.\x0a

\x0a

\x0aTo\x20get\x20started,\x20read\x20these\x20contribution\x0aguidelines\x20for\x20information\x20on\x20design,\x20testing,\x20and\x20our\x20code\x20review\x20process.\x0a

\x0a

\x0aCheck\x20the\x20tracker\x20for\x0aopen\x20issues\x20that\x20interest\x20you.\x20Those\x20labeled\x0ahelp\x20wanted\x0aare\x20particularly\x20in\x20need\x20of\x20outside\x20help.\x0a

\x0a", + "doc/copyright.html": "\x0a\x0a

\x0a\x20\x20Except\x20as\x0a\x20\x20noted,\x20the\x20contents\x20of\x20this\x0a\x20\x20site\x20are\x20licensed\x20under\x20the\x0a\x20\x20Creative\x20Commons\x20Attribution\x203.0\x20License,\x0a\x20\x20and\x20code\x20is\x20licensed\x20under\x20a\x20BSD\x20license.\x0a

\x0a", "doc/devel/pre_go1.html": "\x0a\x0a

\x0aThis\x20page\x20summarizes\x20the\x20changes\x20between\x20stable\x20releases\x20of\x20Go\x20prior\x20to\x20Go\x201.\x0aSee\x20the\x20Release\x20History\x20page\x20for\x20notes\x20on\x20recent\x20releases.\x0a

\x0a\x0ar60\x20(released\x202011/09/07)\x0a\x0a

\x0aThe\x20r60\x20release\x20corresponds\x20to\x20\x0aweekly.2011-08-17.\x0aThis\x20section\x20highlights\x20the\x20most\x20significant\x20changes\x20in\x20this\x20release.\x0aFor\x20a\x20more\x20detailed\x20summary,\x20see\x20the\x0aweekly\x20release\x20notes.\x0aFor\x20complete\x20information,\x20see\x20the\x0aMercurial\x20change\x20list.\x0a

\x0a\x0aLanguage\x0a\x0a

\x0aAn\x20\"else\"\x20block\x20is\x20now\x20required\x20to\x20have\x20braces\x20except\x20if\x20the\x20body\x20of\x20the\x20\"else\"\x0ais\x20another\x20\"if\".\x20Since\x20gofmt\x20always\x20puts\x20those\x20braces\x20in\x20anyway,\x0agofmt-formatted\x20programs\x20will\x20not\x20be\x20affected.\x0aTo\x20fix\x20other\x20programs,\x20run\x20gofmt.\x0a

\x0a\x0aPackages\x0a\x0a

\x0aPackage\x20http's\x20URL\x20parsing\x20and\x20query\x20escaping\x20code\x0a(such\x20as\x20ParseURL\x20and\x20URLEscape)\x20has\x20been\x20moved\x20to\x0athe\x20new\x20url\x20package,\x20with\x20several\x20simplifications\x20to\x0athe\x20names.\x20Client\x20code\x20can\x20be\x20updated\x20automatically\x20with\x20gofix.\x0a

\x0a\x0a

\x0aPackage\x20image\x20has\x20had\x20significant\x20changes\x20made\x20to\x20the\x0aPix\x20field\x20of\x20struct\x20types\x20such\x20as\x0aimage.RGBA\x20and\x0aimage.NRGBA.\x0aThe\x20image.Image\x20interface\x20type\x20has\x20not\x20changed,\x0athough,\x20and\x20you\x20should\x20not\x20need\x20to\x20change\x20your\x20code\x20if\x20you\x20don't\x20explicitly\x0arefer\x20to\x20Pix\x20fields.\x20For\x20example,\x20if\x20you\x20decode\x20a\x20number\x20of\x20images\x0ausing\x20the\x20image/jpeg\x20package,\x20compose\x20them\x20using\x0aimage/draw,\x20and\x20then\x20encode\x20the\x20result\x20using\x0aimage/png,\x20then\x20your\x20code\x20should\x20still\x20work\x20as\x0abefore.\x0aIf\x20your\x20code\x20does\x20refer\x20to\x20Pix\x20fields\x20see\x20the\x20\x0aweekly.2011-07-19\x0asnapshot\x20notes\x20for\x20how\x20to\x20update\x20your\x20code.\x0a

\x0a\x0a

\x0aPackage\x20template\x20has\x20been\x20replaced\x20with\x20a\x20new\x0atemplating\x20package\x20(formerly\x20exp/template).\x20The\x20original\x20template\x0apackage\x20is\x20still\x20available\x20as\x20old/template.\x0aThe\x20old/template\x20package\x20is\x20deprecated\x20and\x20will\x20be\x20removed.\x0aThe\x20Go\x20tree\x20has\x20been\x20updated\x20to\x20use\x20the\x20new\x20template\x20package.\x20We\x20encourage\x0ausers\x20of\x20the\x20old\x20template\x20package\x20to\x20switch\x20to\x20the\x20new\x20one.\x20Code\x20that\x20uses\x0atemplate\x20or\x20exp/template\x20will\x20need\x20to\x20change\x20its\x0aimport\x20lines\x20to\x20\"old/template\"\x20or\x20\"template\",\x0arespectively.\x0a

\x0a\x0aTools\x0a\x0a

\x0aGoinstall\x20now\x20uses\x20a\x20new\x20tag\x20selection\x20scheme.\x0aWhen\x20downloading\x20or\x20updating,\x20goinstall\x20looks\x20for\x20a\x20tag\x20or\x20branch\x20with\x20the\x0a\"go.\"\x20prefix\x20that\x20corresponds\x20to\x20the\x20local\x20Go\x20version.\x20For\x20Go\x0arelease.r58\x20it\x20looks\x20for\x20go.r58.\x20For\x0aweekly.2011-06-03\x20it\x20looks\x20for\x20go.weekly.2011-06-03.\x0aIf\x20the\x20specific\x20go.X\x20tag\x20or\x20branch\x20is\x20not\x20found,\x20it\x20chooses\x20the\x0aclosest\x20earlier\x20version.\x20If\x20an\x20appropriate\x20tag\x20or\x20branch\x20is\x20found,\x20goinstall\x0auses\x20that\x20version\x20of\x20the\x20code.\x20Otherwise\x20it\x20uses\x20the\x20default\x20version\x20selected\x0aby\x20the\x20version\x20control\x20system.\x20Library\x20authors\x20are\x20encouraged\x20to\x20use\x20the\x0aappropriate\x20tag\x20or\x20branch\x20names\x20in\x20their\x20repositories\x20to\x20make\x20their\x20libraries\x0amore\x20accessible.\x0a

\x0a\x0aMinor\x20revisions\x0a\x0a

\x0ar60.1\x20includes\x20a\x20\x0alinker\x0afix,\x20a\x20pair\x20of\x0agoplay\x0afixes,\x0aand\x20a\x20json\x20package\x0afix\x20and\x0aa\x20new\x0astruct\x20tag\x0aoption.\x0a

\x0a\x0a

\x0ar60.2\x0afixes\x0aa\x20memory\x20leak\x20involving\x20maps.\x0a

\x0a\x0a

\x0ar60.3\x20fixes\x20a\x0areflect\x20bug.\x0a

\x0a\x0ar59\x20(released\x202011/08/01)\x0a\x0a

\x0aThe\x20r59\x20release\x20corresponds\x20to\x20\x0aweekly.2011-07-07.\x0aThis\x20section\x20highlights\x20the\x20most\x20significant\x20changes\x20in\x20this\x20release.\x0aFor\x20a\x20more\x20detailed\x20summary,\x20see\x20the\x0aweekly\x20release\x20notes.\x0aFor\x20complete\x20information,\x20see\x20the\x0aMercurial\x20change\x20list.\x0a

\x0a\x0aLanguage\x0a\x0a

\x0aThis\x20release\x20includes\x20a\x20language\x20change\x20that\x20restricts\x20the\x20use\x20of\x0agoto.\x20\x20In\x20essence,\x20a\x20goto\x20statement\x20outside\x20a\x20block\x0acannot\x20jump\x20to\x20a\x20label\x20inside\x20that\x20block.\x20Your\x20code\x20may\x20require\x20changes\x20if\x20it\x0auses\x20goto.\x0aSee\x20this\x0achangeset\x20for\x20how\x20the\x20new\x20rule\x20affected\x20the\x20Go\x20tree.\x0a

\x0a\x0aPackages\x0a\x0a

\x0aAs\x20usual,\x20gofix\x20will\x20handle\x20the\x20bulk\x20of\x20the\x20rewrites\x0anecessary\x20for\x20these\x20changes\x20to\x20package\x20APIs.\x0a

\x0a\x0a

\x0aPackage\x20http\x20has\x20a\x20new\x0aFileSystem\x20interface\x20that\x20provides\x20access\x0ato\x20files.\x20The\x20FileServer\x20helper\x20now\x20takes\x20a\x0aFileSystem\x20argument\x20instead\x20of\x20an\x20explicit\x20file\x20system\x20root.\x20By\x0aimplementing\x20your\x20own\x20FileSystem\x20you\x20can\x20use\x20the\x0aFileServer\x20to\x20serve\x20arbitrary\x20data.\x0a

\x0a\x0a

\x0aPackage\x20os's\x20ErrorString\x20type\x20has\x20been\x0ahidden.\x20Most\x20uses\x20of\x20os.ErrorString\x20can\x20be\x20replaced\x20with\x0aos.NewError.\x0a

\x0a\x0a

\x0aPackage\x20reflect\x20supports\x20a\x20new\x20struct\x20tag\x20scheme\x0athat\x20enables\x20sharing\x20of\x20struct\x20tags\x20between\x20multiple\x20packages.\x0aIn\x20this\x20scheme,\x20the\x20tags\x20must\x20be\x20of\x20the\x20form:\x0a

\x0a
\x0a\x09`key:\"value\"\x20key2:\"value2\"`\x0a
\x0a

\x0aThe\x20StructField\x20type's\x20Tag\x20field\x20now\x0ahas\x20type\x20StructTag,\x20which\x20has\x20a\x0aGet\x20method.\x20Clients\x20of\x20json\x20and\x0axml\x20will\x20need\x20to\x20be\x20updated.\x20Code\x20that\x20says\x0a

\x0a
\x0a\x09type\x20T\x20struct\x20{\x0a\x09\x09X\x20int\x20\"name\"\x0a\x09}\x0a
\x0a

\x0ashould\x20become\x0a

\x0a
\x0a\x09type\x20T\x20struct\x20{\x0a\x09\x09X\x20int\x20`json:\"name\"`\x20\x20//\x20or\x20`xml:\"name\"`\x0a\x09}\x0a
\x0a

\x0aUse\x20govet\x20to\x20identify\x20struct\x20tags\x20that\x20need\x20to\x20be\x0achanged\x20to\x20use\x20the\x20new\x20syntax.\x0a

\x0a\x0a

\x0aPackage\x20sort's\x20IntArray\x20type\x20has\x20been\x0arenamed\x20to\x20IntSlice,\x20and\x20similarly\x20for\x0aFloat64Slice\x20and\x0aStringSlice.\x0a

\x0a\x0a

\x0aPackage\x20strings's\x20Split\x20function\x20has\x0aitself\x20been\x20split\x20into\x20Split\x20and\x0aSplitN.\x0aSplitN\x20is\x20the\x20same\x20as\x20the\x20old\x20Split.\x0aThe\x20new\x20Split\x20is\x20equivalent\x20to\x20SplitN\x20with\x20a\x20final\x0aargument\x20of\x20-1.\x0a

\x0a\x0aPackage\x20image/draw's\x0aDraw\x20function\x20now\x20takes\x20an\x20additional\x0aargument,\x20a\x20compositing\x20operator.\x0aIf\x20in\x20doubt,\x20use\x20draw.Over.\x0a

\x0a\x0aTools\x0a\x0a

\x0aGoinstall\x20now\x20installs\x20packages\x20and\x20commands\x20from\x0aarbitrary\x20remote\x20repositories\x20(not\x20just\x20Google\x20Code,\x20Github,\x20and\x20so\x20on).\x0aSee\x20the\x20goinstall\x20documentation\x20for\x20details.\x0a

\x0a\x0ar58\x20(released\x202011/06/29)\x0a\x0a

\x0aThe\x20r58\x20release\x20corresponds\x20to\x20\x0aweekly.2011-06-09\x0awith\x20additional\x20bug\x20fixes.\x0aThis\x20section\x20highlights\x20the\x20most\x20significant\x20changes\x20in\x20this\x20release.\x0aFor\x20a\x20more\x20detailed\x20summary,\x20see\x20the\x0aweekly\x20release\x20notes.\x0aFor\x20complete\x20information,\x20see\x20the\x0aMercurial\x20change\x20list.\x0a

\x0a\x0aLanguage\x0a\x0a

\x0aThis\x20release\x20fixes\x20a\x20use\x20of\x20uninitialized\x20memory\x20in\x20programs\x20that\x20misuse\x20goto.\x0a

\x0a\x0aPackages\x0a\x0a

\x0aAs\x20usual,\x20gofix\x20will\x20handle\x20the\x20bulk\x20of\x20the\x20rewrites\x0anecessary\x20for\x20these\x20changes\x20to\x20package\x20APIs.\x0a

\x0a\x0a

\x0aPackage\x20http\x20drops\x20the\x20finalURL\x20return\x0avalue\x20from\x20the\x20Client.Get\x20method.\x20The\x20value\x0ais\x20now\x20available\x20via\x20the\x20new\x20Request\x20field\x20on\x20http.Response.\x0aMost\x20instances\x20of\x20the\x20type\x20map[string][]string\x20in\x20have\x20been\x0areplaced\x20with\x20the\x20new\x20Values\x20type.\x0a

\x0a\x0a

\x0aPackage\x20exec\x20has\x20been\x20redesigned\x20with\x20a\x20more\x0aconvenient\x20and\x20succinct\x20API.\x0a

\x0a\x0a

\x0aPackage\x20strconv's\x20Quote\x0afunction\x20now\x20escapes\x20only\x20those\x20Unicode\x20code\x20points\x20not\x20classified\x20as\x20printable\x0aby\x20unicode.IsPrint.\x0aPreviously\x20Quote\x20would\x20escape\x20all\x20non-ASCII\x20characters.\x0aThis\x20also\x20affects\x20the\x20fmt\x20package's\x20\"%q\"\x0aformatting\x20directive.\x20The\x20previous\x20quoting\x20behavior\x20is\x20still\x20available\x20via\x0astrconv's\x20new\x20QuoteToASCII\x20function.\x20\x20\x20\x0a

\x0a\x0a

\x0aPackage\x20os/signal's\x0aSignal\x20and\x20\x0aUnixSignal\x20types\x20have\x20been\x20moved\x20to\x20the\x0aos\x20package.\x0a

\x0a\x0a

\x0aPackage\x20image/draw\x20is\x20the\x20new\x20name\x20for\x0aexp/draw.\x20The\x20GUI-related\x20code\x20from\x20exp/draw\x20is\x20now\x0alocated\x20in\x20the\x20exp/gui\x20package.\x0a

\x0a\x0aTools\x0a\x0a

\x0aGoinstall\x20now\x20observes\x20the\x20GOPATH\x20environment\x0avariable\x20to\x20build\x20and\x20install\x20your\x20own\x20code\x20and\x20external\x20libraries\x20outside\x20of\x0athe\x20Go\x20tree\x20(and\x20avoid\x20writing\x20Makefiles).\x0a

\x0a\x0a\x0aMinor\x20revisions\x0a\x0a

r58.1\x20adds\x20\x0abuild\x20and\x0aruntime\x0achanges\x20to\x20make\x20Go\x20run\x20on\x20OS\x20X\x2010.7\x20Lion.\x0a

\x0a\x0ar57\x20(released\x202011/05/03)\x0a\x0a

\x0aThe\x20r57\x20release\x20corresponds\x20to\x20\x0aweekly.2011-04-27\x0awith\x20additional\x20bug\x20fixes.\x0aThis\x20section\x20highlights\x20the\x20most\x20significant\x20changes\x20in\x20this\x20release.\x0aFor\x20a\x20more\x20detailed\x20summary,\x20see\x20the\x0aweekly\x20release\x20notes.\x0aFor\x20complete\x20information,\x20see\x20the\x0aMercurial\x20change\x20list.\x0a

\x0a\x0a

The\x20new\x20gofix\x20tool\x20finds\x20Go\x20programs\x20that\x20use\x20old\x20APIs\x20and\x20rewrites\x20them\x20to\x20use\x0anewer\x20ones.\x20\x20After\x20you\x20update\x20to\x20a\x20new\x20Go\x20release,\x20gofix\x20helps\x20make\x20the\x0anecessary\x20changes\x20to\x20your\x20programs.\x20Gofix\x20will\x20handle\x20the\x20http,\x20os,\x20and\x20syscall\x0apackage\x20changes\x20described\x20below,\x20and\x20we\x20will\x20update\x20the\x20program\x20to\x20keep\x20up\x20with\x0afuture\x20changes\x20to\x20the\x20libraries.\x20\x0aGofix\x20can\xe2\x80\x99t\x0ahandle\x20all\x20situations\x20perfectly,\x20so\x20read\x20and\x20test\x20the\x20changes\x20it\x20makes\x20before\x0acommitting\x20them.\x0aSee\x20the\x20gofix\x20blog\x20post\x20for\x20more\x0ainformation.

\x0a\x0aLanguage\x0a\x0a

\x0aMultiple\x20assignment\x20syntax\x20replaces\x20the\x20closed\x20function.\x0aThe\x20syntax\x20for\x20channel\x0areceives\x20allows\x20an\x20optional\x20second\x20assigned\x20value,\x20a\x20boolean\x20value\x0aindicating\x20whether\x20the\x20channel\x20is\x20closed.\x20This\x20code:\x0a

\x0a\x0a
\x0a\x09v\x20:=\x20<-ch\x0a\x09if\x20closed(ch)\x20{\x0a\x09\x09//\x20channel\x20is\x20closed\x0a\x09}\x0a
\x0a\x0a

should\x20now\x20be\x20written\x20as:

\x0a\x0a
\x0a\x09v,\x20ok\x20:=\x20<-ch\x0a\x09if\x20!ok\x20{\x0a\x09\x09//\x20channel\x20is\x20closed\x0a\x09}\x0a
\x0a\x0a

Unused\x20labels\x20are\x20now\x20illegal,\x20just\x20as\x20unused\x20local\x20variables\x20are.

\x0a\x0aPackages\x0a\x0a

\x0aPackage\x20gob\x20will\x20now\x20encode\x20and\x20decode\x20values\x20of\x20types\x20that\x20implement\x20the\x0aGobEncoder\x20and\x0aGobDecoder\x20interfaces.\x20This\x20allows\x20types\x20with\x20unexported\x0afields\x20to\x20transmit\x20self-consistent\x20descriptions;\x20examples\x20include\x20\x0abig.Int\x20and\x20big.Rat.\x0a

\x0a\x0a

\x0aPackage\x20http\x20has\x20been\x20redesigned.\x0aFor\x20clients,\x20there\x20are\x20new\x0aClient\x20and\x20Transport\x0aabstractions\x20that\x20give\x20more\x20control\x20over\x20HTTP\x20details\x20such\x20as\x20headers\x20sent\x0aand\x20redirections\x20followed.\x20\x20These\x20abstractions\x20make\x20it\x20easy\x20to\x20implement\x0acustom\x20clients\x20that\x20add\x20functionality\x20such\x20as\x20OAuth2.\x0aFor\x20servers,\x20ResponseWriter\x0ahas\x20dropped\x20its\x20non-essential\x20methods.\x0aThe\x20Hijack\x20and\x20Flush\x20methods\x20are\x20no\x20longer\x20required;\x0acode\x20can\x20test\x20for\x20them\x20by\x20checking\x20whether\x20a\x20specific\x20value\x20implements\x0aHijacker\x20or\x20Flusher.\x0aThe\x20RemoteAddr\x20and\x20UsingTLS\x20methods\x20are\x20replaced\x20by\x20Request's\x0aRemoteAddr\x20and\x20TLS\x20fields.\x0aThe\x20SetHeader\x20method\x20is\x20replaced\x20by\x20a\x20Header\x20method;\x0aits\x20result,\x20of\x20type\x20Header,\x0aimplements\x20Set\x20and\x20other\x20methods.\x0a

\x0a\x0a

\x0aPackage\x20net\x0adrops\x20the\x20laddr\x20argument\x20from\x20Dial\x0aand\x20drops\x20the\x20cname\x20return\x20value\x0afrom\x20LookupHost.\x0aThe\x20implementation\x20now\x20uses\x20cgo\x20to\x20implement\x0anetwork\x20name\x20lookups\x20using\x20the\x20C\x20library\x20getaddrinfo(3)\x0afunction\x20when\x20possible.\x20\x20This\x20ensures\x20that\x20Go\x20and\x20C\x20programs\x0aresolve\x20names\x20the\x20same\x20way\x20and\x20also\x20avoids\x20the\x20OS\x20X\x20\x0aapplication-level\x20firewall.\x0a

\x0a\x0a

\x0aPackage\x20os\x0aintroduces\x20simplified\x20Open\x0aand\x20Create\x20functions.\x0aThe\x20original\x20Open\x20is\x20now\x20available\x20as\x20OpenFile.\x0aThe\x20final\x20three\x20arguments\x20to\x20StartProcess\x0ahave\x20been\x20replaced\x20by\x20a\x20pointer\x20to\x20a\x20ProcAttr.\x0a

\x0a\x0a

\x0aPackage\x20reflect\x20has\x20been\x20redesigned.\x0aType\x20is\x20now\x20an\x20interface\x20that\x20implements\x0aall\x20the\x20possible\x20type\x20methods.\x0aInstead\x20of\x20a\x20type\x20switch\x20on\x20a\x20Type\x20t,\x20switch\x20on\x20t.Kind().\x0aValue\x20is\x20now\x20a\x20struct\x20value\x20that\x0aimplements\x20all\x20the\x20possible\x20value\x20methods.\x0aInstead\x20of\x20a\x20type\x20switch\x20on\x20a\x20Value\x20v,\x20switch\x20on\x20v.Kind().\x0aTypeof\x20and\x20NewValue\x20are\x20now\x20called\x20TypeOf\x20and\x20ValueOf\x0aTo\x20create\x20a\x20writable\x20Value,\x20use\x20New(t).Elem()\x20instead\x20of\x20Zero(t).\x0aSee\x20the\x20change\x20description\x0afor\x20the\x20full\x20details.\x0aThe\x20new\x20API\x20allows\x20a\x20more\x20efficient\x20implementation\x20of\x20Value\x0athat\x20avoids\x20many\x20of\x20the\x20allocations\x20required\x20by\x20the\x20previous\x20API.\x0a

\x0a\x0a

\x0aRemember\x20that\x20gofix\x20will\x20handle\x20the\x20bulk\x20of\x20the\x20rewrites\x0anecessary\x20for\x20these\x20changes\x20to\x20package\x20APIs.\x0a

\x0a\x0aTools\x0a\x0a

Gofix,\x20a\x20new\x20command,\x20is\x20described\x20above.

\x0a\x0a

\x0aGotest\x20is\x20now\x20a\x20Go\x20program\x20instead\x20of\x20a\x20shell\x20script.\x0aThe\x20new\x20-test.short\x20flag\x20in\x20combination\x20with\x20package\x20testing's\x20Short\x20function\x0aallows\x20you\x20to\x20write\x20tests\x20that\x20can\x20be\x20run\x20in\x20normal\x20or\x20“short”\x20mode;\x0aall.bash\x20runs\x20tests\x20in\x20short\x20mode\x20to\x20reduce\x20installation\x20time.\x0aThe\x20Makefiles\x20know\x20about\x20the\x20flag:\x20use\x20make\x20testshort.\x0a

\x0a\x0a

\x0aThe\x20run-time\x20support\x20now\x20implements\x20CPU\x20and\x20memory\x20profiling.\x0aGotest's\x20new\x20\x0a-test.cpuprofile\x20and\x0a-test.memprofile\x20flags\x20make\x20it\x20easy\x20to\x0aprofile\x20tests.\x0aTo\x20add\x20profiling\x20to\x20your\x20web\x20server,\x20see\x20the\x20http/pprof\x0adocumentation.\x0aFor\x20other\x20uses,\x20see\x20the\x20runtime/pprof\x20documentation.\x0a

\x0a\x0aMinor\x20revisions\x0a\x0a

r57.1\x20fixes\x20a\x20nil\x20pointer\x20dereference\x20in\x20http.FormFile.

\x0a

r57.2\x20fixes\x20a\x20use\x20of\x20uninitialized\x20memory\x20in\x20programs\x20that\x20misuse\x20goto.

\x0a\x0ar56\x20(released\x202011/03/16)\x0a\x0a

\x0aThe\x20r56\x20release\x20was\x20the\x20first\x20stable\x20release\x20and\x20corresponds\x20to\x0aweekly.2011-03-07.1.\x0aThe\x20numbering\x20starts\x20at\x2056\x20because\x20before\x20this\x20release,\x0awhat\x20we\x20now\x20consider\x20weekly\x20snapshots\x20were\x20called\x20releases.\x0a

\x0a",