Releases: sogou/workflow
Releases · sogou/workflow
workflow v0.11.11
New Feature
- Full compatible with FreeBSD.
Improvements
- Optimize SSL performance.
- Optimize upstream performance by reducing lock operations.
- Optimize speed of canceling a named timer.
- Optimize speed of switching to a handler thread.
- Optimize JSON parser.
Bug Fixes
- Fix WFTaskFactory::release_guard_safe() bug.
workflow v0.11.10
New Features
HttpChunkedClientsupports 'extract' when HTTP header completed.- Support customizing communicator's event handler to support fibers.
Improvements
- Optimize JSON parser speed when parsing numbers and strings.
- Optimize locking speed when a domain name has multiple IP addresses.
- Reduce compiler warnings.
Bug Fixes
- Fix crash bug on macOS when DNS cache expired.
workflow v0.11.9
New Features
- Add
WFHttpChunkedClientto support fetching HTTP body chunk by chunk.
Improvements
- Support setting specific SSL_CTX for
WFConsulClient. - Optimize JSON parsing and copying speed.
Bug Fix
- Fix SSL bug when creating communication targets.
workflow v0.11.8
New Features
- Add 'prepare()' function for server task too.
Improvements
- Enable setting connection context only without changing context deleter.
- Decrease max io events when io_setup() failed.
- Optimize WFDnsServer to simplify users implementing a DNS server.
Bug Fixes
- Fix kafka client bug that fails to update metadata when leader changed.
- Fix kafka client bug that fetches same data multiple times.
- Fix bug that network task state is WFT_STATE_SYS_ERROR when DNS failed.
- Fix compatibility with OpenSSL 1.0.
workflow v0.11.7
New Features
- Supporting sending/signaling different messages to each named mailbox/conditional.
- Supporting permanant timer, for canceling only.
Improvments
- SSL server uses cerficate chain file. Check private key.
- Simplify communicator service session's state.
- Optimize StringUtil::enode()/decode().
Bug Fixes
- Bug that UDP server doesn't reply.
- Potensial memleak when malloc failed.
- Consul client JSON stringifying error.
- Compiling error when user defined protocol message doesn't have a move constructor.
workflow v0.11.6
New Feature
- Add WFRedisSubscriber to support redis subscribing.
Improvements
- Communicator::push() supports client session.
- WFTaskFactory::XXX_by_name() functions return tasks that waked up.
- Redis client task returns task error when missing password.
Bug Fixes
- Fix 'sendto()' failure on a connected UDP socket.
- Communicator::push() bug with multiple message wrappers.
workflow v0.11.5
New Features
- Enable increasing and decreasing computing threads.
- Support HTTP authentication.
- Support preadv/pwritev file IO task on macOS.
- Graph task supports canceling node's successors.
Improvements
- Decreasing handler threads dynamicly when using wait group or WFFuture.
- Enable CommSession::push() on an active session.
Bug Fixes
- Fix SSL_write error bug when sending large message.
- Fix push() bug when having message wrappers.
- Fix feedback() error of UDP client message.
workflow v0.11.4
New Features
- Add WFSelectorTask.
- Support setting DNS message's records. Enable users to make a fully functional DNS server by using WFDnsServer.
- Enable setting specific SSL_CTX for each network task.
- WFMySQLConnection and WFKafkaClient enable setting a specific SSL_CTX.
- JSON parser adds 'json_value_copy()'.
Improvements
- More compatible with some rediculous HTTP server.
- Simplify Communicator's codes.
Bug Fixes
- Fix bug when creating a client task with IPv6 address string.
- Fix kafka client bug when a broker is IPv6.
- Fix DNS parser potensial recursive bug.
workflow v0.11.3
New Features
- Support UDP server.
- Enable erasing http message's header.
Improvements
- Optimize JSON parsing.
- Support specifying server's transport layer protocol (TCP, UDP, SCTP).
- Reduce default DNS cache ttl.
- Kafka client supports set_offset_timestamp for KafkaToppar in automatic mode.
Bug Fixes
- Fix dead lock bug when upstream referring to a host name.
- Fix some kafka client little problems.
workflow v0.11.2
New Features
- Add
watch_timeoutfor network task. - Add
address_familyfor endpoint params. Enable users to specify target's IP address family, including DNS server. - Add 'guard' task wrapper for global non-block locking.
- Reduce max encoding IO vectors from 8192 to 2048 and reduce 96KB stack using.
Improvements
- Optimize named timer's speed. About 3 times faster.
- Reduce light-weighted thread task's overhead.
- Optimize DNS resolving a lot. Reduce redundant DNS requests when querying a single host name parallelly.
- Optimize JSON parser when parsing JSON numbers.
- Simpify poller code and optimize timeout checking.
Bug Fixes
- Fix kafka client bug when enable retry.