dgtlmoon
70c900804b
Text filters - New simpler filter "Extract lines containing text" ( #4046 )
2026-04-11 08:14:51 +02:00
dgtlmoon
b32617d700
API - Invert changes_only flag for include_equal parameter, add test, fixes changesOnly option for history diff API call ( #3976 )
2026-03-12 16:15:37 +01:00
dgtlmoon
5669509255
API - Processors configuration is now part of the API ( #3902 )
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-02-25 11:30:39 +01:00
dgtlmoon
bcd32852ca
API - Remove flask_expects_json validation, this is covered entirely by OpenAPI, update OpenAPI spec. ( #3871 )
2026-02-13 16:30:59 +01:00
dgtlmoon
5726c5a0ac
API - Import use background task to import large lists ( #3858 )
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
2026-02-11 08:15:58 +01:00
dgtlmoon
c66a29b011
API - Import - Ability to set any watch value as HTTP URL Query value, for example ?processor=restock_diff&time_between_check={'hours':24} Re #3845 ( #3857 )
2026-02-11 07:26:48 +01:00
dgtlmoon
c577bd700c
Refactor watch saving backend, closes #3846 ( #3847 )
2026-02-07 03:41:35 +01:00
dgtlmoon
151e603af7
API - Validation improvements ( #3782 )
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
2026-01-19 18:16:25 +01:00
dgtlmoon
5e5674f48d
Non blocking improvements ( #3767 )
...
* Non blocking improvements
* Test fix
* Background thread re-queue
* Nonblockimg improvements, run tasks in background, add warning about CPU cores
* Misc fixes
2026-01-17 17:25:18 +01:00
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
dgtlmoon
ae532c82e8
Run all pytests in parallel ( #3569 )
2025-10-28 21:32:25 +01:00
dgtlmoon
2116b2cb93
CVE-2025-62780 - Stored XSS in Watch update via API
2025-10-28 10:09:30 +01:00
dgtlmoon
9ba2094f75
Tests - API - Import - Removed 'content-type': 'text/plain' from the test because this should be assumed.
2025-10-25 19:04:09 +02:00
dgtlmoon
4dbab8d77a
Test speedup - remove common calls for function calls ( #3477 )
2025-10-10 01:16:03 +02:00
dgtlmoon
cc5455c3dc
API - OpenAPI call validation was being skipped on docker based installs, misc API fixes ( #3424 )
2025-09-15 13:50:29 +02:00
Giuseppe Rota
cd8e115118
Enable "last_viewed" field in the watch API. ( #3403 )
2025-09-06 11:47:16 +02:00
dgtlmoon
aa4e182549
Conditions & API - Fix set Conditions by API ( #3349 )
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-07-30 17:47:07 +02:00
dgtlmoon
73f3beda00
Realtime UI - Socketio tweaks and refactor ( #3220 )
2025-06-03 10:17:19 +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
289f118581
API Access should still work even when UI Password is enabled ( #3046 ) #3045
2025-03-23 02:00:05 +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
66fb05527b
Improve last_checked vs last_changed time information precision ( #2883 )
2025-01-06 20:38:50 +01:00
Kenny Root
d23a301826
Use #!/usr/bin/env to support virtualenv ( #2518 )
2024-07-25 14:39:01 +02:00
dgtlmoon
8f3a6a42bc
Testing - Adding simple memory usage test ( #2483 )
2024-07-11 15:03:42 +02:00
dgtlmoon
343e359b39
Now saving last two HTML snapshots for future reference, refactor, dont write screenshots and xpath to disk when no change detected (saves disk IO) ( #2431 )
2024-06-23 09:19:32 +02:00
dgtlmoon
fca40e4d5b
Testing - General test workflow improvements ( #2144 )
2024-01-31 15:10:44 +01:00
dgtlmoon
8e207ba438
API - Ability to add/import bulk list of watches as a line-feed separated list ( #2021 )
2023-12-01 18:38:49 +01:00
dgtlmoon
bbc18d8e80
API - Make sure the watch "is viewed" attribute is correctly represented in the API output ( #2009 )
2023-11-28 11:42:08 +01:00
dgtlmoon
5f150c4f03
Bug - Fix watch clone ( #1647 )
2023-06-27 17:05:32 +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
6f1eec0d5a
Fixing bad linebreak definition </br> in notifications and UI ( #1465 )
2023-03-12 17:05:34 +01:00
dgtlmoon
024c8d8fd5
API - Improvements, support PUT for updating existing watch, set muted state, set paused state, see https://changedetection.io/docs/api_v1/index.html ( #1213 )
2023-01-10 19:00:57 +01:00
dgtlmoon
5d40e16c73
API - Adding basic system info/system state API ( #1051 )
2022-10-23 19:15:11 +02:00
dgtlmoon
83555a9991
bug fix: last_changed was being set on the first fetch, should only be set on the change after the first fetch #705
2022-06-23 09:41:55 +02:00
dgtlmoon
aa3c8a9370
Move history data to a textfile, improves memory handling ( #638 )
2022-05-31 23:43:50 +02:00
dgtlmoon
07e279b38d
API Interface ( #617 )
2022-05-20 16:27:51 +02:00
dgtlmoon
9809af142d
Option to render links as [Some Text ](/link), adds the ability to change-detect on hyperlink changes
2022-04-09 10:35:14 +02:00
dgtlmoon
96664ffb10
Better text/plain detection and refactor tests ( #443 )
2022-03-01 17:50:15 +01:00
Unpublished
bd8f389a65
Add API endpoint for current snapshot ( #359 )
2022-01-08 16:38:42 +01:00