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
dgtlmoon
6e71088cde
New feature - Restock / stock / out of stock monitor option/mode
2023-03-18 20:36:26 +01:00
dgtlmoon
4c74d39df0
Code - Abstract out the diff fetch types to make it easier to integrate new ones ( #1467 )
2023-03-12 18:11:53 +01:00
dgtlmoon
6f1eec0d5a
Fixing bad linebreak definition `</br>` in notifications and UI ( #1465 )
2023-03-12 17:05:34 +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
8253074d56
False change alerts fix - Don't reset watch checksum when a fetch error happens, adjust test to not test for fluctuating filter ( #1437 )
2023-02-25 22:14:47 +01:00
dgtlmoon
0ed897c50f
New setting to allow passwordless access to your 'diff' page - perfect for sharing your diff page securely, refactored login code ( #1357 )
2023-01-29 22:36:55 +01:00
dgtlmoon
f8e587c415
Security - Possible stored XSS in watch list - Only permit HTTP/HTTP/FTP by default - override with env var `SAFE_PROTOCOL_REGEX` ( #1359 )
2023-01-29 11:12:06 +01:00
dgtlmoon
7048a0acbd
UI - Fix wrong logic when dealing with webdriver/playwright watch screenshot settings ( #1325 )
2023-01-21 13:47:32 +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
jtagcat
58c7cbeac7
UI: Updating queued success message ( #1285 )
2023-01-05 21:12:02 +01:00
dgtlmoon
fc6424c39e
Test improvements ( #1264 )
2022-12-26 14:17:40 +01:00
dgtlmoon
e99f07a51d
Filters & Notifications - fixed tokens in filter not found notification
2022-12-22 10:05:17 +01:00
dgtlmoon
fcfd1b5e10
Ability to configure extra proxies via the UI ( #1235 )
2022-12-19 21:48:01 +01:00
dgtlmoon
13c4121f52
PDF File change detection - Initial PDF fetcher support with basic text extraction ( #1244 )
2022-12-19 17:51:41 +01:00
dgtlmoon
e8e176f3bd
Testing - Run test as fully built docker container ( #1245 )
2022-12-19 14:41:34 +01:00
dgtlmoon
b7a2501d64
Fetching - Always sort the key order of JSON content for less false alerts (May cause an alert on upgrade, but will be better going forwards) #1219
2022-12-15 09:13:09 +01:00
dgtlmoon
b58fd995b5
Automatically offer to track LD+JSON product price data ( #1204 )
2022-12-08 19:28:20 +01:00
dgtlmoon
3e333496c1
Test cleanups ( #1196 )
2022-12-07 12:03:28 +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
69662ff91c
Test improvement - improving notification error network test
2022-12-05 17:45:30 +01:00
dgtlmoon
2345b6b558
New feature - Simple extract data by regex from all historical watch text into CSV ( #1191 )
2022-12-05 14:48:03 +01:00
dgtlmoon
5b530ff61c
Configurable "Browser Steps" when Playwright/Chrome is configured (enter text, scroll, wait for text, click button etc) ( #478 )
2022-11-24 20:53:01 +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
dgtlmoon
d07d7a1b18
Minor test improvements
2022-11-20 11:35:35 +01:00
Matthias Bilger
f066a1c38f
Option to attach screenshot to notification ( #1127 )
2022-11-20 09:37:48 +01:00
dgtlmoon
359fc48fb4
Filters can now accept a list/multiple filters ( #1064 ) #623
2022-11-03 12:13:54 +01:00
dgtlmoon
c197c062e1
Disable version check when pytest is running ( #1084 )
2022-11-01 18:26:29 +01:00
dgtlmoon
77b59809ca
Removing unused code ( #1070 )
2022-10-28 18:36:07 +02:00
dgtlmoon
72834a42fd
Backups and Snapshots - Data directory now fully portable, (all paths are relative) , refactored backup zip export creation
2022-10-27 12:35:26 +02:00
dgtlmoon
724cb17224
Re #1052 - Dynamic URLs, use variables in the URL (such as the current date, the date in a month, and other logic see https://github.com/dgtlmoon/changedetection.io/wiki/Handling-variables-in-the-watched-URL ) ( #1057 )
2022-10-24 23:20:39 +02:00
dgtlmoon
5d40e16c73
API - Adding basic system info/system state API ( #1051 )
2022-10-23 19:15:11 +02:00
dgtlmoon
32ea1a8721
Windows - JQ - Make library optional so it doesnt break Windows pip installs ( #1009 )
2022-10-12 09:53:16 +02:00
dgtlmoon
fff32cef0d
Adding test - Test the 'execute JS before changedetection' ( #1006 )
2022-10-11 14:40:36 +02:00
Yusef Ouda
dfa7fc3a81
Adds support for jq JSON path querying engine ( #1001 )
2022-10-09 16:12:45 +02:00
dgtlmoon
d4715e2bc8
Tidy up proxies.json logic, adding tests ( #955 )
2022-09-19 13:14:35 +02:00
dgtlmoon
0c111bd9ae
Further notification settings refinement ( #910 )
2022-09-08 09:10:04 +02:00
dgtlmoon
fefc39427b
Test improvement - Visual selector data loads as JSON ( #895 )
2022-08-31 16:32:50 +02:00
dgtlmoon
2c6faa7c4e
Cleaner separation of watch/global notification settings ( #894 )
2022-08-31 15:49:13 +02:00
dgtlmoon
d67c654f37
Be sure visual-selector data is set when xPath/CSS filter is not yet found ( #851 )
2022-08-17 13:21:06 +02:00
dgtlmoon
9942107016
Massive improvements to error handling - show separate output for non HTTP 200 status replies
2022-08-15 18:56:53 +02:00
dgtlmoon
8c466b4826
Test fix - Remove debug from test
2022-08-05 08:26:37 +02:00
dgtlmoon
6f072b42e8
Security update - Password could be unset from settings form unexpectedly ( #808 )
2022-08-05 00:05:43 +02:00
dgtlmoon
8fef3ff4ab
[preview current] cleanup code and add test
2022-07-30 20:11:56 +02:00
dgtlmoon
488699b7d4
Test improvement - remove unnecessary step
2022-07-29 10:23:59 +02:00
dgtlmoon
daae43e9f9
Bug fix: Filter failure detection notification was interfering with change-detection results, added test case ( #786 )
2022-07-29 10:11:49 +02:00
dgtlmoon
5bd9eaf99d
UI Feature - Add watch in "paused" state, saving then unpauses ( #779 )
2022-07-28 12:13:26 +02:00
dgtlmoon
b1c51c0a65
Enhancement - support xPath text() function filter, for example "//title/text()" in RSS feeds ( #778 )
2022-07-28 11:50:31 +02:00
dgtlmoon
faa42d75e0
Refactor of extract text filter - Regex, support Regex (groups) and all python regex flags via /something/aiLmsux ( #773 )
2022-07-26 17:34:34 +02:00
dgtlmoon
291700554e
Bug fix for alerting when xPath based filters are no longer present ( #772 )
2022-07-23 19:39:52 +02:00
dgtlmoon
a82fad7059
Send notification when CSS/xPath filter is missing after more than 6 (configurable) attempts ( #771 )
2022-07-23 17:19:00 +02:00
dgtlmoon
dd0eeca056
Handle simple obfuscations - HomeDepot.com style price obfuscation ( #764 )
2022-07-20 14:02:22 +02:00
dgtlmoon
2ba3a6d53f
Test improvement: Extract text should return all matches
2022-07-10 20:05:48 +02:00
dgtlmoon
2b054ced8c
[new filter] Filter option - Trigger only when NEW content (lines) are detected ( compared to earlier text snapshots ) ( #685 )
2022-06-28 18:34:32 +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
7da32f9ac3
New filter - Block change-detection if text matches - for example, block change-detection while the text "out of stock" is on the page, know when the text is no longer on the page ( #698 )
2022-06-15 22:59:37 +02:00
dgtlmoon
2ba00d2e1d
Notifications log - log what was sent after applying all cleanups
2022-06-14 17:01:13 +02:00
dgtlmoon
4101ae00c6
New feature - "Extract text" filter ability ( #624 )
2022-06-06 16:57:50 +02:00
dgtlmoon
7929aeddfc
'Mark all viewed' button was missing in this version, added test also. ( #652 )
2022-06-02 10:01:03 +02:00
dgtlmoon
aa3c8a9370
Move history data to a textfile, improves memory handling ( #638 )
2022-05-31 23:43:50 +02:00
dgtlmoon
5cefb16e52
Minor code cleanup
2022-05-25 15:38:40 +02:00
dgtlmoon
341ae24b73
Re #616 - content trigger - adding extra test ( #620 )
2022-05-25 15:31:59 +02:00
dgtlmoon
eef56e52c6
Adding new Visual Selector for choosing the area of the webpage to monitor - playwright/browserless only ( #566 )
2022-05-23 23:44:51 +02:00
dgtlmoon
e17c2121f7
Fix encoding errors with XPath filters from UTF-8 responses ( #619 )
2022-05-20 18:07:08 +02:00
dgtlmoon
07e279b38d
API Interface ( #617 )
2022-05-20 16:27:51 +02:00
dgtlmoon
6734fb91a2
Option to control if pages with no renderable content are a change (example: JS webapps that dont render any text sometimes) ( #608 )
2022-05-17 22:22:00 +02:00
dgtlmoon
f28c260576
Distill.io JSON export file importer ( #592 )
2022-05-10 17:15:41 +02:00
dgtlmoon
c0d0424e7e
Data storage bug fix #569
2022-04-29 18:26:15 +02:00
dgtlmoon
06517bfd22
Ability to 'Share' a watch by a generated link, this will include all filters and triggers - see Wiki ( #563 )
2022-04-26 10:52:08 +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
015353eccc
Form field handling improvements - fixing field list handler for empty lines
2022-04-24 13:53:13 +02:00
dgtlmoon
8f062bfec9
Refactor form handling ( #548 )
2022-04-19 21:43:07 +02:00
dgtlmoon
380c512cc2
Adding support for change detection of HTML source-code via "source: https://website.com " prefix ( #540 )
2022-04-12 17:36:29 +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
3034d047c2
Introduce an AJAX button for sending test notifications instead of the checkbox ( #519 )
2022-04-05 18:04:26 +02:00
dgtlmoon
8f40f19328
RSS feed CDATA should contain difference output
2022-03-30 10:51:10 +02:00
dgtlmoon
082634f851
Fix - {diff} and {diff_full} notifications tokens were not always including the full output
2022-03-29 19:18:26 +02:00
dgtlmoon
942c3f021f
Allow changedetector to ignore status codes as a per-site setting ( #479 ) ( #485 )
...
Co-authored-by: Ara Hayrabedian <ara.hayrabedian@gmail.com>
2022-03-21 23:03:54 +01:00
dgtlmoon
5483f5d694
Security update - Use CSRF token protection for forms, make "remove password" use HTTP Post ( #484 )
2022-03-21 22:54:27 +01:00
dgtlmoon
f2fa638480
Security update - Protect against file:/// type access by webdriver/chrome. ( #483 )
2022-03-21 20:59:20 +01:00
dgtlmoon
3e8a15456a
Detect byte-encoding when the server mishandles the content-type header reply ( #472 )
2022-03-17 10:28:02 +01:00
dgtlmoon
ffad5cca97
JSON diff/preview should use utf-8 encoding where possible ( #465 )
2022-03-13 11:37:51 +01:00
Tim Loderhose
d4359c2e67
Add filter to remove elements by CSS rule from HTML before change detection is run ( #445 )
2022-03-12 13:29:30 +01:00
dgtlmoon
7ce9e4dfc2
Testing - Refactor HTTP Request Type test ( #453 )
2022-03-11 18:50:02 +01:00
dgtlmoon
96664ffb10
Better text/plain detection and refactor tests ( #443 )
2022-03-01 17:50:15 +01:00
dgtlmoon
b401998030
Ensure string matching on the ignore filter is always case-INsensitive
2022-02-23 12:01:11 +01:00
dgtlmoon
014fda9058
Ability to visualise trigger and filter rules against the current snapshot on the preview page
2022-02-23 10:49:25 +01:00
dgtlmoon
eb3dca3805
Language fix "watches are rechecking." it actually puts them into an internal queue "watches are QUEUED for rechecking"
2022-02-08 13:00:18 +01:00
dgtlmoon
22ef9afb93
Refactor tests for notification error log handler ( #404 )
2022-02-04 20:54:20 +01:00
dgtlmoon
abaec224f6
Notification error log handler ( #403 )
...
* Add a notifications debug/error log interface (Link available under the notification URLs list)
2022-02-04 19:29:39 +01:00
Tim Loderhose
4887180671
Add option for tags on import ( #377 )
...
* Add option for tags on import and backup
2022-01-25 18:46:05 +01:00
Travis Howse
abe88192f4
Fix bug where diff and diff_full were switched in notification templates. ( #380 )
2022-01-21 12:26:08 +01:00
dgtlmoon
a896493797
Simple HTTP auth ( #372 )
...
HTTP Basic Auth form validation
2022-01-15 22:52:39 +01:00
dgtlmoon
271181968f
Notification settings defaults and validation ( #361 )
...
* Re #360 - Validate that when a notification URL is set, we have also a notification body and title, new install should have notification title/body defaults set.
2022-01-10 17:38:04 +01:00
dgtlmoon
ecfc02ba23
Merge branch 'master' of github.com:dgtlmoon/changedetection.io
2022-01-09 11:45:23 +01:00
dgtlmoon
3331ccd061
Add test for low-level network error text handling
2022-01-09 11:45:04 +01:00
Unpublished
bd8f389a65
Add API endpoint for current snapshot ( #359 )
2022-01-08 16:38:42 +01:00
dgtlmoon
59d31bf76f
XPath support ( #355 )
...
* XPath support and minor improvements to form validation
2022-01-05 17:58:07 +01:00
dgtlmoon
f87f7077a6
Better handling of EmptyReply exception, always bump 'last_checked' in the case of an error ( #354 )
...
* Better handling of EmptyReply exception, always bump 'last_checked' in the case of an error, adds test
2022-01-05 14:13:30 +01:00
dgtlmoon
b33105d576
Re #348 - Add test for backup, use proper datastore path
2022-01-03 20:16:21 +01:00
Unpublished
023951a10e
Be sure that documents returned with a application/json header are not parsed with inscriptis ( #337 )
...
* Auto-detect JSON by Content-Type header
* Add test to not parse JSON responses with inscriptis
2022-01-02 22:35:33 +01:00
dgtlmoon
b5c1fce136
Re #133 Option for ignoring whitespacing ( #345 )
...
* Global setting option to ignore whitespace when detecting a change
2022-01-02 22:28:34 +01:00
dgtlmoon
489671dcca
Re #342 notification encoding ( #343 )
...
* Re #342 - check for accidental python byte encoding of non-utf8/string, check return type of fetcher and fix encoding of notification content
2022-01-02 14:11:04 +01:00
dgtlmoon
0439acacbe
Adding global ignore text ( #339 )
2022-01-01 14:53:08 +01:00
Simon Caron
dfcae4ee64
Extend Request Parameters to add Body & Method ( #325 )
2021-12-29 23:18:29 +01:00
dgtlmoon
9815fc2526
RSS allow access via token ( #310 )
...
Allow access via a token
* New RSS URL
* Redirect the old RSS feed URL
* fix tests
2021-12-16 00:05:01 +01:00
dgtlmoon
35d0c74454
Re #308 - Adding test and including settings in clone operation ( #309 )
2021-12-15 19:54:30 +01:00
dgtlmoon
5a10acfd09
Send diff in notifications ( #296 )
2021-12-10 12:08:51 +01:00
dgtlmoon
7f8c0fb2fa
Check that a notification URL is set when sending the test notification ( #300 )
2021-12-08 12:23:48 +01:00
ghjklw
ecba130fdb
Enable Markdown and HTML notifications. ( #288 )
...
This change enable defining the notification body as HTML or Markdown. This can be very
useful to have more user-friendly notifications such as:
* applying a heading style to the `{watch_title}` to make it stand out
* creating clickable links using the `{watch_url}`, `{preview_url}` and `{diff_url}`.
Changes
=======
* Add a `notification_format` to the notification settings, defaults to plain text.
* Use the `body_format` parameter of Apprise's `notify` method.
Co-authored-by: Malo Jaffré <malo.jaffre@dunnhumby.com>
2021-12-04 14:41:48 +01:00
dgtlmoon
a8e92e2226
Re #265 - extended jsonpath support ( #266 )
...
* Re #265 - Use extended JSONpath support,
Allow a JSONPath selector to not match anything (yet)
Adding test
Correctly capture invalid JSONPath query error
2021-10-27 09:24:08 +02:00
dgtlmoon
6e4ddacaf8
Re #257 - Handle bool val of json path better ( #263 )
...
* Re #257 - Handle bool val of json path better, with test
2021-10-21 23:25:38 +02:00
dgtlmoon
95e39aa727
Configurable BASE_URL ( #228 )
...
Re #152 ability to over-ride env var BASE_URL, with UI+tests
2021-10-05 18:15:36 +02:00
dgtlmoon
cd7df86f54
Re #242 - app was treating notification field defaults as the field value ( #244 )
2021-10-05 14:33:57 +02:00
dgtlmoon
b903280cd0
Re #185 - [feature] Custom notifications templates per watch ( #226 )
...
* Re #185 - [feature] Custom text templates for the notification per monitored entry as override.
Bonus points: Adding validation for apprise URLs
2021-09-17 18:37:26 +02:00
Minty
b9e0ad052f
New notification tokens - watch_uuid, watch_title, watch_tag, ( #201 )
...
* New notification tokens ; Tokens added: watch_uuid, watch_title, watch_tag, updated settings description
2021-08-22 22:36:10 +02:00
dgtlmoon
fbe9270528
Re #203 - validate tokens ( #204 )
...
* Re #203 - validate tokens
2021-08-22 18:45:32 +02:00
dgtlmoon
5fb9bbdfa3
Test - prove that notifications are not being sent when content does not change
2021-08-19 18:58:30 +02:00
dgtlmoon
a11b6daa2e
Installation via pip ( #186 )
...
Builder for https://pypi.org/project/changedetection.io/
2021-08-16 15:24:37 +02:00