Added
- Brazilian Portuguese (pt-BR) locale. The dashboard is now available in Português (Brasil) — all 9 navigation sections, toasts, dialogs, and form labels are translated. Select it from the language picker on the login screen or the sidebar. Thanks @A831ARD0.
Fixed
- The engine fallback no longer silently starts the wrong engine. If the configured engine (
ENGINE_TYPE, e.g.baileys) is unavailable and the legacy direct-creation fallback is reached, it now fails with a clear error instead of silently constructing the whatsapp-web.js adapter. (#527)
Security
- Application logs redact secret-valued metadata. The values of secret-named log fields (
password,secret,token,api-key,authorization,credential,pepper,private-key) are replaced with[REDACTED]before a line is written — defense-in-depth so a stray log statement can't leak a credential. (#527)
Performance
- Failed media sends and completed bulk batches no longer retain their base64 payload. A failed media send kept its (often multi-MB) base64 in the message row, and a completed bulk batch kept every message's base64 in
message_batchesindefinitely — both are now stripped (mimetype/filename kept), so themessagesandmessage_batchestables don't grow without bound. (#524) - The dashboard chat view no longer caches full media base64. Chat history is fetched without media and the per-chat cache is evicted sooner, so browsing several media-rich chats no longer risks OOMing the tab; older history media shows a
📎 Mediaplaceholder and recent media still renders. (#525)