- fix tcp,udp,unix socket
- add socket unixgram for session less unix socket
- optmize process & code
- add some standalone test for server / client (add example server config for
rsyslog)
Package Network/Protocol:
- add unixgram protocol
Package Errors:
- fix bug in loop to prevent circular include
- fix bug with fmt.Errorf called withtou pattern, replace it by a errors.New
- fix but of circular inclusion for method Add
- remove deprecated const / code
- reorganize code file to map to interface / model
- update other modules following chnages
Other:
- bump dependencies
Package aws
- fix dive, use it only for slice
- add function to version delete with bypass governance policy
Package cluster
- fix dive, use it only for slice
Package config
- fix missing close channel for waitnotify function
Package errors
- fix pattern %s with uint16
Package ioutils
- fix liberr / Error type return
Package nats
- fix dive, use it only for slice
Package nutsdb
- fix dive, use it only for slice
Package request
- fix dive, use it only for slice
Other
- bump dependencies (validator v10.15.2)
Package Errors:
- add function to check & cast error interface into golib Error interface
- update CodeError type to simplify management & error creation
- add function to simplify call of Error function from a generic error interface
- remove some useless function from Error interface
All Other Packages:
- apply change of package Errors into all other packages
- Add interface Errors to expose func for collection of errors
Package Server:
- Add runner packages for start/stop & ticker process launch in goroutines
- Runner Start/Stop : register a start and a stop function called into a managment instance of goroutines, expose package Server interface
- Runner Ticker : register a func periodycly called into a managment instance of goroutine with a time ticker, expose package server interface
- Add tools function to run x times a function or periodicly with a check function
Package HttpServer:
- Remove old run managment instance and use new Start&Stop Runner instead self runner
- Replace the poller in server start / stop with package server tools function
- Adjust code following this change
- Add in healthcheck a test of dialing to server binding network to perform the healthcheck
- Remove WaitNotify funct (cannot having multiple of waitnotify in same app) : keep waitnotify function in package config
Package Monitor:
- Remove old running system to use package server/runner/ticker
- Adjust code following
Package Cobra :
- Fix minor bug with writing configure
- Optimize code
Bump dependencies
Package Monitoring :
- use packag dedicated to monitor component
- each monitor work as standalone server to monitor health
- collect metrics to export them to prometheus exporter
Package Prometheus :
- review to simplify use for API and not API metrics
- optimize code
Package Status :
- Rework to use Monitor package
- Rework to use native json / text Marshaller interface
Context :
- rework context config (context var) to use sync map and sync RWMutex (WORM)
- move gin context to dedicated sub package (dependancies of logger make circular dependencies)
- optimize code
Config :
- rework to optimize sync / collect of component
- rework status to monitor
- remove monitor managment from config to each component
- add a func to set default logger to implement inherit default logger options
- optimize code
IOUtils :
- isolate logger / closer interface as a usable & public interface & instance
- this interface / instance allow to collect io.closer over a context to close all if context is done
Logger :
- rework to use context.config map
- rework to use ioutils closer
- rework to allow options to inherit a default options, or the last version of options
- optimize code
Size :
- Add package Size to calculate and manipulate size Byte or bit
- Add encoding : Text/JSON/Yaml/Toml...
- Add option to défine default unit : Byte or bit
Other :
- adjust following code
- optimize code
- limit use of atomic value
- rework to use RWMutex instead of sync.Mutex to maximize capabilities of read instead of write
- remove 32bit build for CI/CD
- add darwin/arm64 build for CI/CD
Bump Dependencies
- Package Errors : fix error with slice of error not returning all parent
- Package Logger :
- fix log error slice
- following bump hclog : implement GetLevel + adjust SetLevel to report different between hc log debug & trace following EnableTrace in options
- Bump dependencies
- Fix bug : apply file permission on directory
Package errors :
- Add function dedicated to recorved : add at least 5 frame trace into message
- Add function to retrieve at least 5 frame not in golib, vendor and runtime root package
- Fix error in frame extraction
Package Logger :
- Add mutex to fix race error
- Fix missing origin error while return error for open/create file
- Clean useless commented code
Package Router :
- Skip gin context abort if context still aborted
- refactory recovery error to liberr.NewErrorRecovered to include enought trace
- Add function to create new Error with runtine Frame information (used for trace)
- Add a private slice of error in DefaultReturn model to add them Gin Error and retrurn them into log / stdout
Bump dependencies
- Fix CVE-2022-32149
- Refactor ErrorType, list errors managment, codeError
- Add interface Error with error interface implement
- Add type CodeError assign typiclly to const that represent code of error
- Add func to registry func to retrieve message from an uint16 codeError (typicaly a switch of each codeError const)
- Add default errorCode with default errorMessage if no one code or message is found
- Add modeError to manage how to manage compatibility between Error interface and error interface
- Add Error interface that allow parent link (parent as error or Error interface), code and trace management
- Add trace finder to allow find func/file/line caller when Error is call
- Add http 2 transport in httpcli
- Add http 2 transport in httpserver
- Add function to get client http with timeout management in httpcli
- Add function to get Error if occurs of http client in httpcli
- Add test for smtp package
- Chg return error by returning Error in all packages
- Chg package njs-archive by archive
- Chg package njs-certif by certificates
- Chg package njs-console by console
- Chg package njs-crypt by crypt
- Chg package njs-errors by errors
- Chg package njs-httpcli by httpcli
- Chg package njs-httpserver by httpserver
- Chg package njs-ioutils by ioutils
- Chg package njs-ldap by ldap
- Chg package njs-logger by logger
- Chg package njs-password by password
- Chg package njs-progress by progress
- Chg package njs-router by router
- Chg package njs-semaphore by semaphore
- Chg package njs-smtp by smtp
- Chg package njs-static by static
- Chg package njs-status by status
- Chg package njs-version by version
- Fix dependancies gopkg by github/go-ldap for go module compatibility
- Fix gin Abort call by gin Abort with Error in static package
- Fix issue #18 in status package : replace partner by component
- Fix go vet error
- Del deprecated function
- Del useless function & files
- Bump dependancies
- Apply CHG in README.md