history

package
v0.0.0-...-ceae1e1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 22, 2024 License: BSD-3-Clause Imports: 6 Imported by: 0

Documentation

Overview

Package history holds the Go project release history.

Package history stores historical data for the Go project.

Index

Constants

This section is empty.

Variables

View Source
var Majors []*Major = majors() // major versions, newest first
View Source
var Releases = []*Release{}/* 189 elements not displayed */

Releases summarizes the changes between official stable releases of Go. It contains entries for all releases of Go, but releases older than Go 1.9 omit information about minor versions, which is instead hard-coded in _content/doc/devel/release.html.

The table is sorted by date, breaking ties with newer versions first.

Functions

This section is empty.

Types

type Date

type Date struct {
	Year  int        // Year (e.g., 2009).
	Month time.Month // Month of the year (January = 1, ...).
	Day   int        // Day of the month, starting at 1.
}

A Date represents the date (year, month, day) of a Go release.

This type does not include location information, and therefore does not describe a unique 24-hour timespan.

func (Date) Format

func (d Date) Format(format string) string

func (Date) String

func (d Date) String() string

type FixSummary

type FixSummary struct {
	Quantifier string          // Optional quantifier. Empty string for unspecified amount of fixes (typical), "a" for a single fix, "two", "three" for multiple fixes, etc.
	Components []template.HTML // Components involved. For example, "cgo", "the compiler", "runtime", "the <code>go</code> command", etc.
	Packages   []string        // Packages involved. For example, "crypto/x509", "net/http", etc.
}

FixSummary summarizes fixes in a Go release, listing components and packages involved.

func (*FixSummary) ComponentsAndPackages

func (f *FixSummary) ComponentsAndPackages() template.HTML

ComponentsAndPackages joins components and packages involved in a Go release for the purposes of being displayed on the release history page, keeping English grammar rules in mind.

The different special cases are:

c1
c1 and c2
c1, c2, and c3

the p1 package
the p1 and p2 packages
the p1, p2, and p3 packages

c1 and [1 package]
c1, and [2 or more packages]
c1, c2, and [1 or more packages]

type Major

type Major struct {
	*Release
	Minor []*Release // oldest first
}

A Major describes a major Go release and its minor revisions.

type Release

type Release struct {
	Version Version
	Date    Date
	Future  bool // if true, the release hasn't happened yet

	// Release content summary.
	Security      *FixSummary   // Security fixes, if any.
	Bug           *FixSummary   // Bug fixes, if any.
	More          template.HTML // Additional release content.
	CustomSummary template.HTML // CustomSummary, if non-empty, replaces the entire release content summary with custom HTML.
}

A Release describes a single Go release.

type Version

type Version struct {
	X int // X is the 1st component of a Go X.Y.Z version. It must be 1 or higher.
	Y int // Y is the 2nd component of a Go X.Y.Z version. It must be 0 or higher.
	Z int // Z is the 3rd component of a Go X.Y.Z version. It must be 0 or higher.
}

A Version is a Go release version.

In contrast to Semantic Versioning 2.0.0, a version like Go 1.21.0 is considered a major Go release and a version like Go 1.21.1 is considered a minor Go release. Prior to 1.21.0, trailing zero components were omitted. (See proposal 57631 that changed this.)

See proposal go.dev/issue/32450 for background, details, and a discussion of the costs involved in making a change.

func (Version) Before

func (v Version) Before(u Version) bool

Before reports whether version v comes before version u.

func (Version) MajorPrefix

func (v Version) MajorPrefix() string

MajorPrefix returns the major version prefix of a Go release version, like "1", "1.20", "1.21", and so on.

This prefix can be used when referring to the entire series of releases, including the major Go release and all of its subsequent minor releases, that this version belongs to.

func (Version) String

func (v Version) String() string

String returns the Go release version string, like "1.21.0", "1.21.1", "1.21.2", and so on.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL