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:
Do a fresh Installation of bots on a new server.
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.
Start
bots-webserverand to the basic user configuration.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.