- fix bug with cert type marshall/unmarshall
- add old config to allow retro compatibility
- add new type function to retrieve a tls root ca cert instead of a slice of string to get root ca
Package HTTPCli:
- fix default DNS Mapper
- optimze global DNS Mapper
- fix non closing sub goroutine
Package HTTPCli/DNS-Mapper:
- change request function of Root CA with function of root ca cert instance
- add function to return a root ca cert from a function that return a slice of root ca string
Package Config/Components:
- httpcli: bump sub package of certificate, httpcli
- httpcli: adjust code following bump
- httpcli: change request function of Root CA with function of root ca cert instance
- httpcli: add function to return a root ca cert from a function that return a slice of root ca string
- tls: change request function of Root CA with function of root ca cert instance
- tls: add function to return a root ca cert from a function that return a slice of root ca string
Package IOUtils/mapCloser:
- fix bug with mapcloser not stopped
- optimize code & goroutine
Package Logger:
- rework mapCloser call
- optimize mapClaoser managment
Package Request:
- rework error managment
- using []byte instead of buffer to read response body
- add free capability
- optimize memory consumption
Package Socket / Server:
- add filtering error capability
- add params to specify a function called on each new connection and before using the connection
- the new function param allow to update the network incomming connection (like buffer, deadline...)
- rework some useless atomic to direct value to optimize code
Package Socket/Delim:
- rework to optimize memory & variable use
- remove capabilities of update the instance when running, prefert recreate new one if necessary
Other:
- bump dependencies
- minor bug / fix
- replace mutex by atomic
- fix minor bugs & optimize code
Package Size:
- add function 'mul' allowing do a multiplaction on the size value by a float64 given value (could use another size.float64)
- add function 'div' allowing do a division of the size value by a float64 given value (could use another size.float64)
- add function 'add' allowing do an addtion of the size value with a uint64 given value (could use another size.uint64)
- add function 'sub' allowing do an substraction of the size value with a uint64 given value (could use another size.uint64)
Package Encoding:
- rework completly crypt package to new package encoding
- part aes of old crypt become new subpackage encoding/aes
- part hex of old crypt (associated with aes) become new standalone subpackage encoding/hexa
- adding new subpackage mux to use multiplexer/de-multiplexer of io stream
- mux is different of multireader / multiwriter in way as io send from mux in one channel will be received only in the coresponding channel of de-mux
- mux is encoding subpackage becauxse based on hex + cbor marshalling / unmarshalling
- all subpackage can be used directly of by io reader / writer
Package Socket/server
- rework server to use as possible direct io to con
- rework server to optimize & fix managment (context / shutdown...)
- rework server to stop connection befor stopping server
- rework server to not load incoming and send it to handler by allowing handler to manager io input/output directly
- server not more used buff internally (less memory consuption)
- adding counter of opened connection
- adding some testing who's checking server & client for each protocol
Package Socket/client
- rework client to allow connect to server before reading/writing on io stream
- rework client to allow consum direct io stream instead of reading locally / call function
- rework client to allow having less memory consumption by removing internal buffer
- rework client allowing to use root io function (bufio, io copy, ...)
Package Socket/multi
- adding new subpackage multi to simplfy using of 1 reader / x writer
- if no writer is define, using an extended io discard
- allowing asynch instancing, populate writer and calling main writer
- allowing calling writer / reader to expose the main io reader / writer
Package Socket/delim:
- adding new subpackage delim to simplify using of bufio reader with delimiter
- using 1 writer / 1 reader
- allowing root io function like readwritecloser, writeto, ...
- use local buffer to prevent race if reader and writer are not is same process
Package PProf:
- fix missing \n in message
Package HttpServer:
- fix bug with init TLS & http2
Other:
- bump dependencies
- Client: optimize code & memory
- Client: allow multiple send content for one connection
- Server: optmize code
- Server: optimize memory use & stream
Package server:
- Rework chan / cancel process
- Simplify & optimize chan / cancel process
- Add Function Action for Ticker as FuncTicker
- Rename type func Action to FuncAction
Package httpserver:
- Fix error on starting runner
- Log error on starting runner
- Optimize some code
Package config:
- Add log info for each starting / reloading component (if default logger is set)
- Add log error for starting error or not started for each component on start / reload (if default logger is set)
Package monitor:
- review ticker delay for starting puller (pass from 500ms to 50ms)
Other:
- bump dependencies
- fix UDP as kernel SOCKGRAM
- add unixgram as kernel SOCKGRAM for local socket file
- optimize parallel statment
- optimize code / minor bugs fix
- add IsRunning function
- add timeout shutdown based on periodicly check of IsRunning
- fix close channel before send empty struct to stop process
- optimize clean shutdown
- optimize connection process to use less resources and lock pipeline less time
- 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 security arbitrary path
- fix linter
Package AWS:
- implement resolver v2
Package Cobra:
- fix linter
Package Config/component:
- fix linter
Package Context/Config:
- Add function to set context
Package Database/KV...:
- Fix error
- Fix collision pointer
- Fix models
- Fix circular dependencies
- Add function Delete on driver, table and item
- Add function new on drvier to prevent collision data when create item on table get / walk
Package Duration:
- Add type Duration based on time.Duration to allow transform duration to string instead of int64 nanosecond
- Add function to parse in json, yaml, toml, text, cbor
- Add function to allow convert type into mapstructure (spf13 viper, cobra...)
Package File/Perm:
- Add type Perm based on os.FileMode to allow marshall / unmashall it into octal form instead of string representation (-rwxrwxrwx)
- Add function to marshall / unmarshall in json, yaml, toml, text, cbor
- Add function to allow convert type into mapstructure (spf13 viper, cobra...)
Package File/progress:
- Fix linter
Package HTTPServer :
- Fix linter
- Fix security by adding a default value if not set on config
Package ioutils:
- Fix Linter
Package LDAP:
- Add Clone function
Package logger/hookfile:
- Fix linter
Package nats:
- Fix linter
Package Network/Protocol:
- Fix bug with quote / Dbl Quote on unmarshall
Package Password:
- Replace password with crypto rand instead of math rand
Package Size:
- Fix potential overflow
- Add function to format value into Int32, Int, Uint32, Uint, Float32
- Add function to parse Float64 into type Size
Package Socket:
- change config uint32 to golib Size, time.Duration to golib Duration
- add TLS managment to server TCP, discard for UDP & Unix file Local Domain
- add function Info Server to print information of server when listen is starting
Add feature to change http timeout directly in httpcli store in aws client
Add copy/MPUCopy function
Update mpu to allow copy with MPU
Package Cobra
Fix println by fmt.Fprint to os.stdout
Package Crypt
Refactor package to use instance of crypt instead of a global crypt unique instance
Allow to gen key/nonce
Add io stream reader/writer instead of only buffer slice encoder decoder
Package file/bandwidth
Add new subpackage bandwith to limit a amount of byte read/write for a duraction
Use file/progress function increment/reset
Allow to add custom function increment / reset
Package IOUtils
Remove useless file error.go, tempFile.go (replaced by package file)
Move fileDescriptor to a subpackage fileDescriptor: allow to change nb of FD for linux/windows os
Move Buffer ReadCloser to a new subpackage: allow to add close function to buffer, and expose read / write io interface
Add sub package multiplexer to allow send/receive multiple io stream into on io stream
Package Socket
Rework to expose io stream instead of buffer
Fix minor bugs
Other:
Bump dependencies
Update code following bump dependencies