Date: 11/16/18
- Added instance retrieve and delete methods to clients (#91)
- Logging API now respects all connection parameters (#94)
Date: 10/7/18
- Ability to specify a timeout for Beergarden communication (beer-garden/#87)
parameters
decorator for cleaner command definitions (beer-garden/#82)
- Fixed error when republishing a message to RabbitMQ (beer-garden/#88)
Date: 09/11/18
- Changed Plugin warning type so it won't be displayed by default
Date: 09/5/18
- Added job scheduling capability (beer-garden/#10)
- Added support for authentication / users (beer-garden/#35)
- Plugins will load log level from the environment (bartender/#4)
- RestClient now exposes
base_url
(#58) - SystemClient can wait for a request to complete instead of polling (#54)
- Allowing custom argument parser when loading configuration (#67)
- Support for TLS connections to RabbitMQ (#74)
- Warning for future change to plugin max_concurrent default value (#79)
- Added methods
get_config
to RestClient,can_connect
to EasyClient
- Renamed PluginBase to Plugin (old name is aliased)
Date: 07/11/18
- Current request can be accessed using
self._current_request
(beer-garden/#78)
- Updating import problem from lark-parser #61
- Pinning setup.py versions to prevent future breaks
Date: 06/06/18
- Added has_parent to request model
Date: 4/17/18
- Using simplejson package to fix JSON parsing issue in Python 3.4 & 3.5 (#48, #49)
Date: 4/5/18
- Python 3.4 is now supported (#43)
- Now using Yapconf for configuration parsing (#34)
- Parameter types can now be specified as native Python types (#29)
- Added flag to raise an exception if a request created with
SystemClient
completes with an 'ERROR' status (#28)
- All exceptions now inherit from
BrewtilsException
(#45) - Removed references to
Brewmaster
exception classes (#44) - Requests with JSON
command_type
are smarter about formatting exceptions (#27) - Decorators,
RemotePlugin
, andSystemClient
can now be imported directly from thebrewtils
package
Date: 3/20/18
- Fixed bug where request updating could retry forever (#39)
Date: 3/7/18
- Fixed issue with multi-instance remote plugins failing to initialize (#35)
Date: 2/22/18
- Added
description
keyword argument to@command
decorator
Date: 1/26/18
- Added methods for interacting with the Queue API to RestClient and EasyClient
- Clients and Plugins can now be configured to skip server certificate verification when making HTTPS requests
- Timestamps now have true millisecond precision on platforms that support it
- Added
form_input_type
to Parameter model - Plugins can now be stopped correctly by calling their
_stop
method - Added Event model
- Plugins now additionally look for
ca_cert
andclient_cert
inBG_CA_CERT
andBG_CLIENT_CERT
- Better data integrity by only allowing certain Request status transitions
Date: 1/11/18
- Nested requests that reference a different beer-garden no longer fail
Date: 10/23/17
- Command descriptions can now be changed without updating the System version
- Standardized Remote Plugin logging configuration
- Added domain-specific language for dynamic choices configuration
- Added
metadata
field to Instance model
- Removed some default values from model
__init__
functions - System descriptors (description, display name, icon name, metadata) now always updated during startup
- Requests with output type 'JSON' will now have JSON error messages
- Added license file
Date: 8/25/17
- Added
updated_at
field toRequest
model SystemClient
now allows specifying aclient_cert
RestClient
now reuses the same session for subsequent connectionsSystemClient
can now make non-blocking requestsRestClient
andEasyClient
now support PATCHing aSystem
multithreaded
argument toPluginBase
has been superseded bymax_concurrent
- These decorators are now deprecated
-
@command_registrar
, instead use@system
-@plugin_param
, instead use@parameter
-@register
, instead use@command
- These classes are now deprecated
-
BrewmasterSchemaParser
, instead useSchemaParser
-BrewmasterRestClient
, instead useRestClient
-BrewmasterEasyClient
, instead useEasyClient
-BrewmasterSystemClient
, instead useSystemClient
- Reworked message processing to remove the possibility of a failed request being stuck in
IN_PROGRESS
- Correctly handle custom form definitions with a top-level array
- Smarter reconnect logic when the RabbitMQ connection fails
- Removed dependency on
pyopenssl
so there's need to compile any Python extensions - Request processing now occurs inside of a
ThreadPoolExecutor
thread - Better serialization handling for epoch fields