This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Dependencies update in Prince 10.0.0 release

Dependencies update in Prince 10.0.0 release

These documents include all the updates in components that have been carried out for the release Prince 10.0.0, along with the corresponding migration or adaptation tasks that should be executed by the OBs Teams.

Index

1 - Python repositories migration

Python repositories migration

Migration of Python repositories from Python 3.9 to Python 3.13 version for PyUtils, Aura NLP, Aura Complex Logic Framework plugin packages and ATRIA repositories

Introduction

This document describes the migration process of Python repositories from Python 3.9 to Python 3.13 1 for PyUtils, Aura NLP, Aura Complex Logic Framework plugin packages, ATRIA and other productive Python repositories that has taken place in Prince 10.0.0 release.

This migration is required due to the end of life of Python 3.9, set in October 2025.

PyUtils migration

PyUtils contains multiple repositories that have been migrated to Python 3.13 version by Aura Global NLP Team.

The use of these libraries is the same as before the migration, but OBs constructors must test the use cases to ensure that everything is working correctly.

NLP packages migration

The Aura Global NLP team has migrated the Python repositories to Python 3.13 version and has generated the different NLP packages for the OBs.

Two branches will live together:

  • release/7.0: Compatible branch with Python 3.9 version. If the deployed OB release is previous to Prince 10.0.0.
  • release/8.0: Compatible branch with Python 3.13 version. After Prince 10.0.0 release delivery.

The release/8.0 branch will be launched together with Prince 10.0.0 delivery. However, release/7.0 will remain active until the OB deploys Prince in production environment and even after that, for any issue or hotfix required.

The repositories of NLP training has a JenkinsFile 2 that defines the pipeline in Jenkins for the continuous integration of the repositories. For release/7.0 branch, the JenkinsFile of Aura NLP repositories will be configured for working with Python 3.9 version in the pipelines defines in Jenkins, to allow OBs to continue creating NLP packages, until they deploy this new release.

When deploying Prince release and changing from release/7.0 to release/8.0, both branches must be synchronized to preserve all modifications made in the older one.

Constructors should not do any change, as no trainings with the QnA and LUIS stages should exist (these stages are deprecated and must have already been replaced by the OpenAIEmbeddings and CLU stages respectively).

With the NLP packages provided by Aura Global NLP team, the OB constructors must test and validate that all the use cases are working correctly.

QnA and LUIS recognizers deprecation

The QnA and LUIS recognizers are deprecated and have been replaced by the OpenAIEmbeddings and CLU recognizers respectively in all trainings.

NLP Resources

The repositories resources listed below, which are the ones in production environment, have been migrated:

  • AP
    • resources_pizza
    • resources_ap-demo
    • resources_cr
  • ES
    • resources_tiempo
    • resources_real-academia-historia
    • resources_core-dialogs
    • resources_bingo
    • resources_movistar-shop
    • resources_movistar-gaming
    • resources_es-nov
    • resources_memory
    • resources_leia
    • resources_eset
    • resources_chester
    • resources_mis-tokens
    • resources_movistar-cloud
    • resources_estadio-infinito
    • resources_es
  • BR
    • resources_br-b2c
    • resources_br-b2b
    • resources_br
    • resources_br-rh
    • resources_br-rcs
    • resources_br-stb
    • resources_br-easy
    • resources_br-app
    • resources_br-wa
    • resources_br-nov

Migration process for CLF plugins

The Aura Global NLP team and constructors have carried out the following steps for the migration of CLF plugins:

  • Aura Global NLP team:
    • Updated in requirements.txt the packages to the versions generated for Prince release.
    • Updated tools and scripts to work with the Prince release.
    • These repositories work the same way as the NLP training repositories: a release/7.0 branch has been launched before the Prince release to make changes in previous versions. For Prince release, a release/8.0 branch is available.
    • Updated JenkinsFile:
      • The JenkinsFile is set for versions previous to Prince release (release/7.0).
      • In Prince release, there is no need to update JenkinsFile as it is already configured in master.
  • Constructors:
    • Reviewed the Python changelog for Python 3.13 version.
    • Executed tests with the new version of Python and its libraries.
    • Executed plugins and tested the locally.
    • Adapted code.
    • Generated a new version of the plugin package of the constructors and propagated to the corresponding environment.
    • Tested plugins in the environments.

Currently, there are no constructors outside the global team. For this reason, the Aura Global NLP team will be responsible for the migration of the CLF Plugins.

CLF plugins repository list

Below, the list of migrated CLF plugins repositories is included:

  • aura_clf_video

Migration process for ATRIA

The ATRIA repositories have been migrated to Python 3.13 by Aura Global Team.

The configuration inside ATRIA repositories must be the same as before migration, but constructors must test the use cases to ensure that everything is working correctly.

Information about the migration process for any productive repositories of Python language

Get sure that any productive repository that is not currently being used has been migrated from Python 3.9 to 3.13 version before being put into production.


  1. Python 3.13 is the latest version of Python Programming Language at this moment. Cognitive components are being migrated to this version. ↩︎

  2. JenkinsFile defines the pipeline in Jenkins for the continuous integration of the repositories. ↩︎

2 - Nodejs-related dependencies update

Nodejs-related dependencies update in Prince release

Modifications in Aura components associated to the update of Nodejs in release Prince 10.0.0 that must be carried out by the OBs when deploying this version

Introduction

The following dependencies of Aura Nodejs components have been updated in Prince 10.0.0 release.

This affects aura-bot and, consequently, implies that different tasks must be done by the OBs in order to make their dialogs compatible with these modifications.

Changes in the rest of components do not affect neither the constructors nor the deployment itself.

Update nodejs

In Prince release, Nodejs has been updated to Nodejs 22 version.

This upgrade does not need any additional task to be executed by the OB use cases developers.

Update Typescript

In Prince release, Typescript has been updated to Typescript 5.8.2.

Prior to deploying Prince, OBs should update these versions in the package.json:

  • “typescript”: “~5.8.2”

This upgrade could generate certain errors listed below. In these scenarios, OBs constructors can resolve these problems with the indicated solution:

  • Problems with "suppressImplicitAnyIndexErrors": true in tsconfig.json
    • Solution: Remove this property
  • Problems with some dialogs with super.initialDialogId
    • Solution: Replace it by this.initialDialogId
  • Problems with some dialogs with super.addDialog method
    • Solution: Replace it with this.addDialog
  • Problems with certain types
    • Solution: Define them correctly

Update Bot Framework

In Prince release, Bot Framework has been updated to Bot Framework 4.23.2 version.

Prior to deploying Prince, OBs should update these dependencies, if they are needed by the local dialogs:

  • “botbuilder”: “~4.23.2”,
  • “botbuilder-core”: “~4.23.2”,
  • “botbuilder-dialogs”: “~4.23.2”,
  • “botframework-connector”: “~4.23.2”,
  • “@azure/core-auth”: “~1.9.0”,
  • “@azure/data-tables”: “~13.3.0”,
  • “@azure/storage-blob”: “~12.26.0”

Update Superagent

In Prince release, Aura uses the latest Superagent version 10.2.0.

Prior to deploying Prince, OBs constructors should update these versions in the package.json:

  • “superagent”: “^10.2.0”
  • “@types/superagent”: “^8.1.9”

Package.json example

{
    "name": "@telefonica/aura-bot-generic-library",
    "version": "10.0.0",
    "repository": {
        "type": "git",
        "url": "git@github.com:Telefonica/aura-bot-libraries.git",
        "directory": "packages/generic"
    },
    "license": "UNLICENSED",
    "main": "lib/index.js",
    "scripts": {},
    "dependencies": {
        "@telefonica/aura-bot-utilities": "2.0.0",
        "@telefonica/aura-clients": "2.0.0",
        "@telefonica/aura-logging": "6.0.0",
        "@telefonica/aura-utilities": "2.0.0",
        "botbuilder": "~4.23.2",
        "botbuilder-dialogs": "~4.23.2",
        "superagent": "^10.2.0",
        "joi": "^17.6.0"
    },
    "devDependencies": {
        "@telefonica/aura-locale-importer": "9.30.0",
        "@telefonica/eslint-config-aura": "2.14.0",
        "@types/chai": "^4.2.3",
        "@types/jsonwebtoken": "^9.0.1",
        "@types/mocha": "^10.0.1",
        "@types/node": "^18.16.0",
        "@types/sinon": "^10.0.14",
        "@types/superagent": "^8.1.9",
        "@typescript-eslint/eslint-plugin": "^5.57.0",
        "@typescript-eslint/parser": "^5.57.0",
        "chai": "^4.3.10",
        "cross-env": "^5.2.0",
        "eslint": "^8.36.0",
        "eslint-plugin-import": "^2.27.5",
        "eslint-plugin-jsdoc": "^40.1.0",
        "mocha": "^10.2.0",
        "mocha-jenkins-reporter": "^0.4.8",
        "mocha-sonarqube-reporter": "^1.0.2",
        "nyc": "^15.1.0",
        "shx": "^0.3.3",
        "sinon": "^15.0.4",
        "ts-node": "^10.9.1",
        "tslint": "~5.18.0",
        "typescript": "~5.8.2"
    },
    "engines": {
        "node": ">=18.0.0"
    },
    "plugin": {
        "provides": [
            "generic"
        ]
    }
}