Release Notes: Mitto Version 2.10.0¶
Breaking Changes¶
Prior to version 2.10.0, Mitto used Python 3.6.7. With version 2.10.0, Mitto switches to Python 3.9.10. This will be a transparent change for almost all customers. Customers with heavily modified instances or customers using custom Python code should familiarize themselves with the effects of the switch:
Python 3.6.7 will remain the “system Python”, but Mitto will no longer use it. It will continue to be available in
/usr/bin
aspython
,python3
andpython3.6
.During the upgrade, Python 3.9.10 will be installed in
/usr/local
. It will be available in/usr/local/bin
aspython
,python3
, andpython3.9
.When customers require additional Python packages beyond those present in Mitto’s virtualenv, it is a best practice to create a virtualenv, independent of Mitto’s, specifically for this purpose. Virtualenvs created in this manner will continue to function normally after the upgrade.
Mitto’s Python virtualenv, located in
/opt/mitto/pyenv
will be destroyed during the upgrade and recreated using Python 3.9.10. This means that any Python packages installed in Mitto’s virtualenv will be lost. When the virtualenv is recreated with Python 3.9.10, all Python packages required by Mitto will automatically be placed in the newly created virtualenv.Depending upon how they are written, existing command jobs that run Python scripts, as well as any other customer-provided Python scripts, should be reviewed to ensure the desired Python, and possibly virtualenv, is being used.
The migration to Python 3.9.10 required changes to a number of Mitto connectors. As part of the Mitto 2.10.0 upgrade process, these connectors, if present on your system, will be upgraded as well. There will be no change in connector behavior from the upgrade. Existing jobs associated with these connectors will continue to run unchanged.
The following connectors will be upgraded, if present, during a Mitto upgrade:
Connector |
Required Version |
---|---|
mitto-plugin-adwords |
2022.4.15 |
mitto-plugin-amazon-selling-partner-api |
2022.3.9 |
mitto-plugin-coupa |
2022.4.22 |
mitto-plugin-hubspot |
2022.4.11 |
mitto-plugin-netsuite |
2022.3.8 |
mitto-plugin-paycom |
2022.4.12 |
mitto-plugin-ringcentral |
2022.4.12 |
mitto-plugin-sfdc |
2022.4.6 |
mitto-plugin-terminus |
2022.4.8 |
mitto-plugin-zendesk |
2022.4.14 |
Issues Resolved in this Release¶
Epic¶
Issue |
Summary |
Resolution |
---|---|---|
test all plugins for compatibility with Python 3.9.10 / Mitto 2.10.0 |
Done |
Improvement¶
Issue |
Summary |
Resolution |
---|---|---|
Increase Python version from 3.6 to 3.9 |
Done |
Bug¶
Issue |
Summary |
Resolution |
---|---|---|
session handling bugs |
Done |
|
BaseInputV3 instances must allow extra fields to be added |
Done |
|
CircleCI uses Python from deadsnakes while production uses Python built from pyenv |
Done |
|
increase version of ‘responses’ from requirements.txt |
Done |
|
debian/postinst bug |
Done |
|
pylint and pytest failures |
Done |
|
snowflake error related to Python 3.9.10 upgrade |
Done |
|
condition evaluates to constant |
Done |
|
Tableau Extract Wizard - does not alllow user to name credentials |
Done |
|
upgrade google-auth Python package - pkg_resources.ContextualVersionConflict: (google-auth 1.5.1 (/opt/mitto/pyenv/lib/python3.6/site-packages), Requirement.parse(‘google-auth<2.0dev,>=1.19.1’), {‘google-api-core’}) |
Done |