diff --git a/package.json b/package.json
index 15b2213..27f8117 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "kener",
- "version": "3.2.2",
+ "version": "3.2.3",
"private": false,
"license": "MIT",
"description": "Kener: An open-source Node.js status page application for real-time service monitoring, incident management, and customizable reporting. Simplify service outage tracking, enhance incident communication, and ensure a seamless user experience.",
diff --git a/src/lib/server/notification/webhook.js b/src/lib/server/notification/webhook.js
index c747de7..74b3ab3 100644
--- a/src/lib/server/notification/webhook.js
+++ b/src/lib/server/notification/webhook.js
@@ -13,7 +13,7 @@ class Webhook {
constructor(trigger_meta, method, siteData, monitorData) {
const kenerHeader = {
"Content-Type": "application/json",
- "User-Agent": "Kener/3.2.2",
+ "User-Agent": "Kener/3.2.3",
};
let headers = trigger_meta.headers;
this.trigger_meta = trigger_meta;
diff --git a/src/lib/server/startup.js b/src/lib/server/startup.js
index 0f53758..f7cd592 100644
--- a/src/lib/server/startup.js
+++ b/src/lib/server/startup.js
@@ -1,19 +1,32 @@
// @ts-nocheck
import figlet from "figlet";
-
import { Cron } from "croner";
-
import { Minuter } from "./cron-minute.js";
import db from "./db/db.js";
import { GetAllSiteData, GetMonitorsParsed, HashString } from "./controllers/controller.js";
import { fileURLToPath } from "url";
-import { dirname } from "path";
+import { dirname, resolve } from "path";
+import fs from "fs";
const jobs = [];
process.env.TZ = "UTC";
let isStartUP = true;
+// Get the version from package.json
+const getVersion = () => {
+ try {
+ const __filename = fileURLToPath(import.meta.url);
+ const __dirname = dirname(__filename);
+ const packagePath = resolve(__dirname, "../../../package.json");
+ const packageJson = JSON.parse(fs.readFileSync(packagePath, "utf8"));
+ return packageJson.version;
+ } catch (error) {
+ console.error("Error reading version:", error);
+ return "unknown";
+ }
+};
+
const scheduleCronJobs = async () => {
// Fetch and map all active monitors, creating a unique hash for each
const activeMonitors = (await GetMonitorsParsed({ status: "ACTIVE" })).map((monitor) => ({
@@ -72,12 +85,15 @@ async function Startup() {
mainJob.trigger();
- figlet("Kener is UP!", function (err, data) {
+ const version = getVersion();
+
+ figlet("Kener v" + version, function (err, data) {
if (err) {
console.log("Something went wrong...");
return;
}
console.log(data);
+ console.log(`Kener version ${version} is running!`);
});
}
diff --git a/src/routes/(docs)/+layout.svelte b/src/routes/(docs)/+layout.svelte
index 37e55f2..cc014c9 100644
--- a/src/routes/(docs)/+layout.svelte
+++ b/src/routes/(docs)/+layout.svelte
@@ -110,7 +110,7 @@
Kener Documentation
- 3.2.2
+ 3.2.3