dgtlmoon
7d96b4ba83
Fetching - Always record `server` software reply headers (will be used in the future) ( #2143 )
2024-01-31 16:15:43 +01:00
dgtlmoon
fca40e4d5b
Testing - General test workflow improvements ( #2144 )
2024-01-31 15:10:44 +01:00
dgtlmoon
9510345e01
Test - tidy up backup test ( #2117 )
2024-01-17 22:35:29 +01:00
Constantin Hong
4be0fafa93
Support Loguru as a logger ( #2036 )
2024-01-16 09:48:16 +01:00
dgtlmoon
c3d825f38c
Test - Adding extra test for HTML output in emails ( #2103 )
2024-01-14 17:47:54 +01:00
dgtlmoon
65428655b8
Notifications - When any in a list of notifications fails, the others should still work ( #2106 )
2024-01-12 12:25:21 +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
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
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
8fd57280b7
Testing - Improve PDF text change detection tests ( #1992 )
2023-11-20 15:18:46 +01:00
dgtlmoon
0285d00f13
UI - Clicking the "[Diff]" link should take you to the difference starting at the relative time to when you last viewed the difference page ( #1989 )
2023-11-17 17:21:26 +01:00
dgtlmoon
f7f98945a2
Visual Selector - xPath handling misc fixes ( #1976 )
2023-11-13 21:23:43 +01:00
Constantin Hong
26931e0167
feature: Support XPath2.0 to 3.1 ( #1774 )
2023-11-13 16:42:21 +01:00
dgtlmoon
5229094e44
New functionanlity - Selectable browser / ability to add extra browser connections (good for using "scraping browsers"/ etc) ( #1943 )
2023-11-13 16:39:11 +01:00
dgtlmoon
c8dcc072c8
Code refactor for fetchers ( #1941 )
2023-11-13 10:42:56 +01:00
dgtlmoon
99246d3e6d
Visual Selector - Small fix, Improving elements fetcher reliability ( #1947 )
2023-11-09 19:13:18 +01:00
Jai Gupta
d3c8386874
Import - Improved Wachete Excel XLS import support for "dynamic wachet" (sets correct state of using chrome browser or not) column ( #1934 )
2023-11-06 12:50:27 +01:00
dgtlmoon
47103d7f3d
Refactor Excel / wachete import, extend tests ( #1931 )
2023-11-03 15:43:57 +01:00
dgtlmoon
03c671bfff
Build - Upgrading pip packages ( #1915 )
2023-11-01 18:47:12 +01:00
dgtlmoon
e209d9fba0
Ability to Import from Wachete XLSX (or any XLSX) - Wachete alternative made easy ( #1921 )
2023-11-01 15:36:49 +01:00
dgtlmoon
6a589e14f3
BrowserSteps - Wrong text taken from browser steps ( #1911 )
2023-10-28 20:19:51 +02:00
dgtlmoon
e1860549dc
Fetching - Browser Step enabled watches should also identify 404/non-200 status situations ( #1907 )
2023-10-28 14:37:42 +02:00
dgtlmoon
9765d56a23
Text Filters - "Extract Text" filter was not being error checked properly when using a RegEx ( #1902 )
2023-10-26 20:19:59 +02:00
dgtlmoon
7220afab0a
RSS fetch - RSS field <title> was not rendering as text correctly, added workaround #1879
2023-10-19 16:42:05 +02:00
dgtlmoon
f707c914b6
RSS Fetching - Handle CDATA (commented out text) in RSS correctly, generally handle RSS better ( #1866 )
2023-10-17 18:34:19 +02:00
dgtlmoon
c0b49d3be9
Testing - Improve xPath tests ( #1863 )
2023-10-16 16:48:47 +02:00
dgtlmoon
da421fe110
UI - Ability to select between any difference date ( from / to ) and minor UI cleanup for differences page ( #1855 )
2023-10-11 16:25:36 +02:00
dgtlmoon
7debccca73
Fetching - Clarifying how fetchers work with SOCKS5 proxies
2023-10-09 16:57:30 +02:00
dgtlmoon
ceac8c21e4
LD JSON Price followers - Handle incorrectly created LD-JSON price structures better ( #1837 )
2023-10-04 15:57:55 +02:00
dgtlmoon
2b948c15c1
Backend - Regular expression / string filtering refactor for Python 3.11 and deprecation warnings since Python 3.6 ( #1786 )
2023-10-03 17:44:27 +02:00
dgtlmoon
e30b17b8bc
UI + Fetching - Be more helpful when a filter contains no text, suggest ways to deal with images in filters ( #1819 )
2023-09-26 13:59:59 +02:00
dgtlmoon
dcf4bf37ed
Code/Test - Improve testing for creating backups
2023-09-22 09:21:07 +02:00
dgtlmoon
22b2068208
Ability to select "No proxy" for a watch when you have proxy's configured
2023-09-08 14:14:47 +02: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
40d01acde9
Fix - Regular Expression text in `ignore` and `trigger` were not processing correctly, also refactored for lower CPU usage ( #1747 )
2023-09-05 13:07:17 +02:00
dgtlmoon
52df3b10e7
UI - Ability to highlight text and have it offered as a ignore-text option, really nice easy way to set ignores on changing text ( #1746 )
2023-08-24 14:29:48 +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
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
a4c620c308
Code - Adding CI test for search ( #1626 )
2023-06-13 15:03:32 +02:00
Maciej Rapacz
a4e6fd1ec3
Fetcher / Parser - Automatically attempt to extract JSON from document when document contains JSON but could be wrapped in HTML ( #1593 )
2023-05-30 08:57:17 +02:00
dgtlmoon
d8b9f0fd78
Test improvement - Also test that custom request headers works with Playwright/Browserless ( #1607 )
2023-05-29 17:44:38 +02:00
dgtlmoon
f9387522ee
Fetching - Be sure that content-type detection works when the headers are a mixed case ( #1604 )
2023-05-29 16:11:43 +02:00
dgtlmoon
9e954532d6
Fetcher - Ability to specify headers from a textfile per watch, global or per tag ( https://github.com/dgtlmoon/changedetection.io/wiki/Adding-headers-from-an-external-file )
2023-05-22 17:19:52 +02:00
dgtlmoon
9076ba6bd3
Tests - error test - be sure to clear results from other test parts
2023-04-06 16:12:18 +02:00
dgtlmoon
ad75e8cdd0
Tests - Add test to check that low level fetch errors are cleared on next check
2023-04-06 14:46:08 +02:00
dgtlmoon
d5f574ca17
Notifications - Include triggered text token as `{{triggered_text}}` in notifications, so you can send just the content that matches. ( #1485 )
2023-03-21 19:16:13 +01:00
dgtlmoon
55b6ae86e8
Ability to set which text to process triggers on (added, removed, changed) according to the difference ( #1483 )
2023-03-20 20:16:57 +01:00
dgtlmoon
3b80bb2f0e
Use brotli for reducing the size of the text snapshots ( #1482 )
2023-03-19 21:12:22 +01: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
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