dcrd/internal
Dave Collins c88eb03e82
version: Rework to support single version override.
This reworks the way versions are handled internally to reverse the
semantics such that the individual semver components (major, minor,
patch, prerelease, and buildmetadata) are parsed from a full string and
exported at init time.

Also, since the version is now parsed and verified to be accurate, it
updates the pre-release parsing to properly support dots as required by
the spec and combines the pre-release and build normalization funcs
since they are now the same.

This provides a few main benefits:

- Allows a single linker override to fully specify the version string
  instead of having separate ones that can only override the prerelease
  and build metadata portions
- Provides run-time checks to ensure the full version string is valid
  per the semver spec regardless of whether it was specified directly in
  the source or provided via the linker
- Is slightly more efficient since the full version string is no longer
  dynamically created on each invocation

Finally, while here, add some comments regarding the release process to
help maintainers.
2021-05-14 04:15:56 -05:00
..
fees fees: Remove deprecated DisableLog. 2020-12-28 13:13:47 -06:00
limits multi: replace godoc.org with pkg.go.dev 2020-02-18 19:35:19 -06:00
mempool txscript: Split signing code to sign subpackage. 2021-05-07 13:19:00 -05:00
mining txscript: Split signing code to sign subpackage. 2021-05-07 13:19:00 -05:00
netsync netsync: Use an APBF for recently rejected txns. 2021-02-13 01:41:27 -06:00
progresslog multi: Add chain verify progress percentage. 2021-01-21 23:30:35 -06:00
rpcserver version: Rework to support single version override. 2021-05-14 04:15:56 -05:00
version version: Rework to support single version override. 2021-05-14 04:15:56 -05:00