Releases: nabbar/golib
Releases · nabbar/golib
v1.13.14
v1.13.13
Package socket:
- 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
Full Changelog: v1.13.12...v1.13.13
v1.13.12
Package Profiling
- new package to use/consume CPU / MEM pprof root package
- create a file on same location as runable binary to store profile
Package HTTPClient
- add message function called on each Dial/DialContext call function
- function message can be nil
Package Server
- add generic function for recover message / catching
- implement this recovring function into runner StartStop & Ticker
Package Logger:
- implement generic recovering function into hook
- fix bug if instance is an invalid instance of fields or entry
v1.13.11
v1.13.10
Package HTTP Client
- Replace old helper for http client with new package DNSMapper
- Add default DNSMapper into the main lib of http client
- Allow to overide the default DNS Mapper with a new one
- Add ticker to force clean idle connection every given duration
- "Compatible" with old config, as the default config will be used instead of old client build
- old config continue to create http client but old process is replaced by the global default http client
- Clean code and fix minor bugs
- Add config component to allow use a global config
- Config Component httpcli can overide default httpcli dns mapper when updated
Package HTTP Client / DNS Mapper
- Add new package DNS Mapper to force destination for a fqdn source
- Create Transport, Dialer & http client
- Allow a config input to customize timeout, limit and TLS config
- Use a global transport connection poller with same DNS Mapper
- Implement DialContext & Dial method for transport
- Use cache to accelerate process
- Cache is only dnsmapper, not DNS cache
- Allow FQDN wildcard and multi wildcard for source (must valid DNS, so wildcard are prefix and full part dns only)
- Allow Port wildcard for source (like 90 or 90)
- Allow to use dial address port if port not defined in destination
- Allow to overide dial address port if port is defined in destination
- Add unit test in BDD to validate package
- Optimize code
Package Certificates
- Add function type to impose function that return a slice of rootCA string
- update config/component/tls by replacing mutex with atomic
- optimize some code
Package Config
- expand errors code index to add component httpcli
Package Config/component:
- database: add new validation, that config key existing into viper
- head: add new validation, that config key existing into viper
- http: add new validation, that config key existing into viper
- ldap: add new validation, that config key existing into viper
- log: add new validation, that config key existing into viper
- mail: add new validation, that config key existing into viper
- smtp: add new validation, that config key existing into viper
Package AWS:
- update package following update of httpcli
- use interface for http cli that implement the Do function
- update following the config/component/aws
- rework config/component/aws to use atomic instead of mutex
- update test unit following change
Package Request:
- update following http client update
- use interface of HTTP Client that implement DO function, instead of http client struct pointer
- update config & code following
- apply same modification into config/component/request
- update config/component/request by replacing mutex to atomic
Package Server
- add function Uptime to model to expose the duration since last start
Package Semaphore
- apply change name of constant following bump of lib associated
Package Crypt
- fix bug into reader to remove suffix of EOF if prevent
Package Errors:
- expand index module to add DNS Mapper client
Package HTTP Server:
- update monitor to apply changes
Package Socket:
- add additional check if reading error: if buffer has data, send it to handler before break run
Other:
- bump dependencies
Full Changelog: v1.13.9...v1.13.10
v1.13.9
Package Request:
- add content length header helper function
- add control with length of result marshall body with function jsonbody
- add set content length header in function jsonbody
Package Socket:
- fix tcp,udp,unix socket (use os SOCKGRAM)
- add socket unixgram for session less unix socket (os SOCKGRAM)
- add some standalone test for server / client (add example server config for rsyslog)
- 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
Package Network/Protocol:
- add unixgram protocol
Package Errors:
- 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
Full Changelog: v1.13.8...v1.13.9
v1.13.8
Package Viper:
- Add Getxxxx function from viper into interface to prevent using lib viper and spf viper instance
Package Config/Components:
- change pointer to retrieve config: using golib viper instead of spf viper (allow hook instead of no hook)
Other:
- bump dependencies
v1.13.7
Package Server:
- replace mutex / pointer to atmoic + chan
Package Logger:
- Add option to define the buffer size for logger file
- Rework Hashicorp wrapper to not use a standalone pointer of logger and prefer a function to retrieve the logger
- reword some panic recovery message
Package HTTPCli:
- add interface for http client implement the function Do
Package Errors:
- replace glue for join error
Package Config/Component/TLS:
- fix missing RootCA
- add function to specify the Default RootCA
Package AWS:
- Allow to use config anonymous with no access key / secret key
- Replace *http.client to interface of Do function
Other:
- bump dependencies