summaryrefslogtreecommitdiffhomepage
path: root/version/version.go
AgeCommit message (Collapse)AuthorFilesLines
2026-01-23all: remove AUTHORS file and references to itWill Norris1-1/+1
This file was never truly necessary and has never actually been used in the history of Tailscale's open source releases. A Brief History of AUTHORS files --- The AUTHORS file was a pattern developed at Google, originally for Chromium, then adopted by Go and a bunch of other projects. The problem was that Chromium originally had a copyright line only recognizing Google as the copyright holder. Because Google (and most open source projects) do not require copyright assignemnt for contributions, each contributor maintains their copyright. Some large corporate contributors then tried to add their own name to the copyright line in the LICENSE file or in file headers. This quickly becomes unwieldy, and puts a tremendous burden on anyone building on top of Chromium, since the license requires that they keep all copyright lines intact. The compromise was to create an AUTHORS file that would list all of the copyright holders. The LICENSE file and source file headers would then include that list by reference, listing the copyright holder as "The Chromium Authors". This also become cumbersome to simply keep the file up to date with a high rate of new contributors. Plus it's not always obvious who the copyright holder is. Sometimes it is the individual making the contribution, but many times it may be their employer. There is no way for the proejct maintainer to know. Eventually, Google changed their policy to no longer recommend trying to keep the AUTHORS file up to date proactively, and instead to only add to it when requested: https://opensource.google/docs/releasing/authors. They are also clear that: > Adding contributors to the AUTHORS file is entirely within the > project's discretion and has no implications for copyright ownership. It was primarily added to appease a small number of large contributors that insisted that they be recognized as copyright holders (which was entirely their right to do). But it's not truly necessary, and not even the most accurate way of identifying contributors and/or copyright holders. In practice, we've never added anyone to our AUTHORS file. It only lists Tailscale, so it's not really serving any purpose. It also causes confusion because Tailscalars put the "Tailscale Inc & AUTHORS" header in other open source repos which don't actually have an AUTHORS file, so it's ambiguous what that means. Instead, we just acknowledge that the contributors to Tailscale (whoever they are) are copyright holders for their individual contributions. We also have the benefit of using the DCO (developercertificate.org) which provides some additional certification of their right to make the contribution. The source file changes were purely mechanical with: git ls-files | xargs sed -i -e 's/\(Tailscale Inc &\) AUTHORS/\1 contributors/g' Updates #cleanup Change-Id: Ia101a4a3005adb9118051b3416f5a64a4a45987d Signed-off-by: Will Norris <will@tailscale.com>
2025-01-12util/uniq,types/lazy,*: delete code that's now in Go stdBrad Fitzpatrick1-1/+2
sync.OnceValue and slices.Compact were both added in Go 1.21. cmp.Or was added in Go 1.22. Updates #8632 Updates #11058 Change-Id: I89ba4c404f40188e1f8a9566c8aaa049be377754 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2024-11-19version: validate Long format on Android buildsBrad Fitzpatrick1-0/+40
Updates #14069 Change-Id: I134a90db561dacc4b1c1c66ccadac135b5d64cf3 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2024-05-16version: add GitCommitTime to MetaMaisem Ali1-0/+2
Updates tailscale/corp#1297 Signed-off-by: Maisem Ali <maisem@tailscale.com>
2024-05-16Revert "version: add Info func to expose EmbeddedInfo"Maisem Ali1-32/+21
This reverts commit e3dec086e63165221c21a59eb2a53dfa543e9ef5. Going to reuse Meta instead as that is already exported. Updates tailscale/corp#1297 Signed-off-by: Maisem Ali <maisem@tailscale.com>
2024-05-15version: add Info func to expose EmbeddedInfoMaisem Ali1-21/+32
To be used to in a different repo. Updates tailscale/corp#1297 Signed-off-by: Maisem Ali <maisem@tailscale.com>
2023-05-07version: properly handle vcs.modified when it's "false"Chenyang Gao1-1/+1
Current code will set the "dirty" field of VersionInfo always "true" if vcs.modified flag is there. No matter whether the flag is "true" or "false". It will make sense to set this field due to vcs.modified value, not only the existence of the key. Signed-off-by: Chenyang Gao <gps949@outlook.com>
2023-02-11version: fix version output for "go run"David Anderson1-0/+5
Before (note attempted use of absent date and commit hash): "short": "1.37.0-dev", "long": "1.37.0-dev-t", After: "short": "1.37.0-ERR-BuildInfo", "long": "1.37.0-ERR-BuildInfo", Signed-off-by: David Anderson <danderson@tailscale.com>
2023-02-11version: make all exported funcs compile-time constant or lazyDavid Anderson1-69/+123
Signed-off-by: David Anderson <danderson@tailscale.com>
2023-02-11version: unexport all vars, turn Short/Long into funcsDavid Anderson1-14/+22
The other formerly exported values aren't used outside the package, so just unexport them. Signed-off-by: David Anderson <danderson@tailscale.com>
2023-02-10version: undo previous "optimization", do more work lazilyDavid Anderson1-111/+37
Commit 59c254579ea63c669ffb3b5031e51288422c5194 moved a lot of work from functions that could be eliminated at compile time (because tests against runtime.GOOS are compile-time constant), into code that must always run before main(). So, revert that, and instead optimize the package only by moving the remaining string processing code behind sync.Onces. Signed-off-by: David Anderson <danderson@tailscale.com>
2023-02-10version: return correct Meta.MajorMinorPatch in non-dev buildsDavid Anderson1-2/+11
Signed-off-by: David Anderson <danderson@tailscale.com>
2023-02-06version: unify and optimize the various not-version funcsDavid Anderson1-34/+110
Signed-off-by: David Anderson <danderson@tailscale.com>
2023-01-27all: update copyright and license headersWill Norris1-3/+2
This updates all source files to use a new standard header for copyright and license declaration. Notably, copyright no longer includes a date, and we now use the standard SPDX-License-Identifier header. This commit was done almost entirely mechanically with perl, and then some minimal manual fixes. Updates #6865 Signed-off-by: Will Norris <will@tailscale.com>
2023-01-20version, cmd/tailscale: add version.Meta, tailscale version --jsonBrad Fitzpatrick1-1/+1
Add `tailscale version --json` JSON output mode. This will be used later for a double-opt-in (per node consent like Tailscale SSH + control config) to let admins do remote upgrades via `tailscale update` via a c2n call, which would then need to verify the cmd/tailscale found on disk for running tailscale update corresponds to the running tailscaled, refusing if anything looks amiss. Plus JSON output modes are just nice to have, rather than parsing unstable/fragile/obscure text formats. Updates #6995 Updates #6907 Change-Id: I7821ab7fbea4612f4b9b7bdc1be1ad1095aca71b Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2022-12-24version: construct short hash in dev mode if GitCommit is given.David Anderson1-4/+5
Allows a dev built to provide GitCommit and have the short hash computed correctly, even if the Go embedded build info lacks a git commit. Signed-off-by: David Anderson <dave@natulte.net>
2022-08-30ipn/localapi: send Tailscale version in ACME User-Agent (#5499)Andrew Dunham1-1/+2
Requested by a friend at Let's Encrypt. Signed-off-by: Andrew Dunham <andrew@tailscale.com>
2022-03-16version: use Go 1.18's git stamping as default implementationBrad Fitzpatrick1-9/+50
No more manual version bumps! Fixes #81 Change-Id: I3a9e544a7248f0b83bcbacbaabbc4dabc435e62d Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2022-01-07version: bump dateBrad Fitzpatrick1-1/+1
Change-Id: Ib314eccff199fc0854553216762737ce6af19586 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-11-01tailcfg, control/controlclient: add method to exit client from control planeBrad Fitzpatrick1-1/+1
Change-Id: Ic28ef283ba63396b68fab86bfb0a8ee8f432474c Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-10-29version: only prefix VERSION.txt to version if not link-stampedBrad Fitzpatrick1-5/+4
(Fix to 31e4f60047f49d95cc66795180cc7cb6bf879008) The 31e4f60047f49d95cc66795180cc7cb6bf879008 change accidentally made it always prepend the VERSION.txt, even when it was already link-stamped properly. Updates #81 Change-Id: I6cdcff096c25d92d566ad3ac1de5771c7384daea Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-10-28version: embed VERSION.txt in unstamped versionBrad Fitzpatrick1-1/+11
Temporary measure until we switch to Go 1.18. $ go run ./cmd/tailscale version 1.17.0-date.20211022 go version: go1.17 Updates #81 Change-Id: Ic82ebffa5f46789089e5fb9810b3f29e36a47f1a Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-10-04version: new month, new date bumpBrad Fitzpatrick1-1/+1
2021-09-07version: bump dateBrad Fitzpatrick1-1/+1
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-08-31version: bump dateBrad Fitzpatrick1-1/+1
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-08-23version: bump dateBrad Fitzpatrick1-1/+1
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-08-19version: bump dateBrad Fitzpatrick1-1/+1
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-07-27version: bump dateBrad Fitzpatrick1-1/+1
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-06-03version: bump dateBrad Fitzpatrick1-1/+1
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-06-03version: fix Short when link-stampedBrad Fitzpatrick1-6/+7
And remove old SHORT, LONG deprecated variables. Fixes tailscale/corp#1905 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-06-02version: remove all the redo stuff, only support embedding via go ldflags.David Anderson1-8/+6
Signed-off-by: David Anderson <danderson@tailscale.com>
2021-05-05version: bump dateBrad Fitzpatrick1-1/+1
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-04-27version: bump dateBrad Fitzpatrick1-1/+1
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-04-15tailcfg, control/controlclient: (mapver 16) add Node.Online, ↵Brad Fitzpatrick1-1/+1
MapResponse.OnlineChange And fix PeerSeenChange bug where it was ignored unless there were other peer changes. Updates tailscale/corp#1574 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-16version: bump dateBrad Fitzpatrick1-1/+1
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-03-03tailcfg: tweak documentation for map version 11David Anderson1-1/+1
version: bump date.
2021-02-26version: bump dateBrad Fitzpatrick1-1/+1
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-02-18version: bump dateBrad Fitzpatrick1-1/+1
2021-02-11version: bump dateBrad Fitzpatrick1-1/+1
2021-01-04version: new version for a new yearBrad Fitzpatrick1-1/+1
2020-12-30version: bump for the last time in 2020Brad Fitzpatrick1-1/+1
2020-12-21version: bump dateBrad Fitzpatrick1-1/+1
2020-12-07tailcfg, control/controlclient: make nil PacketFilter mean unchanged (mapver 6)Brad Fitzpatrick1-1/+1
After mapver 5's incremental netmap updates & user profiles, much of the remaining bandwidth for streamed MapResponses were redundant, unchanged PacketFilters. So make MapRequest.Version 6 mean that nil means unchanged from the previous value.
2020-12-03version: bump dateBrad Fitzpatrick1-1/+1
2020-11-06version: bump dateBrad Fitzpatrick1-1/+1
2020-10-28version: fix documentation.David Anderson1-3/+3
2020-10-28version: use OSS repo's version when building.David Anderson1-2/+32
When building with redo, also include the git commit hash from the proprietary repo, so that we have a precise commit that identifies all build info (including Go toolchain version). Add a top-level build script demonstrating to downstream distros how to burn the right information into builds. Adjust `tailscale version` to print commit hashes when available. Fixes #841. Signed-off-by: David Anderson <danderson@tailscale.com>
2020-09-21version: bump dateBrad Fitzpatrick1-1/+1
2020-08-20version: bump dateBrad Fitzpatrick1-1/+1
2020-08-06version: new week, new dateBrad Fitzpatrick1-1/+1