Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.4.4] - 2026-06-20

A reliability and correctness patch. Engine: Baileys reconnect no longer leaks its socket, and a session
keeps its operator config even if the engine plugin fails to enable before `onLoad`. Templates: names are now
unique per session (deterministic resolve, `409` on duplicate, with a lossless de-duplicating migration).
Tooling: the migration CLI can manage the main (auth/audit) connection, and the Docker image ships `procps`
so a missing-`ps` cleanup path can't crash the container. **One behavior change to note:** `PUT /settings`
now returns `501` — settings are environment-derived and read-only at runtime — instead of a misleading `200`
(no dashboard flow uses the write).

### Added

- **CLI migration commands for the main (auth/audit) connection.** The app runs the main connection as a separate
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

<p align="center">
<a href="https://github.com/rmyndharis/OpenWA/actions/workflows/ci.yml"><img src="https://github.com/rmyndharis/OpenWA/actions/workflows/ci.yml/badge.svg?branch=main" alt="CI"/></a>
<img src="https://img.shields.io/badge/version-0.4.3-blue.svg" alt="Version"/>
<img src="https://img.shields.io/badge/version-0.4.4-blue.svg" alt="Version"/>
<img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License"/>
<img src="https://img.shields.io/badge/node-22_LTS-brightgreen.svg" alt="Node"/>
<img src="https://img.shields.io/badge/NestJS-11.x-red.svg" alt="NestJS"/>
Expand Down
2 changes: 1 addition & 1 deletion dashboard/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "dashboard",
"private": true,
"version": "0.4.3",
"version": "0.4.4",
"type": "module",
"scripts": {
"dev": "vite",
Expand Down
2 changes: 1 addition & 1 deletion docs/07-api-collection.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ curl -H "X-API-Key: $API_KEY" \
```json
{
"status": "ok",
"version": "0.4.3",
"version": "0.4.4",
"uptime": 86400,
"timestamp": "2026-02-02T10:30:00Z",
"checks": {
Expand Down
4 changes: 2 additions & 2 deletions docs/13-horizontal-scaling.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ version: '3.8'

services:
openwa:
image: ghcr.io/rmyndharis/openwa:0.4.3
image: ghcr.io/rmyndharis/openwa:0.4.4
deploy:
replicas: 1 # MUST stay 1 until session-claim is implemented — multiple replicas on one session volume corrupt WhatsApp auth (H1/H11)
update_config:
Expand Down Expand Up @@ -263,7 +263,7 @@ spec:
spec:
containers:
- name: openwa
image: ghcr.io/rmyndharis/openwa:0.4.3
image: ghcr.io/rmyndharis/openwa:0.4.4
ports:
- containerPort: 2785
name: http
Expand Down
2 changes: 1 addition & 1 deletion docs/15-project-roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -491,7 +491,7 @@ v0.1.0 Release Package:
## 15.6 Future Roadmap (v0.3.0+)

> **Note:** Version 0.1.0 is the initial stable release including all features from Phases 1-3.
> Versions 0.1.7 through 0.4.3 have since shipped (see the CHANGELOG); v1.0.0
> Versions 0.1.7 through 0.4.4 have since shipped (see the CHANGELOG); v1.0.0
> onward is forward-looking.
```mermaid
Expand Down
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
</p>

<p align="center">
<img src="https://img.shields.io/badge/version-0.4.3-blue.svg" alt="Version"/>
<img src="https://img.shields.io/badge/version-0.4.4-blue.svg" alt="Version"/>
<img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License"/>
<img src="https://img.shields.io/badge/node-22_LTS-brightgreen.svg" alt="Node"/>
<img src="https://img.shields.io/badge/NestJS-11.x-red.svg" alt="NestJS"/>
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "openwa",
"version": "0.4.3",
"version": "0.4.4",
"description": "Open Source WhatsApp API Gateway - Free, Self-Hosted HTTP API for WhatsApp",
"author": "Yudhi Armyndharis & OpenWA Contributors",
"private": true,
Expand Down
2 changes: 1 addition & 1 deletion src/config/swagger.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export function createSwaggerConfig(): Omit<OpenAPIObject, 'paths'> {
new DocumentBuilder()
.setTitle('OpenWA API')
.setDescription('Open Source WhatsApp API Gateway - Free, Self-Hosted HTTP API')
.setVersion('0.4.3')
.setVersion('0.4.4')
.addApiKey({ type: 'apiKey', name: 'X-API-Key', in: 'header' }, API_KEY_SECURITY_SCHEME)
// Apply the scheme globally so Swagger UI sends the key with every request
// (mirrors the global ApiKeyGuard). Without this, "Authorize" is cosmetic.
Expand Down
Loading