mirror of
https://github.com/sissbruecker/linkding.git
synced 2025-08-26 20:06:42 +02:00
Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
1daad2c86c | ||
![]() |
251def2583 | ||
![]() |
560769f068 | ||
![]() |
dc9799cc53 |
29
CHANGELOG.md
29
CHANGELOG.md
@@ -1,5 +1,34 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## v1.22.2 (27/10/2023)
|
||||||
|
|
||||||
|
### What's Changed
|
||||||
|
* Fix search options not opening on iOS by @sissbruecker in https://github.com/sissbruecker/linkding/pull/549
|
||||||
|
* Bump urllib3 from 1.26.11 to 1.26.17 by @dependabot in https://github.com/sissbruecker/linkding/pull/542
|
||||||
|
* Add iOS shortcut to community section by @andrewdolphin in https://github.com/sissbruecker/linkding/pull/550
|
||||||
|
* Disable editing of search preferences in user admin by @sissbruecker in https://github.com/sissbruecker/linkding/pull/555
|
||||||
|
* Add feed2linkding to community section by @Strubbl in https://github.com/sissbruecker/linkding/pull/544
|
||||||
|
* Sanitize RSS feed to remove control characters by @sissbruecker in https://github.com/sissbruecker/linkding/pull/565
|
||||||
|
* Bump urllib3 from 1.26.17 to 1.26.18 by @dependabot in https://github.com/sissbruecker/linkding/pull/560
|
||||||
|
|
||||||
|
### New Contributors
|
||||||
|
* @andrewdolphin made their first contribution in https://github.com/sissbruecker/linkding/pull/550
|
||||||
|
* @Strubbl made their first contribution in https://github.com/sissbruecker/linkding/pull/544
|
||||||
|
|
||||||
|
**Full Changelog**: https://github.com/sissbruecker/linkding/compare/v1.22.1...v1.22.2
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## v1.22.1 (06/10/2023)
|
||||||
|
|
||||||
|
### What's Changed
|
||||||
|
* Fix memory leak with SQLite by @sissbruecker in https://github.com/sissbruecker/linkding/pull/548
|
||||||
|
|
||||||
|
|
||||||
|
**Full Changelog**: https://github.com/sissbruecker/linkding/compare/v1.22.0...v1.22.1
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## v1.22.0 (01/10/2023)
|
## v1.22.0 (01/10/2023)
|
||||||
|
|
||||||
### What's Changed
|
### What's Changed
|
||||||
|
@@ -16,6 +16,8 @@ class FeedContext:
|
|||||||
|
|
||||||
|
|
||||||
def sanitize(text: str):
|
def sanitize(text: str):
|
||||||
|
if not text:
|
||||||
|
return ''
|
||||||
# remove control characters
|
# remove control characters
|
||||||
valid_chars = ['\n', '\r', '\t']
|
valid_chars = ['\n', '\r', '\t']
|
||||||
return ''.join(ch for ch in text if ch in valid_chars or unicodedata.category(ch)[0] != 'C')
|
return ''.join(ch for ch in text if ch in valid_chars or unicodedata.category(ch)[0] != 'C')
|
||||||
|
@@ -7,6 +7,8 @@ from django.urls import reverse
|
|||||||
|
|
||||||
from bookmarks.tests.helpers import BookmarkFactoryMixin
|
from bookmarks.tests.helpers import BookmarkFactoryMixin
|
||||||
from bookmarks.models import FeedToken, User
|
from bookmarks.models import FeedToken, User
|
||||||
|
from bookmarks.feeds import sanitize
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def rfc2822_date(date):
|
def rfc2822_date(date):
|
||||||
@@ -112,6 +114,9 @@ class FeedsTestCase(TestCase, BookmarkFactoryMixin):
|
|||||||
self.assertContains(response, f'<title>test\n\r\ttitle</title>', count=1)
|
self.assertContains(response, f'<title>test\n\r\ttitle</title>', count=1)
|
||||||
self.assertContains(response, f'<description>test\n\r\tdescription</description>', count=1)
|
self.assertContains(response, f'<description>test\n\r\tdescription</description>', count=1)
|
||||||
|
|
||||||
|
def test_sanitize_with_none_text(self):
|
||||||
|
self.assertEqual('', sanitize(None))
|
||||||
|
|
||||||
def test_unread_returns_404_for_unknown_feed_token(self):
|
def test_unread_returns_404_for_unknown_feed_token(self):
|
||||||
response = self.client.get(reverse('bookmarks:feeds.unread', args=['foo']))
|
response = self.client.get(reverse('bookmarks:feeds.unread', args=['foo']))
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "linkding",
|
"name": "linkding",
|
||||||
"version": "1.22.2",
|
"version": "1.22.3",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@@ -6,7 +6,7 @@ certifi==2023.7.22
|
|||||||
charset-normalizer==2.1.1
|
charset-normalizer==2.1.1
|
||||||
click==8.1.3
|
click==8.1.3
|
||||||
confusable-homoglyphs==3.2.0
|
confusable-homoglyphs==3.2.0
|
||||||
Django==4.1.10
|
Django==4.1.13
|
||||||
django-generate-secret-key==1.0.2
|
django-generate-secret-key==1.0.2
|
||||||
django-registration==3.3
|
django-registration==3.3
|
||||||
django-sass-processor==1.2.1
|
django-sass-processor==1.2.1
|
||||||
|
@@ -7,7 +7,7 @@ charset-normalizer==2.1.1
|
|||||||
click==8.1.3
|
click==8.1.3
|
||||||
confusable-homoglyphs==3.2.0
|
confusable-homoglyphs==3.2.0
|
||||||
coverage==5.5
|
coverage==5.5
|
||||||
Django==4.1.10
|
Django==4.1.13
|
||||||
django-appconf==1.0.5
|
django-appconf==1.0.5
|
||||||
django-compressor==4.1
|
django-compressor==4.1
|
||||||
django-debug-toolbar==3.6.0
|
django-debug-toolbar==3.6.0
|
||||||
|
@@ -1 +1 @@
|
|||||||
1.22.2
|
1.22.3
|
||||||
|
Reference in New Issue
Block a user