ChangeLog 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370
  1. This is the hand-created ChangeLog used prior to v1.1.3. Please refer to git
  2. log for changes after that.
  3. 1.1.12 Sun Feb 9 04:27:38 PST 2014
  4. * GEARMAN_SERVERS environmental variable for libgearman to pick up servers to
  5. communicate with. This means that any driver now linked with libgearman will
  6. be able to handle multiple servers.
  7. * Add INFO level messages for queue creation.
  8. 1.1.11 Thu Oct 3 04:38:47 EDT 2013
  9. * Workers which return a bad gearman_return_t will be counted as an error by the server and not a final (i.e. they will be retried).
  10. * Fixed possible bug where the server would over count the number of NOOP sent if NOOP messages did not get sent.
  11. 1.1.10 Mon Sep 16 04:20:13 CDT 2013
  12. * Added gearman_job_use_client()
  13. * Improve compile time.
  14. * Fix for NOOP failure (bad worker causes early exit of loop).
  15. * Fix for postgres (use INFORMATION_SCHEMA).
  16. * Added gearman_client_has_active_tasks() so that you can see if a client has active tasks that it is working on.
  17. 1.1.9 Fri Aug 2 02:39:25 EDT 2013
  18. * Added gearman_task_is_finished()
  19. * Improved SSL support.
  20. * Exceptions are now supported.
  21. * gearmand accepts its root CA via the environmental variable GEARMAND_PORT.
  22. * libgearman will now accept GEARMAND_CA_CERTIFICATE, GEARMAN_CLIENT_PEM, and GEARMAN_CLIENT_KEY.
  23. 1.1.8 Thu Jun 6 18:47:01 EDT 2013
  24. * Postgres test case now passes.
  25. * SSL support added.
  26. * OSX fixes.
  27. 1.1.7 Mon May 6 06:46:20 EDT 2013
  28. * Cleanup of error codes returned by gearmand.
  29. * gearmand will now set its port from the env variable GEARMAND_PORT.
  30. * Fix issue where identifier might not be set correctly on reconnect.
  31. 1.1.6 Tue Apr 16 03:29:57 EDT 2013
  32. * Merge of 1.0.4 tree
  33. * Added support for gearadmin to "cancel" a job.
  34. * Keep-alive support for gearmand has been extended (more options to control behavior).
  35. * Fixed issues related to clients who didn't really support exceptions being passed exceptions.
  36. 1.1.5 Mon Feb 4 00:59:19 EST 2013
  37. * Rollup of bug fixes for 1.0.3
  38. * --threads=0 for gearmand will now result in gearmand using all available cores.
  39. 1.1.4 Mon Dec 17 21:24:16 EST 2012
  40. * Add GEARMAN_CLIENT_GENERATE_UNIQUE, with default set to not generate.
  41. * Experimental addition to queue service which will allow a queue to be stored on shutdown (--libsqlite3-store-on-shutdown).
  42. * Rollup of all changes in 1.0.2
  43. 1.1.3 Wed Nov 7 22:48:21 EST 2012
  44. * Merge with 1.0.1
  45. 1.1.2 Fri Oct 12 05:34:29 EDT 2012
  46. * Merge with 0.41
  47. 1.1.1 Wed Sep 19 22:04:56 EDT 2012
  48. * Merge with 0.39
  49. 1.1.0 Wed Sep 5 08:33:37 PDT 2012
  50. * Fix for ABI compatibility issues.
  51. 1.0.6 Mon May 6 02:48:30 EDT 2013
  52. * strlen() of zero on name passed for instance did not result in a connection to localhost (which the php driver thought would happen).
  53. * Fix regression in log not updating time on all platforms.
  54. * Fix issue where pecl php wasn't passing a null string to get default host.
  55. 1.0.5 Mon Apr 15 06:36:05 EDT 2013
  56. * Fix for log_fn
  57. 1.0.4 Never Released
  58. * Added --coredump flag to gearmand
  59. * Removed result type enum, since the structure is never exposed to the user this was of limited use.
  60. * Assorted bug fixes.
  61. 1.0.3 Sun Feb 3 21:05:52 EST 2013
  62. * Allow for a longer set of retries if port is in use when the server starts up.
  63. * Added checking for valgrind sgcheck
  64. * Fedora 18 fixes.
  65. 1.0.2 Mon Dec 17 07:24:42 EST 2012
  66. * Add --expceptions to Gearmand to enable exceptions by default
  67. * Backtraces on some types of crashes.
  68. * Add GEARMAN_CLIENT_GENERATE_UNIQUE.
  69. * If the unique value passed to any client function is "#" then the unique value will be derived by hashing the workload that is being supplied to the function.
  70. * Optimize status requests so that they exit as soon as request is received.
  71. * Fix test case results for FreeBSD.
  72. 1.0.1 Tue Nov 6 01:07:07 EST 2012
  73. * Stable branch labeled as 1.0
  74. * Update all build related files.
  75. * Add a few additional platforms to the supported list.
  76. 0.41 Fri Oct 12 05:34:29 EDT 2012
  77. * Switched from --having-debug to --enable-debug
  78. * Fix for SQLITE, it wasn't replaying its queue on startup.
  79. * More testing done now on durable queues.
  80. 0.39 Wed Sep 19 03:36:06 EDT 2012
  81. * Added gearman_job_error() interface.
  82. * gearman_client_errno() and gearman_worker_errno() now return EINVAL if client or worker is invalid.
  83. 0.38 Fri Sep 14 02:16:01 EDT 2012
  84. * Updates for compiling on different platforms.
  85. * UUID portability fixes.
  86. 0.37 Sun Sep 2 22:51:08 EDT 2012
  87. * Fix compiler issues around older compilers. Bug 1039629.
  88. 0.36 Sat Aug 18 16:57:13 EDT 2012
  89. * Fix issue where sqlite was not correctly being shutdown.
  90. * Check for more warnings (and cleanup found from).
  91. * Fix thread safety issue for uuid_generate().
  92. 0.35 Sun Aug 5 16:03:21 EDT 2012
  93. * Critical bug fix for rare case in which initialization of pipe for a worker fails.
  94. * Add support for MySQL specific driver to specify port.
  95. * Fix library issue with OSX Mountain Lion.
  96. 0.34 Tue Jul 10 21:19:10 EDT 2012
  97. * Alpha support for direct MySQL queue.
  98. * XML option for testing under valgrind.
  99. * gearmand now allows for a user to specify the format for the server key
  100. * First pass support for checking status via unique value.
  101. 0.33 Thu May 3 22:09:29 PDT 2012
  102. * Add --config-file option
  103. * Additional testing for Drizzle
  104. * Fix for OSX 10.6.8 compile issue.
  105. 0.32 Wed Apr 11 02:25:38 PDT 2012
  106. * Fix for shutdown bug.
  107. 0.31 Sat Apr 7 11:56:58 PDT 2012
  108. * Fixes for bugs 975591, 974712, 970828, 967859, 967463,
  109. * Valgrind fix around epoch retry.
  110. * Numerous issues cleaned up around bouncing server during testing.
  111. 0.29 Tue Mar 13 22:58:16 PDT 2012
  112. * Additional Fixes for Postgres
  113. * Additional debug calls in server via tuneable logging.
  114. * Documentation update.
  115. * Fixes for Ubuntu 11.10
  116. 0.28 Thu Jan 26 22:43:46 PST 2012
  117. * -v has been deprecated because of parsing issues. Please use --verbose instead
  118. * --log-file=stderr will set output to stderr.
  119. * Fix for gearman.spec file for rpm build.
  120. 0.27 Mon Jan 9 20:02:16 PST 2012
  121. * Fix for TokyoCabinet
  122. * Build updates for building on Ubuntu
  123. 0.26 Wed Nov 30 09:25:49 PST 2011
  124. * Completed support for syslog for gearmand
  125. * Fix libdrizzle issues
  126. * Add API for killing a worker.
  127. 0.25 Thu Nov 3 09:18:46 PDT 2011
  128. * 1.0 libgearman API extracted.
  129. * Fix for long function names.
  130. * Fix for Worker consuming CPU by hanging.
  131. * TokyoCabinet build fix.
  132. * Fix for 32bit fix.
  133. 0.24 Sun Jul 24 20:57:02 PDT 2011
  134. * Minor bug fixes.
  135. * Updated test framework.
  136. * make fixes for Fedora.
  137. 0.23 Wed Jun 29 13:26:26 PDT 2011
  138. * Defined workers can now return GEARMAN_SHUTDOWN.
  139. * Benchmark worker can now be told to shutdown.
  140. * Allocator code has been cleaned up (gearman_allocator_t).
  141. * Added "workers" option to gearadmin
  142. * Workers will now default to -1 as timeout (lowers CPU on gearmand server for non-active workers).
  143. * SO_KEEPALIVE is now enabled on client/worker connections.
  144. * By default, workers now grab the unique value of the job.
  145. 0.22 Sun Jun 19 20:32:18 PDT 2011
  146. * Added gearman_work_map() for gearman_work_t describer.
  147. * gearman_execute_by_partition() added.
  148. * gearamn_task_attr_t added.
  149. * Additional documentation update.
  150. * Issue with PHP client using automated task free (Thanks Taneli Leppä!!)
  151. * Fixed issue where PHP client's custom allocator was free'ing memory that did not belong to it.
  152. 0.21 Wed Jun 15 21:01:04 PDT 2011
  153. * Support for "drop function" in admin client
  154. * Fixed issue where server would not report on a bad unique value due to size
  155. * Forces do operations to complete no matter how the worker is designed.
  156. * Tasks inherit actions from client, and use them throughout execution.
  157. * Support for namespaces.
  158. * gearman_worker_define_function() has been added. It allows jobs to map out work to other workers and then aggregate the results.
  159. * gearman_client_run_tasks() will now reset the IO state for all connections on exit if all hosts have been marked down. The next call will check all hosts.
  160. * Lots of bug fixes.
  161. 0.20 Fri Apr 8 09:25:15 PDT 2011
  162. * gearman_client_execute() interface added
  163. * New types of gearman_unique_t, gearman_function_st, gearman_workload_t
  164. * Better error reporting from clients.
  165. * Server no longer hangs because of bad job list.
  166. * First bit of work on supporting epoch portion of protocol. John Ewart, john@johnewart.net
  167. * Improved error message handling in client.
  168. * Updates for manpages.
  169. 0.19 Fri Apr 1 09:50:22 PDT 2011
  170. * Fix bug where gearman util would create duplicate output.
  171. * Update sqlite queue so that it uses a prepared statement.
  172. * Fixes a number cases where server was not initializing default values internally correctly.
  173. * gearman_client_compare() API added. Returns true if the client connections are connects are equivalent.
  174. 0.18 Tue Mar 15 13:32:33 PDT 2011
  175. * Bug fix for compile when no plugins are requested.
  176. * Bug fix where during startup using Drizzle or MySQL the server could crash.
  177. * Bug fix to make sure test programs will run if NULL sized objects are sent.
  178. 0.17 Tue Mar 8 08:27:04 PST 2011
  179. * gearadmin added, easy access to shutdown, version, and verbose commands on the server.
  180. * Bug fixes related to CLI.
  181. * Bug fixes related to Memcached support.
  182. * Bug fixes related to Drizzle support.
  183. * Dependency on boost now required for build.
  184. * Drizzle queue module expects that a schema named "gearmand" exists.
  185. * Fix copyright headers were needed.
  186. 0.16 Tue Feb 22 10:55:33 PST 2011
  187. * Fixed cases where silent failure of server for queues would not cause tests to fail.
  188. * Fix for failure when setsockopt() failed on new connection.
  189. * Fixed silen exit in client library based on signals.
  190. * Error log now reports failure location in compiled code for ERROR conditions.
  191. * Fix for failover.
  192. * Fixed issue in client where it would silently die based on signal issues.
  193. * "verbose" has been added to the string protocol. It allows you to see what the verbose setting is.
  194. 0.15 Mon Feb 14 18:44:32 PST 2011
  195. * Numerous issues around overflow on buffers are now fixed.
  196. * Updates on gearmand daemon to share a bit more code.
  197. * Numerious fixes for gearman command line client.
  198. * IPV6 fix for server.
  199. 0.14 Wed Jun 30 13:04:39 PDT 2010
  200. * Leak in SQLite resolved.
  201. * updated build configs
  202. * Increased testting.
  203. 0.13 Sun Apr 4 14:45:08 PDT 2010
  204. * Fix for bug #518512.
  205. * Use OR REPLACE syntax for inserting items into the sqlite.
  206. * Changed default bitfield optimize setting to only be off for Solaris.
  207. * Refactoring on server.
  208. * Various bug fixes as reported on mailing list, such as a bad return code and treating EHOSTDOWN as lost connection for FreeBSD.
  209. * Fixed bug #543402 so jobs taking more than max job retries will be removed from persistentn queue as well.
  210. * Check to make sure worker job results match assigned worker.
  211. 0.12 Thu Feb 18 11:28:49 PST 2010
  212. * Fixed bug where memory loss occurred if data was too large.
  213. * Added gearman_strerror().
  214. * Fixed bug where setting an option off in mass would not trip any triggers on the option (for both worker and client).
  215. * Options that are internal can no longer be set by external callers.
  216. * Deprecated gearman_client_set_event_watch_fn() and gearman_worker_set_event_watch_fn.
  217. * gearman_job_handle() and gearman_job_function_name() now return const char* pointers
  218. * gearman_worker_unregister now returns GEARMAN_NO_REGISTERED_FUNCTION if the function does not exist (or is being removed)
  219. * Added gearman_worker_function_exist()
  220. * Trying to send too large of a piece of data will result in GEARMAN_ARGUMENT_TOO_LARGE.
  221. * Added support for gearmand command client to daemonize and create a pid file.
  222. * Fixed job handle comparison bug with WORK_FAIL responses.
  223. * Fixed disable assert configure option.
  224. * Build system updates.
  225. 0.11 - 2009-11-30
  226. * Added max wakeup-worker option to gearmand. Default is still to wakeup all.
  227. * API and documentation cleanup.
  228. * Fixed bug where task context free function was getting called for do() functions. This was PECL/Gearman bug #16899 as well.
  229. * Fixed bug #458912, not flushing with multiple gearmands in client.
  230. * Fixed PECL/Gearman bug #16847, was actually in C library and not in PHP.
  231. * Fixed C++ build/test/ issue, updated pandora build system.
  232. * Removed packet varargs function.
  233. 0.10 - 2009-09-28
  234. * Added timeout option.
  235. * Separated libgearman client/worker library from the server/gearmand code.
  236. * Added server option for max job retry.
  237. * Changed queue_libdrizzle to overwrite the password string to hide in ps.
  238. * Worker unregister bug fixed. Bug #372074
  239. * Added memory ownership functions so applications can pass control with tasks, jobs, and packets.
  240. * Changed gearmand to remap stdio to /dev/null for detaching. Bug #407242
  241. * Fixed bug that now allows workers to run concurrent jobs.
  242. * Changed behavior of sending NOOPs to one per PRESLEEP, rather than only having one in the outgoing queue at any time.
  243. * API cleanup to make the code more consistent and object-oriented.
  244. * Added more documentation for base classes, client, and worker.
  245. * Build system updates.
  246. 0.9 - 2009-07-20
  247. * Added libsqlite3 persistent queue support (Cory Bennett).
  248. * Added libpq (PostgreSQL) persistent queue support.
  249. * Updated autoconf build system.
  250. * Doxygen documentation cleanup.
  251. * Bug fix in HTTP protocol module.
  252. 0.8 - 2009-06-30
  253. * Added pluggable protocol support.
  254. * Added basic HTTP protocol support.
  255. * Updated autoconf build system.
  256. * Renamed modconf to gearman_conf.
  257. * Improved logging messages for gearmand.
  258. * Removed all struct memsets and packed structs for better memory usage.
  259. * Fixed client connect bug with multiple job servers.
  260. * Fixed server spinning bug with long running jobs and large workloads.
  261. 0.7 - 2009-05-31
  262. * Added libmodconf for config option processing. Eventually this will be split into a separate library. Updated gearmand and tests to use libmodconf.
  263. * Fixed persistent queue bug where jobs were not removed after replay.
  264. * Fix for bug #379198.
  265. * Changed done() function for queue, function_name is now passed to it as well as unique.
  266. * Fixed text protocol command response to be dynamic length.
  267. * Fixed libevent usage to support libevent 1.1 (still used in CentOS and Suse).
  268. * Added gearman_*_add_servers to client/worker interfaces for taking server lists.
  269. 0.6 - 2009-05-19
  270. * Changed behavior so forground jobs are not run when their connected clients disconnect. This is how the Perl server behaves.
  271. * Changed to named logging macros, making it easier for module writers to use.
  272. * Added persistent queue support with a libdrizzle module. This allows queue storage for both Drizzle and MySQL.
  273. * Added Solaris service scripts (Trond Norbye).
  274. * Fixed rpm building (make rpm).
  275. * Removed AI_V4MAPPED for client/worker connect lookup, not fully supported in all operating systems (like FreeBSD, bug #373060).
  276. * Support for gearmand to bind to multiple addresses.
  277. * Protocol document updates and fixes (Eric Day, Eric Herman).
  278. * Bind to specific hostname in gearmand (Brian Moon).
  279. * Minor cleanup and fixes.
  280. 0.5 - 2009-04-22
  281. * Threaded Gearman job server (gearmand).
  282. * More options to gearmand.
  283. * OSX bug fixes related to poll().
  284. * Fix for bug #357881.
  285. * Man page rework.
  286. 0.4 - 2009-03-30
  287. * New protocol additions such as UNIQ grab and assign for workers.
  288. * Support for high priority background jobs (Brian Moon).
  289. * Support for low priority jobs.
  290. * New priority queue in server to support new protocol options.
  291. * Reworked the unique ID checking in server.
  292. * Added hooks to aid in client memory cleanup.
  293. * Added gearman command line utility to allow you to use clients and workers from the shell.
  294. * Build fixes (Monty Taylor).
  295. * Basic init script added.
  296. * Fixed getopt bugs with variable type and EOF.
  297. 0.3 - 2009-02-05
  298. * Fixed I/O wait bug in packet parse.
  299. * Switched to different autoconf library detection method.
  300. * Added detach option to gearmand, can now run in background.
  301. * Reworked much of the client code for better concurrency and efficiency.
  302. * Added benchmark utilities.
  303. * Added man pages.
  304. * Changed port to new IANA assigned port, 4730.
  305. 0.2 - 2009-01-16
  306. * Improved gearmand efficiency by tracking events and reducing syscalls.
  307. * Reworked most of the worker code, it now reconnects to the job server.
  308. * Added version/bugreport options to gearmand (Brian Moon).
  309. * Fixed bug #315652, libevent usage.
  310. 0.1 - 2009-01-08
  311. * First release.