Changelog
All notable changes to tomcatmanager are documented in this file.
This project uses Semantic Versioning and the format of this file follows recommendations from Keep a Changelog.
5.0.0 (2021-11-19)
Added
Support for Python 3.10
Cross-reference links to Requests and standard library documentation
Removed
Support for Python 3.6, which will not receive security fixes after 2021-12-23. Python 3.6 should still work for now, but we no longer test against it.
Fixed
TomcatManager.is_connected() now returns
True
orFalse
instead of truthy or falsy valuesFix interactive
py
andpyscript
commands which were broken by upstream changes in cmd2 version 2.0
4.0.0 (2021-08-26)
Added
Add
py.typed
file to make type annotations work properly per PEP 516Add documentation showing how to specify tomcatmanager as a dependency in your package
Removed
Support for Tomcat 7, which is no longer supported or available for download
Fixed
Fixed bug when parsing authentication credentials on the shell command line to
tomcat-manager
3.0.0 (2021-05-04)
Added
Support for discovering and exposing the version of the Tomcat server we are connected to in the API. See TomcatManager.connect(), TomcatManager.implements(), and TomcatManager.implemented_by().
TomcatMajorMinor enumeration for supported versions of Tomcat. Major and minor have the meaning defined at https://semver.org/.
TomcatManager.tomcat_major_minor attribute which contains one of the values from TomcatMajorMinor representing the version of the Tomcat server we are connected to.
Control server SSL/TLS certificate validation using the new
verify
parameter to TomcatManager.connect(). Also available from the command-line and interactive mode using the--cacert
and--noverify
options of theconnect
command.Client side SSL/TLS certificate authentication added to TomcatManager.connect() via the
cert
parameter. Also available from the command line and interactive mode using the--cert
and--key
options of theconnect
command.Documentation explaining all authentication approaches with configuration and usage examples.
Documentation for migrating from 2.x to 3.x.
Changed
TomcatManager methods raise TomcatNotConnected if called before connect(). Previously you got a TomcatManagerResponse and had to call raise_for_status() or check ok in order to determine that you weren’t connected.
TomcatManager.url and TomcatManager.user are now read-only properties set by TomcatManager.connect().
TomcatManager methods raise TomcatNotImplementedError if the server does not implement the requested capability. For example ssl_reload() is not implemented by Tomcat 7.0.x or 8.0.x, so if you are connected to a Tomcat 7.0.x server and call ssl_reload(), TomcatNotImplementedError will be raised.
Timeouts were previously
int
only, now they can befloat
The
timeout
parameter to TomcatManager.connect() is now keyword only.
Fixed
TomcatManager.connect() no longer erroneously sets the url and user attributes if an exception is raised.
Allow
--timeout=0
from the command line if you want to wait forever for network operations.
2.0.0 (2021-03-26)
Added
Support for Python 3.9
Support for Tomcat 10
New methods on TomcatManager:
ssl_connector_certs()
,ssl_connector_trusted_certs()
, andssl_reload()
New commands in
tomcat-manager
:sslconnectorcerts
,sslconnectortrustedcerts
andsslreload
Documentation for migrating from 1.x to 2.x
Changed
TomcatApplication.state
now contains anEnum
instead of anAttrDict
The
tomcatmanager.application_states
dict has been replaced by thetomcatmanager.ApplicationState
enumTimeouts can now be
float
instead ofint
Improved documentation for network timeouts
Removed
Support for Python 3.5, which as of 2020-09-13 no longer receives security updates
Dependency on
attrdict
module, which has been archived
1.0.2 (2020-03-05)
Changed
upstream
cmd2
library released v1.0.0. Now requirecmd2>=1,<2
.
Fixed
timeout command line and setting was not being honored
1.0.1 (2020-02-21)
Changed
cmd2=0.10
changed the way settings work. We now require that version or higher.
1.0.0 (2020-02-01)
Changed
Switch documentation theme from
alabaster
tosphinx_rtd_theme
Added
Already have a setting to control network timeouts. Added a command line option
--timeout
to do the same, making it easier for modify for command-line only use.Adjustments for upstream changes in
cmd2
. No longer pinned tocmd2=0.9.4
, but requirecmd2>=0.9.14
.Add support for Python 3.8.
Add documentation style checking using
doc8
.
Removed
Drop support for Python 3.4, which reached end-of-life on Mar 18, 2019.
0.14.0 (2019-05-16)
Changed
invoke clean.pycache
is nowinvoke clean.bytecode
Run tests using python 3.7 on Appveyor and Travis
Source code has been moved inside of
src
directoryPin cmd2 to version 0.9.4; newer versions break us badly
0.13.0 (2018-07-06)
Added
In the interactive
tomcat-manager
tool, the history of previously executed commands is now persistent across invocations of the program.Added common developer tasks to
tasks.py
. To run these tasks, use theinvoke
command provided by pyinvoke.Tomcat 9.0.x officially supported. No material changes were required to gain this support, just validation via the test suite.
Type hinting added for enhanced developer productivity in most IDE’s
Full support for Python 3.7
Changed
ServerInfo.__init__()
no longer accepts the result as a positional argument: it must be a keyword argument.
Fixed
0.12.0 (2018-02-23)
Added
You can now deploy applications via a context xml file. A new interactive command
deploy context
and a new methoddeploy_servercontext()
provide this capability.
Changed
Better help messages in the interactive
tomcat-manager
tooldeploy()
has been replaced by three new methods:deploy_localwar()
,deploy_serverwar()
, anddeploy_servercontext()
.Commands which use an optional version parameter now use a
-v
option to specify the versionMost commands now have
-h
/--help
options
0.11.0 (2017-09-06)
Added
New command line switches for
tomcat-manager
:--quiet
,--echo
,--status_to_stdout
New setting
status_prefix
contains the string to emit prior to all status messagesNew class
TomcatApplication
Changed
If we get an http redirect during
TomcatManager.connect()
, save the new url so we don’t have to re-traverse the redirect on every command.Interactive
list
command now can filter by application state, and has two sort options.TomcatManager._user
is nowTomcatManager.user
TomcatManager._url
is nowTomcatManager.url
TomcatManager.list()
now returns a list ofTomcatApplication
objectsRenamed
tm.codes
totm.status_codes
to clarify the purpose
0.10.0 (2017-08-24)
Added
CHANGELOG.rst
documentation for interactive mode
documentation for use from the shell command line
read settings from a config file
add
config
command which allows user to edit config fileserver shortcuts: save url, user, and password in config file
which
command to show which tomcat server you are connected totimeout
setting for HTTP timeoutsrestart
command as synonym forreload
Add tox for testing against multiple versions of python
Changed
status
command now pretty prints the xml responseTomcatManager.__init__
no long accepts paramemeters: useconnect
insteadTomcatManager
methods which act on apps (deploy
,sessions
,stop
, etc.) now throw exceptions if no path is specified. Previously they returned a response withr.ok == False
0.9.2 (2017-08-16)
Added
new TomcatManager.connect() method
lots more documentation
pytest now runs doctests
Changed
version numbers now provided by
setuptools_scm
0.9.1 (2017-08-10)
Changed
New release to practice packaging and distribution
0.9.0 (2017-08-10)
Added
Converted from a single script to an installable python package
Remove documentation for tomcat 6, which is no longer supported
Add
expire
commandAdd
vminro
commandAdd
sslconnectorciphers
commandAdd
threaddump
commandAdd
findleaks
commandAdd
status
commandUnit tests using pytest
Support Tomcat parallel deployment
Real documentation using Sphinx
Packaged to PyPI
Changed
Switch from getopt to argparse
Use
cmd2
, if available, instead ofcmd
Switch from
urllib
torequests
Removed
Drop support for Python 3.3
Changes in 2014 and 2015
Remove methods deprecated in Python 3.4
Add documentation to support Tomcat 7
0.4 (2013-07-07)
Added
Port to python 3
New
resources
command
Removed
Drop support for python 2
0.3 (2013-01-02)
Added
Add code from private repo