Skip to content

Commit e8d8505

Browse files
committed
Prepare 1.0.0 release
1 parent 725251e commit e8d8505

5 files changed

Lines changed: 89 additions & 2 deletions

File tree

.github/release-notes/v1.0.0.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
## Firefly v1.0.0
2+
3+
First stable release of **Firefly**: a Spring Boot Telegram bot for DTEK outage schedules (Kyiv + Kyiv region), with SQLite persistence and automated schedule refresh.
4+
5+
### Highlights
6+
- Telegram bot with `/start` flow and inline menu.
7+
- Manual outage group selection for:
8+
- Kyiv (`🏙️ Київ`)
9+
- Kyiv region (`🏘️ Київщина`)
10+
- Auto-detect group by Kyiv address via YASNO (`📍 Знайти групу за адресою (Київ)`).
11+
- Per-user notification toggle and persisted user settings.
12+
- Admin stats commands:
13+
- `/stats_today`
14+
- `/stats_week`
15+
- Scheduled schedule refresh + midnight rollover logic (`Europe/Kyiv`).
16+
17+
### Tech Stack
18+
- Java 25
19+
- Spring Boot 4.0.1
20+
- SQLite + Spring Data JPA + Flyway
21+
- Telegram Bots API (long polling)
22+
- Playwright + Jsoup
23+
24+
### Breaking Changes
25+
- None (initial stable release).
26+
27+
### Install / Run (JAR)
28+
Prerequisite: Java 25
29+
30+
```bash
31+
export TELEGRAM_BOT_TOKEN=your_token_here
32+
java -jar firefly-1.0.0.jar
33+
```
34+
35+
Optional env vars:
36+
- `TELEGRAM_ADMIN_CHAT_IDS`
37+
- `SPRING_DATASOURCE_URL` (default: `jdbc:sqlite:src/main/resources/db/app.db`)
38+
- `scheduler.shutdowns.fixed-delay-ms` (interpreted as minutes)
39+
- `scheduler.shutdowns.time-zone` (default: `Europe/Kyiv`)
40+
41+
### Database Notes
42+
- Flyway migrations are enabled.
43+
- `spring.jpa.hibernate.ddl-auto=none`.
44+
45+
### Checksums
46+
`SHA-256`:
47+
48+
- `firefly-1.0.0.jar`: `99fdb3b2ef1e34f7231e696416df7f801de9ed2f5a91b652de9c2b0b30c95e0d`
49+
50+
Verification:
51+
```bash
52+
shasum -a 256 firefly-1.0.0.jar
53+
```
54+
55+
### Docker
56+
Also available as container image:
57+
- `ghcr.io/ndmik-dev/firefly:latest`
58+
59+
---
60+
61+
**Full Changelog**: Initial stable release (`v1.0.0`).

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Changelog
2+
3+
All notable changes to this project are documented in this file.
4+
5+
## [1.0.0] - 2026-03-13
6+
7+
### Added
8+
- Initial stable Firefly release.
9+
- Telegram bot `/start` flow with inline menu and persisted user settings.
10+
- Manual outage group selection for Kyiv and Kyiv region.
11+
- YASNO-based address-to-group resolution for Kyiv addresses.
12+
- Per-user notification toggle.
13+
- Admin stats commands: `/stats_today`, `/stats_week`.
14+
- Scheduler refresh for outage schedules and midnight rollover handling.
15+
16+
### Technical
17+
- Spring Boot 4.0.1, Java 25.
18+
- SQLite persistence with Spring Data JPA and Flyway migrations.
19+
- DTEK/YASNO integrations using Playwright + Jsoup.
20+

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
4848
&& rm -rf /var/lib/apt/lists/*
4949

5050
COPY --from=builder /ms-playwright /ms-playwright
51-
COPY --from=builder /app/build/libs/firefly-0.0.1.jar /app/app.jar
51+
COPY --from=builder /app/build/libs/firefly-1.0.0.jar /app/app.jar
5252

5353
ENTRYPOINT ["java","-jar","/app/app.jar"]

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,12 @@ App listens on `8080`.
7777
./gradlew build
7878
```
7979

80+
## Run Released JAR (`v1.0.0`)
81+
```bash
82+
export TELEGRAM_BOT_TOKEN=your_token_here
83+
java -jar build/libs/firefly-1.0.0.jar
84+
```
85+
8086
## YASNO Address Lookup Script
8187
Script: `scripts/yasno_group_by_address.sh`
8288

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ plugins {
55
}
66

77
group = 'io.ndmik'
8-
version = '0.0.1'
8+
version = '1.0.0'
99
description = 'firefly'
1010

1111
java {

0 commit comments

Comments
 (0)