dgtlmoon
3d14df6a11
Development branch merge into release/master
...
Multi-language / Translations Support (#3696 )
- Complete internationalization system implemented
- Support for 7 languages: Czech (cs), German (de), French (fr), Italian (it), Korean (ko), Chinese Simplified (zh), Chinese Traditional (zh_TW)
- Language selector with localized flags and theming
- Flash message translations
- Multiple translation fixes and improvements across all languages
- Language setting preserved across redirects
Pluggable Content Fetchers (#3653 )
- New architecture for extensible content fetcher system
- Allows custom fetcher implementations
Image / Screenshot Comparison Processor (#3680 )
- New processor for visual change detection (disabled for this release)
- Supporting CSS/JS infrastructure added
UI Improvements
Design & Layout
- Auto-generated tag color schemes
- Simplified login form styling
- Removed hard-coded CSS, moved to SCSS variables
- Tag UI cleanup and improvements
- Automatic tab wrapper functionality
- Menu refactoring for better organization
- Cleanup of offset settings
- Hide sticky tabs on narrow viewports
- Improved responsive layout (#3702 )
User Experience
- Modal alerts/confirmations on delete/clear operations (#3693 , #3598 , #3382 )
- Auto-add https:// to URLs in quickwatch form if not present
- Better redirect handling on login (#3699 )
- 'Recheck all' now returns to correct group/tag (#3673 )
- Language set redirect keeps hash fragment
- More friendly human-readable text throughout UI
Performance & Reliability
Scheduler & Processing
- Soft delays instead of blocking time.sleep() calls (#3710 )
- More resilient handling of same UUID being processed (#3700 )
- Better Puppeteer timeout handling
- Improved Puppeteer shutdown/cleanup (#3692 )
- Requests cleanup now properly async
History & Rendering
- Faster server-side "difference" rendering on History page (#3442 )
- Show ignored/triggered rows in history
- API: Retry watch data if watch dict changed (more reliable)
API Improvements
- Watch get endpoint: retry mechanism for changed watch data
- WatchHistoryDiff API endpoint includes extra format args (#3703 )
Testing Improvements
- Replace time.sleep with wait_for_notification_endpoint_output (#3716 )
- Test for mode switching (#3701 )
- Test for #3720 added (#3725 )
- Extract-text difference test fixes
- Improved dev workflow
Bug Fixes
- Notification error text output (#3672 , #3669 , #3280 )
- HTML validation fixes (#3704 )
- Template discovery path fixes
- Notification debug log now uses system locale for dates/times
- Puppeteer spelling mistake in log output
- Recalculation on anchor change
- Queue bubble update disabled temporarily
Dependency Updates
- beautifulsoup4 updated (#3724 )
- psutil 7.1.0 → 7.2.1 (#3723 )
- python-engineio ~=4.12.3 → ~=4.13.0 (#3707 )
- python-socketio ~=5.14.3 → ~=5.16.0 (#3706 )
- flask-socketio ~=5.5.1 → ~=5.6.0 (#3691 )
- brotli ~=1.1 → ~=1.2 (#3687 )
- lxml updated (#3590 )
- pytest ~=7.2 → ~=9.0 (#3676 )
- jsonschema ~=4.0 → ~=4.25 (#3618 )
- pluggy ~=1.5 → ~=1.6 (#3616 )
- cryptography 44.0.1 → 46.0.3 (security) (#3589 )
Documentation
- README updated with viewport size setup information
Development Infrastructure
- Dev container only built on dev branch
- Improved dev workflow tooling
2026-01-12 17:50:53 +01:00
MkDev11
e4118a1620
Testing - fix: Replace time.sleep with wait_for_notification_endpoint_output in test_notification ( #3716 )
Build and push containers / metadata (push) Has been cancelled
Build and push containers / build-push-containers (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Build distribution 📦 (push) Has been cancelled
ChangeDetection.io App Test / lint-code (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Test the built package works basically. (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Publish Python 🐍 distribution 📦 to PyPI (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-10 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-11 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-12 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-13 (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
2026-01-07 22:24:58 +01:00
dgtlmoon
12ce03c0bb
RSS - New Settings option for making RSS follow the format of Notification Body across watch/group/etc, or system default and override the format with your own as you like.
2025-11-19 12:58:12 +01:00
dgtlmoon
969c75e7be
Notification body/title - Fixing validation on empty strings #3606 ( #3607 )
2025-11-07 11:42:57 +01:00
dgtlmoon
e1028f822d
Improved send test notification handling ( #3579 )
2025-10-30 14:37:57 +01:00
dgtlmoon
ae532c82e8
Run all pytests in parallel ( #3569 )
2025-10-28 21:32:25 +01:00
dgtlmoon
a8cadc3d16
Fixing wrong notification type in <select> that lead to wrong type of notifications (plaintext vs html) being sent #3558 ( #3559 )
2025-10-27 18:56:01 +01:00
dgtlmoon
7c8bdfcc9f
Notifications - post://', put://` etc - Catch and show errors and where possible ( #3543 )
2025-10-25 16:19:38 +02:00
dgtlmoon
e233d52931
Notifications fixes ( #3534 ) #3531 #3530 #3529
2025-10-24 20:40:15 +02:00
dgtlmoon
f71550da4d
Discord + Telegram - Adding better styling (Discord now uses strike-through and bold for removal/additions instead of broken HTML) ( #3528 )
2025-10-23 20:57:59 +02:00
dgtlmoon
8c3d0d7e31
Notifications - Refactor/cleanup notification handling and rename 'Markdown' to "Markdown to HTML" to make more sense. ( #3527 ) Re #3526 -
Build and push containers / metadata (push) Has been cancelled
Build and push containers / build-push-containers (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Build distribution 📦 (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Test the built package works basically. (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Publish Python 🐍 distribution 📦 to PyPI (push) Has been cancelled
ChangeDetection.io App Test / lint-code (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-10 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-11 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-12 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-13 (push) Has been cancelled
2025-10-23 13:55:20 +02:00
dgtlmoon
6f371b1bc6
Email notification format fixes ( #3525 )
2025-10-21 21:34:17 +02:00
dgtlmoon
249dc55212
Notification - Make sure all notification tokens have something set even for form validation, fixes hassio:// with {{ watch_uuid }} in notification URL form ( #3504 )
2025-10-14 10:58:53 +02:00
dgtlmoon
b74b76c9f9
"Time between check" field is now validated correctly (requires atleast one of the weeks days hours minutes seconds to be set)
Build and push containers / metadata (push) Has been cancelled
Build and push containers / build-push-containers (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Build distribution 📦 (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Test the built 📦 package works basically. (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Publish Python 🐍 distribution 📦 to PyPI (push) Has been cancelled
ChangeDetection.io App Test / lint-code (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-10 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-11 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-12 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-13 (push) Has been cancelled
2025-09-16 19:09:45 +02:00
dgtlmoon
73f3beda00
Realtime UI - Socketio tweaks and refactor ( #3220 )
2025-06-03 10:17:19 +02:00
dgtlmoon
96dc49e229
App memory - Apprise import only when needed - saves ~50Mb RAM if you dont have any notifications enabled ( #3106 )
2025-04-11 10:37:09 +02:00
dgtlmoon
302ef80d95
Server - Path blueprint fixes and moving code blueprint to fix RSS forward slash on url ( #3054 )
Build and push containers / metadata (push) Waiting to run
Build and push containers / build-push-containers (push) Waiting to run
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Build distribution 📦 (push) Waiting to run
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Test the built 📦 package works basically. (push) Blocked by required conditions
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Publish Python 🐍 distribution 📦 to PyPI (push) Blocked by required conditions
ChangeDetection.io App Test / lint-code (push) Waiting to run
ChangeDetection.io App Test / test-application-3-10 (push) Blocked by required conditions
ChangeDetection.io App Test / test-application-3-11 (push) Blocked by required conditions
ChangeDetection.io App Test / test-application-3-12 (push) Blocked by required conditions
ChangeDetection.io App Test / test-application-3-13 (push) Blocked by required conditions
2025-03-25 22:57:15 +01:00
dgtlmoon
73189672c3
Refactor code layout, add extra tests
Build and push containers / metadata (push) Has been cancelled
Build and push containers / build-push-containers (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Build distribution 📦 (push) Has been cancelled
ChangeDetection.io App Test / lint-code (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Test the built 📦 package works basically. (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Publish Python 🐍 distribution 📦 to PyPI (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-10 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-11 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-12 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-13 (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
2025-03-18 10:40:22 +01:00
dgtlmoon
b1e700b3ff
Adding jinja2/browsersteps test ( #2915 )
Build and push containers / metadata (push) Has been cancelled
Build and push containers / build-push-containers (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Build distribution 📦 (push) Has been cancelled
ChangeDetection.io App Test / lint-code (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Test the built 📦 package works basically. (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Publish Python 🐍 distribution 📦 to PyPI (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-10 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-11 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-12 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-13 (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
2025-01-28 18:14:49 +01:00
dgtlmoon
8960f401b7
Notifications - Custom POST:// GET:// etc endpoints - returning 204 and other 20x responses are OK (don't show an error was detected)( #2897 )
Build and push containers / metadata (push) Has been cancelled
Build and push containers / build-push-containers (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Build distribution 📦 (push) Has been cancelled
ChangeDetection.io App Test / lint-code (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Test the built 📦 package works basically. (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Publish Python 🐍 distribution 📦 to PyPI (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-10 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-11 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-12 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-13 (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
2025-01-13 13:13:18 +01:00
dgtlmoon
6fc04d7f1c
"Send test notification" button - Easier to understand test send results, Improved error handling, code refactor ( #2888 )
2025-01-08 14:35:41 +01:00
dgtlmoon
e49711f449
Notification - HTML Color format notification colors should be same as UI, {{diff_full}} token should also get HTML colors ( #2842 #2554 )
2024-12-16 14:46:39 +01:00
dgtlmoon
a3a3ab0622
Notifcations - Adding "HTML Color" notification format option ( #2837 )
2024-12-13 11:21:39 +01:00
dgtlmoon
563c196396
Notification post:// get:// etc - Fixing URL encoding of headers so that '+' in URL is correctly parsed as ' ' (and other url-encodings) ( #2745 )
2024-10-28 16:59:49 +01:00
dgtlmoon
1543edca24
"Send test notification" in "Restock" mode was not working correclty when restock tokens "{{restock.price}}" were in the notification body ( #2737 )
2024-10-24 19:46:45 +02:00
dgtlmoon
82e0b99b07
#2727 Notifications - Fix "send test notification" on empty list, includes test ( #2731 )
2024-10-21 11:35:37 +02:00
dgtlmoon
71c9b1273c
Adding test for #1995 UTF-8 encoding in POST request body and post:// notifications ( #2525 )
2024-07-27 19:47:03 +02:00
dgtlmoon
8aae7dfae0
UI - Fixing up 'test notification' bug from main settings and tag settings pages #2510 ( #2511 )
2024-07-19 13:51:15 +02:00
dgtlmoon
8f3a6a42bc
Testing - Adding simple memory usage test ( #2483 )
2024-07-11 15:03:42 +02:00
dgtlmoon
f0823126c8
Notifications - Fixing support for headers in custom post://, posts:// notifications, ability to include HTTP headers when making custom notifications ( #2018 )
2023-12-01 18:05:19 +01:00
Tiago Ilieve
3b875e5a6a
Add 'diff_patch' notification body token - This will allow the diff to be generated in the "unified patch format." ( #1765 )
2023-09-07 08:55:06 +02:00
dgtlmoon
37ff5f6d37
Bug - SMTP mailto:// Notification content-type (HTML/Text) fix and add CI tests ( #1660 )
2023-06-30 21:35:35 +02:00
dgtlmoon
572f71299f
Bug fix - Notification settings were not cascading from global -> tags -> watch correctly in some cases ( #1654 )
2023-06-27 18:27:33 +02:00
dgtlmoon
52f2c00308
UI/Functionality - Ability to manage/apply filters and notifications across tags/groups
2023-06-19 23:29:13 +02:00
dgtlmoon
e6d2d87b31
Notification screenshots - now PNG only for now to save disk space (no point creating two images) ( #1481 )
2023-03-18 20:52:52 +01:00
reecespieces
0d05ee1586
Notification Improvements - New tokens {{diff_added}} and {{diff_removed}}, removed whitespace around added and into ( Issue #905 ) ( #1454 )
2023-03-12 16:21:47 +01:00
dgtlmoon
265f622e75
Notification - Support for standard API calls post:// posts:// get:// gets:// delete:// deletes:// put:// puts:// ( #1194 )
2022-12-05 20:49:08 +01:00
dgtlmoon
c12db2b725
Notifications - tokens/jinja2 templating ( #1184 )
2022-12-05 19:58:43 +01:00
dgtlmoon
ce6c2737a8
Notification screenshot/JPEG was not being regenerated correctly ( #1149 )
2022-11-22 18:08:46 +01:00
dgtlmoon
35d44c8277
Notification screenshot option should only be available to webdriver/playwright watches, screenshot sent as JPEG to save bandwidth, Simplify the logic around screenshot, ( #1140 )
2022-11-20 14:40:41 +01:00
Matthias Bilger
f066a1c38f
Option to attach screenshot to notification ( #1127 )
2022-11-20 09:37:48 +01:00
dgtlmoon
0c111bd9ae
Further notification settings refinement ( #910 )
2022-09-08 09:10:04 +02:00
dgtlmoon
2c6faa7c4e
Cleaner separation of watch/global notification settings ( #894 )
2022-08-31 15:49:13 +02:00
dgtlmoon
5bd9eaf99d
UI Feature - Add watch in "paused" state, saving then unpauses ( #779 )
2022-07-28 12:13:26 +02:00
dgtlmoon
2ba00d2e1d
Notifications log - log what was sent after applying all cleanups
2022-06-14 17:01:13 +02:00
dgtlmoon
07e279b38d
API Interface ( #617 )
2022-05-20 16:27:51 +02:00
dgtlmoon
c0d0424e7e
Data storage bug fix #569
2022-04-29 18:26:15 +02:00
dgtlmoon
9e708810d1
Seconds/minutes/hours/days between checks form field upgrade from 'minutes' only ( #512 )
2022-04-24 16:56:32 +02:00
dgtlmoon
8f062bfec9
Refactor form handling ( #548 )
2022-04-19 21:43:07 +02:00
dgtlmoon
3034d047c2
Introduce an AJAX button for sending test notifications instead of the checkbox ( #519 )
2022-04-05 18:04:26 +02:00