Bots 4.0.0

  • Bots 4.0.0a0 was released 2025-09-26.

Migration notes

The safest way is to install a new bots server and transfer/adapt the settings and configuration. Python scripts in your mappings should be adapted to Python 3.

Recommended migration steps:
  1. Do a fresh Installation of bots on a new server.

  2. Get bots.ini and settings.py from the old server and compare with the default files in the new server, then adapt them to your needs.

  3. Start bots-webserver and to the basic user configuration.

  4. Transfer your complete configuration:

    • On the old server, create a plugin with your complete configuration.

    • Load it into the new server and run translation. Check for the errors in the logs.

    • Adapt the code to Python 3. If the Python code of your mappings was already compatible with Python 3, it is possible that all will just work. Otherwise you need to do the adaptations of the Python code. Most frequently: import command from current directory should be adapted (add point before the name).

Changes since Bots 3.2.0

Bots version 4.0 has come a very long way since version 3.2. See the CHANGELOG for the complete history. The most important changes are listed below.

Note

There are no significant changes in Bots engine, which allows for easy use of the grammars, routes, channels, etc. from the previous versions.

Highlights

  • New requirements: Python >=3.10 (support for Python 2 has been dropped) and Django >=4.

  • Many GUI improvements (filtering, queries, save queries, translations…).

  • New default location for runtime directories in ~/.bots/env/<env_name>.

  • Several changes in Plugins:

    • New json format. Old plugins in .py format can be still loaded, but this will be dropped soon.

    • More flexible import and export of plugins (ccodes, translations, grammars, routes, …). Grammars can be used as plugins.

    • All Bots example plugins have been adapted and tested with v4.0.

  • Improved logging. Engine logs now might be rotated once per day.

  • Many bug fixes.

  • The source code is refactored and formatted with black.

Interface (GUI)

  • Major GUI update with refreshed look and many improvements.

  • Direct links to configuration.

  • Filters selection with multiple values and negative filtering, filtering of partners by partnergroup.

  • New menu structure, with sub-menus.

  • Changed display of errors.

  • Auto-refresh.

  • Access to logs.

  • Dark style.

  • Responsive UI support.

Smaller changes

  • Updated user permissions.

  • A few new Syntax Parameters.

  • Backup plugins are saved now in botsys/backup.

  • Dirmonitor now check files at starting and watches routes fromchannel (file).

  • Parametize and add templatehtml engines: genshi, django (for now) maybe more in future like jinja2.

  • Incoming email attachment filename is saved in ta.divtext.

  • Increase lenght of models: ta.reference, ta.divtext, ta.rsrv1 to 128 and report.rsrv1 to 256.

  • Grammars and mappings in subdirectories. Permit {editype}/{editype}.py messagetype; get_grammars() could list edifact/edifact.py, x12/x12.py.

  • Better support of json and xml.

  • More strict checking of SSL/TLS channel certificates.

  • X12: confirmrule enhancements: admin, ‘confirmasked’ ruletype. Dynamic ISA14 depending on confirmrule ask-x12-997.

Configuration parameters in bots.ini

There are several new parameters. See comments in the default bots.ini file.

  • settings:

    • log_level

    • log_console_level

    • log_when

  • webserver:

    • log_level

    • log_cherrypy_access

    • log_file_number

    • botsmenu

    • environment_text_style

    • menu_cleanup

    • menu_changepassword

    • max_src_size

    • filer_numbered

    • debug True/False

  • jobqueue:

    • nr_threads

    • log_level

    • log_file_number

    • authorized_tasks

    • killjobsintimeout

  • dirmonitor:

    • process_existing

    • log_level

    • log_file_number

Bug fixes

Too many to list here.