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.
7.0.1 (2023-12-02)
Fixed
fix triggers and other errors to ensure documentation builds automatically on readthedocs.io
7.0.0 (2023-12-02)
Added
Support for Python 3.12
Support for themes in
tomcat-manager, which can produce styled and colored outputNew
themesetting to choose which theme to useNew command line option
--themeto set theme from command lineNew environment variable
TOMCATMANAGER_THEMEto set theme from environmentNew
themecommand for users to list, create, edit, and delete themesTheme gallery which shows themes from an online gallery. Themes can be added and updated in the gallery independent of
tomcat-managerreleases.Two built-in themes,
default-light, anddefault-darkNew command line option
--theme-dirto show the full path to the user theme directory
New command line option
--noconfigto prevent the configuration file from being loading on startupNew command line option
--config-fileto show the full path to the configuration fileNew command
disconnectto disconnect from a Tomcat serverNew method TomcatManager.disconnect()
Changed
Output from the
settingscommand now matches the TOML format of the configuration filesettingscommand now accepts input using TOML syntaxServer shortcuts have been renamed to server definitions. There is no change to the functionality, only a change to the name.
Removed
Drop support for Python 3.7 (EOL 27 June 2023)
Removed allow_style setting
Removed show command; settings does the same thing and is still available
Fixed
config editcommand now sets default values before reloading configuration
6.0.1 (2022-11-15)
Added
Documentation for migrating to 6.x
Changed
Improved documentation for module dependency specification
Improved documentation for differences in Tomcat versions
6.0.0 (2022-11-14)
Added
Support for Python 3.11
Support for Tomcat 10.1
Changed
Change configuration file from
iniformat totomlformat. See Configuration File for more information.config_fileattribute now contains apathlib.Pathobject instead of astrfor better cross-platform compatabilityhistory_fileattribute now contains apathlib.Pathobject instead of astrfor better cross-platform compatabilitySwitch to
pyproject.tomlfromsetup.py. This has no impact on functionality, it’s just a packaging change.
Removed
Support for Tomcat 8.0 (EOL 30 June 2018)
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
TrueorFalseinstead of truthy or falsy valuesFix interactive
pyandpyscriptcommands which were broken by upstream changes in cmd2 version 2.0
4.0.0 (2021-08-26)
Added
Add
py.typedfile 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
verifyparameter to TomcatManager.connect(). Also available from the command-line and interactive mode using the--cacertand--noverifyoptions of theconnectcommand.Client side SSL/TLS certificate authentication added to TomcatManager.connect() via the
certparameter. Also available from the command line and interactive mode using the--certand--keyoptions of theconnectcommand.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
intonly, now they can befloatThe
timeoutparameter 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=0from 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,sslconnectortrustedcertsandsslreloadDocumentation for migrating from 1.x to 2.x
Changed
TomcatApplication.statenow contains anEnuminstead of anAttrDictThe
tomcatmanager.application_statesdict has been replaced by thetomcatmanager.ApplicationStateenumTimeouts can now be
floatinstead ofintImproved documentation for network timeouts
Removed
Support for Python 3.5, which as of 2020-09-13 no longer receives security updates
Dependency on
attrdictmodule, which has been archived
1.0.2 (2020-03-05)
Changed
upstream
cmd2library 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.10changed the way settings work. We now require that version or higher.
1.0.0 (2020-02-01)
Changed
Switch documentation theme from
alabastertosphinx_rtd_theme
Added
Already have a setting to control network timeouts. Added a command line option
--timeoutto 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.pycacheis nowinvoke clean.bytecodeRun tests using python 3.7 on Appveyor and Travis
Source code has been moved inside of
srcdirectoryPin cmd2 to version 0.9.4; newer versions break us badly
0.13.0 (2018-07-06)
Added
In the interactive
tomcat-managertool, 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 theinvokecommand 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 contextand a new methoddeploy_servercontext()provide this capability.
Changed
Better help messages in the interactive
tomcat-managertooldeploy()has been replaced by three new methods:deploy_localwar(),deploy_serverwar(), anddeploy_servercontext().Commands which use an optional version parameter now use a
-voption to specify the versionMost commands now have
-h/--helpoptions
0.11.0 (2017-09-06)
Added
New command line switches for
tomcat-manager:--quiet,--echo,--status_to_stdoutNew setting
status_prefixcontains 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
listcommand now can filter by application state, and has two sort options.TomcatManager._useris nowTomcatManager.userTomcatManager._urlis nowTomcatManager.urlTomcatManager.list()now returns a list ofTomcatApplicationobjectsRenamed
tm.codestotm.status_codesto 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
configcommand which allows user to edit config fileserver shortcuts: save url, user, and password in config file
whichcommand to show which tomcat server you are connected totimeoutsetting for HTTP timeoutsrestartcommand as synonym forreloadAdd tox for testing against multiple versions of python
Changed
statuscommand now pretty prints the xml responseTomcatManager.__init__no long accepts paramemeters: useconnectinsteadTomcatManagermethods 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
expirecommandAdd
vminfocommandAdd
sslconnectorcipherscommandAdd
threaddumpcommandAdd
findleakscommandAdd
statuscommandUnit 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 ofcmdSwitch from
urllibtorequests
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
resourcescommand
Removed
Drop support for python 2
0.3 (2013-01-02)
Added
Add code from private repo