Important
This release contains breaking changes to the input.Read
, input.ReadPassword
, and input.ReadPasswordSecure
methods. Prior to this release, all of these methods took a boolean argument to disallow empty input. Since we are adding input validators, you will need to use the NotEmpty
validator for the same behaviour.
[fmtutil/table]
Added automatic breaks feature[terminal/input]
Added input validation feature[terminal/input]
Fixed bug with hiding the password whenHidePassword
is set to true and an empty input error is displayed[terminal/input]
Fixed bug with printing new line after input field on error
[knf]
Added helperQ
[fmtc]
Code refactoring[usage]
Code refactoring
[errors]
Fixed bug with extra newline character at the end ofError
output
[errors]
Added new package of utilities for working with errors[knf]
Added typeValidators
forValidator
slice[knf]
Code refactoring[options]
Code refactoring[errutil]
Package deprecated
[req]
AutoDiscard
now doesn't affect responses with successful response status codes (200
-299
)
[knf/validators]
Added support ofint64
,uint
, anduint64
toLess
vaildator[knf/validators]
Added support ofint64
,uint
, anduint64
toGreater
vaildator[knf/validators]
Added validatorSizeGreater
[knf/validators]
Added validatorSizeLess
[fmtutil]
Added support ofkk
,kkk
,kib
,mib
,gib
, andtib
inParseSize
[knf]
Added getterGetSZ
for reading value as the size[knf/united]
Added getterGetSZ
for reading value as the size[knf/validators]
Added validatorTypeSize
[knf/validators]
Added validatorInRange
[fmtutil]
Code refactoring[knf/united]
Improved usage examples
[req]
Guess the value of theContent-Type
header based on the request body type
[setup]
Added package to install/uninstall application as a service[support/deps]
Improved collecting and filtering dependencies info[support/kernel]
Added simple globs support for parameter names
[mathutil]
Added methodFromPerc
[mathutil]
Code refactoring
[support/resources]
Added package for collecting info about CPU and memory[support/kernel]
Added package for collecting OS kernel parameters[system/sysctl]
Added methodAll
to get all kernel parameters[system]
Added macOS support forGetCPUInfo
[system]
Added macOS support forGetMemUsage
[support]
Added locale to default OS info output[mathutil]
Added methodsIsInt
,IsFloat
, andIsNumber
[support]
Added info if CGO is used for build
[system/sysctl]
Added new package for reading kernel parameters[strutil]
Added methodSqueezeRepeats
[timeutil]
Improved formatting of days and seconds inMiniDuration
[timeutil]
Added support of minutes, hours and days toMiniDuration
[timeutil]
Added separator customization toMiniDuration
[timeutil]
Added usage examples forMiniDuration
[support/apps]
Fixed Docker version extraction[support]
Improved output of large list of IPv4 and IPv6 addresses
[support/apps]
Added support for Docker, Podman, and LXC[rand]
Removed methodInt
[rand]
Code refactoring
[cache]
Added constants with duration[cache/fs]
Usingcache.Duration
instead oftime.Duration
[cache/memory]
Usingcache.Duration
instead oftime.Duration
[cache/fs]
Added check for passed expiration duration inSet
[cache/fs]
Code refactoring[cache/fs]
Fixed bug with closing item file after reading data[cache/fs]
Fixed bug with removing expired items inGet
[cache/fs]
Added cache with file system storage[cache]
In-memory cache moved tocache/memory
[sliceutil]
Added methodJoin
[terminal/input]
AddedNewLine
flag[sliceutil]
MethodsCopy
,IsEqual
,Index
,Contains
, andDeduplicate
marked as deprecated[terminal/input]
Improved TMUX support
[errutil]
Added methodWrap
[passthru]
Reader
now implements onlyio.Reader
interface, notio.ReadCloser
[passthru]
Writer
now implements onlyio.Writer
interface, notio.WriteCloser
[env]
Fixed compatibility with Windows[support]
Add basic support of collecting info on Windows[support/apps]
Added Windows support[support/network]
Added Windows support
Caution
In this release, we have changed the logic behind some knf validators (Less
, Greater
, LenLess
, LenGreater
) from negative to positive check. This means that if you have any of these validators, you need to swap them (Less
→ Greater
, Greater
→ Less
, LenLess
→ LenGreater
, LenGreater
→ LenLess
) to keep the logic of the validation.
[knf/validators]
Changed logic from negative to positive check forLess
,Greater
,LenLess
, andLenGreater
validators.[knf/validators]
ValidatorLenNotEquals
renamed toLenEquals
[knf/validators]
ValidatorNotPrefix
renamed toNotPrefix
[knf/validators]
ValidatorHasSuffix
renamed toHasSuffix
[knf/validators]
ValidatorEquals
renamed toNotEquals
[log]
Code refactoring
[knf/validators]
Added validatorsSet
,SetToAny
,SetToAnyIgnoreCase
,LenLess
,LenGreater
, andLenNotEquals
[knf/validators]
ValidatorsEmpty
,NotContains
, andNotLen
marked as deprecated[knf/validators]
Improved validators input validation[knf/validators/fs]
Improved validators input validation[knf/validators/regexp]
Improved validators input validation[knf/validators]
Code refactoring[knf/validators/system]
Code refactoring
[fsutil]
Added methodGetModeOctal
[pager]
DisablePAGER
environment variable usage by default[pager]
AddedAllowEnv
option to allow the use of thePAGER
environment variable
[options]
Added methodDelete
[usage]
Added support for optional arguments to usage info[uuid]
Added UUID7 generator[options]
Code refactoring
[usage]
AddedInfo.WrapLen
option for text wrapping configuration
[support]
Added support of Docker with gVisor runtime[system/container]
Added support of Docker with gVisor runtime[usage]
Added automatic wrapping for example, command, and option descriptions[color]
Documentation improvements[sliceutil]
Code refactoring
[support/network]
Added Cloudflare trace support for public IP resolution[terminal]
Code refactoring
[i18n]
Added new package for internationalization[log]
Added field collection support[log]
Ignore fields without key[log]
Fixed formatting of JSON output when no message is passed[pluralize]
Fixed bug with handling negative numbers[pluralize]
Code refactoring
[env]
AddVariable
struct for lazy environment reading[fmtc]
Add support ofFMTC_NO_BOLD
,FMTC_NO_ITALIC
, andFMTC_NO_BLINK
environment variables
[terminal]
Fixed bug with output messages fromError
andWarn
to stdout instead of stderr
[support/network]
Sort and deduplicate IPs
[csv]
Added methodReader.Line
[csv]
Added more helpers for working with CSV row data
[csv]
Added helpers for working with CSV row[csv]
Added option to skip header[option]
RemovedRequired
flag from option struct
[initsystem/sdnotify]
Added new package for sending messages to systemd[support/deps]
Updated for compatibility with the latest version of depsy[terminal/tty]
Improved check for systemd
[knf]
Added methodsAlias
andConfig.Alias
[knf]
Added property name validation for all getters[sliceutil]
Added methodIsEqual
[knf]
Code refactoring[knf]
Added more tests
[initsystem]
Added launchd support[support/services]
Added package for collecting services info
[terminal/input]
Added methodSetHistoryCapacity
[options]
ImprovedErrors.String
output formatting[terminal/input]
Added more usage examples[terminal/input]
Code refactoring
[terminal/input]
Added new package for working with user input[options]
Added helper for working with errors[terminal]
All methods for working with user input moved to separate package[terminal]
Improved rendering messages with prefix[color]
Tests refactoring[options]
Code refactoring[terminal]
Code refactoring
Important
[mathutil]
Removed all deprecated methods[passwd]
Removed all deprecated methods[sliceutil]
Removed all deprecated methods[terminal]
Removed all deprecated methods[usage]
Removed all deprecated methods[uuid]
Removed all deprecated methods[terminal/window]
Package removed due to deprecation of all methods
[support]
Added Yandex Serverless support[system/container]
Added Yandex Serverless support
[knf/united]
Added methodGetMapping
[knf/united]
Added methodCombineSimple
[support/pkgs]
Added compatibility with macOS
[options]
Alias
,Conflicts
, andBound
now supports string slices[options]
Improved string representation format ofMap
,V
and option name[terminal/tty]
Windows stubs refactoring
[support]
Added binary name info[terminal/tty]
Added methodIsSystemd
[fsutil]
MethodIsNonEmpty
marked as deprecated[fsutil]
Fixed stubs for Windows[terminal/window]
Fixed deprivation message
[knf/united]
United configuration separated from global KNF configuration
[knf/united]
Added helper methodAddOptions
[options]
Added methodsV.String
andMap.String
[support]
Minor UI improvement[options]
Code refactoring
[support/pkgs]
Improved formatting[support/network]
Local IPs removed from IPv4/IPv6 address lists
[support/pkgs]
Addedtdnf
(Photon Linux) support[support/pkgs]
Addedpacman
(Arch Linux) support[support/pkgs]
Package name removed from version info[support]
Fixed stubs for Windows
[support]
Added custom checks support[knf/united]
Improved handling of environment variables[support]
Improved application info formatting[support]
Code refactoring[support]
Added more tests
[support]
Fixed documentation formatting
[support]
Added new package for collecting support information[options]
Added methodMap.Set
[options]
Added methodMap.Delete
[options]
Added shortcutF
for methodFormat
[system/container]
Added methodIsContainer
[system/container]
Added engine info caching[pager]
Fixed panic when pager stdin is not a file[usage]
Fixed bug with changing color for certain command or option[lock]
Fixed build tags[options]
Code refactoring[usage]
Code refactoring[options]
Tests refactoring[system/container]
Added usage examples
[knf/united]
Added methodSimple
[knf/united]
Added methodToOption
with shortcutO
[knf/united]
Added methodToEnvVar
with shortcutE
[log]
Added JSON output format[log]
Added caller info to messages[strutil]
Added methodIndexByteSkip
[timeutil]
Added methodFromISOWeek
[log]
Code refactoring
[knf/united]
Added validation usingknf
validators[knf/united]
Added usage examples
[knf/united]
Added new package for working with united configuration (knf + options + environment variables)[knf]
Added methodGetTD
[knf]
Added methodGetTS
[knf]
Added methodGetTZ
[knf]
Added methodGetL
[options]
Fixed panic when parsing unsupported option with value passed with equal sign (=
)[options]
Code refactoring[knf]
Code refactoring
[knf/validators/network]
AddedMail
validator[log]
AddedDivider
method[knf/validators/fs]
Code refactoring[knf/validators/network]
Code refactoring[knf/validators/regexp]
Code refactoring[knf/validators/system]
Code refactoring
[req]
Added Bearer Token property toRequest
struct
[log]
AddedNilLogger
[path]
Handle both directions inDirN
[strutil]
Code refactoring
[knf]
Add methodParse
[knf]
Add methodConfig.Merge
[knf]
Code refactoring[knf]
Improved usage examples
[mathutil]
Added methodPerc
[system]
Added methodsMemUsage.MemUsedPerc
andMemUsage.SwapUsedPerc
[fmtutil]
Code refactoring[fmtutil/table]
Improved tests[mathutil]
Added usage examples
[passthru]
Added package with pass-thru reader and writer[progress]
Migrate topassthru
package[fmtutil/table]
Improved borders and separators rendering[usage]
Improved environment info output[spinner]
Improved message rendering
[terminal/tty]
Fixed bug in checking for TTY when stdin is a character device[terminal/tty]
Improved tests
[fmtutil/table]
Added global flagFullScreen
for full screen table mode[fmtutil/table]
Full-screen table mode enabled by default
[fmtutil/table]
Added table border symbol customization[fmtutil/table]
Added table border symbol color customization[fmtutil/table]
Added table separator symbol customization[fmtutil/table]
Added table separator symbol color customization[fmtutil/table]
Added table header color customization[fmtutil/table]
Added table options for hiding top and bottom borders[fmtutil/table]
Added data preprocessing feature using custom input processing function[fmtutil/table]
Improved data rendering[fmtutil/table]
Code refactoring
[options]
Added methodFormat
[options]
Code refactoring
[fmtc]
Added complex tags support for named colors[fmtc]
Added named colors nesting
[color]
Added methodTerm2RGB
[terminal/tty]
Added methodIsTMUX
[terminal/tty]
Added more usage examples[timeutil]
ParseDuration
now returnstime.Duration
instead of seconds
[pager]
Usemore -f
by default[pager]
Code refactoring
[color]
Added alpha channel info toHSL
andHSV
[color]
Added methodRGBA.WithAlpha
[color]
Improved support for hex colors with alpha[color]
Use web color representation forHex.String
[color]
Added flag toHex.ToWeb
to disable shorthand generation[color]
Fixed shorthand hex generation for#FFF
[color]
FixedRGBA
toHex
conversion
[usage]
Added color customization for example description[usage]
Changed default color for example description
[pager]
Improved pager search[fmtutil]
Code refactoring[fmtutil/table]
Code refactoring[pager]
Fixed build tags[terminal/tty]
Fixed build tags
[pager]
Added new package for pager (less
/more
) setup[terminal/tty]
Added new package for working with TTY[fmtc]
Added methodIsColorsSupported
[fmtc]
Added tag for italic text ({&}
)[fmtc]
Added tag for striked text ({=}
)[fmtc]
Added tag for hidden text ({+}
)
[usage]
Info.AddCommand
now returns pointer to added command[usage]
Info.AddOption
now returns pointer to added option[usage]
Added color customization for release and build info[usage]
Added release separator customization[usage]
Improved command group rendering[usage]
Improved options rendering
[log]
Added methodIs
andLogger.Is
[log]
Added more usage examples[terminal]
Updated Windows stubs
[errutil]
Added methodErrors.First
[errutil]
Added methodErrors.Get
[fmtutil/table]
Added short form of align flags[terminal]
Error
,Warn
andInfo
now accept custom message objects[errutil]
Added more usage examples
[fmtutil/panel]
Improved panel rendering with disabled colors[fmtc]
FixedIsTag
compatibility with sequence of tags (e.g.{*}{_}{r}
)[fmtc]
Fixed bug inClean
with writing reset escape sequence if there is no reset tag in the given string
[protip]
Disabling tips using environment variable (PROTIP=0
)
[protip]
Added new package for showing usage tips[fmtc]
Added methodIsTag
for color tag validation[fmtutil/panel]
AddedTOP_LINE
option[fmtutil/panel]
AddedDefaultOptions
variable to set default options for all panels[strutil]
Added methodLenVisual
[log]
Added color tag validation[progress]
Added settings validation[spinner]
Added color tag validation[usage]
Added color tag validation[fmtutil/panel]
Improved panel rendering whenBOTTOM_LINE
option is used[fmtutil/panel]
Improved panel rendering whenlabel
is empty[fmtutil/panel]
Added limit for minimal panel size (256 symbols)[fmtutil/panel]
Added limit for maximum panel size (256 symbols)[fmtutil/panel]
Added limit for maximum indent size (24 symbols)[fmtutil/panel]
Fixed bug with panel rendering ifIndent
> 0[fmtutil/panel]
Code refactoring[netutil]
Fixed stubs for Windows
[netutil]
Added methodGetAllIP
[netutil]
Added methodGetAllIP6
[knf/validators/network]
AddedHasIP
validator[strutil]
Added methodReplaceIgnoreCase
[uuid]
GenUUID4
renamed toUUID4
[uuid]
GenUUID5
renamed toUUID5
[uuid]
Code refactoring
[system]
Added ANSI color info toOSInfo
[system]
Added methodsOSInfo.ColoredPrettyName
andOSInfo.ColoredName
[strutil]
Improved usage examples
[fmtutil/panel]
Added indent customization
[barcode]
New package with methods to generate colored representation of unique data
[options]
Fixed bug withSplit
result for empty options
[options]
Added merge symbol customization[options]
Added methodSplit
for splitting string value of mergeble option[options]
Improve usage examples
[knf]
Added dedicated type for duration modifiers
[knf]
Added modificator support forGetD
[spinner]
Added initial spinner animation
[terminal]
ImprovedAlwaysYes
flag handling
[terminal]
Added flagAlwaysYes
, if setReadAnswer
will always return true without reading user input (useful for working with option for forced actions)
[timeutil]
Added methodPrettyDurationSimple
for printing duration in simple format
[fmtutil]
Fixed handling negative numbers inPrettySize
[fsutil]
Fixed handling empty paths inProperPath
[fmtutil/panel]
Panel rendering moved fromterminal
sub-package to it's own sub-package
[terminal]
Added support of options for panels[mathutil]
Sub-package migrated to generics[sliceutil]
Sub-package migrated to generics[color]
Code refactoring[spinner]
Code refactoring
[terminal]
Added panel size configuration feature[terminal]
Improved panel rendering for messages with newlines[initsystem]
Removed systemd statusesactivating
anddeactivating
from checking service state
[terminal]
Added flagHidePassword
for masking passwords while typing[terminal]
Added methodInfo
for showing informative messages[terminal]
Added methodPanel
for showing panel with custom label, title, and message[terminal]
Added methodErrorPanel
for showing panel with error message[terminal]
Added methodWarnPanel
for showing panel with warning message[terminal]
Added methodInfoPanel
for showing panel with informative message[terminal]
MethodPrintErrorMessage
marked as deprecated (use methodError
instead)[terminal]
MethodPrintWarnMessage
marked as deprecated (use methodWarn
instead)[fmtc]
Code refactoring[initsystem]
Code refactoring
[csv]
Added methodWithComma
to CSV reader[spinner]
Added symbols customization[spinner]
Change default skip symbol to check mark[spinner]
Change default skip symbol color to dark grey[spinner]
Code refactoring
[options]
Improved short options parsing logic[progress]
Added window size configuration for passthru calculator
- Fixed typos
[options]
Fixed bug with flattening empty arguments
[usage]
Added support of raw version printing[path]
Added methodJoinSecure
- more "secure" alternative to standardJoin
[usage]
Code refactoring
[options]
Added methodArguments.Flatten
for converting arguments into a string[usage/update]
Added update checker for GitLab
[fmtutil]
Added methodAlign
for aligning text with ANSI control sequences (for example colors)[usage]
Added feature for adding and rendering environment info
[processes]
ProcessInfo.Childs
renamed toProcessInfo.Children
- Fixed typos
[timeutil]
Added methodMiniDuration
which returns formatted value for short durations (e.g. s/ms/us/ns)[terminal]
MethodReadUI
marked as deprecated (use methodRead
instead)
[knf]
Fixed bug with using methodIs
for checking for empty values[terminal]
Added prefix feature for error and warning messages
[system/containers]
More precise method for checking container engine[system/containers]
Added LXC support
[lscolors]
Sub-package moved fromfmtc
to root of the package[lscolors]
GetColor
returns colors for types of objects (like directory, block device, link…)[lscolors]
Added flagDisableColors
for disabling all colors in output[usage]
MethodsRender
marked as deprecated (usePrint
methods instead)[cron]
Code refactoring[csv]
Code refactoring[fmtutil/table]
Code refactoring[knf]
Code refactoring[options]
Code refactoring[progress]
Code refactoring[req]
Code refactoring[spellcheck]
Code refactoring[tmp]
Code refactoring[usage]
Code refactoring[cache]
Better tests for panics[cron]
Better tests for panics[csv]
Better tests for panics[fmtutil/table]
Better tests for panics[log]
Better tests for panics[progress]
Better tests for panics[req]
Better tests for panics[spellcheck]
Better tests for panics[tmp]
Better tests for panics
[initsystem]
Improved systemd support
[system/container]
Added container sub-package with methods for checking container engine info[system]
Added container engine info toSystemInfo
[fmtutil/table]
Improved separator rendering
- Code refactoring
[fmtutil/table]
Improved separator rendering
- Code refactoring
[system]
Added system arch name toSystemInfo
[system]
Version
andDistribution
info removed fromSystemInfo
(useOSInfo
instead)[system]
GetOSInfo
now works on macOS
[progress]
Fixed bug with updating progress settings
[log]
Added interface for compatible loggers[httputil]
Added more helpers for checking URL scheme[log]
Color for critical errors set from magenta to bold red[tmp]
Improved unique name generation[req]
Code refactoring[tmp]
Improved usage examples
[fmtc]
Added named colors support[system]
Fixed fuzz tests
[fmtc]
Reverted changes made in 12.55.1
[fmtc]
Fixed bug with printing useless carriage return symbol inTPrint*
commands
[terminal]
Added color customization for warning and error messages[fmtc]
MethodNewLine
now can print more than one new line[progress]
Fixed bug with handling finish stage[progress]
Improved usage example[passwd]
Code refactoring
[timeutil]
Added more helpers for working with dates[options]
Fixed panic inGetS
when mixed or string option contains non-string value
[strutil]
Added methodB
for choosing value by condition[system/process]
Tests updated for compatibility with GitHub Actions
[fmtc]
Added methodIf
for conditional message printing
[lock]
New package for working with lock files[fsutil]
Better errors messages fromValidatePerms
[pid]
Code refactoring
[progress]
Fixed bug with duplicating progress bar[progress]
Fixed bug with duplicating percentage symbol[fmtc]
Fixed simple mistakes in usage examples[fmtutil/table]
Fixed strings formatting[req]
Fixed strings formatting[spinner]
Fixed strings formatting[usage]
Fixed strings formatting
[fmtc]
Added methodsTPrint
,LPrint
andTLPrint
[system]
More fields support fromos-release
file[system]
Added methodParseOSInfo
for parsingos-release
files[system]
Improved tests[fmtc]
Added more usage examples
[options]
Added methodIs
for checking argument value[options]
Fix bug with filtering unexpanded globs
[terminal]
Added option HideLength for hiding password length[fmtutil/table]
Fixed bug with calculating number of columns
[fsutil]
Added bufio writer for copying files[knf]
Added methodIs
for checking property value[options]
Added methodIs
for checking option value[fsutil]
Fixed bug with changing file mode for copied file if custom umask is used[options]
Code refactoring[spinner]
Code refactoring[knf]
Added more usage examples
[fmtc/lscolors]
Added methodGetColor
for getting control sequence for file[fmtc/lscolors]
Added methodColorizePath
for colorizing whole path[spinner]
Added methodSkip
for marking actions as skipped[tmp]
Useos.TempDir
for default directory instead of hardcoded path[options]
Fixed arguments filtering feature[system]
Fixed stubs for Windows[terminal]
Fixed stubs for Windows[log]
Improved documentation
[knf]
Added methodConfig.File()
which returns path to configuration file[options]
Added many helpful methods for working with arguments[spinner]
Addedfmtc
color codes support[terminal]
Title color customization support[fsutil]
Added methodCopyAttr
for copying attributes from one object to another[fsutil]
Code refactoring[options]
Code refactoring[tmp]
Code refactoring[options]
Added more usage examples[fsutil]
Improved tests
[ansi]
Fixed examples[color]
Tests refactoring[directio]
Code refactoring[easing]
Code refactoring[fmtc]
Code refactoring[fsutil]
Code refactoring[knf]
Code refactoring[log]
Code refactoring[log]
Tests refactoring[options]
Code refactoring[req]
Code refactoring[signal]
Use buffered channels for signals[system]
Code refactoring[timeutil]
Code refactoring[usage]
Code refactoring
[path]
Added methodCompact
for converting path to compact representation[fmtc]
Added methodRender
for converting color tags to ANSI escape codes[knf/validators/fs]
Fixed bug with formattingFileMode
in error messages[cron]
Improved parsing error messages[fsutil]
Improved parsing error messages[cron]
Improved tests[directio]
Improved tests[fsutil]
Improved tests[initsystem]
Improved tests[jsonutil]
Improved tests[knf]
Improved tests[knf/validators/fs]
Improved tests[knf/validators/network]
Improved tests[knf/validators/regexp]
Improved tests[knf/validators/system]
Improved tests[knf/validators]
Improved tests[log]
Improved tests[options]
Improved tests[req]
Improved tests[system]
Improved tests[system/process]
Improved tests[system/sensors]
Improved tests[tmp]
Improved tests[version]
Improved tests[spellcheck]
Added usage examples[log]
Fixed bug with rendering messages with colors whenfmtc.DisableColors
set totrue
[terminal]
Fixed stubs for Windows[secstr]
Fixed stubs for Windows
[terminal]
Added methodReadPasswordSecure
for reading password into a secure string[secstr]
Fixed panic inIsEmpty
andDestroy
if string struct is nil
- Module path set to
v12
[fsutil]
Improved helpersCopyFile
,MoveFile
andCopyDir
[fsutil]
Code refactoring[log]
Code refactoring
- Removed
pkg.re
usage
[usage]
Added helpers for generating a string representation ofCommand
andOption
[fsutil]
Improved errors description forValidatePerms
[ansi]
Added methods for working with byte slices[secstr]
Added methodIsEmpty
for checking empty strings[fmtutil]
MethodWrap
was rewritten from scratch[fmtutil]
MethodWrap
now ignores ANSI/VT100 control sequences[timeutil]
MethodParseDuration
was rewritten from scratch[timeutil]
MethodParseDuration
now allows to define default modificator[usage]
Code refactoring
[knf]
Fixed bug with naming tests source files
[fmtc]
Added TrueColor support[system]
Improved macOS support[netutil]
Improved macOS support[system]
Fixed bug with extracting macOS version[system]
Fixed bug with extracting macOS arch info[fmtc]
Code refactoring[system]
Code refactoring
- Added more stubs for macOS
- Improved stubs for Windows
- Fixed build tags for Go ≤ 1.16
[usage]
Improved color customization for application name and version[usage]
Added color customization for application name in usage info
[strutil]
Added helperQ
for working with default values[usage]
Added color customization for application name and version
[system]
Added CPU architecture bits info toSystemInfo
[passwd]
Fixed typo in deprecation notice
[secstr]
New package for working with protected (secure) strings[req]
MethodQuery.String()
renamed toQuery.Encode()
[passwd]
Added methodGenPasswordVariations
andGenPasswordBytesVariations
for generating password variations with possible typos fixes[passwd]
Added methodsHashBytes
,CheckBytes
,GenPasswordBytes
andGetPasswordBytesStrength
[passwd]
MethodEncrypt
marked as deprecated (useHash
method instead)[passwd]
Added more usage examples
[fsutil]
Added methodTouchFile
for creating empty files[fsutil]
Code refactoring[fmtc]
Documentation refactoring[timeutil]
Documentation refactoring[fsutil]
Added usage examples
[errutil]
Added support forstring
,[]string
, anderrutil.Errors
types to methodErrors.Add
[fmtutil]
Added methodPrettyBool
for formatting boolean values
[fmtutil]
Added methodPrettyDiff
for formatting diff numbers[fmtutil]
Fixed bug inPrettyNum
with formatting negative numbers[fmtutil]
Code refactoring
[errutil]
Added methodReset
for resettingErrors
instance[sliceutil]
Added methodsCopy
,CopyInts
andCopyFloats
for copying slices[csv]
Code refactoring[sliceutil]
Code refactoring
[ansi]
New package for working with ANSI/VT100 control sequences[terminal]
Added fmtc color codes support in input prompt[terminal]
Fixed bug with masking password if prompt contains ANSI color codes[strutil]
Code refactoring[options]
Added more usage examples
[errutil]
Added methodCap
for getting max capacity[system/sensors]
Added sorting by the name for slice with devices info[errutil]
Added more usage examples
[fmtc]
NO_COLOR
support[fmtc]
Code refactoring
[httputil]
Added methodGetPortByScheme
[events]
Improved unknown events handling[system/sensors]
Code refactoring[system/sensors]
Increased code coverage (0.0% → 100.0%)[events]
Added usage examples[httputil]
Added usage examples
- Error check moved at the beginning of every test
[events]
New package for creating event-driven systems[system]
Fixed bug with parsing CPU info data[fsutil]
Added methodIsEmpty
for checking empty files[system/process]
Fixed bug with searching info for creating process tree[knf]
Code refactoring[usage]
Added more usage examples
[color]
Added methodParse
for parsing colors (#RGB
/#RGBA
/#RRGGBB
/#RRGGBBAA
)[color]
Fixed bug with formatting small values usingHex.ToWeb
[color]
Fixed bug with convertingHex
toRGBA
[easing]
Added links to examples for every function[easing]
Added usage examples
[color]
Added three-digit RGB notation generation toHex.ToWeb
[color]
Using structs for color models instead of bare numbers[color]
Much simpler converting between color models[color]
Added methodRGB2CMYK
for converting RGB colors to CMYK[color]
Added methodCMYK2RGB
for converting CMYK colors to RGB[color]
Added methodRGB2HSL
for converting RGB colors to HSL[color]
Added methodHSL2RGB
for converting HSL colors to RGB[color]
Added methodLuminance
for calculating relative luminance for RGB color[color]
Added methodContrast
for calculating contrast ratio of foreground and background colors[color]
MethodRGB2HSB
rewritten from scratch and renamed toRGB2HSV
[color]
MethodHSB2RGB
rewritten from scratch and renamed toHSV2RGB
[color]
Added more usage examples
[cache]
RenamedStore
toCache
[cache]
Added methodSize
for checking cache size[cache]
Added methodExpired
for checking number of expired items
[timeutil]
Added more new helpers[log]
Code refactoring[log]
Improved tests
[knf]
Added new getterGetD
which returns value as duration in seconds[system/process]
Improved tests
go-check
package replaced by our fork[cron]
Removed useless example[knf/validators/fs]
Fixed bug with handling pattern matching error[path]
Fixed usage examples
[terminal]
Usage examples improvements
[system/process]
Fixed stubs for Windows
[system/process]
Added methods for setting and getting CPU scheduler priority[system/process]
Added methods for setting and getting IO scheduler priority
[system]
Added methodGetCPUCount
for getting info about number of CPU's[system/process]
Added methodGetMountInfo
for getting info about process mounts[system]
Code refactoring[system/process]
Code refactoring[system]
Increased code coverage (78.5% → 90.5%)[system/process]
Increased code coverage (82.4% → 98.0%)
[sliceutil]
Added usage examples
[strutil]
Added methodsHasPrefixAny
andHasSuffixAny
for checking multiple prefixes or suffixes at once
[path]
Fixed stubs for Windows
[options]
MethodParse
now returns arguments asArguments
struct with additional methods for working with them[strutil]
Added methodsBefore
andAfter
for extracting strings before and after some substring[progress]
Fixed bug with rendering resulting progress bar in some situations[progress]
Using integer instead of floats for progress if total size is less than 1000 andIsSize
set to false
[path]
Added new method for checking Unix-type globs[fsutil]
Fixed stubs for Windows[progress]
Minor UI fix
[usage/completion/bash]
Code refactoring
[spinner]
Added new package for showing spinner animation for long-running tasks[timeutil]
Added high precision mode forShortDuration
[fmtc/lscolors]
Improved environment variable parsing
[fmtc/lscolors]
Added new package for colorizing file names with colors from dircolors
[usage/completion/bash]
Improved completion generation[usage/completion/zsh]
Improved completion generation[usage/completion/bash]
Fixed bug with showing files with autocomplete[usage/completion/zsh]
Fixed bug with showing files with autocomplete
[timeutil]
Added methodPrettyDurationInDays
for rendering pretty duration in days[timeutil]
Code refactoring
[timeutil]
Added checking for parsing errors toParseDuration
method
[req]
Code refactoring
[usage/man]
Added package for generating man pages from usage info
[usage/update]
Disabled update check from CI environments
[knf/validators/system]
Fixed bug with source file naming
[log]
Removed useless return value fromAux
,Debug
,Info
,Warn
,Error
,Crit
andPrint
methods
[knf/validators/regexp]
Added new KNF validator for checking regular expression pattern matching[knf/validators/fs]
Added new KNF validator for checking shell pattern matching[fsutil]
Fixed bug with checking empty dirs on osx[initsystem]
Disabled tests on osx[knf/validators/fs]
Fixed tests on osx[knf/validators/system]
Fixed compatibility with osx[log]
Fixed tests on OSX[system]
Fixed checking user or group existence on OSX[system]
Fixed group lookup on osx[system]
Improved user info fetching on OSX
[path]
Code refactoring[path]
Added more usage examples[timeutil]
Added more usage examples
[timeutil]
Added methodSecondsToDuration
for conversionfloat64
totime.Duration
[timeutil]
DurationToSeconds
now returns the result as a float64 number[hash]
Code refactoring
[system]
Fixed compatibility with Go ≥ 1.15
- License changed from EKOL to Apache-2.0
[req]
Added methodBytes()
for reading response body as byte slice[env]
Fixed tests
[timeutil]
Added methodShortDuration
for duration formatting[timeutil]
Code refactoring
[progress]
Calculate speed and remaining time using Exponentially Weighted Moving Average (EWMA)[progress]
Added pass thru writer
[progress]
Added package for creating terminal progress bar[usage/update]
Increased dial and request timeouts to 3 seconds[fmtutil]
Added possibility to define custom separators inPrettySize
andPrettyNum
methods[passwd]
Increased code coverage (94.9% → 96.8%)[usage/update]
Increased code coverage (92.1% → 100%)[req]
Tests refactoring
[usage/update]
Added update checker for custom storages
[path]
Added methodDirN
for reading N elements from path[pluralize]
MethodsPluralize
andPluralizeSpecial
now return only pluralized word (incompatible changes)[pluralize]
Added methodsP
andPS
for pluralization with custom formatting[pluralize]
Added usage examples
[usage]
Added more examples
[cron]
Added usage examples
[system]
Fixed bug with parsing group info inid
output
[usage]
Added support of raw examples (without prefix with command name)
[errutil]
Fixed panic inAdd
if given Errors struct is nil
[color]
Fixed compatibility with ARM[fmtutil]
Fixed compatibility with ARM[system]
Fixed compatibility with ARM
[signal]
Added methodGetByName
for getting signal by its name[signal]
Added methodGetByCode
for getting signal by its code
[fsutil]
Added methodValidatePerms
for permissions validation[system]
Improved current user info caching mechanic[fsutil]
Increased code coverage (98.0% → 98.8%)
[initsystem]
Fixed stubs for Windows
[log]
Logger is now more concurrency friendly
[log]
Default color for debug messages set to light gray
[cache]
Added data removal from cache with disabled janitor
[cache]
Added methodHas
for checking item existence[cache]
Janitor thread will not run if the cleaning interval is equal to 0
[pid]
Added methodRead
for reading PID files without any configuration
[knf]
Minor documentation fixes
[fsutil]
GetPerms
renamed toGetMode
[fsutil]
Added support of checking for character and block devices (C
andB
)[knf]
Validators moved to sub-package (incompatible changes)[knf]
Added more validators[knf]
Removed useless dependencies[fsutil]
Increased code coverage (97.4% → 98.0%)[kv]
Package removed
[strutil]
Fixed bug inSubstr
method for a situation when the index of start symbol is greater than the length of the string[strutil]
Fixed bug inSubstring
method for a situation when the index of start symbol is greater than the length of the string
[knf]
Addedno
as a valid boolean value forGetB
[knf]
Added new validators for property type validation[knf]
Code refactoring
[cache]
Added package which provides simple in-memory key:value store
[timeutil]
Added support of short durations (milliseconds, microseconds or nanoseconds) toPrettyDuration
method
[log]
Added support of ANSI colors in the output[log]
Usinguint8
for level codes instead ofint
[version]
Added methodIsZero
for checking empty version struct
[errutil]
MethodAdd
now allows adding slices with errors
[errutil]
Added possibility to limit the number of errors to store[errutil]
MethodAdd
now allows adding errors from other Errors struct[sliceutil]
Using in-place deduplication inDeduplicate
method
[req]
Changed default user-agent togo-ek-req/10
[usage]
Fixed bug with formatting options without short name
[req]
Added methodPostFile
for multipart file uploading
[fsutil]
Fixed bug with filtering listing data
[pid]
Added methodIsProcessWorks
for checking process state by PID[pid]
Improved process state check[pid]
Improved Mac OS X support
[terminal]
Reading user input now is more stdin friendly (you can pass the input through the stdin)
[usage]
Fixed bug with formatting options[fmtutil/table]
More copy&paste friendly table rendering
[emoji]
New package for working with emojis
[usage/completion/bash]
Improved bash completion generation
[usage/completion/bash]
Added bash completion generator[usage/completion/zsh]
Added zsh completion generator[usage/completion/fish]
Added fish completion generator[usage]
Added methodinfo.BoundOptions
for linking command with options[csv]
Added methodreader.ReadTo
for reading CSV data into slice[strutil]
Fixed bug inFields
method[initsystem]
Added caching for initsystem usage status[initsystem]
Improved service state search for SysV scripts on systems with Systemd[usage]
Code refactoring
[strutil]
Added methodExclude
as the faster replacement forstrings.ReplaceAll
[fmtutil]
Fixed bug with formatting small float numbers usingPrettySize
method
[jsonutil]
AddedWrite
as alias forEncodeToFile
[jsonutil]
AddedRead
as alias forDecodeFile
[jsonutil]
AddedWriteGz
for writing gzipped JSON data[jsonutil]
AddedReadGz
for reading gzipped JSON data
[strutil]
Improved parsing logic for theFields
method[strutil]
Added additional supported quotation marks types
[initsystem]
Fixed bug with parsing systemd'sfailed
ActiveState status[initsystem]
Added tests for output parsers[initsystem]
Code refactoring
[fmtc]
Added new methodsLPrintf
,LPrintln
,TLPrintf
andTLPrintln
[fmtc]
Fixed bug with parsing reset and modification tags (found by go-fuzz)[fmtc]
Code refactoring
[fmtc]
Improved work with temporary output (TPrintf
,TPrintln
)
[fsutil]
Added methodIsReadableByUser
for checking read permission for some user[fsutil]
Added methodIsWritableByUser
for checking write permission for some user[fsutil]
Added methodIsExecutableByUser
for checking execution permission for some user
[version]
Added methodSimple()
which returns simple version[version]
More usage examples added
[system]
Improved OS version search[tmp]
Package refactoring
[system]
Added methodGetCPUInfo
for fetching info about CPUs from procfs[fmtutil/table]
Added global variableMaxWidth
for configuration of maximum table width[system]
FSInfo
now isFSUsage
(incompatible changes)[system]
MemInfo
now isMemUsage
(incompatible changes)[system]
CPUInfo
now isCPUUsage
(incompatible changes)[system]
InterfaceInfo
now isInterfaceStats
(incompatible changes)[system]
GetFSInfo()
now isGetFSUsage()
(incompatible changes)[system]
GetMemInfo()
now isGetMemUsage()
(incompatible changes)[system]
GetCPUInfo()
now isGetCPUUsage()
(incompatible changes)[system]
GetInterfacesInfo()
now isGetInterfacesStats()
(incompatible changes)[initsystem]
HasService()
now isIsPresent()
(incompatible changes)[initsystem]
IsServiceWorks()
now isIsWorks()
(incompatible changes)[system]
Fixed bug with parsing CPU stats data (found by go-fuzz)[fmtc]
Fixed bug with parsing reset and modification tags (found by go-fuzz)[initsystem]
Fixed examples[fmtc]
Fixed examples[system]
Added fuzz testing[cron]
Code refactoring[timeutil]
Code refactoring[fmtutil]
Increased code coverage (97.9% → 100.0%)[fmtutil/table]
Increased code coverage (99.4% → 100.0%)[knf]
Increased code coverage (99.6% → 100.0%)[req]
Increased code coverage (97.1% → 100.0%)[pid]
Increased code coverage (97.4% → 100.0%)[system]
Increased code coverage (73.8% → 79.0%)
[initsystem]
Improved application state checking in systemd[system]
Fixed typo in json tag forCPUInfo.Average
[system]
Improved memory usage calculation[system]
AddedShmem
andSReclaimable
values toMemInfo
struct[system]
Fixed typo in json tag forMemInfo.SwapCached
[system]
Improved tests
[system/sensors]
Added package for collecting sensors data[strutil]
Added methodSubstring
for safe substring extraction[strutil]
Added methodExtract
for safe substring extraction[strutil]
Fixed tests and example forSubstr
method[strutil]
Improved tests[strutil]
Code refactoring
[strutil]
Optimization and improvements forReadField
method[easing]
Code refactoring[fmtutil]
Code refactoring[knf]
Code refactoring[log]
Code refactoring[options]
Code refactoring[pid]
Code refactoring[req]
Code refactoring[sliceutil]
Code refactoring[strutil]
Code refactoring[system]
Code refactoring[terminal]
Code refactoring[timeutil]
Code refactoring[uuid]
Code refactoring
[fmtc]
Fixed bug with parsing{}
and{-}
as valid color tags[fmtc]
Added fuzz testing
[fmtutil/table]
Fixed bug with rendering data using not-configured table
[sliceutil]
Added methodIndex
which return index of given item in slice
[fmtutil]
Improved size parser
[fmtutil]
Fixed various bugs with processing NaN values
[req]
Added constants with status codes
[req]
Added methodString
forQuery
struct for query encoding
[log]
Added wrapper for compatibility with stdlib logger[log]
Fixed race condition issue
[usage]
Fixed bug with aligning option info with Unicode symbols[options]
Guess option type by default value type[options]
Added check for unsupported default value type
[system/process]
Fixed windows stubs
[fsutil]
ImprovedCopyDir
method
[fsutil]
Added methodCopyDir
for recursive directories copying[fsutil]
Removed useless methodCurrent
[fsutil]
Tests refactoring[fsutil]
Code refactoring
[system/process]
Added new typeProcSample
as a lightweight analog of ProcInfo for CPU usage calculation[system/process]
Code refactoring[system/process]
Increased code coverage (75.5% → 82.4%)[system]
Code refactoring
[fmtutil]
Added methodPrettyPerc
for formatting values in percentages
[fmtc]
Added methodsPrint
andSprintln
for better compatibility withfmt
package[fmtutil/table]
Fixed minor bug with output formatting[options]
Code refactoring
[directio]
Added sub-packagedirectio
for writing/reading data with using direct IO[fmtc]
256 colors support with new tags (foreground:{#000}
, background:{%000}
)[fmtc]
Added methodIs256ColorsSupported
for checking support of 256 color output[fmtc]
Improved color tags syntax[fmtc]
Added tags for resetting modificators (e.g.{!*}
)[fmtc]
Removed color tags overriding (i.e. now{*}{r} == {r*}
)[color]
Added methodRGB2Term
for converting RGB colors to terminal color codes
[system]
Fixed bug with extra new line symbol in userShell
field
[fmtc]
Temporary output feature moved from T struct toTPrintf
andTPrintln
- Dependencies now download with initial
go get
command
[options]
Fixed bug with usingBound
orConflict
fields for options (thx to @gongled)[netutil]
Code refactoring[netutil]
Increased code coverage (78.8% → 87.9%)
[netutil]
Improved main IP search
[strutil]
Added usage example forCopy
method[system/procname]
Added usage examples
[netutil]
Ignore TUN/TAP interfaces while searching main IP address[initsystem]
Added methodIsEnabled
which return info about service autostart[initsystem]
MethodGetServiceState
renamed toIsServiceWorks
[strutil]
Added methodCopy
for forced copying of strings
[strutil]
ImprovedFields
parsing[fmtutil/table]
Added methodRenderHeaders
for forced headers rendering
[strutil]
Added ellipsis suffix customization[strutil]
Added support of custom separators forReadField
[req]
Closing response body after parsing data[system]
Fixed bug with parsingid
command output with empty group names[system]
Fixed bug with calculating transferred bytes on active interfaces[system]
Improvedid
andgetent
commands output parsing[system]
Code refactoring
[terminal]
Fixed bug with empty title output
[system]
Code refactoring
[initsystem]
Fixed bug with checking service state in systemd
[system]
Fixed windows stubs[system]
Fixed bug with unclosed file descriptor
[initsystem]
Fixed bug in SysV service state determination
[strutil]
Added new methodReadField
for reading space/tab separated fields from given data[system]
Code refactoring
[system]
Improved CPU usage calculation[system/process]
Code refactoring[system]
Code refactoring
[knf]
Added new validators:NotLen
,NotPrefix
andNotSuffix
[knf]
Validators code refactoring
[system/process]
Fixed bug with parsing CPU data[system/process]
Increased code coverage (0.0% → 87.5%)[usage/update]
Increased code coverage (0.0% → 80.0%)
[system/process]
Improved error handling inGetInfo
[system]
Improved IO utilization calculation[system]
Improved network speed calculation
[system]
Added methodGetCPUStats
which return basic CPU info from/proc/stat
[system]
Improved IO utilization calculation
[initsystem]
Added stubs for windows
- Code refactoring
[system]
Improved disk usage calculation (now it similar todf
command output)
[initsystem]
New package for working with different init systems (sysv, upstart, systemd)
[fmtc]
Improved utf8 support in temporary messages
[fmtc]
Added methodNewT
which creates a new struct for working with the temporary output[fmtc]
More docs about color tags[knf]
Removing trailing spaces from property values
[system/procname]
Added methodReplace
which replace just one argument in process command
[knf]
Added new gettersGetU
,GetU64
andGetI64
[usage]
Improved API forNewInfo
method
[options]
Added support of mixed options (string / bool)
[terminal]
Improved title rendering forReadAnswer
method[terminal]
Simplified API forReadAnswer
method
[fmtutil]
Improved floating numbers formatting withPrettyNum
[fmtutil/table]
Fixed bug with color tags in headers when colors is disabled
[timeutil]
Fixed bug with formatting milliseconds[timeutil]
Improved tests
[terminal]
Fixed bug with masking password in tmux
[fmtutil/table]
Fixed bug with rendering data with color tags
[version]
Fixed bug with version comparison[version]
Added methodInt()
which return version as integer
- Package
args
renamed tooptions
(incompatible changes)
[fmtutil/table]
Added new package for rendering data as a table[fmtutil]
Added support of separator symbol configuration[usage]
Improved output about a newer version[usage]
Increased code coverage (0.0% → 100%)[usage]
Code refactoring
[usage]
Improved options and commands info rendering
- Overall documentation improvements
[system/process]
Fixed windows stubs[system]
Package refactoring[fsutil]
Fixed checking empty directory on FreeBSD[pid]
Fixed checking process state on FreeBSD
[system/process]
Added methodGetMemInfo
for obtaining information about memory consumption by process.[system/process]
Added methodGetInfo
which return partial info from/proc/[PID]/stat
.[system/process]
Added methodCalculateCPUUsage
which can be used for process CPU usage calculation.[system]
Methods for executing commands moved tosystem/exec
package (incompatible changes)[system]
Methods for changing process name moved tosystem/procname
package (incompatible changes)[system]
Minor improvements[system]
Code refactoring[system]
Increased code coverage (0.0% → 79.5%)
[errutil]
Implemented error interface (added methodError() string
)[errutil]
Minor improvements[system]
Fixed windows stubs
[fmtutil]
Added flagSeparatorFullscreen
which enable full size separator[terminal/window]
Window size detection code moved fromterminal
toterminal/window
package[terminal/window]
Fixed bug with unclosed TTY file descriptor[fsutil]
Fixed bug withfsutil.IsLink
(method returns true for symlinks)[fsutil]
Fixed bug withfsutil.GetSize
(method returns 0 for non-existent files)[fsutil]
Improved input arguments checks infsutil.CopyFile
[fsutil]
Added input arguments checks tofsutil.MoveFile
[fsutil]
Increased code coverage (49.8% → 97.9%)[knf]
Increased code coverage (99.2% → 99.6%)[jsonutil]
Increased code coverage (92.3% → 100%)
[sortutil]
Added methodsNatualLess
andStringsNatual
for natural ordering[jsonutil]
Added optional argument toEncodeToFile
method with file permissions (0644 by default)[jsonutil]
Code refactoring[jsonutil]
Improved tests[jsonutil]
Added usage examples
[knf]
Return default value for the property even if config struct is nil
[system]
Added methodsCalculateNetworkSpeed
andCalculateIOUtil
for metrics calculation without blocking main thread[system]
Code and examples refactoring
[passwd]
Fixed panic inCheck
for some rare cases[fsutil]
Fixed typo[pid]
Fixed typo[system]
Fixed typo[tmp]
Fixed typo[knf]
Increased code coverage
[version]
Fixed bug with version comparison[version]
Improved version data storing model[usage]
Fixed bug with new application version checking mechanics
[fsutil]
Fixed windows stubs for compatibility with latest changes
[usage]
Added interface for different ways to check application updates[usage]
Added Github update checker[usage]
MovedCommandsColorTag
,OptionsColorTag
,Breadcrumbs
toInfo
struct (incompatible changes)[fsutil]
NowListingFilter
must be passed as value instead of pointer (incompatible changes)[fsutil]
Added support of filtering by size forListingFilter
[version]
NowParse
return value instead of pointer[cron]
Improved expressions parsing[version]
Added fuzz testing[cron]
Added fuzz testing[knf]
Added fuzz testing
[usage]
Improved working with GitHub API
[netutil]
Now GetIP return primary IPv4 address[netutil]
Added methodGetIP6
which return main IPv6 address[usage]
Showing info about latest available release on GitHub
[knf]
Added tabs support in indentation[timeutil]
Added new sequences%n
(new line symbol) and%K
(milliseconds)[timeutil]
Code refactoring
[passwd]
Much secure hash generation (now with sha512, bcrypt, and AES)[system]
Improved changing process and arguments names[system/process]
Fixed windows stubs
[usage]
Improved build info output[system]
Improved OS version search process
[system/process]
GetTree
now can return tree for custom root process[system/process]
Fixed threads marking[fmtutil]
Added methodCountDigits
for counting the number of digits in integer[terminal]
NowPrintWarnMessage
andPrintErrorMessage
prints messages to stderr[usage]
Added support for optional arguments in commands
[system]
AddedDistribution
andVersion
info toSystemInfo
struct[arg]
Added bound arguments support[arg]
Added conflicts arguments support[arg]
Added methodQ
for merging several arguments to string (useful forAlias
,Bound
andConflicts
)
[system]
Added methodCurrentTTY
which return path to current tty[system]
Code refactoring
[fmtc]
Fixed bug with parsing tags
[usage]
Changed color for arguments from dark gray to light gray[usage]
Added breadcrumbs output for commands and options[fmtutil]
Fixed special symbols colorization inColorizePassword
[fmtutil]
Added methodColorizePassword
for password colorization[passwd]
Improved password generation and strength check
[log]
Code refactoring[tmp]
Added permissions customization for each temp struct
[terminal]
Added password mask symbol color customization[terminal]
go-linenoise updated to v3
[req]
ImprovedEngine
initialization routine[terminal]
Fixed bug in windows stub with error variable name
[req]
ImprovedSetUserAgent
method for appending subpackages versions
[usage]
Fixed examples header
[req]
Fixed major bug with setting method through helper methods[req]
Multi-client feature (usereq.Engine
insteadreq.Request
struct methods)[crypto]
Package divided into multiple packages (hash
,passwd
,uuid
)[uuid]
Added UUID generation based on SHA-1 hash of namespace UUID and name (version 5)[req]
Added different types support forQuery
[knf]
AddedNotContains
validator which checks if given config property contains any value from given slice[kv]
Using values instead pointers[system]
Added custom duration support forGetNetworkSpeed
andGetIOUtil
[version]
Improved version parsing[system]
More logicalRunAsUser
arguments naming[terminal]
Minor fixes in windows stubs[netutil]
Added tests[system]
Code refactoring
- Added usage examples
[usage]
Using dark gray color for license and copyright[fmtutil]
Added global variableSeparatorColorTag
for separator color customization[fmtutil]
Added global variableSeparatorTitleColorTag
for separator title color customization
[terminal]
Using forked go.linenoise package instead original[terminal]
Added hints support from new version ofgo.linenoise
[fmtc]
Light colors tag (-
) support[usage]
Using dark gray color for option values and example description[tmp]
AddedDefaultDirPerms
andDefaultFilePerms
global variables for permissions customization[tmp]
Improved error handling
[strutil]
Fixed bug with overflowing int inTail
method
[terminal]
Improved reading user input
[httputil]
AddedGetRequestAddr
,GetRemoteAddr
,GetRemoteHost
,GetRemotePort
methods
[usage]
Fixed bug with rendering command groups[terminal]
Small fixes in windows stubs
[system/process]
Added new package for getting information about active system processes[terminal]
Fixed bug with title formatting inReadAnswer
method
[terminal]
Fixed bug with title formatting inReadUI
method
[req]
Added content types constants
[knf]
Fixed typo in tests[strutil]
Removed unreachable code
[strutil]
Added methodLen
which returns number of symbols in string[strutil]
UTF-8 support forSubstr
,Tail
,Head
andEllipsis
methods[strutil]
Added some benchmarks to tests[fsutil]
FixedGetPerm
stub for Windows[fsutil]
Fixed package description
[req]
RequestTimeout
set to 0 (disabled) by default
[terminal]
Fixed bug with source name file conventions[system]
Fixed bug with appending real user info on MacOS X
[req]
Small fixes in Request struct fields types
[req]
Lazy transport initialization[req]
AddedDialTimeout
andRequestTimeout
variables for timeouts control
[system]
Removed debug output
- Added makefile with some helpful commands (
fmt
,deps
,test
) - Small fixes in docs
[sliceutil]
Code refactoring[knf]
Typo fixed[terminal]
Typo fixed
- Some minor changes
[fmtutil]
Pluralization moved fromfmtutil
to separate packagepluralize
(incompatible changes)[pluralize]
Brand new pluralization package with more than 140 languages support[timeutil]
ImprovedPrettyDuration
output[system]
NowSessionInfo
contnains full user info (Info
struct) instead username (incompatible changes)[timeutil]
Code refactoring[system]
Code refactoring[log]
Code refactoring[arg]
Code refactoring
[pid]
Added methodIsWorks
which return true if process with PID from PID file is active[pid]
Increased code coverage
[terminal]
Fixed bugs with Windows stubs[signal]
Fixed bugs with Windows stubs
[color]
New package for working with colors[usage]
Added color tags support for description[terminal]
Improved reading y/n answers (incompatible changes)[strutil]
Added methodFields
for "smart" string splitting[system]
MethodsGetUsername
andGetGroupname
deprecated[system]
Added methodGroupList
for user struct which returns slice with user groups names[jsonutil]
Code refactoring[usage]
Code refactoring
[signal]
Added methodSend
for sending signal to process
[log]
Fixed bug with logging empty strings
[sortutil]
Added methodVersionCompare
which can be used for custom version sorting
[sortutil]
Added case insensitive strings sorting[sliceutil]
AddedDeduplicate
method[strutil]
AddedReplaceAll
method[terminal]
methodfmtutil.GetTermSize
moved toterminal.GetSize
[timeutil]
Added methodParseDuration
which parses duration in1w2d3h5m6s
format
[terminal]
Custom prompt support[terminal]
Custom masking symbols support[terminal]
Code refactoring
[fsutil]
Fixed bug inList
method with filtering output[fsutil]
Fixed bug withNotPerms
filtering
[env]
Added methods for getting env vars as string, int, and float
[usage]
Added docs for exported fields in About struct
[fsutils]
Added fs walker (bashpushd
/popd
analog)
[fsutil]
MethodListAbsolute
ranamed toListToAbsolute
[errutil]
Added method Chain
[log]
Improved min level changing
[fsutil]
Fixed major bug with closing file descriptor after directory listing[fsutil]
Fixed major bug with closing file descriptor after counting lines in file[fsutil]
Fixed major bug with closing file descriptor after checking number of files in directory
[fsutil]
Improved docs[fsutil]
Added method (wrapper) for moving files
[path]
Added method IsDotfile for checking dotfile names
[strutil]
Added methods PrefixSize and SuffixSize
[fsutil]
Improved working with paths[fsutil]
Added method ProperPath to windows stub
[path]
Fixed windows stub
[path]
Added package for working with paths
[knf]
Fixed bug in HasProp method which returns true for unset properties
[tmp]
Improved error handling[tmp]
Changed name pattern of temporary files and directories
[pid]
Fixed bug with PID file creation[pid]
Increased coverage
[errutil]
Added method Num which returns number of errors
[errutil]
Improved Add method
[fsutil]
Added methodProperPath
which return first proper path from given slice
[fsutil]
Added partial FreeBSD support[system]
Added partial FreeBSD support[log]
Some minor fixes in tests
[kv]
Added package with simple key-value structs
[strutil]
Fixed bug in Tail method
[strutil]
Added method Head for subtraction first symbols from the string[strutil]
Added method Tail for subtraction last symbols from the string
- Improved TravisCI build script for support pkg.re
- Added pkg.re usage
[system]
Fixed major bug with OS X compatibility[fmtutil]
Fixed tests for OS X
[req]
Added flag for marking connection to close
[crypto]
Small improvements in hash generation[csv]
Increased code coverage[easing]
Increased code coverage[fmtc]
Increased code coverage[httputil]
Increased code coverage[jsonutil]
Increased code coverage[pid]
Increased code coverage[req]
Increased code coverage[req]
Increased default timeout to 10 seconds[strutil]
Increased code coverage[timeutil]
Increased code coverage
[log]
Now buffered I/O must be enabled manually[log]
Auto flushing for bufio
[system]
Added JSON tags for User, Group and SessionInfo structs[usage]
Info now can use os.Args[0]
for info rendering[version]
Added package for working with version in semver notation
[arg]
Changed default fail values (int -1 → 0, float -1.0 → 0.0)[arg]
Increased code coverage[arg]
Many minor fixes[cron]
Fixed rare bug[cron]
Increased code coverage[crypto]
Increased code coverage[easing]
Increased code coverage[errutil]
Increased code coverage[fmtc]
Increased code coverage[fmtutil]
Increased code coverage[jsonutil]
Increased code coverage[knf]
Fixed bug in Reload method for global config[knf]
Improved Reload method[knf]
Increased code coverage[log]
Increased code coverage[mathutil]
Increased code coverage[pid]
Increased code coverage[rand]
Increased code coverage[req]
Fixed bug with Accept header[req]
Increased code coverage[sliceutil]
Increased code coverage[sortutil]
Increased code coverage[spellcheck]
Increased code coverage[strutil]
Increased code coverage[system]
Added method system.SetProcName for changing process name[timeutil]
Fixed bug in PrettyDuration method[timeutil]
Increased code coverage[tmp]
Increased code coverage
[system]
Fixed bug in fs usage calculation[usage]
Improved new Info struct creation
Initial public release