Skip to content

Commit 5f2a0ec

Browse files
authored
0.3.2 (#56)
* fix: improve API URL configuration handling for self-hosted users
1 parent 2a9b1b1 commit 5f2a0ec

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+788
-339
lines changed

.env.example

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,8 @@ SERVICE_NAME=logward-backend
7575
# Available registries:
7676
# - Docker Hub: logward/backend:latest, logward/frontend:latest
7777
# - GHCR: ghcr.io/logward-dev/logward-backend:latest, ghcr.io/logward-dev/logward-frontend:latest
78-
# LOGWARD_BACKEND_IMAGE=logward/backend:0.3.1
79-
# LOGWARD_FRONTEND_IMAGE=logward/frontend:0.3.1
78+
# LOGWARD_BACKEND_IMAGE=logward/backend:0.3.2
79+
# LOGWARD_FRONTEND_IMAGE=logward/frontend:0.3.2
8080

8181
# =============================================================================
8282
# HORIZONTAL SCALING

.github/workflows/publish-images.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,15 @@ jobs:
4444
echo "version=${VERSION}" >> $GITHUB_OUTPUT
4545
echo "Version: ${VERSION}"
4646
47+
# Check if this is a stable release (no -rc, -beta, -alpha, etc.)
48+
if [[ "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
49+
echo "is_stable=true" >> $GITHUB_OUTPUT
50+
echo "This is a stable release - will update 'latest' tag"
51+
else
52+
echo "is_stable=false" >> $GITHUB_OUTPUT
53+
echo "This is a pre-release - will NOT update 'latest' tag"
54+
fi
55+
4756
- name: Docker meta for backend
4857
id: meta-backend
4958
uses: docker/metadata-action@v5
@@ -53,7 +62,7 @@ jobs:
5362
ghcr.io/${{ github.repository_owner }}/logward-backend
5463
tags: |
5564
type=raw,value=${{ steps.version.outputs.version }}
56-
type=raw,value=latest
65+
type=raw,value=latest,enable=${{ steps.version.outputs.is_stable }}
5766
5867
- name: Docker meta for frontend
5968
id: meta-frontend
@@ -64,7 +73,7 @@ jobs:
6473
ghcr.io/${{ github.repository_owner }}/logward-frontend
6574
tags: |
6675
type=raw,value=${{ steps.version.outputs.version }}
67-
type=raw,value=latest
76+
type=raw,value=latest,enable=${{ steps.version.outputs.is_stable }}
6877
6978
- name: Login to Docker Hub
7079
uses: docker/login-action@v3

CHANGELOG.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,35 @@ All notable changes to LogWard will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.3.2] - 2025-12-22
9+
10+
### Fixed
11+
12+
- **SvelteKit 2 Compatibility**: Updated imports from `$app/stores` to `$app/state` and adjusted event handlers (#55)
13+
- Migrated deprecated `$app/stores` imports to the new `$app/state` module
14+
- Updated event handlers to use the new SvelteKit 2 patterns
15+
- Ensures compatibility with latest SvelteKit versions
16+
17+
- **Traces Page Navigation**: Fixed "Get API Key" button on empty traces page leading to 404 (#53)
18+
- Corrected navigation path from `/projects` to `/dashboard/projects`
19+
- Fixed navigation buttons on the 404 error page
20+
- Fixed feature tour links missing `/dashboard` prefix (search, alerts, traces, projects)
21+
- Fixed trace detail page "Back to Traces" navigation
22+
23+
- **Registration Error**: Fixed "Failed to fetch" error during user registration (#54, fixes #52)
24+
- Resolved network error that prevented new users from completing registration
25+
- Improved error handling in the registration flow
26+
27+
---
28+
29+
## [0.3.1] - 2025-12-19
30+
31+
### Changed
32+
33+
- **Security Policy**: Updated supported versions in SECURITY.md
34+
35+
---
36+
837
## [0.3.0] - 2025-12-10
938

1039
### Added

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<a href="https://codecov.io/gh/logward-dev/logward"><img src="https://codecov.io/gh/logward-dev/logward/branch/main/graph/badge.svg" alt="Coverage"></a>
1717
<a href="https://hub.docker.com/r/logward/backend"><img src="https://img.shields.io/docker/v/logward/backend?label=docker&logo=docker" alt="Docker"></a>
1818
<a href="https://artifacthub.io/packages/helm/logward/logward"><img src="https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/logward" alt="Artifact Hub"></a>
19-
<img src="https://img.shields.io/badge/version-0.3.1-blue.svg" alt="Version">
19+
<img src="https://img.shields.io/badge/version-0.3.2-blue.svg" alt="Version">
2020
<img src="https://img.shields.io/badge/license-AGPLv3-blue.svg" alt="License">
2121
<img src="https://img.shields.io/badge/status-alpha-orange.svg" alt="Status">
2222
<img src="https://img.shields.io/badge/cloud-free_during_alpha-success.svg" alt="Free Cloud">
@@ -130,7 +130,7 @@ Total control over your data. **No build required** - uses pre-built images from
130130

131131
**Docker Images:** [Docker Hub](https://hub.docker.com/r/logward/backend) | [GitHub Container Registry](https://github.com/logward-dev/logward/pkgs/container/logward-backend)
132132

133-
> **Production:** Pin versions with `LOGWARD_BACKEND_IMAGE=logward/backend:0.3.1` in your `.env` file.
133+
> **Production:** Pin versions with `LOGWARD_BACKEND_IMAGE=logward/backend:0.3.2` in your `.env` file.
134134

135135
> **Horizontal Scaling:** For scaling multiple backend instances, see [deployment docs](https://logward.dev/docs/deployment#horizontal-scaling).
136136

docker/.env.example

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,18 @@ API_KEY_SECRET=your_32_character_secret_key_here
2323
DB_NAME=logward
2424
DB_USER=logward
2525

26-
# Frontend API URL (only change if backend is on different host)
27-
# Default: http://localhost:8080
28-
# PUBLIC_API_URL=http://your-server:8080
26+
# Frontend API URL - AUTO-DETECTED in most cases, no configuration needed!
27+
#
28+
# How auto-detection works:
29+
# - Access via http://192.168.1.100:3000 → API auto-detected at http://192.168.1.100:8080
30+
# - Access via https://logward.example.com (port 80/443) → Uses relative URLs (assumes reverse proxy)
31+
#
32+
# Only set this if you have a non-standard setup:
33+
# PUBLIC_API_URL=http://custom-backend-host:8080
2934

3035
# Docker images (pin versions for production stability)
31-
# LOGWARD_BACKEND_IMAGE=logward/backend:0.3.1
32-
# LOGWARD_FRONTEND_IMAGE=logward/frontend:0.3.1
36+
# LOGWARD_BACKEND_IMAGE=logward/backend:0.3.2
37+
# LOGWARD_FRONTEND_IMAGE=logward/frontend:0.3.2
3338

3439
# =============================================================================
3540
# EMAIL NOTIFICATIONS (optional)

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@logward/root",
3-
"version": "0.3.1",
3+
"version": "0.3.2",
44
"private": true,
55
"description": "LogWard - Self-hosted log management platform",
66
"author": "LogWard Team",

packages/backend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@logward/backend",
3-
"version": "0.3.1",
3+
"version": "0.3.2",
44
"private": true,
55
"description": "LogWard Backend API",
66
"type": "module",

packages/backend/src/modules/invitations/routes.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,11 @@ export async function invitationsRoutes(fastify: FastifyInstance) {
171171
error: error.message,
172172
});
173173
}
174+
if (error.message.includes('Email server is not configured')) {
175+
return reply.status(503).send({
176+
error: error.message,
177+
});
178+
}
174179
}
175180

176181
throw error;
@@ -274,6 +279,11 @@ export async function invitationsRoutes(fastify: FastifyInstance) {
274279
error: error.message,
275280
});
276281
}
282+
if (error.message.includes('Email server is not configured')) {
283+
return reply.status(503).send({
284+
error: error.message,
285+
});
286+
}
277287
}
278288

279289
throw error;

packages/backend/src/server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ export async function build(opts = {}) {
8383
return {
8484
status: 'ok',
8585
timestamp: new Date().toISOString(),
86-
version: '0.3.1',
86+
version: '0.3.2',
8787
};
8888
});
8989

packages/backend/src/utils/internal-logger.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export async function initializeInternalLogging(): Promise<void> {
5454
globalMetadata: {
5555
service: process.env.SERVICE_NAME || 'logward-backend',
5656
env: process.env.NODE_ENV || 'development',
57-
version: process.env.npm_package_version || '0.3.1',
57+
version: process.env.npm_package_version || '0.3.2',
5858
hostname: process.env.HOSTNAME || 'unknown',
5959
},
6060
});

0 commit comments

Comments
 (0)