2023-11-15 06:23:23 -07:00
|
|
|
# Release Notes
|
|
|
|
|
|
|
|
The `initial` and `next` subdirectories of this directory are for release notes.
|
|
|
|
|
2024-01-22 11:20:07 -07:00
|
|
|
## For developers
|
2023-11-15 06:23:23 -07:00
|
|
|
|
2024-04-26 12:47:37 -06:00
|
|
|
Release notes should be added to `next` by editing existing files or creating
|
|
|
|
new files. **Do not add RELNOTE=yes comments in CLs.** Instead, add a file to
|
|
|
|
the CL (or ask the author to do so).
|
2023-11-15 06:23:23 -07:00
|
|
|
|
2024-01-22 11:20:07 -07:00
|
|
|
At the end of the development cycle, the files will be merged by being
|
|
|
|
concatenated in sorted order by pathname. Files in the directory matching the
|
|
|
|
glob "*stdlib/*minor" are treated specially. They should be in subdirectories
|
|
|
|
corresponding to standard library package paths, and headings for those package
|
|
|
|
paths will be generated automatically.
|
2023-11-15 06:23:23 -07:00
|
|
|
|
2024-01-22 11:20:07 -07:00
|
|
|
Files in this repo's `api/next` directory must have corresponding files in
|
2024-01-26 09:19:22 -07:00
|
|
|
`doc/next/*stdlib/*minor`.
|
|
|
|
The files should be in the subdirectory for the package with the new
|
|
|
|
API, and should be named after the issue number of the API proposal.
|
|
|
|
For example, if the directory `6-stdlib/99-minor` is present,
|
|
|
|
then an `api/next` file with the line
|
2023-11-15 06:23:23 -07:00
|
|
|
|
|
|
|
pkg net/http, function F #12345
|
|
|
|
|
2024-01-26 09:19:22 -07:00
|
|
|
should have a corresponding file named `doc/next/6-stdlib/99-minor/net/http/12345.md`.
|
2023-11-15 06:23:23 -07:00
|
|
|
At a minimum, that file should contain either a full sentence or a TODO,
|
|
|
|
ideally referring to a person with the responsibility to complete the note.
|
2024-01-22 11:20:07 -07:00
|
|
|
|
2024-05-09 12:09:32 -06:00
|
|
|
If your CL addresses an accepted proposal, mention the proposal issue number in
|
|
|
|
your release note in the form `/issue/NUMBER`. A link to the issue in the text
|
|
|
|
will have this form (see below). If you don't want to mention the issue in the
|
|
|
|
text, add it as a comment:
|
|
|
|
```
|
|
|
|
<!-- go.dev/issue/12345 -->
|
|
|
|
```
|
|
|
|
If an accepted proposal is mentioned in a CL but not in the release notes, it will be
|
|
|
|
flagged as a TODO by the automated tooling. That is true even for proposals that add API.
|
|
|
|
|
2024-01-26 09:19:22 -07:00
|
|
|
Use the following forms in your markdown:
|
|
|
|
|
2024-04-10 10:19:36 -06:00
|
|
|
[http.Request] # symbol documentation; auto-linked as in Go doc strings
|
2024-05-16 10:09:38 -06:00
|
|
|
[Request] # short form, for symbols in the package being documented
|
2024-05-24 09:18:15 -06:00
|
|
|
[net/http] # package link
|
2024-04-10 10:19:36 -06:00
|
|
|
[#12345](/issue/12345) # GitHub issues
|
|
|
|
[CL 6789](/cl/6789) # Gerrit changelists
|
2024-01-26 09:19:22 -07:00
|
|
|
|
2024-05-24 09:18:15 -06:00
|
|
|
To preview `next` content in merged form using a local instance of the website, run:
|
|
|
|
|
|
|
|
```
|
2024-06-05 13:21:25 -06:00
|
|
|
go run golang.org/x/website/cmd/golangorg@latest -goroot=..
|
2024-05-24 09:18:15 -06:00
|
|
|
```
|
|
|
|
|
|
|
|
Then open http://localhost:6060/doc/next. Refresh the page to see your latest edits.
|
|
|
|
|
2024-01-22 11:20:07 -07:00
|
|
|
## For the release team
|
|
|
|
|
2024-05-09 12:09:32 -06:00
|
|
|
The `relnote` tool, at `golang.org/x/build/cmd/relnote`, operates on the files
|
|
|
|
in `doc/next`.
|
|
|
|
|
|
|
|
As a release cycle nears completion, run `relnote todo` to get a list of
|
|
|
|
unfinished release note work.
|
|
|
|
|
|
|
|
To prepare the release notes for a release, run `relnote generate`.
|
|
|
|
That will merge the `.md` files in `next` into a single file.
|
2024-05-24 09:18:15 -06:00
|
|
|
Atomically (as close to it as possible) add that file to `_content/doc` directory
|
|
|
|
of the website repository and remove the `doc/next` directory in this repository.
|
2024-05-09 12:09:32 -06:00
|
|
|
|
2024-05-24 09:18:15 -06:00
|
|
|
To begin the next release development cycle, populate the contents of `next`
|
|
|
|
with those of `initial`. From the repo root:
|
2024-01-22 11:20:07 -07:00
|
|
|
|
|
|
|
> cd doc
|
2024-07-22 10:44:49 -06:00
|
|
|
> cp -R initial/ next
|
2024-01-22 11:20:07 -07:00
|
|
|
|
|
|
|
Then edit `next/1-intro.md` to refer to the next version.
|