Released 14 november 2022.
!!! warning
temBoard UI 8.0 is compatible with temBoard agent 7.11 to ease migration.
Upgrade UI first and then upgrade agents one at a time.
temBoard agent 8 is **NOT** compatible with temBoard UI 7.11.
This release requires specific upgrade instructions.
See [Server Upgrade](server_upgrade.md) and [Agent Upgrade](agent_upgrade.md) for details.
**Breaking changes**
- temBoard UI dropped support for Internet Explorer 8. You may have issues with
browsers older than 5 years.
- Dropped support for PostgreSQL 9.5 and 9.4. For both UI and agent.
- Dropped key-only authentication on agent. Access to UI grants full access on managed agent.
- New CLI for both UI and agent. `temboard` and `temboard-agent` are the single CLI entrypoints.
- Removed `temboard --debug` CLI option.
- Dropped commands `temboard-agent-adduser` and `temboard-agent-password`.
- Commands `temboard-migratedb`, `temboard-agent-register` are moved as
subcommands of `temboard` and `temboard-agent`.
- temBoard UI dropped push-metrics handler from pre-6.0 push metric collect.
- temBoard UI RPM does not execute `auto_configure.sh` upon installation.
- temBoard UI RPM does not create `temboard` UNIX user. Use auto_configure.sh
instead.
- temBoard Agent RPM does not create `postgres` UNIX user. Use PostgreSQL packages instead.
- Packages does not provide logrotate configuration anymore. temBoard can still
log to file.
- pg_ctl agent parameter must **not** be quoted now, in temboard-agent.conf.
- Agent auto_configure.sh now requires a parameter: the UI url.
- temBoard agent does not provide legacy single-installation systemd unit file
`temboard-agent.service` in favor of `temboard-agent.service`.
- temBoard agent debian package does not provide legacy `temboard-agent.init`
SysV script. Use sytemd instead.
- temBoard agent auto_configure.sh now generates a single configuration file
instead of `temboard-agent.conf.d/auto.conf`.
- temBoard agent auto_configure.sh does not configure file logging anymore.
- Dropped temBoard agent HTTP endpoint `/monitoring/probe/*`, some
`/dashboard/` probes and more. Use `temboard routes` and `temboard-agent
routes` to inspect availables HTTP URLs.
- Docker image for agent now configures agent with `auto_configure.sh`.
temBoard agent configuration moved from `/etc/temboard-agent` to
`/etc/temboard-agent/<cluster_name>`.
**Deprecation**
- Running temBoard UI with Python 2.7 and Python 3.5 is deprecated. All RPM and
deb packages ships with Python 3.
- Debian stretch support is deprecated (EOL June 2022).
**New Features**
- PostgreSQL 15 support.
- Unified authentication. Signing in UI open full DBA access to agents, without
double login.
- Register instance without querying UI API using `temboard register-instance`.
- Download instance inventory as CSV.
- Automatically refresh introspection data from agent.
- New *About temBoard* page with detailed installation's informations.
- New *About instance* page with PostgreSQL, system and agent informations.
- OpenMetrics endpoint. Accessible using temBoard UI as authenticating proxy to
agent.
- RHEL9, Debian Bookworm (testing) packages.
- Increase agent OOM score with systemd.
- Restyled documentation with improved search and navigation.
**Changes**
- Each temBoard release has it's own docker tag. e.g. dalibo/temboard:8.0,
dalibo/temboard:8.0rc1, etc. See Docker Hub repositories [dalibo/temboard]
and [dalibo/temboard-agent].
- Streamlined docker images, basing on Debian Bullseye, with temBoard installed
with APT instead of pip.
- Restart scheduler and worker pool background processes on crash.
- Improved error logging. Log format is now Postgres-like.
[dalibo/temboard]: https://hub.docker.com/repository/docker/dalibo/temboard
[dalibo/temboard-agent]: https://hub.docker.com/repository/docker/dalibo/temboard-agent
**UI changes**
- Sign agent requests with an asymetric cryptographic key. New agent does not
require double authentification anymore.
- New command `temboard generate-key` for generating signing key.
- New database migration engine. Dropped dependency on Alembic, Mako, etc.
- Move `temboard-migratedb` as `temboard migratedb` subcommand.
- New command `temboard tasks flush` to flush old tasks when upgrading.
- Fast collect of monitoring and statements metrics upon agent registration.
- Format PostgreSQL start time in dashboard as relative date.
- temBoard UI waits for locks in monitoring collect. Abort long collect
task. New parameter `[monitoring] collect_max_duration`.
- temBoard UI now has API key authorization, use for /metrics proxy to agent.
- New temBoard UI parameter `[auth] allowed_ip` to restrict API Key
authorization. By default, only 127/8 is allowed.
- Improved refresh error handling in dashboard, activity and home page. Error
are now inlined instead of modal.
- temBoard UI now accept to serve plain HTTP. For development purpose.
- New commands `temboard query-agent`, `temboard routes`, `temboard tasks
run`, `temboard tasks schedule` and `temboard web` for debugging.
- Handle SIGCHLD in temboard UI too. No more zombies.
- Limit activity view to 300 longest queries.
**Agent changes**
- Unified authentification: agent now uses UI as source of identity.
- Dropped `users` file and related configuration.
- New command `temboard-agent fetch-key` to accept UI signing key.
- New option: `[temboard] ui_url`, pointing to UI URL.
- auto_configure.sh conditionnaly enable statements plugins.
- Move `temboard-agent-register` as `temboard-agent register` subcommand.
- New command `temboard-agent discover` to introspect temBoard agent, system
and PostgreSQL.
- Refresh discover data on startup and Postgres connection recovery.
- temBoard agent pools connections to PostgreSQL used by web API, reducing
connections stress on PostgreSQL.
- Heavily reduction of connection opened by dashboard.
- Drop agent configuration `postgresql:instance` in favor of Postgres
setting `cluster_name`.
- Add new unified sessions and detailed locks endpoint.
- temBoard agent now depends on cryptography and bottle.
- New subcommands `temboard-agent routes`, `temboard-agent tasks run` and
`temboard-agent web` for debugging.
- Monitoring purge_after default value is now set to 730 (2 years), it was empty
before (no limit).