All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
- Documentation improvements.
2.3.7 - 2024-11-21
--default-route
can be regex pattern, allowing for more flexible route matching.ngrok
tunnel can now be disabled by passing--no-tunnel
to CLI.
- CLI arg
--host_header
is now--host-header
, matching other args.
2.3.6 - 2024-11-20
- Let the default route (
/webhook
) be set in the config withdefault_route
or passed via the CLI with--default-route
.
2.3.5 - 2024-04-09
- Added support for
ngrok
v3 parametersdomain
andbasic_auth
. Backwards compatible with legacy parametershostname
andauth
. - Build improvements.
2.3.4 - 2024-03-24
- Build and stability improvements.
2.3.3 - 2024-03-05
- Build and style improvements.
conf.VERSION
, moved all version information tohookee/__init__.py
. Get package version withfrom hookee import __version__
instead.
2.3.2 - 2024-02-26
- Build improvements.
- Renamed
make check-style
tomake check
.
2.3.1 - 2024-02-01
- Relative dependency pinning in
pyproject.toml
. - Style and stability improvements (check
flake8
withmake check-style
).
requirements.txt
files to streamline in topyproject.toml
.
2.3.0 - 2024-02-09
- Support for Flask > 1.x.
authtoken
command to set token value in config from CLI.
- Documentation improvements.
- Pinned dependencies of
MarkupSafe
,Jinja2
,itsdangerous
,werkzeug
, now that Flask 2.x and 3.x are supported.
2.2.5 - 2024-02-09
- Broken version string on CLI.
- Inconsistent version pinning.
2.2.4 - 2024-02-08
- Migrated to
pyproject.toml
.
2.2.3 - 2024-02-08
- Build improvements.
2.2.2 - 2024-02-06
- Build improvements.
2.2.1 - 2024-02-03
- Build improvements.
2.2.0 - 2024-02-02
- Support for Python 3.7 and below.
2.1.1 - 2023-12-27
- If a value for
auth_token
is not set inConfig
, it will attempt to use the environment variableNGROK_AUTHTOKEN
if it is set. - Build improvements.
2.1.0 - 2023-12-04
- Build improvements, including
wheel
support.
- Bumped
pyngrok
version required to >7.0.0.
- Support for Python 3.5.
2.0.8 - 2023-04-22
- Use
parseString
fromdefusedxml
instead ofxml.dom.minidom
for improved security.
2.0.7 - 2022-12-05
- Default port to
8000
, as previous default of5000
is now used by Apple's AirPlay Receiver.
- Build improvements.
- Documentation improvements.
2.0.6 - 2021-03-08
- Build improvements.
2.0.3 - 2021-03-02
- Migrated build from Travis CI to GitHub Actions.
- Build improvements.
2.0.2 - 2020-12-28
- Build improvements.
- Changelog improvements.
2.0.0 - 2020-10-25
- Support for Python 2.7. To use
hookee
with Python 2.7, pinhookee>=1.2,<2
.
1.2.5 - 2020-10-15
- Build improvements.
- Documentation improvements.
1.2.4 - 2020-10-11
- Build improvements.
- Logging improvements.
1.2.3 - 2020-10-03
- Logging improvements.
- Documentation improvements.
1.2.2 - 2020-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 - 2020-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 - 2020-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 - 2020-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()
. PluginManager.enabled_plugins()
no longer sorts the returned list, as plugins should be executed (and listed) in preferred order.
- Build improvements.
1.0.1 - 2020-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 - 2020-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 - 2020-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 - 2020-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 - 2020-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 - 2020-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 - 2020-08-14
- Console output during server/tunnel startup.
- POC implementation of colorful, more organized output.
0.0.2 - 2020-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.