All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Please open an issue for any deviations that you spot; I'm still learning!.
The following types of changes will be recorded in this file:
Added
for new features.Changed
for changes in existing functionality.Deprecated
for soon-to-be removed features.Removed
for now removed features.Fixed
for any bug fixes.Security
in case of vulnerabilities.
- placeholder
v0.8.12 - 2024-11-13
- (GH-712) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.21.12 to go-ci-oldstable-build-v0.21.13 in /dependabot/docker/builds
- (GH-727) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.21.13 to go-ci-oldstable-build-v0.21.15 in /dependabot/docker/builds
- (GH-709) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.21.9 to go-ci-oldstable-build-v0.21.12 in /dependabot/docker/builds
- (GH-715) Go Dependency: Bump github.com/pelletier/go-toml/v2 from 2.2.2 to 2.2.3
- (GH-706) Go Dependency: Bump golang.org/x/sys from 0.24.0 to 0.25.0
- (GH-724) Go Dependency: Bump golang.org/x/sys from 0.25.0 to 0.27.0
- (GH-708) Go Runtime: Bump golang from 1.22.6 to 1.22.7 in /dependabot/docker/go
- (GH-723) Go Runtime: Bump golang from 1.22.7 to 1.22.9 in /dependabot/docker/go
- (GH-714) Update project Go version to 1.21.0
v0.8.11 - 2024-08-22
- (GH-675) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.21.4 to go-ci-oldstable-build-v0.21.5 in /dependabot/docker/builds
- (GH-677) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.21.5 to go-ci-oldstable-build-v0.21.6 in /dependabot/docker/builds
- (GH-679) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.21.6 to go-ci-oldstable-build-v0.21.7 in /dependabot/docker/builds
- (GH-687) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.21.7 to go-ci-oldstable-build-v0.21.8 in /dependabot/docker/builds
- (GH-694) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.21.8 to go-ci-oldstable-build-v0.21.9 in /dependabot/docker/builds
- (GH-684) Go Dependency: Bump golang.org/x/sys from 0.22.0 to 0.23.0
- (GH-689) Go Dependency: Bump golang.org/x/sys from 0.23.0 to 0.24.0
- (GH-696) Go Runtime: Bump golang from 1.21.12 to 1.22.6 in /dependabot/docker/go
- (GH-695) Update project to Go 1.22 series
- (GH-681) Push
REPO_VERSION
var into containers for builds
- (GH-698) Fix govet linting errors raised by updated linter
v0.8.10 - 2024-07-10
- (GH-654) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.20.7 to go-ci-oldstable-build-v0.20.8 in /dependabot/docker/builds
- (GH-658) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.20.8 to go-ci-oldstable-build-v0.21.2 in /dependabot/docker/builds
- (GH-664) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.21.2 to go-ci-oldstable-build-v0.21.3 in /dependabot/docker/builds
- (GH-667) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.21.3 to go-ci-oldstable-build-v0.21.4 in /dependabot/docker/builds
- (GH-660) Go Dependency: Bump github.com/alexflint/go-arg from 1.5.0 to 1.5.1
- (GH-668) Go Dependency: Bump golang.org/x/sys from 0.21.0 to 0.22.0
- (GH-663) Go Runtime: Bump golang from 1.21.11 to 1.21.12 in /dependabot/docker/go
v0.8.9 - 2024-06-07
- (GH-640) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.20.4 to go-ci-oldstable-build-v0.20.5 in /dependabot/docker/builds
- (GH-643) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.20.5 to go-ci-oldstable-build-v0.20.6 in /dependabot/docker/builds
- (GH-650) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.20.6 to go-ci-oldstable-build-v0.20.7 in /dependabot/docker/builds
- (GH-645) Go Dependency: Bump golang.org/x/sys from 0.20.0 to 0.21.0
- (GH-646) Go Runtime: Bump golang from 1.21.10 to 1.21.11 in /dependabot/docker/go
- (GH-644) Remove inactive maligned linter
v0.8.8 - 2024-05-13
- (GH-625) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.20.1 to go-ci-oldstable-build-v0.20.2 in /dependabot/docker/builds
- (GH-631) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.20.2 to go-ci-oldstable-build-v0.20.3 in /dependabot/docker/builds
- (GH-633) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.20.3 to go-ci-oldstable-build-v0.20.4 in /dependabot/docker/builds
- (GH-636) Go Dependency: Bump github.com/alexflint/go-arg from 1.4.3 to 1.5.0
- (GH-620) Go Dependency: Bump github.com/pelletier/go-toml/v2 from 2.2.0 to 2.2.1
- (GH-623) Go Dependency: Bump github.com/pelletier/go-toml/v2 from 2.2.1 to 2.2.2
- (GH-624) Go Dependency: Bump golang.org/x/sys from 0.19.0 to 0.20.0
- (GH-628) Go Runtime: Bump golang from 1.21.9 to 1.21.10 in /dependabot/docker/go
v0.8.7 - 2024-04-11
- (GH-603) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.15.4 to go-ci-oldstable-build-v0.16.0 in /dependabot/docker/builds
- (GH-605) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.16.0 to go-ci-oldstable-build-v0.16.1 in /dependabot/docker/builds
- (GH-607) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.16.1 to go-ci-oldstable-build-v0.19.0 in /dependabot/docker/builds
- (GH-610) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.19.0 to go-ci-oldstable-build-v0.20.0 in /dependabot/docker/builds
- (GH-613) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.20.0 to go-ci-oldstable-build-v0.20.1 in /dependabot/docker/builds
- (GH-601) Go Dependency: Bump github.com/pelletier/go-toml/v2 from 2.1.1 to 2.2.0
- (GH-615) Go Dependency: Bump golang.org/x/sys from 0.18.0 to 0.19.0
- (GH-612) Go Runtime: Bump golang from 1.21.8 to 1.21.9 in /dependabot/docker/go
v0.8.6 - 2024-03-08
- (GH-597) Add todo/release label to "Go Runtime" PRs
- (GH-589) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.15.2 to go-ci-oldstable-build-v0.15.3 in /dependabot/docker/builds
- (GH-596) Build Image: Bump atc0005/go-ci from go-ci-oldstable-build-v0.15.3 to go-ci-oldstable-build-v0.15.4 in /dependabot/docker/builds
- (GH-586) canary: bump golang from 1.21.6 to 1.21.7 in /dependabot/docker/go
- (GH-581) docker: bump atc0005/go-ci from go-ci-oldstable-build-v0.15.0 to go-ci-oldstable-build-v0.15.2 in /dependabot/docker/builds
- (GH-591) Go Dependency: Bump golang.org/x/sys from 0.17.0 to 0.18.0
- (GH-594) Go Runtime: Bump golang from 1.21.7 to 1.21.8 in /dependabot/docker/go
- (GH-588) Update Dependabot PR prefixes (redux)
- (GH-587) Update Dependabot PR prefixes
- (GH-585) Update project to Go 1.21 series
v0.8.5 - 2024-02-19
- (GH-574) canary: bump golang from 1.20.13 to 1.20.14 in /dependabot/docker/go
- (GH-559) docker: bump atc0005/go-ci from go-ci-oldstable-build-v0.14.3 to go-ci-oldstable-build-v0.14.4 in /dependabot/docker/builds
- (GH-564) docker: bump atc0005/go-ci from go-ci-oldstable-build-v0.14.4 to go-ci-oldstable-build-v0.14.5 in /dependabot/docker/builds
- (GH-566) docker: bump atc0005/go-ci from go-ci-oldstable-build-v0.14.5 to go-ci-oldstable-build-v0.14.6 in /dependabot/docker/builds
- (GH-575) docker: bump atc0005/go-ci from go-ci-oldstable-build-v0.14.6 to go-ci-oldstable-build-v0.14.9 in /dependabot/docker/builds
- (GH-578) docker: bump atc0005/go-ci from go-ci-oldstable-build-v0.14.9 to go-ci-oldstable-build-v0.15.0 in /dependabot/docker/builds
- (GH-572) go.mod: bump golang.org/x/sys from 0.16.0 to 0.17.0
v0.8.4 - 2024-01-19
- (GH-544) canary: bump golang from 1.20.11 to 1.20.12 in /dependabot/docker/go
- (GH-554) canary: bump golang from 1.20.12 to 1.20.13 in /dependabot/docker/go
- (GH-547) docker: bump atc0005/go-ci from go-ci-oldstable-build-v0.14.1 to go-ci-oldstable-build-v0.14.2 in /dependabot/docker/builds
- (GH-556) docker: bump atc0005/go-ci from go-ci-oldstable-build-v0.14.2 to go-ci-oldstable-build-v0.14.3 in /dependabot/docker/builds
- (GH-550) ghaw: bump github/codeql-action from 2 to 3
- (GH-548) go.mod: bump github.com/pelletier/go-toml/v2 from 2.1.0 to 2.1.1
- (GH-542) go.mod: bump golang.org/x/sys from 0.14.0 to 0.15.0
- (GH-553) go.mod: bump golang.org/x/sys from 0.15.0 to 0.16.0
v0.8.3 - 2023-11-17
- (GH-535) canary: bump golang from 1.20.10 to 1.20.11 in /dependabot/docker/go
- (GH-509) canary: bump golang from 1.20.7 to 1.20.8 in /dependabot/docker/go
- (GH-528) canary: bump golang from 1.20.8 to 1.20.10 in /dependabot/docker/go
- (GH-537) docker: bump atc0005/go-ci from go-ci-oldstable-build-v0.13.12 to go-ci-oldstable-build-v0.14.1 in /dependabot/docker/builds
- (GH-497) docker: bump atc0005/go-ci from go-ci-oldstable-build-v0.13.4 to go-ci-oldstable-build-v0.13.5 in /dependabot/docker/builds
- (GH-500) docker: bump atc0005/go-ci from go-ci-oldstable-build-v0.13.5 to go-ci-oldstable-build-v0.13.6 in /dependabot/docker/builds
- (GH-502) docker: bump atc0005/go-ci from go-ci-oldstable-build-v0.13.6 to go-ci-oldstable-build-v0.13.7 in /dependabot/docker/builds
- (GH-510) docker: bump atc0005/go-ci from go-ci-oldstable-build-v0.13.7 to go-ci-oldstable-build-v0.13.8 in /dependabot/docker/builds
- (GH-517) docker: bump atc0005/go-ci from go-ci-oldstable-build-v0.13.8 to go-ci-oldstable-build-v0.13.9 in /dependabot/docker/builds
- (GH-529) docker: bump atc0005/go-ci from go-ci-oldstable-build-v0.13.9 to go-ci-oldstable-build-v0.13.12 in /dependabot/docker/builds
- (GH-507) ghaw: bump actions/checkout from 3 to 4
- (GH-503) go.mod: bump github.com/pelletier/go-toml/v2 from 2.0.9 to 2.1.0
- (GH-506) go.mod: bump golang.org/x/sys from 0.11.0 to 0.12.0
- (GH-521) go.mod: bump golang.org/x/sys from 0.12.0 to 0.13.0
- (GH-534) go.mod: bump golang.org/x/sys from 0.13.0 to 0.14.0
v0.8.2 - 2023-08-18
- (GH-470) Add initial automated release notes config
- (GH-472) Add initial automated release build workflow
- Dependencies
Go
1.19.11
to1.20.7
atc0005/go-ci
go-ci-oldstable-build-v0.11.4
togo-ci-oldstable-build-v0.13.4
golang.org/x/sys
v0.10.0
tov0.11.0
- (GH-474) Update Dependabot config to monitor both branches
- (GH-492) Update project to Go 1.20 series
v0.8.1 - 2023-07-17
- Bug fixes
- Dependency updates
- GitHub Actions workflow updates
- built using Go 1.19.11
- Statically linked
- Windows (x86, x64)
- Linux (x86, x64)
- Dependencies
Go
1.19.8
to1.19.11
atc0005/go-ci
go-ci-oldstable-build-v0.10.4
togo-ci-oldstable-build-v0.11.4
sirupsen/logrus
v1.9.0
tov1.9.3
pelletier/go-toml
v2.0.7
tov2.0.9
golang.org/x/sys
v0.7.0
tov0.10.0
- (GH-459) Update vuln analysis GHAW to remove on.push hook
- (GH-456) Disable depguard linter
- (GH-461) Restore local CodeQL workflow
v0.8.0 - 2023-04-14
- Add support for generating DEB, RPM packages
- Build improvements
- Bug fixes
- Generated binary changes
- filename patterns
- compression (~ 66% smaller)
- executable metadata
- built using Go 1.19.8
- Statically linked
- Windows (x86, x64)
- Linux (x86, x64)
- (GH-438) Generate RPM/DEB packages using nFPM
- (GH-441) Add version details to Windows executables
- (GH-443) Switch to semantic versioning (semver) compatible versioning pattern
- (GH-442) Makefile: Compress binaries & use fixed filenames
- (GH-439) Makefile: Refresh recipes to add "standard" set, new package-related options
- (GH-440) Build dev/stable releases using go-ci Docker image
- (GH-444) Move internal packages to internal path
- (GH-436) Fix various revive linting errors
- (GH-437) Fix errcheck linting errors
v0.7.24 - 2023-04-13
- Bug fixes
- Dependency updates
- GitHub Actions workflow updates
- built using Go 1.19.8
- Statically linked
- Windows (x86, x64)
- Linux (x86, x64)
- (GH-422) Add Go Module Validation, Dependency Updates jobs
- Dependencies
Go
1.19.4
to1.19.8
pelletier/go-toml
v2.0.6
tov2.0.7
golang.org/x/sys
v0.3.0
tov0.7.0
- CI
- (GH-425) Drop
Push Validation
workflow - (GH-426) Rework workflow scheduling
- (GH-428) Remove
Push Validation
workflow status badge
- (GH-425) Drop
- (GH-432) Update vuln analysis GHAW to use on.push hook
v0.7.23 - 2022-12-12
- Bug fixes
- Dependency updates
- GitHub Actions Workflows updates
- built using Go 1.19.4
- Statically linked
- Windows (x86, x64)
- Linux (x86, x64)
- Dependencies
Go
1.19.1
to1.19.4
pelletier/go-toml
v2.0.5
tov2.0.6
github.com/alexflint/go-scalar
v1.1.0
tov1.2.0
golang.org/x/sys
v0.0.0-20220715151400-c0bba94af5f8
tov0.3.0
- (GH-412) Refactor GitHub Actions workflows to import logic
- (GH-417) Fix Makefile Go module base path detection
- (GH-403) Add missing cmd doc file
v0.7.22 - 2022-09-22
- Bug fixes
- Dependency updates
- GitHub Actions Workflows updates
- built using Go 1.19.1
- Statically linked
- Windows (x86, x64)
- Linux (x86, x64)
- Dependencies
Go
1.17.12
to1.19.1
pelletier/go-toml
v2.0.2
tov2.0.5
github/codeql-action
v2.1.22
tov2.1.25
- (GH-404) Update project to Go 1.19
- (GH-405) Update Makefile and GitHub Actions Workflows
- (GH-402) Apply linting fixes for Go 1.19 release
- (GH-403) Add missing cmd doc file
v0.7.21 - 2022-07-22
- Bug fixes
- Dependency updates
- built using Go 1.17.12
- Statically linked
- Windows (x86, x64)
- Linux (x86, x64)
- Dependencies
Go
1.17.10
to1.17.12
sirupsen/logrus
v1.8.1
tov1.9.0
pelletier/go-toml
v2.0.1
tov2.0.2
- (GH-394) Update lintinstall Makefile recipe
v0.7.20 - 2022-05-11
- Dependency updates
- built using Go 1.17.10
- Statically linked
- Windows (x86, x64)
- Linux (x86, x64)
- Dependencies
Go
1.17.9
to1.17.10
pelletier/go-toml
v2.0.1-0.20220509164502-c5ca2c682b57
tov2.0.1
v0.7.19 - 2022-05-10
- Dependency updates
- built using Go 1.17.9
- Statically linked
- Windows (x86, x64)
- Linux (x86, x64)
- Dependencies
Go
1.17.7
to1.17.9
pelletier/go-toml
v1.9.4
tov2.0.1-0.20220509164502-c5ca2c682b57
v0.7.18 - 2022-03-02
- Dependency updates
- CI / linting improvements
- built using Go 1.17.7
- Statically linked
- Windows (x86, x64)
- Linux (x86, x64)
-
Dependencies
Go
1.16.12
to1.17.7
- (GH-371) Update go.mod file, canary Dockerfile to reflect current dependencies
alexflint/go-arg
v1.4.2
tov1.4.3
actions/checkout
v2.4.0
tov3
actions/setup-node
v2.5.1
tov3
-
(GH-374) Expand linting GitHub Actions Workflow to include
oldstable
,unstable
container images -
(GH-375) Switch Docker image source from Docker Hub to GitHub Container Registry (GHCR)
v0.7.17 - 2021-12-29
- Dependency updates
- built using Go 1.16.12
- Statically linked
- Windows (x86, x64)
- Linux (x86, x64)
- Dependencies
Go
1.16.10
to1.16.12
actions/setup-node
v2.4.1
tov2.5.1
v0.7.16 - 2021-11-10
- Dependency updates
- built using Go 1.16.10
- Statically linked
- Windows (x86, x64)
- Linux (x86, x64)
- Dependencies
Go
1.16.7
to1.16.10
pelletier/go-toml
v1.9.3
tov1.9.4
actions/checkout
v2.3.4
tov2.4.0
actions/setup-node
v2.4.0
tov2.4.1
- (GH-362) False positive
G307: Deferring unsafe method "Close" on type "*os.File" (gosec)
linting error - (GH-350) Build tag format changed between Go 1.16 and 1.17
- (GH-348) Lock Go version to the latest "oldstable" series
v0.7.15 - 2021-08-09
- Dependency updates
- built using Go 1.16.7
- Statically linked
- Windows (x86, x64)
- Linux (x86, x64)
- Dependencies
Go
1.16.6
to1.16.7
actions/setup-node
- updated from
v2.2.0
tov2.4.0
- updated from
v0.7.14 - 2021-07-20
- Dependency updates
- Bug fixes
- built using Go 1.16.6
- Statically linked
- Linux (x86, x64)
- Add "canary" Dockerfile to track stable Go releases, serve as a reminder to generate fresh binaries
-
Show the date for the specific number of days when using the
--age
flag -
Dependencies
Go
1.16.2
to1.16.6
alexflint/go-arg
v1.3.0
tov1.4.2
pelletier/go-toml
v1.8.1
tov1.9.3
actions/setup-node
v2.1.5
tov2.2.0
- update
node-version
value to always use latest LTS version instead of hard-coded version
- cmd/elbow/main.go:97:17: ST1023: should omit type int from declaration; it will be inferred from the right-hand side (stylecheck)
- Fix doc comment field references
v0.7.13 - 2021-03-15
- Dependency updates
- Bug fixes
- Built using Go 1.16.2
-
Compare file extensions case-insensitively
-
Dependencies
- Built using Go 1.16.2
- Statically linked
- Windows (x86, x64)
- Linux (x86, x64)
sirupsen/logrus
v1.8.0
tov1.8.1
actions/setup-node
v2.1.4
tov2.1.5
- Built using Go 1.16.2
-
Prune unneeded
\n
escape character from log messages -
Compare file extensions without leading dot
v0.7.12 - 2021-02-21
- Dependency updates
- Built using Go 1.15.8
-
Swap out GoDoc badge for pkg.go.dev badge
-
Dependencies
- Built using Go 1.15.8
- Statically linked
- Windows (x86, x64)
- Linux (x86, x64)
sirupsen/logrus
v1.7.0
tov1.8.0
actions/setup-node
v2.1.2
tov2.1.4
- Built using Go 1.15.8
v0.7.11 - 2020-11-16
- Binary release
- Built using Go 1.15.5
- Statically linked
- Windows
- x86
- x64
- Linux
- x86
- x64
- Logic error in PathExists function
- LogBuffer.Flush method attempt to empty slice
- Minor doc comment typo
v0.7.10 - 2020-10-11
- Binary release
- Built using Go 1.15.2
- Statically linked
- Windows
- x86
- x64
- Linux
- x86
- x64
-
Dependencies
actions/setup-node
v2.1.1
tov2.1.2
-
Add
-trimpath
build flag
- Makefile build options do not generate static binaries
- Makefile generates checksums with qualified path
v0.7.9 - 2020-09-29
- First (limited) binary release
- Built using Go 1.15.2
- Windows
- x86
- x64
- Linux
- x86
- x64
- Dependencies
- upgrade
actions/checkout
v2.3.1
tov2.3.3
- upgrade
sirupsen/logrus
v1.6.0
tov1.7.0
- upgrade
pelletier/go-toml
v1.8.0
tov1.8.1
- upgrade
- Miscellaneous linting issues
- comment formatting
- exitAfterDefer: os.Exit clutters defer
- Makefile generates checksums with qualified path
v0.7.8 - 2020-08-03
- Docker-based GitHub Actions Workflows
-
Replace native GitHub Actions with containers created and managed through the
atc0005/go-ci
project. -
New, primary workflow
- with parallel linting, testing and building tasks
- with three Go environments
- "old stable" - currently
Go 1.13.14
- "stable" - currently
Go 1.14.6
- "unstable" - currently
Go 1.15rc1
- "old stable" - currently
- Makefile is not used in this workflow
- staticcheck linting using latest stable version provided by the
atc0005/go-ci
containers
-
Separate Makefile-based linting and building workflow
- intended to help ensure that local Makefile-based builds that are referenced in project README files continue to work as advertised until a better local tool can be discovered/explored further
- use
golang:latest
container to allow for Makefile-based linting tooling installation testing since theatc0005/go-ci
project provides containers with those tools already pre-installed- linting tasks use container-provided
golangci-lint
config file except for the Makefile-driven linting task which continues to use the repo-provided copy of thegolangci-lint
configuration file
- linting tasks use container-provided
-
Add Quick Validation workflow
- run on every push, everything else on pull request updates
- linting via
golangci-lint
only - testing
- no builds
-
-
README
- Link badges to applicable GitHub Actions workflows results
-
Linting
- local
golangci-lint
- disable default exclusions
Makefile
- install latest stable
golangci-lint
binary instead of using a fixed version
- install latest stable
- CI
- remove repo-provided copy of
golangci-lint
config file at start of linting task in order to force use of Docker container-provided config file
- remove repo-provided copy of
- local
-
Dependencies
- upgrade
actions/setup-node
v2.1.0
tov2.1.1
- upgrade
actions/setup-go
v2.1.0
tov2.1.1
- note: since replaced with a Docker container
- upgrade
- Miscellaneous linting issues
errcheck
gosec
- log file permissions
- file inclusion via variable
stylecheck
v0.7.7 - 2020-07-19
- Dependabot
- enable version updates
- enable GitHub Actions updates
- Dependencies
- upgrade
pelletier/go-toml
v1.7.0
tov1.8.0
- upgrade
actions/setup-go
v1
tov2.1.0
- upgrade
actions/checkout
v1
tov2.3.1
- upgrade
actions/setup-node
v1
tov2.1.0
- upgrade
- Remove duplicate defaultAppName const
- Fix CHANGELOG section order
v0.7.6 - 2020-05-03
sirupsen/logrus
updated fromv1.5.0
tov1.6.0
- Version string/output was not shown when
-h
or--version
flags were used
v0.7.5 - 2020-04-29
- Update golangci-lint to v1.25.1
- Enable
gofmt
linter in golangci-lint config file
-
Linting errors
- Unused field in table test struct
- Remove explicit struct type for each struct entry in table test slice
-
Remove gofmt and golint as separate checks, enable these linters in golangci-lint config
-
Update README to list accurate build/deploy steps based on recent restructuring work
v0.7.4 - 2020-04-26
-
Use
cmd/elbow
directory to match best practices -
Vendor dependencies
-
README
- update one-off build examples to include new cmd subdirectory
-
Update GitHub Actions Workflows
- specify new cmd subdir path for builds
- Disable running
go get
after checking out code - Exclude
vendor
folder from ... - Markdown linting checks
- tests
- basic build
-
Update
.gitignore
- add ignored paths for binaries
- add
release_assets
-
Update Makefile
- replace two external shell scripts with equivalent embedded commands
- borrow heavily from existing
Makefile
foratc0005/send2teams
project - generate binaries within
release_assets
subdirectory structure - dynamically determine go module path for version tag use
- disabled for now as I have not moved this into a subpkg (e.g.,
config
) yet
- disabled for now as I have not moved this into a subpkg (e.g.,
- include
-mod=vendor
build flag for applicablego
commands to reflect Go 1.13 vendoring- this includes specifying
-mod=vendor
even forgo list
commands, which unless specified results in dependencies being downloaded, even when they're already provided in a local, top-levelvendor
directory
- this includes specifying
- dynamic help/menu output based on recipe "doc comment"
-
Linting
- Enabled
scopelint
linter - Moved
golangci-lint
config settings to external file
- Enabled
-
Copyright date bump
- Linting
- dogsled linting warnings regarding use of
runtime.Caller(1)
- applied
// nolint:dogsled
hotfix (GH-237)
- applied
- dogsled linting warnings regarding use of
v0.7.3 - 2020-04-26
-
GitHub Actions Workflow
- Go v1.12.x dropped
- Go v1.14.x added
- Echo Go version used by workflow
-
Dependencies updated
pelletier/go-toml
v1.6.0
tov1.7.0
sirupsen/logrus
v1.4.2
tov1.5.0
alexflint/go-arg
v1.2.0
tov1.3.0
-
Install
golangci-lint
binary viamake lintinstall
instead of building from source
- Correct filename reference
v0.7.2 - 2020-02-12
- Fix unhandled error condition by enforcing early exit as intended
v0.7.1 - 2020-01-16
- Fix release links in this CHANGELOG file
v0.7.0 - 2020-01-16
- Add support for importing settings from a TOML configuration file
- Add support for merging multiple config sources
- the defined precedence decides what config source wins for a specific setting in case of a conflict.
- non-conflicting settings are merged into one comprehensive configuration
- Extend GitHub Actions Workflow to include Markdown linting
- Add logger object for use in pre-config initialization
- this allows delaying the filtering of leveled log messages until the user has indicated what logging level they prefer
- Add tests for bulk of core config source handling which includes validation
of options, precedence/merge rules and other functionality
- TODO: additional coverage is needed
- TODO: many of the tests are inefficient and need further work
- Expand list of golangci-lint linters
prealloc
misspell
maligned
dupl
unconvert
golint
gocritic
- Increase use of constants for common string comparison cases
- Configuration source precedence/priority has changed
- Command line flags (highest priority)
- Environment variables
- Environment variables loaded from
.env
files- Not supported yet
- Configuration file
- Default settings (lowest priority)
- "Successfully completed" message shown when failures occur during file removal
- Non-recursive directory processing sets wrong value for
FileMatch.Path
- Anonymous function for
filepath.Walk()
doesn't checkConfig.IgnoreErrors
before returning error - Non-recursive directory processing attempts to open a directory as a file
- "NotSet successfully completed" message shown at end of test run
- Miscellaneous doc comments for updated function outdated
- Various linting errors for lack of constants, misspellings, inefficient logic
linting
Makefile recipe returns zero exit code even whengolangci-lint
reports problems- Minor typos in Makefile output
v0.6.2 - 2019-11-04
- Add missing ALT text to CI badge
v0.6.1 - 2019-10-31
- Remove stray phrase from CHANGELOG
- Update build status badge on README to reflect recent workflow name change
v0.6.0 - 2019-10-31
-
GitHub Actions Workflow
- Run linting checks
- Run build checks
-
Documentation
- Add CI badge to README to note current codebase state
-
Makefile
- new recipe:
make linting
- runs suite of linting checks, suggests
make lintinstall
if tools are not found
- runs suite of linting checks, suggests
- new recipe:
make lintinstall
- this recipe is used by the GitHub Actions Workflow as part of pre-test setup
- this same recipe can be used locally on-demand as part of a pre-commit/pre-push workflow
- new recipe:
-
Report total size of files (eligible for removal, failed and success) for each path that is processed
- Makefile
make all
now builds x86 binaries for Linux and Windows in addition to the existing x64 binaries
- Additional godoc coverage for subpackages
- Fix various linting errors exposed by CI-related work
v0.5.2 - 2019-10-24
- nil pointer dereference due to not initializing the logger handle before use
v0.5.1 - 2019-10-24
- Logging level for file removal "intent" messages changed from INFO to DEBUG level in order to de-duplicate the coverage for removing files (e.g., noting before and after)
- Refactored
main
package to create multiple sub-packages in the hope that this will make it easier to create unit tests later - Apply default settings via
default
struct tag alexflint/go-arg
package updated to v1.2.0- README, godoc coverage
- updates to reflect updated Help output
- the
--keep
command-line flag defaults to0
instead of being a required flag
required
constraint for the--keep
flag (now defaults to0
)
- README
--age
command-line flag notes had description details in the wrong column
- syntax of godoc documentation so that it properly renders on godoc.org or local godoc instance
- golangci-lint linting errors
- unintentional duplicate
arg
struct tags - unused function (refactored to separate package)
- unintentional duplicate
Makefile
- minor tweaks to output to adjust spacing after removal of UPX calls
v0.5.0 - 2019-10-23
- Add brief first draft of
godoc
compatible usage information - Support for processing one or more paths via command-line or environment variable
- Logging output
- total paths provided
- current iteration in loop across provided paths
- ending result noted as successful completion or completion with warnings
- misc logging tweaks to record additional field values that could be useful when troubleshooting
- Updated README to cover new support for processing multiple paths
- examples now reference
/tmp/elbow
as the base path with/tmp/elbow/path1
and/tmp/elbow/path2
as example multi-path arguments
- examples now reference
- single path command-line flag
--path
replaced by multi-path--paths
command-line flag ELBOW_PATH
environment variable replaced byELBOW_PATHS
which now supports comma-separated list of pathsMakefile
Makefile
and test scripts updated to work with multiple pathsmake testenv
now prepares/tmp/elbow/path1
and/tmp/elbow/path2
by default- override variable exposed as
TESTENVBASEDIR
(covered in README) - UPX is no longer used to compress generated executables
- Use of UPX for compressing executables
- using UPX to compress executables disables use of
go version
andgo version -m -v
to determine the version of Go and associated modules used to build them
- using UPX to compress executables disables use of
--path
command-line flag (see earlier notes)ELBOW_PATH
environment variable (see earlier notes)
- Early exit logic
- hard-coded
os.Exit(1)
calls (from before support for ignoring errors were added) were adjusted to respect theIgnoreErrors
option
- hard-coded
- README
- Add missing
--age
command-line flag option - Add missing
ELBOW_FILE_AGE
environment variable
- Add missing
v0.4.0 - 2019-10-17
- Latest Release badge on README
- Support for environment variables via
alexflint/go-arg
package Makefile
- command:
testrun
- Set
version
global variable inmain
package based ongit describe
- command:
--extension
(multi-use) flag is now--extensions
(single call, multiple values supported- See README for usage
- Replaced
jessevdk/go-flags
package withalexflint/go-arg
- Improve configuration validation to accommodate lack of native
go-arg
support for enforcing specific flag values Makefile
- TODO: Add more info here
go.mod
updated to use Go 1.13 as the base version- Based on some reading in https://github.com/golang/go/wiki/Modules, the
behavior for
go get -u
changed to allow more conservative updates of dependencies. The new behavior sounds more natural and is less likely to surprise newcomers, so locking the base behavior to Go 1.13 sounds like a "Good Thing" to do here.
- Based on some reading in https://github.com/golang/go/wiki/Modules, the
behavior for
- README updated to note Go 1.13 as the base version
jessevdk/go-flags
package replaced withalexflint/go-arg
- Typo in license text
- Replace lightweight Git tags with annotated tags
v0.3.2 - 2019-10-16
- README: Add package dependencies and install steps
- Fix miscellaneous spelling errors
- credit:
Code Spell Checker
VSCode extension
- credit:
- Update
Config.String()
method to include new fields - Log config field values after setting logging level so that they're visible
when choosing to log at
debug
level - Remove placeholder text from README file that has since been superseded by real content
- Fix file removal bug by using fully-qualified path to file instead of
shortname
- the bug was due to an unintentional assumption that the file to be removed was within the current working directory
v0.3.1 - 2019-09-29
- Update
Makefile
(and the calledtesting/setup_testenv.sh
script) to allow for providing a custom location for generation of test files)
- Minor tweak to logging output to reduce duplication between main log message and the structured field
v0.3.0 - 2019-09-27
- Add Makefile
- handle cleaning the build environment, the local Git repo and other temporary content
- handle building binaries for Windows and Linux
- Add test environment setup script
- used by
Makefile
; usable separately if desired
- used by
- (optional) Match files based on age threshold (in number of days)
- Update .gitignore file to exclude temporary files generated by UPX
- Update README to provide build and, test environment setup directions
- Refactor threshold helper functions in an effort to more clearly reflect their purpose
- Update logging to include more structured fields
- Fix link to section in README
v0.2.0 - 2019-09-26
Documentation:
LICENSE
fileCHANGELOG.md
fileNOTICE.txt
file- License header to all source files
Logging:
- Apply leveled logging to better filter desired logging levels
- Add (optional on Linux, unavailable on Windows) syslog logging support
- Add optional log file support
Configuration options:
- (optional) Ignore errors when removing files
- (optional) Log format (text or json, defaults to text)
- (optional) Log level (large list, mapped where possible to syslog logging levels)
- (optional) Console output toggle (stdout or stderr)
- (optional) Log file path (logging to a log file mutes console output)
- Extensive updates to main
README.md
file - Additional polish for "feedback" log statements; work towards having all required information set to INFO log level (which is the default)
- Use
jessevdk/go-flags
for command-line flag support - Short flag names dropped
- There are some issues with
go-flags
misdetecting leading dashes in file patterns as short flags, so instead of dealing with that right now I've opted to only support long flag names go-flags
only supports single letter short flags, and with the number of flags that we're using I decided to keep things simple for now and only use long flag names
- There are some issues with
- The number of files to keep from match results is now a required flag
- Feature: Short flag names
- Package:
integrii/flaggy
- Package:
r3labs/diff
v0.1.0 - 2019-09-17
This initial prototype supports:
- Command-line flags support via
integrii/flaggy
package - Matching on specified file patterns
- Flat (single-level) or recursive search
- Keeping a specified number of older or newer matches
- Limiting search to specified list of extensions
- Toggling file removal (read-only by default)
- Go modules (vs classic GOPATH setup)
- Brief overview, examples for testing purposes