All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
1.2.2 - 2019-09-20
- Console output colors are now configurable.
- Improved formatting for enabled/available plugin listing from CLI.
- Support for
description
for a Plugin. - More tests for
PluginManager
edge cases. - Documentation improvements.
- Removed "Beta" label in PyPI classifiers.
- Default console output for request data is now white, but configurable.
1.2.1 - 2019-09-17
- Documentation improvements.
- Renamed
Config.click_ctx
toConfig.click_logging
, is now kwarg toConfig
so it can be passed on instantiation.
- Formatting in console output.
1.2.0 - 2019-09-16
- Output of enabled plugins on startup
HookeeManager
class is now available with a simplefrom hookee import HookeeManager
import.HookeeManager
can now be instantiated with aconfig
arg, making integration more accessible.response_callback
as a new config. Not accessible from the command line, meant for integrations, and not compatible with--response
.- When
--response
, a lambda is created forresponse_callback
(in conjunction with--content-type
, if present) and that is now used inPluginManager.run_response_plugins()
. - Documentation improvements.
PluginManager
'sresponse_body
andresponse_content_type
variables have been replaced withresponse_callback
, a lambda that is generated if these configuration values are given.- Removed
PluginManager
'srequest_script
andresponse_script
variables, instead these are added toloaded_plugins
after theirPlugin
is validated and instantiated. - If
hookee
was instantiated via its API rather than from the CLI (i.e.click.Context
isNone
),HookeeManager
throws exceptions andPrintUtil
appends to a logger instead of interacting withclick.Context
orecho
functions.
conf.Context
in favor of usingclick.Context
.- Access to the
click.Context
except inHookeeManager
, which now has its own abstraction around such actions.
1.1.0 - 2019-09-15
- Documentation improvements.
- Default
Context
object inconf
, which is used as the default whenNone
is given toHookeeManager
.
- Renamed
CliManager
class toHookeeManager
. - Renamed
HookeeManager.start()
toHookeeManager.run()
. PluginMananger.enabled_plugins()
no longer sorts the returned list, as plugins should be executed (and listed) in preferred order.
- Build improvements.
1.0.1 - 2019-09-11
--version
arg.- Documentation improvements.
Plugin
class, which is what is now put in topluginmanager.PluginManager.loaded_plugins
.Plugin
objects are now passed around instead ofmodule
objects.
pluginmanager.get_plugins_by_type()
now properly returns alist
, as documented, instead of afilter
.- Plugin validation when
util.get_args()
is called. - Validation to fail when no
response
plugin (or arg override) is given. - Edge cases to properly populate response when it would otherwise be
None
.
1.0.0 - 2019-09-10
- Additional
ngrok
passthrough args:hostname
andhost_header
. - Documentation improvements.
- When calling
update-config
, dashes-
are converted to underscores_
to match the config. - Stability improvements.
0.0.12 - 2019-09-07
- Stable test suite.
- Replaced
response_json
andresponse_xml
plugins withresponse_echo
plugin. - Renamed
--list-plugins
to--available-plugins
.
- Stability improvements.
- Documentation improvements.
0.0.8 - 2019-09-05
- Usage examples to documentation.
- Plugin development documentation.
--request
and--content-type
args to pass response body data directly from the CLI without the need for a plugin or script.
- Replaced underscores with dashes in CLI args.
- Renamed
--request
CLI arg to--request-script
. - Renamed
--response
CLI arg to--response-script
. - Renamed
last_request
config torequest_script
. - Renamed
last_response
config toresponse_script
.
- Documentation improvements.
0.0.7 - 2019-09-03
- Additional
ngrok
passthrough args:region
,subdomain
, andauth
. list-plugins
andenabled-plugins
to the CLI.--request
to the CLI, a Python script whoserun(request)
method will be called by the default/webhook
after all request plugins have run.--response
to the CLI, s Python script whoserun(request, response)
method will be called by the default/webhook
after all response plugins have run.- Better console output.
- API documentation.
- Combined config-related CLI commands into single command,
set-config KEY VALUE
.
- Stability improvements.
0.0.6 - 2019-09-02
- Made Blueprints, request, and response pluggable, support for built-in and custom plugins (in
~/.config/hookee/plugins
by default). - Plugin management system to enable/disable plugins.
- Configuration management system with defaults, overrides in
~/.config/hookee/config.yaml
, and overrides from command line args. - Configuration management of
config.yaml
defaults from the CLI. - Significant refactors to abstract functionality of
cli.py
andmanager.py
, among others. - Documentation now builds and publishes to hookee.readthedocs.io.
- Default config file was not being included in previous packages.
- Build improvements.
0.0.3 - 2019-08-14
- Console output during server/tunnel startup.
- POC implementation of colorful, more organized output.
0.0.2 - 2019-08-12
Manager
to handle state of the Flask server,pyngrok
, tunnel, etc.- POC implementation to dynamically pull in blueprints, request/response processing, etc.
- README improvements for basic usage.