Releases: atc0005/elbow
Releases · atc0005/elbow
Release v0.5.0
Added
- 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
Changed
- 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
Removed
- 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)
Fixed
- 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
References
- See the
v0.5.0
milestone for the issues associated with this release. - See our CHANGELOG for more information
Release v0.4.0
Added
- 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:
Changed
--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 forgo 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
- README updated to note Go 1.13 as the base version
Removed
jessevdk/go-flags
package replaced withalexflint/go-arg
Fixed
- Typo in license text
- Replace lightweight Git tags with annotated tags
References
- See the
v0.4.0
milestone for the issues associated with this release. - See our CHANGELOG for more information
Release v0.3.2
Fixed
- 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 atdebug
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
- the bug was due to an unintentional assumption that the file to be removed
References
- See the
v0.3.2
milestone for the issues associated with this release. - See our CHANGELOG for more information
Release v0.3.1
Changed
- Update
Makefile
(and the calledtesting/setup_testenv.sh
script) to allow
for providing a custom location for generation of test files)
Fixed
- Minor tweak to logging output to reduce duplication between main log message
and the structured field
References
- See the
v0.3.1
milestone for the issues associated with this release. - See our CHANGELOG for more information
Release v0.3.0
Added
- Add Makefile
- handle cleaning the build environment, the local Git repo and other
temporary content - handle building binaries for Windows and Linux
- handle cleaning the build environment, the local Git repo and other
- 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)
Changed
- 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
Fixed
- Fix link to section in README
References
- See the
v0.3.0
milestone for the issues associated with this release. - See our CHANGELOG for more information
Release v0.2.0
Added
Documentation:
LICENSE
fileCHANGELOG.md
fileNOTICES.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)
Changed
- 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
Removed
- Feature: Short flag names
- Package:
integrii/flaggy
- Package:
r3labs/diff
References
- See the
v0.2.0
milestone for the issues associated with this release. - See our CHANGELOG for more information
Release v0.1.0
This initial prototype supports:
- 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
Refs: