Release Notes: Mitto Version 2.10.0

Breaking Changes

  1. 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 as python, python3 and python3.6.

    • During the upgrade, Python 3.9.10 will be installed in /usr/local. It will be available in /usr/local/bin as python, python3, and python3.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.

  2. 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

MIT-2520

test all plugins for compatibility with Python 3.9.10 / Mitto 2.10.0

Done

Improvement

Issue

Summary

Resolution

MIT-2507

Increase Python version from 3.6 to 3.9

Done

Bug

Issue

Summary

Resolution

MIT-2580

session handling bugs

Done

MIT-2574

BaseInputV3 instances must allow extra fields to be added

Done

MIT-2573

CircleCI uses Python from deadsnakes while production uses Python built from pyenv

Done

MIT-2541

increase version of ‘responses’ from requirements.txt

Done

MIT-2540

debian/postinst bug

Done

MIT-2538

pylint and pytest failures

Done

MIT-2529

snowflake error related to Python 3.9.10 upgrade

Done

MIT-2510

condition evaluates to constant

Done

MIT-2410

Tableau Extract Wizard - does not alllow user to name credentials

Done

MIT-1957

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