|
@@ -5,334 +5,317 @@
|
|
|
================
|
|
|
|
|
|
This document contains change notes for bugfix releases in
|
|
|
-the 4.1.x series (latentcall), please see :ref:`whatsnew-4.1` for
|
|
|
-an overview of what's new in Celery 4.1.
|
|
|
+the 4.x series, please see :ref:`whatsnew-4.2` for
|
|
|
+an overview of what's new in Celery 4.2.
|
|
|
|
|
|
-Unreleased
|
|
|
-==========
|
|
|
+4.2.0
|
|
|
+=====
|
|
|
|
|
|
-- **Canvas**: request on_timeout now ignores soft time limit exception
|
|
|
- to give a chance for task to recover.
|
|
|
+- **Documentation/Sphinx**: Teach autodoc to document tasks if undoc-members is not set (#4588)
|
|
|
|
|
|
- Contributed by **Alex Garel**
|
|
|
+ Contributed by **Leo Singer**.
|
|
|
|
|
|
+- **Documentation/Sphinx**: Put back undoc-members option in sphinx test (#4586)
|
|
|
|
|
|
-.. _version-4.1.0:
|
|
|
+ Contributed by **Leo Singer**.
|
|
|
|
|
|
-4.1.0
|
|
|
-=====
|
|
|
-:release-date: 2017-07-25 00:00 PM PST
|
|
|
-:release-by: Omer Katz
|
|
|
+- **Documentation/Sphinx**: Sphinx autodoc picks up tasks automatically only if `undoc-members` is set (#4584)
|
|
|
+
|
|
|
+ Contributed by **Leo Singer**.
|
|
|
|
|
|
+- **Task**: Fix shadow_name issue when using previous version Task class (#4572)
|
|
|
|
|
|
-- **Configuration**: CELERY_SEND_EVENTS instead of CELERYD_SEND_EVENTS for 3.1.x compatibility (#3997)
|
|
|
+ Contributed by :github_user:`pachewise`.
|
|
|
|
|
|
- Contributed by **abhinav nilaratna**.
|
|
|
+- **Task**: Add support for bound tasks as `link_error` parameter (Fixes #3723) (#4545)
|
|
|
|
|
|
-- **App**: Restore behavior so Broadcast queues work. (#3934)
|
|
|
+ Contributed by :github_user:`brabiega`.
|
|
|
|
|
|
- Contributed by **Patrick Cloke**.
|
|
|
+- **Deployment**: Add a command line option for setting the Result Backend URL (#4549)
|
|
|
|
|
|
-- **Sphinx**: Make appstr use standard format (#4134) (#4139)
|
|
|
+ Contributed by :github_user:`y0ngdi`.
|
|
|
|
|
|
- Contributed by **Preston Moore**.
|
|
|
+- **CI**: Enable pip cache in appveyor build (#4546)
|
|
|
|
|
|
-- **App**: Make id, name always accessible from logging.Formatter via extra (#3994)
|
|
|
+ Contributed by **Thijs Triemstra**.
|
|
|
|
|
|
- Contributed by **Yoichi NAKAYAMA**.
|
|
|
+- **Concurrency/Asynpool**: Fix errno property name shadowing.
|
|
|
|
|
|
-- **Worker**: Add worker_shutting_down signal (#3998)
|
|
|
+ Contributed by **Omer Katz**.
|
|
|
|
|
|
- Contributed by **Daniel Huang**.
|
|
|
+- **DynamoDB Backend**: Configurable endpoint URL (#4532)
|
|
|
|
|
|
-- **PyPy**: Support PyPy version 5.8.0 (#4128)
|
|
|
+ Contributed by **Bohdan Rybak**.
|
|
|
|
|
|
- Contributed by **Omer Katz**.
|
|
|
+- **Timezones**: Correctly detect UTC timezone and timezone from settings (Fixes #4517) (#4519)
|
|
|
|
|
|
-- **Results**: Elasticsearch: Fix serializing keys (#3924)
|
|
|
+ Contributed by :github_user:`last-partizan`.
|
|
|
|
|
|
- Contributed by :github_user:`staticfox`.
|
|
|
+- **Control**: Cleanup the mailbox's producer pool after forking (#4472)
|
|
|
|
|
|
-- **Canvas**: Deserialize all tasks in a chain (#4015)
|
|
|
+ Contributed by **Nick Eaket**.
|
|
|
|
|
|
- Contributed by :github_user:`fcoelho`.
|
|
|
+- **Documentation**: Start Celery and Celery Beat on Azure WebJob (#4484)
|
|
|
|
|
|
-- **Systemd**: Recover loglevel for ExecStart in systemd config (#4023)
|
|
|
+ Contributed by **PauloPeres**.
|
|
|
|
|
|
- Contributed by **Yoichi NAKAYAMA**.
|
|
|
+- **Celery Beat**: Schedule due tasks on startup, after Beat restart has occurred (#4493)
|
|
|
|
|
|
-- **Sphinx**: Use the Sphinx add_directive_to_domain API. (#4037)
|
|
|
+ Contributed by **Igor Kasianov**.
|
|
|
|
|
|
- Contributed by **Patrick Cloke**.
|
|
|
+- **Worker**: Use absolute time when task is accepted by worker pool (#3684)
|
|
|
|
|
|
-- **App**: Pass properties to before_task_publish signal (#4035)
|
|
|
+ Contributed by **Régis Behmo**.
|
|
|
|
|
|
- Contributed by **Javier Domingo Cansino**.
|
|
|
+- **Canvas**: Propagate arguments to chains inside groups (#4481)
|
|
|
|
|
|
-- **Results**: Add SSL option for Redis backends (#3831)
|
|
|
+ Contributed by **Chris Mitchell**.
|
|
|
|
|
|
- Contributed by **Chris Kuehl**.
|
|
|
+- **Canvas**: Fix `Task.replace` behavior in nested chords (fixes #4368) (#4369)
|
|
|
|
|
|
-- **Beat**: celery.schedule.crontab: fix reduce (#3826) (#3827)
|
|
|
+ Contributed by **Denis Shirokov** & **Alex Hill**.
|
|
|
|
|
|
- Contributed by **Taylor C. Richberger**.
|
|
|
+- **Installation**: Pass python_requires argument to setuptools (#4479)
|
|
|
|
|
|
-- **State**: Fix celery issues when using flower REST API
|
|
|
+ Contributed by **Jon Dufresne**.
|
|
|
|
|
|
- Contributed by **Thierry RAMORASOAVINA**.
|
|
|
+- **Message Protocol Compatibility**: Handle "hybrid" messages that have moved between Celery versions (#4358) (Issue #4356)
|
|
|
|
|
|
-- **Results**: Elasticsearch: Fix serializing document id.
|
|
|
+ Contributed by **Russell Keith-Magee**.
|
|
|
|
|
|
- Contributed by **Acey9**.
|
|
|
+- **Canvas**: request on_timeout now ignores soft time limit exception (fixes #4412) (#4473)
|
|
|
|
|
|
-- **Beat**: Make shallow copy of schedules dictionary
|
|
|
+ Contributed by **Alex Garel**.
|
|
|
|
|
|
- Contributed by **Brian May**.
|
|
|
+- **Redis Result Backend**: Integration test to verify PubSub unsubscriptions (#4468)
|
|
|
|
|
|
-- **Beat**: Populate heap when periodic tasks are changed
|
|
|
+ Contributed by **George Psarakis**.
|
|
|
|
|
|
- Contributed by **Wojciech Żywno**.
|
|
|
+- **Message Protocol Properties**: Allow the shadow keyword argument and the shadow_name method to set shadow properly (#4381)
|
|
|
|
|
|
-- **Task**: Allow class methods to define tasks (#3952)
|
|
|
+ Contributed by :github_user:`hclihn`.
|
|
|
|
|
|
- Contributed by **georgepsarakis**.
|
|
|
+- **Canvas**: Run chord_unlock on same queue as chord body (#4448) (Issue #4337)
|
|
|
|
|
|
-- **Platforms**: Always return boolean value when checking if signal is supported (#3962).
|
|
|
+ Contributed by **Alex Hill**.
|
|
|
|
|
|
- Contributed by **Jian Yu**.
|
|
|
+- **Canvas**: Support chords with empty header group (#4443)
|
|
|
|
|
|
-- **Canvas**: Avoid duplicating chains in chords (#3779)
|
|
|
+ Contributed by **Alex Hill**.
|
|
|
|
|
|
- Contributed by **Ryan Hiebert**.
|
|
|
+- **Timezones**: make astimezone call in localize more safe (#4324)
|
|
|
|
|
|
-- **Canvas**: Lookup task only if list has items (#3847)
|
|
|
+ Contributed by **Matt Davis**.
|
|
|
|
|
|
- Contributed by **Marc Gibbons**.
|
|
|
+- **Canvas**: Fix length-1 and nested chords (#4437) (Issues #4393, #4055, #3885, #3597, #3574, #3323, #4301)
|
|
|
|
|
|
-- **Results**: Allow unicode message for exception raised in task (#3903)
|
|
|
+ Contributed by **Alex Hill**.
|
|
|
|
|
|
- Contributed by **George Psarakis**.
|
|
|
+- **CI**: Run `Openstack Bandit<https://pypi.python.org/pypi/bandit/1.0.1>`_ in Travis CI in order to detect security issues.
|
|
|
|
|
|
-- **Python3**: Support for Python 3.6 (#3904, #3903, #3736)
|
|
|
+ Contributed by **Omer Katz**.
|
|
|
|
|
|
- Contributed by **Jon Dufresne**, **George Psarakis**, **Asif Saifuddin Auvi**, **Omer Katz**.
|
|
|
+- **CI**: Run `isort<https://github.com/timothycrosley/isort>`_ in Travis CI in order to lint Python **import** statements.
|
|
|
|
|
|
-- **App**: Fix retried tasks with expirations (#3790)
|
|
|
+ Contributed by **Omer Katz**.
|
|
|
|
|
|
- Contributed by **Brendan MacDonell**.
|
|
|
+- **Canvas**: Resolve TypeError on `.get` from nested groups (#4432) (Issue #4274)
|
|
|
|
|
|
-- * Fixes items format route in docs (#3875)
|
|
|
+ Contributed by **Misha Wolfson**.
|
|
|
|
|
|
- Contributed by **Slam**.
|
|
|
+- **CouchDB Backend**: Correct CouchDB key string type for Python 2/3 compatibility (#4166)
|
|
|
|
|
|
-- **Utils**: Fix maybe_make_aware (#3850)
|
|
|
+ Contributed by :github_user:`fmind` && **Omer Katz**.
|
|
|
|
|
|
- Contributed by **Taylor C. Richberger**.
|
|
|
+- **Group Result**: Fix current_app fallback in GroupResult.restore() (#4431)
|
|
|
|
|
|
-- **Task**: Fix task ETA issues when timezone is defined in configuration (#3867)
|
|
|
+ Contributed by **Alex Hill**.
|
|
|
|
|
|
- Contributed by **George Psarakis**.
|
|
|
+- **Consul Backend**: Correct key string type for Python 2/3 compatibility (#4416)
|
|
|
|
|
|
-- **Concurrency**: Consumer does not shutdown properly when embedded in gevent application (#3746)
|
|
|
+ Contributed by **Wido den Hollander**.
|
|
|
|
|
|
- Contributed by **Arcadiy Ivanov**.
|
|
|
+- **Group Result**: Correctly restore an empty GroupResult (#2202) (#4427)
|
|
|
|
|
|
-- **Canvas**: Fix #3725: Task replaced with group does not complete (#3731)
|
|
|
+ Contributed by **Alex Hill** & **Omer Katz**.
|
|
|
|
|
|
- Contributed by **Morgan Doocy**.
|
|
|
+- **Result**: Disable synchronous waiting for sub-tasks on eager mode(#4322)
|
|
|
|
|
|
-- **Task**: Correct order in chains with replaced tasks (#3730)
|
|
|
+ Contributed by **Denis Podlesniy**.
|
|
|
|
|
|
- Contributed by **Morgan Doocy**.
|
|
|
+- **Celery Beat**: Detect timezone or Daylight Saving Time changes (#1604) (#4403)
|
|
|
|
|
|
-- **Result**: Enable synchronous execution of sub-tasks (#3696)
|
|
|
+ Contributed by **Vincent Barbaresi**.
|
|
|
|
|
|
- Contributed by **shalev67**.
|
|
|
+- **Canvas**: Fix append to an empty chain. Fixes #4047. (#4402)
|
|
|
|
|
|
-- **Task**: Fix request context for blocking task apply (added hostname) (#3716)
|
|
|
+ Contributed by **Omer Katz**.
|
|
|
|
|
|
- Contributed by **Marat Sharafutdinov**.
|
|
|
+- **Task**: Allow shadow to override task name in trace and logging messages. (#4379)
|
|
|
|
|
|
-- **Utils**: Fix task argument handling (#3678) (#3693)
|
|
|
+ Contributed by :github_user:`hclihn`.
|
|
|
|
|
|
- Contributed by **Roman Sichny**.
|
|
|
+- **Documentation/Sphinx**: Fix getfullargspec Python 2.x compatibility in contrib/sphinx.py (#4399)
|
|
|
|
|
|
-- **Beat**: Provide a transparent method to update the Scheduler heap (#3721)
|
|
|
+ Contributed by **Javier Martin Montull**.
|
|
|
|
|
|
- Contributed by **Alejandro Pernin**.
|
|
|
+- **Documentation**: Updated installation instructions for SQS broker (#4382)
|
|
|
|
|
|
-- **Beat**: Specify default value for pidfile option of celery beat. (#3722)
|
|
|
+ Contributed by **Sergio Fernandez**.
|
|
|
|
|
|
- Contributed by **Arnaud Rocher**.
|
|
|
+- **Celery Beat**: Better equality comparison for ScheduleEntry instances (#4312)
|
|
|
|
|
|
-- **Results**: Elasticsearch: Stop generating a new field every time when a new result is being put (#3708)
|
|
|
+ Contributed by :github_user:`mariia-zelenova`.
|
|
|
|
|
|
- Contributed by **Mike Chen**.
|
|
|
+- **Task**: Adding 'shadow' property to as_task_v2 (#4350)
|
|
|
|
|
|
-- **Requirements**
|
|
|
+ Contributed by **Marcelo Da Cruz Pinto**.
|
|
|
|
|
|
- - Now depends on :ref:`Kombu 4.1.0 <kombu:version-4.1.0>`.
|
|
|
+- Try to import directly, do not use deprecated imp method (#4216)
|
|
|
|
|
|
-- **Results**: Elasticsearch now reuses fields when new results are added.
|
|
|
+ Contributed by **Tobias Kunze**.
|
|
|
|
|
|
- Contributed by **Mike Chen**.
|
|
|
+- **Task**: Enable `kwargsrepr` and `argsrepr` override for modifying task argument representation (#4260)
|
|
|
|
|
|
-- **Results**: Fixed MongoDB integration when using binary encodings
|
|
|
- (Issue #3575).
|
|
|
+ Contributed by **James M. Allen**.
|
|
|
|
|
|
- Contributed by **Andrew de Quincey**.
|
|
|
+- **Result Backend**: Add Redis Sentinel backend (#4144)
|
|
|
|
|
|
-- **Worker**: Making missing ``*args`` and ``**kwargs`` in Task protocol 1
|
|
|
- return empty value in protocol 2 (Issue #3687).
|
|
|
+ Contributed by **Geoffrey Bauduin**.
|
|
|
|
|
|
- Contributed by **Roman Sichny**.
|
|
|
+- Use unique time values for Collections/LimitedSet (#3879 and #3891) (#3892)
|
|
|
|
|
|
-- **App**: Fixed :exc:`TypeError` in AMQP when using deprecated signal
|
|
|
- (Issue #3707).
|
|
|
+ Contributed by :github_user:`lead2gold`.
|
|
|
|
|
|
- Contributed by :github_user:`michael-k`.
|
|
|
+- **CI**: Report coverage for all result backends.
|
|
|
|
|
|
-- **Beat**: Added a transparent method to update the scheduler heap.
|
|
|
+ Contributed by **Omer Katz**.
|
|
|
|
|
|
- Contributed by **Alejandro Pernin**.
|
|
|
+- **Django**: Use Django DB max age connection setting (fixes #4116) (#4292)
|
|
|
|
|
|
-- **Task**: Fixed handling of tasks with keyword arguments on Python 3
|
|
|
- (Issue #3657).
|
|
|
+ Contributed by **Marco Schweighauser**.
|
|
|
|
|
|
- Contributed by **Roman Sichny**.
|
|
|
+- **Canvas**: Properly take into account chain tasks link_error (#4240)
|
|
|
|
|
|
-- **Task**: Fixed request context for blocking task apply by adding missing
|
|
|
- hostname attribute.
|
|
|
+ Contributed by :github_user:`agladkov`.
|
|
|
|
|
|
- Contributed by **Marat Sharafutdinov**.
|
|
|
+- **Canvas**: Allow to create group with single task (fixes issue #4255) (#4280)
|
|
|
|
|
|
-- **Task**: Added option to run subtasks synchronously with
|
|
|
- ``disable_sync_subtasks`` argument.
|
|
|
+ Contributed by :github_user:`agladkov`.
|
|
|
|
|
|
- Contributed by :github_user:`shalev67`.
|
|
|
+- **Canvas**: Copy dictionary parameter in chord.from_dict before modifying (fixes issue #4223) (#4278)
|
|
|
|
|
|
-- **App**: Fixed chaining of replaced tasks (Issue #3726).
|
|
|
+ Contributed by :github_user:`agladkov`.
|
|
|
|
|
|
- Contributed by **Morgan Doocy**.
|
|
|
+- **Results Backend**: Add Cassandra options (#4224)
|
|
|
|
|
|
-- **Canvas**: Fixed bug where replaced tasks with groups were not completing
|
|
|
- (Issue #3725).
|
|
|
+ Contributed by **Scott Cooper**.
|
|
|
|
|
|
- Contributed by **Morgan Doocy**.
|
|
|
+- **Worker**: Apply rate limiting for tasks with ETA (#4251)
|
|
|
|
|
|
-- **Worker**: Fixed problem where consumer does not shutdown properly when
|
|
|
- embedded in a gevent application (Issue #3745).
|
|
|
+ Contributed by :github_user:`arpanshah29`.
|
|
|
|
|
|
- Contributed by **Arcadiy Ivanov**.
|
|
|
+- **Celery Beat**: support scheduler entries without a schedule (#4235)
|
|
|
|
|
|
-- **Results**: Added support for using AWS DynamoDB as a result backend (#3736).
|
|
|
+ Contributed by **Markus Kaiserswerth**.
|
|
|
|
|
|
- Contributed by **George Psarakis**.
|
|
|
+- **SQS Broker**: Updated SQS requirements file with correct boto3 version (#4231)
|
|
|
|
|
|
-- **Testing**: Added caching on pip installs.
|
|
|
+ Contributed by **Alejandro Varas**.
|
|
|
|
|
|
- Contributed by :github_user:`orf`.
|
|
|
+- Remove unused code from _create_app contextmanager (#4204)
|
|
|
|
|
|
-- **Worker**: Prevent consuming queue before ready on startup (Issue #3620).
|
|
|
+ Contributed by **Ryan P Kilby**.
|
|
|
|
|
|
- Contributed by **Alan Hamlett**.
|
|
|
+- **Group Result**: Modify GroupResult.as_tuple() to include parent (fixes #4106) (#4205)
|
|
|
|
|
|
-- **App**: Fixed task ETA issues when timezone is defined in configuration
|
|
|
- (Issue #3753).
|
|
|
+ Contributed by :github_user:`pachewise`.
|
|
|
|
|
|
- Contributed by **George Psarakis**.
|
|
|
+- **Beat**: Set default scheduler class in beat command. (#4189)
|
|
|
|
|
|
-- **Utils**: ``maybe_make_aware`` should not modify datetime when it is
|
|
|
- already timezone-aware (Issue #3849).
|
|
|
+ Contributed by :github_user:`Kxrr`.
|
|
|
|
|
|
- Contributed by **Taylor C. Richberger**.
|
|
|
+- **Worker**: Retry signal receiver after raised exception (#4192)
|
|
|
|
|
|
-- **App**: Fixed retrying tasks with expirations (Issue #3734).
|
|
|
+ Contributed by **David Davis**.
|
|
|
|
|
|
- Contributed by **Brendan MacDonell**.
|
|
|
+- **Task**: Allow custom Request class for tasks (#3977)
|
|
|
|
|
|
-- **Results**: Allow unicode message for exceptions raised in task
|
|
|
- (Issue #3858).
|
|
|
+ Contributed by **Manuel Vázquez Acosta**.
|
|
|
|
|
|
- Contributed by :github_user:`staticfox`.
|
|
|
+- **Django**: Django fixup should close all cache backends (#4187)
|
|
|
|
|
|
-- **Canvas**: Fixed :exc:`IndexError` raised when chord has an empty header.
|
|
|
+ Contributed by **Raphaël Riel**.
|
|
|
|
|
|
- Contributed by **Marc Gibbons**.
|
|
|
+- **Deployment**: Adds stopasgroup to the supervisor scripts (#4200)
|
|
|
|
|
|
-- **Canvas**: Avoid duplicating chains in chords (Issue #3771).
|
|
|
+ Contributed by :github_user:`martialp`.
|
|
|
|
|
|
- Contributed by **Ryan Hiebert** and **George Psarakis**.
|
|
|
+- Using Exception.args to serialize/deserialize exceptions (#4085)
|
|
|
|
|
|
-- **Utils**: Allow class methods to define tasks (Issue #3863).
|
|
|
+ Contributed by **Alexander Ovechkin**.
|
|
|
+
|
|
|
+- **Timezones**: Correct calculation of application current time with timezone (#4173)
|
|
|
|
|
|
Contributed by **George Psarakis**.
|
|
|
|
|
|
-- **Beat**: Populate heap when periodic tasks are changed.
|
|
|
+- **Remote Debugger**: Set the SO_REUSEADDR option on the socket (#3969)
|
|
|
+
|
|
|
+ Contributed by **Theodore Dubois**.
|
|
|
+
|
|
|
+- **Django**: Celery ignores exceptions raised during `django.setup()` (#4146)
|
|
|
|
|
|
- Contributed by :github_user:`wzywno` and **Brian May**.
|
|
|
+ Contributed by **Kevin Gu**.
|
|
|
|
|
|
-- **Results**: Added support for Elasticsearch backend options settings.
|
|
|
+- Use heartbeat setting from application configuration for Broker connection (#4148)
|
|
|
|
|
|
- Contributed by :github_user:`Acey9`.
|
|
|
+ Contributed by :github_user:`mperice`.
|
|
|
|
|
|
-- **Events**: Ensure ``Task.as_dict()`` works when not all information about
|
|
|
- task is available.
|
|
|
+- **Celery Beat**: Fixed exception caused by next_transit receiving an unexpected argument. (#4103)
|
|
|
|
|
|
- Contributed by :github_user:`tramora`.
|
|
|
+ Contributed by **DDevine**.
|
|
|
|
|
|
-- **Schedules**: Fixed pickled crontab schedules to restore properly (Issue #3826).
|
|
|
+- Introduce exponential backoff with Task auto-retry (#4101)
|
|
|
|
|
|
- Contributed by **Taylor C. Richberger**.
|
|
|
+ Contributed by **David Baumgold**.
|
|
|
|
|
|
-- **Results**: Added SSL option for redis backends (Issue #3830).
|
|
|
+- **AsyncResult**: Remove weak-references to bound methods in AsyncResult promises. (#4131)
|
|
|
|
|
|
- Contributed by **Chris Kuehl**.
|
|
|
+ Contributed by **Vinod Chandru**.
|
|
|
|
|
|
-- Documentation and examples improvements by:
|
|
|
+Documentation, CI, Installation and Tests fixes:
|
|
|
|
|
|
- - **Bruno Alla**
|
|
|
- - **Jamie Alessio**
|
|
|
- - **Vivek Anand**
|
|
|
- - **Peter Bittner**
|
|
|
- - **Kalle Bronsen**
|
|
|
+
|
|
|
+ - **Sammie S. Taunton**
|
|
|
+ - **Dan Wilson**
|
|
|
+ - :github_user:`pachewise`
|
|
|
+ - **Sergi Almacellas Abellana**
|
|
|
+ - **Omer Katz**
|
|
|
+ - **Alex Zaitsev**
|
|
|
+ - **Leo Singer**
|
|
|
+ - **Rachel Johnson**
|
|
|
- **Jon Dufresne**
|
|
|
- - **James Michael DuPont**
|
|
|
- - **Sergey Fursov**
|
|
|
- **Samuel Dion-Girardeau**
|
|
|
- - **Daniel Hahler**
|
|
|
- - **Mike Helmick**
|
|
|
- - **Marc Hörsken**
|
|
|
- - **Christopher Hoskin**
|
|
|
- - **Daniel Huang**
|
|
|
- - **Primož Kerin**
|
|
|
- - **Michal Kuffa**
|
|
|
- - **Simon Legner**
|
|
|
- - **Anthony Lukach**
|
|
|
- - **Ed Morley**
|
|
|
- - **Jay McGrath**
|
|
|
- - **Rico Moorman**
|
|
|
- - **Viraj Navkal**
|
|
|
- - **Ross Patterson**
|
|
|
- - **Dmytro Petruk**
|
|
|
- - **Luke Plant**
|
|
|
- - **Eric Poelke**
|
|
|
- - **Salvatore Rinchiera**
|
|
|
- - **Arnaud Rocher**
|
|
|
- - **Kirill Romanov**
|
|
|
- - **Simon Schmidt**
|
|
|
- - **Tamer Sherif**
|
|
|
- - **YuLun Shih**
|
|
|
- - **Ask Solem**
|
|
|
- - **Tom 'Biwaa' Riat**
|
|
|
- - **Arthur Vigil**
|
|
|
- - **Joey Wilhelm**
|
|
|
- - **Jian Yu**
|
|
|
- - **YuLun Shih**
|
|
|
- - **Arthur Vigil**
|
|
|
- - **Joey Wilhelm**
|
|
|
- - :github_user:`baixuexue123`
|
|
|
- - :github_user:`bronsen`
|
|
|
+ - **Ryan Guest**
|
|
|
+ - **Huang Huang**
|
|
|
+ - **Geoffrey Bauduin**
|
|
|
+ - **Andrew Wong**
|
|
|
+ - **Mads Jensen**
|
|
|
+ - **Jackie Leng**
|
|
|
+ - **Harry Moreno**
|
|
|
- :github_user:`michael-k`
|
|
|
- - :github_user:`orf`
|
|
|
- - :github_user:`3lnc`
|
|
|
+ - **Nicolas Mota**
|
|
|
+ - **Armenak Baburyan**
|
|
|
+ - **Patrick Zhang**
|
|
|
+ - :github_user:`anentropic`
|
|
|
+ - :github_user:`jairojair`
|
|
|
+ - **Ben Welsh**
|
|
|
+ - **Michael Peake**
|
|
|
+ - **Fengyuan Chen**
|
|
|
+ - :github_user:`arpanshah29`
|
|
|
+ - **Xavier Hardy**
|
|
|
+ - **Shitikanth**
|
|
|
+ - **Igor Kasianov**
|
|
|
+ - **John Arnold**
|
|
|
+ - :github_user:`dmollerm`
|
|
|
+
|