Skip to content

Releases: sogou/workflow

workflow v0.10.5

03 Jan 18:46
Compare
Choose a tag to compare

New Features

  • Support xmake
  • More JSON building interfaces

Improvements

  • Optimize communicator for speed
  • Replace all MD5 with SHA1 for better speed
  • Optimize SSL server verifying clients interface

Bug Fixes

  • Fix endpoint params problem when upstreams share an endpoint
  • Fix kafka client double free bug
  • DNS request avoids zero request ID to be compatible with some DNS server
  • Fix JSON parser bug when parsing object's name

workflow v0.10.4

04 Nov 16:12
83d6346
Compare
Choose a tag to compare

New Features

  • Add WFTaskFactory::reset_go_task to enable capturing the go task itself
  • Support creating WFThreadTask with running time limit
  • Add WFMessageQueue

Improvements

  • Optimize route manager
  • Remove MD5Util
  • Optimize communicator

Bug Fixes

  • Fix named conditional bug
  • Fix Kafka consuming bug that always returns the latest record
  • Fix service governance's fail to fuse a server on DNS lookup error
  • Fix the problem that always creating network threads when using wait group

workflow v0.10.3

26 Aug 14:55
116e677
Compare
Choose a tag to compare

New Features

  • Add WFRepeaterTask
  • Redis server supports inline commands
  • Reconstruct kafka task error. Add WFKafkaTask::get_kafka_error()

Improvements

  • Reduce new/delete times when running any series
  • Optimize communicator's locking to improve client tasks' speed
  • Add 'append_output_body' interfaces for HttpMessage

Bug Fixes

  • Fix the bug that server does not accept any connection after fd number reached max
  • Fix dns task scheme checking bug
  • Fix kafka client bug of all SASL authentication fails
  • Fix compiling error on macOS with gcc

workflow v0.10.2

26 Jun 12:53
42d87f4
Compare
Choose a tag to compare

New Features

  • Add WFModuleTask.
  • Add round-robin upstream policy.
  • Add named conditional to support observer mode.
  • Support creating a go task with running time limit.

Improvements

  • Use sysconf() to get max open files. Reduce memory usage when it's below 65536.
  • Optimize redis parser to make it safer.
  • Optimize thread pool by using message queue. Reduce the overhead of computing task.

Bug Fixes

  • Fix bugs to make it fully compatible with boring ssl.
  • Fix double deleting bug when canceling server task's series.
  • Fix Kafka client bugs.
  • Fix upstream UPSVNSWRRPolicy bug.

workflow v0.10.1

29 Apr 11:49
315eb1b
Compare
Choose a tag to compare

New Features

  • Add a built-in json parser
  • Add Consul client (prepared for Consul service governance)
  • Add MySQLUtil
  • Add package wrapper

Improvements

  • Refactor kafka client and fixed some bugs
  • Refactor service governance task and add 'pre_select' for service governance plugins

Bug Fixes

  • Fix MySQLCell::as_float bug when the it's a negative number.
  • Update CMake and bazel building files to fix kafka task's canceling bug

workflow v0.9.11

09 Mar 14:21
71b5531
Compare
Choose a tag to compare

Improvements

  • Optimize upstream with consistent hash. Allow adding server with weight.
  • Improve http protocol compatibility of http client task.
  • Improve bazel building.

Bug Fixes

  • Make UpstreamManager::upstream_delete() safe when the upstream is still in use.
  • Fix the SSL delaying problem on Nagle's algorithm.
  • Fix bug that cannot use the port in URL when using upstream.
  • Fix Kafka client offset timestamp overflow.
  • Fix Kafka client freezing problem when broker toggles the leader.

workflow v0.9.10

21 Jan 12:23
90cab0c
Compare
Choose a tag to compare

Improvements

  • Refactor encode stream. This will improve the performance of Redis and Kafka clients.
  • Optimize SSL write. Improve the performance of HTTPS client and server a lot.
  • Optimize weighted-random upstream policy to solve some recovering problem.
  • Update Cmake files to support more platforms. Build both static and dynamic libs.

Bug Fixes

  • Fix nvswrr upstream policy bug.
  • Fix MySQL client crash on incomplete result sets.
  • Fix Kafka out of range error on fetching.
  • Fix Kafka cgroup bug.
  • Fix SSL wrapper problem on TLS 1.3 handshaking.

workflow v0.9.9

03 Dec 17:19
Compare
Choose a tag to compare

Improvements

  • Optimize Dns Cache's searching speed and memory size
  • Optimize route manager and dns resolver
  • Increase server task's performance by reducing some atomic operations
  • Increase global performance by removing some singletons
  • Always use dns resolver as name service policy when redirecting
  • Add WFServer::get_listen_addr() for server started on a random port
  • Support kafka kip 329

Bug Fixes

  • Fix service governance's ref count bug
  • Fix mysql sequence id bug when retrying big request
  • Fix VNSWRR upstream bug
  • Fix dns client bug when host name has trailing dot
  • Fix URL parser fatal bug

workflow v0.9.8

30 Sep 05:52
b1db18c
Compare
Choose a tag to compare

Improvements

  • Enable creating file IO tasks with path name
  • Add server task's push() interface
  • Optimize poller speed and memory occupying
  • Optimize URI parser, more than 50% faster
  • Optimize http implementation

Bug Fixes

  • Fix crash when resolv.conf is empty
  • Fix Kafka client's memory leak
  • Fix MySQL transaction checking
  • Fix bazel compiling problem

workflow v0.9.7

08 Aug 08:06
bbcf817
Compare
Choose a tag to compare

Improvements

  • Implement DNS protocol and add DNS asynchronous client.
  • Use asynchronous DNS as default.
  • Optimize load balancing.
  • Add bazel support and add selective compiling.
  • Support longer timer.
  • Add WFResourcePool.

Bug fixes

  • Fix Redis double SELECTs problem.
  • Fix upstream_replace_server() bug.
  • Fix timerfd problem on some WSL platforms.