Skip to content

Releases: dsh2dsh/miniflux

v2.4.3

Choose a tag to compare

@github-actions github-actions released this 25 Jul 14:32
8a8ed5d

Changelog

  • 8a8ed5d Reuse loaded feeds when loading entries
  • 7ba0a91 Merge branch 'upstream-main'
  • c4d54f8 build(deps): bump github.com/prometheus/client_golang in the gomod group
  • 3c155b9 Fix linter warning
  • 54c5092 Add 2 new tests for worker.Pool
  • 7c4fa3d Merge branch 'upstream-main'
  • 1d10e7a fix(config): accept spaces and trailing commas in list option values
  • 0e26f12 fix(locale): protect translation catalog from concurrent map writes
  • e4e7dc5 fix(ui): keep proxy checkbox on subscription choose error re-render
  • c8c414e fix(worker): prevent panic when jobs are pushed during graceful shutdown
  • 8253761 fix(integration): stop sending empty tags to Raindrop
  • 61f50e6 Hard limit max num of entries to 1000
  • 0eb46f3 apply no_media_player option during feed creation
  • c3a0257 allow clearing the feed proxy URL
  • 97944cf restrict entry_sorting_order to database enum values
  • 8a5951c Add more e2e tests
  • bfd903d backport: use <> ALL when counting remaining categories
  • 3ed889d Merge branch 'upstream-main'
  • 308e1f9 fix(config): reject non-positive SCHEDULER_ENTRY_FREQUENCY_FACTOR values
  • fbbff63 fix(storage): clamp non-positive entry query limits to the maximum
  • c342187 fix(handler): apply no_media_player option during feed creation
  • 5c62899 fix(validator): allow clearing the feed proxy URL
  • a21029d fix(validator): restrict entry_sorting_order to database enum values
  • 4237f8b fix(storage): return correct total when offset is beyond the last entry
  • c119273 fix(storage): use <> ALL when counting remaining categories
  • 92057dd fix(server): restrict unix socket permissions to 0660
  • af0039b backport: scope icon lookup by user in icons endpoin
  • dd759ba Merge branch 'upstream-main'
  • 6088397 Merge pull request #41 from dsh2dsh/dependabot/github_actions/github-actions-e986305a06
  • 1c1644c build(deps): bump actions/setup-go in the github-actions group
  • 4d84eee fix(api): scope icon lookup by user in icons endpoint
  • a40d26f Merge branch 'upstream-main'
  • aa509b8 feat(ui): use SVG for browser favicon
  • c4a4996 backport: factorize JSON request construction
  • a9fb1ff backport: find github feeds
  • 4efd659 backport: speed up fetcher timeout test
  • 771785a Merge branch 'upstream-main'
  • 56eb812 feat(server): reload TLS certificates on SIGHUP
  • 69a788a feat(finder): find github feeds
  • 706a92e refactor(integration): factorize JSON request construction
  • 0939195 perf(tests): speed up fetcher timeout test
  • ff01425 test(api): run integration tests in parallel
  • 3fd9592 Add paralleltest linter
  • b15b6cf Reload TLS certificates on SIGHUP
  • 8cb90ca Refactor internal/http/server into *Server
  • c0a32d7 Extract Listener() into listener.go
  • 8d57428 Make E2E tests parallel
  • 4790fe7 Merge branch 'upstream-main'
  • 79d920b fix(database): skip orphaned entries in migration v127
  • cf5ae57 fix(rewrite): keep content order when remove_tables unwraps tables
  • 59ab581 Optimize WriteString(key + " " + value + ";")
  • e041456 Fix typo s/girhub-actions/github-actions/
  • dfe29c7 Bump deps (bluemonday, x/net)
  • 77c0936 Merge branch 'upstream-main'
  • 070bc9e fix(storage): respect category hide_globally when marking all as read
  • e7888e3 perf(ui): defer off-screen layout/paint on entry and feed list rows
  • 8528e5e build(deps): bump the gomod group with 6 updates
  • 0c632c3 Merge branch 'upstream-main'
  • 5cf52c4 Bump deps (gofeed)
  • e43381d perf(sanitizer): avoid Token() allocations in stripIter
  • b86fdda Bump github.com/dsh2dsh/gofeed/v2 from 2.5.1 to 2.6.0
  • e3e5f43 Add github-action dependabot group [skip ci]
  • e5806b2 Merge pull request #40 from dsh2dsh/dependabot/go_modules/gomod-5ccb0dd8b1
  • 508c8a0 Merge pull request #39 from dsh2dsh/dependabot/github_actions/golangci/golangci-lint-action-9.3.0
  • 8cc7bde Merge pull request #38 from dsh2dsh/dependabot/github_actions/goreleaser/goreleaser-action-7.2.3
  • 6fb6433 build(deps): bump github.com/klauspost/compress in the gomod group
  • eb69572 build(deps): bump golangci/golangci-lint-action from 9.2.1 to 9.3.0
  • a1b0375 build(deps): bump goreleaser/goreleaser-action from 7.2.2 to 7.2.3
  • 7e152fe Merge branch 'upstream-main'
  • 5ebdc17 fix(css): set line-height on article headings to prevent overlap when they wrap
  • 969304f Escape plain-text content_text and summary of JSON feeds
  • 694f7f0 Merge branch 'upstream-main'
  • 0abd9e7 fix(json): escape plain-text content_text and summary
  • ef24215 perf(response): pool on-the-fly compression writers
  • 96fa493 Accept <dc:language> for rss channel
  • 86e10ae Accept lang="de" event without xml: namespace
  • 95dfd0a Limit language tags to 50 bytes
  • ce1a468 Add mote tests for parsing atom feeds with languages
  • a9c69af Add test for concurrent Render
  • ed462a1 Merge branch 'upstream-main'
  • 56d0b31 fix(template): avoid race when rendering concurrently
  • 5f710f9 feat(reader): inherit feed language on RSS, RDF, and JSON Feed entries
  • 193fed7 Fix can't scan into dest[33] (col: feed_language)
  • aac318d Set HTML lang attribute from feed-declared language
  • 65cd6cd fix(language): reject tags outside the BCP-47 alphabet in Normalize
  • 6972be2 refactor(reader): move language normalization out of model
  • ab8f7f9 feat(atom): inherit feed-level xml:lang on entries
  • 766d298 fix(atom): restrict language parsing to namespace-qualified xml:lang
  • 64cb67a Bump github.com/dsh2dsh/gofeed/v2 from 2.5.0 to 2.5.1
  • 14f85d4 Merge branch 'upstream-main'
  • 68e2655 build(deps): bump library/alpine
  • fe37c6b build(deps): bump the github-actions group with 9 updates
  • 0dcefa7 build(deps): bump github.com/andybalholm/brotli in the gomod group
  • 5d56902 feat(client): expose feed and entry language on public Go client structs
  • 212c3e1 feat(rdf): parse feed and item language from RDF/RSS 1.0 dc:language
  • 6dcb815 feat(ui): emit lang attribute on rendered article surfaces
  • d456718 feat(reader): parse and persist feed and entry language from RSS, Atom, and JSON Feed
  • ee03ed0 Merge branch 'upstream-main'
  • 4aa60ba refactor(response): use strict Accept-Encoding parser
  • 7769fa0 feat(response): almost standard-compliant Accept-Encoding parser
  • 2c6d105 Bump github.com/dsh2dsh/gofeed/v2 from 2.4.5 to 2.5.0
  • 22a2ce3 Merge pull request #37 from dsh2dsh/dependabot/go_modules/gomod-de5ff60fb3
  • a1233bd build(deps): bump github.com/coreos/go-oidc/v3 in the gomod group
  • b9a3a65 Init observer later, on afterSettle, instead of afterSwap
  • d81401b Boostify feed name and author name links

v2.4.2

Choose a tag to compare

@github-actions github-actions released this 27 Jun 20:28
c0c966c

Changelog

  • c0c966c Merge branch 'upstream-main'
  • 51f2e0d feat(atom): use id for entry link if it is an http URL
  • 62c1672 backport: test validation of subscription form
  • c9292e5 Remove unused isValidFilterRules
  • f192052 Merge branch 'upstream-main'
  • 510d225 fix(ui): validate per-feed entry filter rules in web forms
  • ecdc356 build(deps): bump the gomod group with 2 updates
  • b8dbde2 backport: add missing fields to match API server
  • 496f678 backport: remove duplicate category filter in entry list
  • 9514bc8 backport: parse counts parameter with QueryBoolParam
  • 022b63e backport: return server error on user lookup failure
  • 9a68092 backport: proxify enclosure URLs in entry list endpoints
  • ba4d44e Merge branch 'upstream-main'
  • f96bee0 feat(client): add missing fields to match API server
  • 1550514 refactor(api): move entryIDsResponse struct to messages.go
  • 6ddddbc fix(api): remove duplicate category filter in entry list
  • 063e3f1 refactor(api): parse counts parameter with QueryBoolParam
  • ae1f135 fix(api): return server error on user lookup failure
  • 5de36b6 fix(api): return server error when feed lookup fails on update
  • 2ac3073 fix(api): check for nil user before using the result
  • ae6ac73 fix(api): distinguish missing user from database error
  • 9f4b2ef fix(api): proxify enclosure URLs in entry list endpoints
  • 8c02fd0 Merge pull request #36 from dsh2dsh/dependabot/go_modules/gomod-44aec95eea
  • d73fa5c Merge pull request #35 from dsh2dsh/dependabot/github_actions/actions/checkout-7.0.0
  • ab0bfb1 build(deps): bump the gomod group with 2 updates
  • 959f3ad build(deps): bump actions/checkout from 6.0.3 to 7.0.0
  • 7f22ccb backport: Allow API client to set "starred" to true or false
  • b82b4b0 Merge branch 'upstream-main'
  • bcb2cf2 feat(api): Allow API client to set "starred" to true or false using the "PUT /v1/entries" endpoint
  • e329bc9 Bump codeberg.org/readeck/go-readability/v2 from 2.1.1 to 2.1.2
  • 5254ac0 Merge branch 'upstream-main'
  • 530b0c5 fix(urllib): fix rejection of valid proxy URLs in feeds
  • b0d25c1 fix(locale): de_DE updates
  • bfed13b Pass *fetcher.RequestBuilder to (*SubscriptionFinder).FindSubscriptions(),
  • d122c13 Merge branch 'upstream-main'
  • 8699a1d fix(fetcher): clone request builder before disabling redirects
  • a153965 fix(ui): show flash message when refreshing all feeds via keyboard
  • 5f5afcd Merge branch 'master' of github.com:dsh2dsh/miniflux
  • 71150eb Merge pull request #34 from dsh2dsh/dependabot/go_modules/gomod-22ce3baa1d
  • 55aa1c8 Merge branch 'upstream-main'
  • ba39ae1 build(deps): bump the gomod group with 7 updates
  • 1975bc6 fix(storage): scope enclosure lookup by user
  • f72957e chore(version): bump dev version to 2.3.x-dev
  • 81a3e31 Merge branch 'upstream-main'
  • ce5d84e feat(search): swap plainto_tsquery for websearch_to_tsquery
  • 49d8f1d refactor(response): make response builder actually build stuff
  • 91860ed refactor(fetcher): make request builder actually build
  • e49c75f fix(storage): chain query builders
  • a14a180 refactor(reader): use consistent naming for atom feed adapters
  • 684ea3d feat(reader): split common sorting routine into separate function
  • 4ce8151 refactor(reader): make code flow consistent for buildFeed
  • 088df2f backport: add entry ID listing endpoint
  • 9e36ed8 Merge branch 'upstream-main'
  • 7d8ffd2 feat(api): add entry ID listing endpoint
  • 02b2d73 Merge branch 'upstream-main'
  • 05cd8da build(deps): bump the gomod group with 5 updates
  • e87cbb0 Merge branch 'upstream-main'
  • f22c088 fix(migrations): use SHA-256 instead of MD5 for the enclosures unique index
  • 103618e Use atom entry ID as entry URL for entries without links
  • bc9adc4 Merge branch 'upstream-main'
  • f4de355 fix: correct an aria-labelledby error
  • ee3f533 Merge pull request #32 from dsh2dsh/dependabot/go_modules/gomod-36de24d4fb
  • 053d93b Merge pull request #33 from dsh2dsh/dependabot/github_actions/actions/checkout-6.0.3
  • 4207e44 build(deps): bump actions/checkout from 6.0.2 to 6.0.3
  • fbde43d build(deps): bump the gomod group with 2 updates
  • 7bf53de Merge branch 'upstream-main'
  • f963ea3 refactor(cli): use cleaner syntax for common exit routine
  • a569ea4 Merge branch 'upstream-main'
  • 87d7891 refactor: remove the now-useless maxDepth limit in the sanitizer
  • 939698f feat(locale): update gl_ES
  • ddb38d4 Merge branch 'upstream-main'
  • 350df63 fix(googlereader): apply configured user agent in quickadd handler
  • 0cfd079 fix(locale): drop unused arguments when formatting translations
  • 96e4cfe Merge branch 'upstream-main'
  • f4b3937 build(deps): bump the github-actions group with 9 updates
  • b8fa579 Cache fragments of svg icons
  • 3139e23 Faster build route path for last element
  • dd2e825 backport: add max-age to Cache-Control
  • 988537a backport: don't leak usernames existence via timing
  • 333f91c Merge branch 'upstream-main'
  • 1029896 perf(template): precompute static icon URLs at parse time
  • 533ff80 perf(ui): add max-age to Cache-Control
  • 83ea3d1 security(user): don't leak usernames existence via timing
  • 0d95d42 Merge pull request #31 from dsh2dsh/dependabot/go_modules/gomod-0d33ab73b9
  • 1c30f2d Merge pull request #30 from dsh2dsh/dependabot/github_actions/golangci/golangci-lint-action-9.2.1
  • 323d110 Merge pull request #29 from dsh2dsh/dependabot/github_actions/actions/checkout-6.0.2
  • aa341e8 build(deps): bump the gomod group with 4 updates
  • e1752a0 build(deps): bump golangci/golangci-lint-action from 9.2.0 to 9.2.1
  • a2e90c8 build(deps): bump actions/checkout from 6 to 6.0.2
  • 23829bb backport: replace correlated subqueries in CategoriesWithFeedCount
  • 0cf7885 Merge branch 'upstream-main'
  • 651fbd1 perf(filter): cache compiled regexes across entries
  • 5e76633 perf(storage): replace correlated subqueries in CategoriesWithFeedCount
  • 16c9084 Merge branch 'upstream-main'

v2.4.1

Choose a tag to compare

@github-actions github-actions released this 30 May 14:45
ad4e355

Changelog

  • ad4e355 Merge branch 'upstream-main'
  • 9a77408 refactor(response): use http.Header for header map
  • 325dba4 Merge branch 'upstream-main'
  • 79381e6 build(deps): bump the gomod group with 4 updates
  • ab773f0 Restore lost WithoutRedirects for discovery of known feed URLs
  • 69cf647 Fix WithTags condition after last merge
  • 5dd9d1f backport: collapse WithTags into a single array-containment predicate
  • 1fdbf2b Merge branch 'upstream-main'
  • 161ed71 fix(api): forbid setting OAuth identity fields via user update
  • c896baf fix(urllib): reject backslashes in relative path validation
  • 66996e3 refactor(storage): use same API for list and singular items
  • f050f23 refactor(storage): collapse WithTags into a single array-containment predicate
  • 3ecabfa backport: walk feed tags in a single DOM pass
  • 45a6146 Merge branch 'upstream-main'
  • 5008840 perf(reader): walk feed tags in a single DOM pass
  • d235a63 refactor(sanitizer): always trim spaces in StripTags
  • a71b54f Merge pull request #28 from dsh2dsh/dependabot/github_actions/golangci/golangci-lint-action-9.2.0
  • e08006c Merge pull request #27 from dsh2dsh/dependabot/github_actions/goreleaser/goreleaser-action-7.2.2
  • 35d2399 build(deps): bump golangci/golangci-lint-action from 9 to 9.2.0
  • cbaf6c0 build(deps): bump goreleaser/goreleaser-action from 7.2.1 to 7.2.2
  • af3075e Merge branch 'upstream-main'
  • 483da48 perf(finder): size findSubscriptionsFromWebPage dedup map
  • e01a610 fix(readingtime): make CJK detection more reliable
  • a725476 fix(readingtime): trim CJK text by rune not by bytes
  • a7d352c Fix UI after changing .entries from slice to Seq2 some time ago
  • ec7597b Return LEFT JOIN for feed icons,
  • 4038102 backport: optimize a tad findCanonicalURL
  • 5d01e19 backport: use INNER JOIN where LEFT JOIN is redundant
  • fb3f202 Merge branch 'upstream-main'
  • 47e304f perf(integration): don't defer in a for loop
  • 9dfed35 refactor(storage): consistent construction of query builders
  • 95f5f1e refactor(storage): use query builder as builder
  • a08f598 refactor(storage): return entryPaginationBuilder from builder methods
  • 0e15235 perf(finder): optimize a tad findCanonicalURL
  • eff9502 refactor(storage): use INNER JOIN where LEFT JOIN is redundant
  • ab94f42 refactor(storage): Use INNER JOIN instead of LEFT JOIN in IconByFeedID
  • f66772e feat(sanitizer): speed up TruncateHTML by a lot
  • 43456da feat(sanitizer): TruncateHTML benchmarks
  • 863d603 refactor(sanitizer): split common stripping code into iterator function
  • fc3e548 refactor(sanitizer): move truncate tests to single table
  • 096a15e feat(locale): add Korean translation
  • c2c57ac Rename fetcher.(*RequestBuilder).RequestWithContext to Request
  • 34d843b Merge branch 'upstream-main'
  • 0976efd refactor(readingtime): get rid of the obnoxious casts dance
  • 7277b3e Reuse TCP connections looking for subscriptions
  • 09526b3 Add fetcher.(*RequestBuilder).NewClient(),
  • a42c03c Add a shortcut method fetcher.(*Client).Request()
  • a05371a Add fetcher.(*Client).Close() method,
  • 1a32e78 Set Transport.MaxIdleConns = 100, like default http Transport.
  • b371705 Refactor fetcher package
  • 114d34c backport: use constant-time comparison for metrics endpoint credentials
  • 9a8a148 Merge branch 'upstream-main'
  • 06e36c3 Revert "feat(ui): add stdlib cross-origin protection middleware"
  • 39772c3 perf(subscription): use a slice instead of a map for well-known feed paths
  • 098270c refactor(misc): various minor code simplifications
  • 24c6530 perf(date): cache timezone Locations for PST/PDT/EST/EDT fallback
  • 3747e68 security(metrics): use constant-time comparison for metrics endpoint credentials
  • 5049c73 backport: remove possible(?) SQL injection
  • e745360 backport: drop two redundant indexes
  • d116ced Merge branch 'upstream-main'
  • cc1d39e perf(misc): preallocate some slices
  • bdd7f4f perf(database): drop two redundant indexes
  • 7628a21 fix(storage): remove possible SQL injection

v2.4.0

Choose a tag to compare

@github-actions github-actions released this 16 May 18:10
80d9ee8

Changelog

  • 80d9ee8 Update dependencies
  • 71951e7 Merge branch 'upstream-main'
  • 20545d2 refactor(storage): remove a useless ORDER BY in GetEnclosure
  • 7719774 build(deps): bump the gomod group with 6 updates
  • bf318fa Fix infinite scrolling, broken after last changes [skip ci]
  • 4a18432 Refactor removing of scrolled entries for infinite scrolling
  • daa2b19 Fix init of infinite scrolling after HTMX redirect
  • cef7d24 Just remove extra empty line
  • e7e7db4 Boostify couple of forms added in last changes
  • 06f3f1c Require discoverable passkeys
  • 0b84d07 Persist webauthn backup flag
  • 31c841c Merge branch 'upstream-main'
  • 0642e8a fix(webauthn): persist backup flags
  • 059ec55 security(webauthn)!: require discoverable passkeys
  • 9fd6f44 fix: typo in wallabag integration error message
  • 018128e fix(storage): delete orphaned icons
  • 3f05747 refactor(internal): use errors.Is instead of equality operator
  • 7a5b4b1 fix(googlereader): avoid inlining validateApiKey at every call site
  • b02c53c Merge branch 'upstream-main'
  • c2661ca perf(processor): avoid per-char string allocation in parseISO8601Duration
  • d1628c1 Load next items using our existing IntersectionObserver,
  • 879f7da Preload next entries, instead of X unread entries,
  • 7c44083 Refactor .requestURI field to dynamic template function requestURI
  • 5dddac0 Refactor internal/template.(*Engine).Render()
  • f229d2d Tighten finishLogin and saveCredential
  • d5ab4b1 Clean up variable naming
  • 94c373c Drop unreachable uid==0 guards
  • f99ec8b Check ownership in saveCredential on WebAuthn rename
  • cb3026f Require POST for OAuth2 unlink endpoint
  • 53aea15 Merge branch 'upstream-main'
  • 30ad65e refactor(webauthn): tighten finishLogin and saveCredential
  • 9a0e357 refactor(webauthn): clean up variable naming
  • d4f362a refactor(webauthn): drop unreachable uid==0 guards
  • 10bdbf8 fix(webauthn): check ownership in saveCredential on WebAuthn rename
  • f467c2d refactor(ui): require POST for OAuth2 unlink endpoint
  • 6b06c9f perf(readingtime): don't allocate words to count them
  • 43421e7 Fix getting entries with search query after last changes
  • 83cc919 Require POST for feed refresh endpoints
  • 2e24e99 Require POST for /logout
  • b205e90 Add rewrite helper, which adds enclosure links
  • 7120944 Reject empty state when no flow is in progres
  • b66ef50 Merge branch 'upstream-main'
  • 30ede1c refactor(ui): require POST for feed refresh endpoints
  • 16902a2 refactor(logout): require POST for /logout
  • 08de954 fix(csrf): apply CSRF to all non-safe methods
  • cf7474a feat(rewrite): add enclosure links
  • 7892cb8 perf(reader): use a strings.Builder instead a string concatenation
  • fc68e33 fix(oauth2): reject empty state when no flow is in progress
  • 45bd42f Handle offsetID=X to render entries after entry with ID=X
  • 355b4b5 EntryQueryBuilder doesn't use *Storage
  • e565487 Delete unused EntryPaginationBuilder
  • 5a514a3 Include feed settings in export and import
  • 8dd5f23 Merge branch 'upstream-main'
  • 622d757 perf(sanitizer): improve the sanitizer's performances twofold
  • f74870d perf(template): improve a tad the rendering of icons
  • bad9411 feat(opml): include feed settings in export and import
  • b7da363 perf(misc): batch navigational information queries
  • a06a0c9 Fix broken infinite scrolling after last changes
  • cb60ba1 Merge branch 'upstream-main'
  • e42177b Bump dependencies
  • 8fc7d1f build(deps): bump github.com/go-webauthn/webauthn in the gomod group
  • ebfab56 Merge pull request #26 from dsh2dsh/dependabot/github_actions/goreleaser/goreleaser-action-7.2.1
  • aba81a7 Replace toggle_bookmark_status translations by toggle_star_status
  • e42a900 Merge branch 'upstream-main'
  • 7ec6bb3 Quarantine suspicious entry URLs,
  • 7d80bbd fix(i18n): Improve the quality of zh-TW translations
  • cd01413 perf(storage): preallocate some slices and a map
  • abbdc6c Bump github.com/dsh2dsh/bluemonday/v2 from 2.3.5 to 2.3.6
  • 5419dca build(deps): bump goreleaser/goreleaser-action from 7.1.0 to 7.2.1
  • be60577 Merge branch 'upstream-main'
  • 0909323 feat(validator): cap entry limit at MaxEntryLimit
  • 6543d65 fix(sanitizer): match URI schemes case-insensitively
  • 64baeba fix(template): replace safeURL with untrustedURL scheme validator
  • 7a2fd41 Fix greader incorrect read/starred toggling
  • 5b4448c Merge branch 'upstream-main'
  • d5e6802 fix(http): validate redirect URL scheme in HTMLRedirect
  • e433895 fix(googlereader): fix incorrect read/starred toggling
  • c395924 perf(sanitizer): don't sanitize parameters when they're no parameters
  • 9467d5d build(deps): bump github/codeql-action in the github-actions group
  • 55821b9 perf(reader): preallocate some slices/maps
  • 07897ec Merge branch 'upstream-main'
  • 45e2226 build(deps): bump github.com/tdewolff/minify/v2 in the gomod group
  • a992868 Merge pull request #25 from dsh2dsh/dependabot/github_actions/goreleaser/goreleaser-action-7.1.0
  • 95b5fe1 build(deps): bump goreleaser/goreleaser-action from 7 to 7.1.0
  • 19680f0 Merge branch 'upstream-main'
  • a684b6a feat(sanitizer): add iOS Shortcuts shortcuts: scheme to validURISchemes
  • a600f86 Merge branch 'upstream-main'
  • 3c05c35 Bump github.com/jackc/pgx/v5 from 5.9.1 to 5.9.2
  • b9ea3d0 Bump github.com/go-webauthn/webauthn from 0.16.4 to 0.17.0
  • 1e8ce07 build(deps): bump github.com/go-webauthn/webauthn in the gomod group
  • 6a0184c Merge branch 'upstream-main'
  • 10f95e9 ci: pin third-party actions to commit SHAs
  • 3c4bb31 Remove just introduced .github/workflows/stale.yml
  • 59265cd Merge branch 'upstream-main'
  • 54259c6 ci: add workflow to close stale pull requests
  • 489141a Update HTMX to 2.0.9
  • 8976a0b Restore RETURNING lost from prev commit
  • 8db80a5 Merge status update and visible count queries
  • 478e873 Refactor CategoriesWithFeedCount w/o loading User from db
  • c8e0511 Merge branch 'upstream-main'
  • cdf0632 refactor(storage): take category sort order as parameter
  • 08113e5 perf(storage): merge status update and visible count query
  • 56c80f3 refactor(storage): simplify user removal via ON DELETE CASCADE
  • bbd6730 refactor(storage): simplify RemoveFeed via ON DELETE CASCADE
  • a7e22e1 Merge branch 'upstream-main'
  • 2916831 fix(storage): prevent deleted entries from reappearing as unread
  • 4597f24 Merge branch 'upstream-main'
  • 19e7618 Allow disabling local auth without user creation
  • 9702c62 feat(config): allow disabling local auth without user creation
  • c8e823e...
Read more

v2.3.19

Choose a tag to compare

@github-actions github-actions released this 07 Apr 14:21
e92a67b

Changelog

  • e92a67b Merge branch 'upstream-main'
  • 0604418 Prevent mark entries as read on boosted history back
  • 2be7dc6 Redirect back to category page after marking some feed as read
  • 19f72e8 docs(docker-compose): add restart policy to postgres in basic example
  • bf573b0 Add more config validation rules
  • 8a74392 Use scalar comparison for single-element slices in query builder
  • d6cfc56 Merge branch 'upstream-main'
  • 9cd36ad Bump github.com/go-webauthn/webauthn from 0.16.1 to 0.16.3
  • f5dee89 Bump github.com/go-playground/validator/v10 from 10.30.1 to 10.30.2
  • 26d9195 perf(storage): use scalar comparison for single-element slices in query builder
  • 5f3049d perf(storage): factorize away a query
  • c591ea3 build(deps): bump github.com/lib/pq from 1.12.2 to 1.12.3
  • 8df6b82 build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4
  • fd75311 refactor(ui): skip app session creation for static asset routes
  • 4e8a0e0 fix(ui): remove sensitive values from log messages
  • 96989e2 fix(ui): render edit template on category update validation error
  • 4f50449 fix(ui): redirect to category feeds page after marking feed as read
  • 382e179 build(deps): bump github.com/go-webauthn/webauthn from 0.16.1 to 0.16.2
  • 47ced3e build(deps): bump github.com/lib/pq from 1.12.1 to 1.12.2
  • e2f225f build(deps): bump github.com/andybalholm/brotli from 1.2.0 to 1.2.1
  • 932e013 build(deps): bump github.com/lib/pq from 1.12.0 to 1.12.1
  • d5c37d7 perf(ui): reduce amount of sql queries to get unread entries
  • b160f92 refactor(config): move cross-field validation into config parser
  • 31f077c refactor(oauth2): select provider explicitly by OAUTH2_PROVIDER value
  • 0626413 refactor(oauth2): apply Go conventions and add GoDoc comments
  • c61c202 feat(locale): update gl_ES translation
  • 873416f perf(ui): don't parse the keymap on every keypress
  • f8171fe perf(ui): batch changes in markPageAsRead
  • ba684ca perf(ui): add immutable to Cache-Control
  • 9151dc5 perf(storage): extract a query from a cursor lock
  • ca7c38a perf(storage): Use SKIP LOCKED in ArchiveEntries
  • 524d5e5 Merge branch 'upstream-main'
  • 1ef7868 Protect lastStorageMetricsAt with sync.Mutex
  • f5bfd5a refactor(oauth2): make Google and OIDC providers mutually exclusive
  • f6c5f2f fix(oauth2): scope OIDC client secret warning to OIDC configuration
  • 2de3427 refactor(oauth2): update Google OAuth endpoints to v2
  • 21703c8 perf(sanitizer): Use an io.MultiReader
  • b79f22a perf(sanitizer): html.Parse already lowercases tag names
  • 59bd092 build(deps): bump github.com/tdewolff/minify/v2 from 2.24.10 to 2.24.11
  • 2fb3246 Merge branch 'upstream-main'
  • 1d4ca6a fix(oauth2): check HTTP status from Google userinfo endpoint
  • b4c9719 fix(oauth2): clear state and code verifier from session after use
  • 5c9edf3 fix(oauth2): verify OIDC ID token signature before trusting claims
  • 2b21269 fix(oauth2): reject link overwrite when user already has a linked identity
  • d57774d build(deps): bump golang.org/x/image from 0.37.0 to 0.38.0
  • 46ee27e Bump golang.org/x/image from 0.37.0 to 0.38.0
  • 2e61fd8 http/response/html.OK -> http/response.HTML
  • 2e680cf Fix order of assert.Equal args
  • 13e3bbe Allow iframes from framatube.org
  • 1f9269e Reuse ValidateDirection in user modification
  • c9f32c4 Merge branch 'upstream-main'
  • 07a9685 ci(workflows): add consistent repository_owner guards
  • cc06154 fix(timezone): compare locations by name instead of pointer
  • fcde209 refactor(timezone): simplify AvailableTimezones and fix test typos
  • 570227c refactor(validator): reuse ValidateDirection in user modification
  • 2572809 refactor(worker): add graceful shutdown to worker pool
  • 16ff071 feat(sanitizer): allow iframes from framatube.org
  • 2932090 fix(sanitizer): strip inner elements of blocked iframes
  • 478829a Fix some artefacts after refactoring of http/response
  • f34cdf8 Add Text response helper
  • 480c7fa Refactor http/response using generics as much as possible for JSON responses
  • de10161 var nextRequestId uint64 may be simplified using atomic.Uint64
  • 87074cf Replace hardcoded status labels with constants
  • 1351aa8 Merge branch 'upstream-main'
  • 64eea61 Bump github.com/jackc/pgx/v5 from 5.9.0 to 5.9.1
  • 76452fa refactor(storage): return errors from count functions used by metrics
  • 8c947e6 refactor(metric): replace hardcoded status labels with constants
  • 96897a8 refactor(metric): support graceful shutdown of metrics collector
  • 1b7619f Merge branch 'upstream-main'
  • fa9ab92 docs(googlereader): update README to reflect HMAC-SHA256 change
  • 6ea078c fix(googlereader): use HMAC-SHA256 instead of HMAC-SHA1 for auth tokens
  • 3105e1e fix(googlereader): use constant-time comparison for auth token validation
  • 7a0ad7d Log write response body errors using correct logger
  • 2509502 Bump github.com/jackc/pgx/v5 from 5.8.0 to 5.9.0
  • 1b2c3c5 Bump github.com/klauspost/compress from 1.18.4 to 1.18.5
  • 595855b Merge branch 'upstream-main'
  • 9c28982 refactor(server): extract listen target resolution into testable functions
  • 0162c46 refactor(ui): use consistent cache-busted URL pattern for all static assets
  • d33544e feat(ui): add cache busting for static icon assets
  • d07e82a Merge branch 'upstream-main'
  • f032858 refactor: remove dependency on gorilla/mux
  • 323c995 CORS preflight requests should be a 204 response
  • 1a8a503 Move status only responses into response package
  • ca13d1c Merge branch 'upstream-main'
  • cd3ea68 fix(api): CORS preflight requests should be a 204 response
  • 925b05f fix(response): 204 responses should not include the Content-Type header
  • cc528b6 refactor(api): remove dependency on gorilla/mux
  • 1e42cec feat(request): support ServeMux PathValue route params
  • 6276d7e refactor(api): rename API handlers for consistency
  • 5094731 refactor(mediaproxy): remove dependency on gorilla/mux in unit tests
  • fa7184e build(deps): bump github.com/lib/pq from 1.11.2 to 1.12.0
  • b1713dc refactor(mediaproxy): remove dependency on gorilla/mux
  • 88ced7d Merge branch 'upstream-main'
  • a392b0d refactor(googlereader): remove dependency on gorilla/mux
  • 6093819 docs(googlereader): add API documentation
  • 4413c80 perf(googlereader): preallocate some slices
  • 5c8810a Merge branch 'upstream-main'
  • f50c5dd refactor(fever): remove dependency on gorilla/mux
  • b965e45 perf(mediaproxy): convert to []byte in ProxifyAbsoluteURL only once
  • 9660e8a perf(route): preallocate parameters in route.Path
  • 8666cc4 Build correct ETag header from content hash
  • 6f37a8a Merge branch 'upstream-main'
  • 3f58f6d Merge branch 'upstream-main'
  • e9edda8 refactor(response): add Te...
Read more

v2.3.18

Choose a tag to compare

@github-actions github-actions released this 15 Mar 17:14
6ccd043

Changelog

  • 6ccd043 Bump github.com/PuerkitoBio/goquery from 1.11.0 to 1.12.0
  • e82e0af Delete unused ResolvesToPrivateIP
  • 249b124 Pass -f BSDmakefile to submakes
  • f33e88b Merge branch 'upstream-main'
  • 386efa2 Pass context from create feed handler
  • c166f80 fix: block RFC 6598 shared address space as non-public
  • 075127c chore: add go:fix inline to deprecated client.New
  • 121884d Move "e2e" target into BSDmakefile
  • cf9731b Merge branch 'main' of github.com:miniflux/v2 into upstream-main
  • 8689f7b Bump github.com/go-webauthn/webauthn from 0.16.0 to 0.16.1
  • 78339f4 Bump golang.org/x dependencies
  • 34fcf0e build(deps): bump golang.org/x/net from 0.51.0 to 0.52.0
  • 7f4a109 build(deps): bump github.com/go-webauthn/webauthn from 0.16.0 to 0.16.1
  • dbcbe12 Partly apply googlereader minor code simplifications
  • 4b3713d Merge branch 'upstream-main'
  • 7846ddb refactor(googlereader): minor code simplifications
  • 6ff4f5a perf(fetcher): save 6 bytes per requests
  • bf738d4 build(deps): bump golang.org/x/image from 0.36.0 to 0.37.0
  • 7242890 build(deps): bump golang.org/x/crypto from 0.48.0 to 0.49.0
  • 396fd2f Merge branch 'upstream-main'
  • f2a63d9 Bump github.com/dsh2dsh/gofeed/v2 from 2.4.2 to 2.4.3
  • b624cfd build(deps): bump docker/setup-qemu-action from 3 to 4
  • bce1697 build(deps): bump docker/login-action from 3 to 4
  • 14462c4 build(deps): bump docker/build-push-action from 6 to 7
  • 3ae595e build(deps): bump docker/metadata-action from 5 to 6
  • 4d76de1 build(deps): bump docker/setup-buildx-action from 3 to 4
  • 171ed7d build(deps): bump golang.org/x/oauth2 from 0.35.0 to 0.36.0
  • 827f628 nolint:prealloc is unused for linter "prealloc"
  • 391899f Bump golang.org/x/oauth2 from 0.35.0 to 0.36.0
  • a18c975 Bump golang.org/x/time from 0.14.0 to 0.15.0
  • e6e94c4 Bump golang.org/x/sync from 0.19.0 to 0.20.0
  • 0f9c98a Extend protection of private hosts
  • 283f944 Fix test after last change
  • b627827 Merge branch 'upstream-main'
  • 6e08fd0 Move youtube iframe out of details
  • d9a97e2 build(deps): bump github.com/tdewolff/minify/v2 from 2.24.9 to 2.24.10
  • 365f2e6 build(deps): bump github.com/go-webauthn/webauthn from 0.15.0 to 0.16.0
  • eda074c Handle an error from fetcher in media proxy
  • 7c9863b Make integrations use fetcher.Do, instead of http.Client
  • 0ea2481 Add fetcher.Do(req *http.Request)
  • 7dbeaa8 Merge branch 'upstream-main'
  • b87ea8c Bump github.com/dsh2dsh/gofeed/v2 from 2.4.1 to 2.4.2
  • 3bf4620 Bump github.com/dsh2dsh/bluemonday/v2 from 2.3.4 to 2.3.5
  • 210993e build(deps): bump actions/upload-artifact from 6 to 7
  • 96b6541 Merge branch 'upstream-main'
  • fe2bfb2 fix(fetcher): avoid possible SSRF TOCTOU/DNS-rebinding in private network check
  • 953ed7e Merge pull request #20 from dsh2dsh/dependabot/github_actions/actions/upload-artifact-7
  • 2353d4d Permit access to configured list of hosts inside private networks
  • 5bf4006 build(deps): bump actions/upload-artifact from 6 to 7
  • f9b756e feat: add SSRF protection for integration HTTP clients
  • e8b2785 feat(processor): apply entry blocking both before and after scraping
  • df7fc1e fix(integration): fix bugs, naming, and inconsistencies across sub-packages
  • 4d78dab Merge branch 'upstream-main'
  • 0bdeff5 FETCHER_ALLOW_PRIVATE_NETWORKS
  • 849c523 Bump github.com/go-webauthn/webauthn from 0.15.0 to 0.16.0
  • 2682421 feat: add FETCHER_ALLOW_PRIVATE_NETWORKS option
  • 436ff15 Just log missing tranlation keys, instead of fatal
  • 8f00504 Merge branch 'upstream-main'
  • 0e13773 feat(locale): add Arabic (ar_SA) translation
  • 8d01ca3 feat(locale): add Galician (gl_ES) translation
  • 8b84a86 feat: add Galician plural
  • d19052c Inline remote response if unable to refresh feed
  • f521adc Inline remote response if we unable to find subscription
  • 7cd115b Merge branch 'upstream-main'
  • 193c951 Bump golang.org/x/net from 0.50.0 to 0.51.0
  • be49cba build(deps): bump golang.org/x/net from 0.50.0 to 0.51.0
  • 14fd8c8 hx-boostify redirects
  • b56098b Don't try to fetch more entries,
  • 5bfd6c5 Log stripped content of every reposponse witn unexpected status
  • 154925e Rename r *RequestBuilder to self *RequestBuilder
  • 16a8291 Rename r *ResponseHandler to self *ResponseHandler
  • cc039ad Delete require-trusted-types-for from tests,
  • 43a9c9c Log content of unexpected responses during refresh
  • 94490c5 Remove require-trusted-types-for CSP
  • 24824ca Log value of Retry-After header
  • 4f326b4 Merge branch 'upstream-main'
  • d7e049f ci(debian): don't build debian packages bi-weekly on forks
  • 4d7e8b2 build(deps): bump github.com/tdewolff/minify/v2 from 2.24.8 to 2.24.9
  • fe7ba53 Merge pull request #18 from dsh2dsh/dependabot/github_actions/goreleaser/goreleaser-action-7
  • c1b57e2 Bump github.com/caarlos0/env/v11 from 11.3.1 to 11.4.0
  • 93c6f2c build(deps): bump goreleaser/goreleaser-action from 6 to 7
  • 2c66e1a Merge branch 'upstream-main'
  • 7f7f23d chore: upgrade to Go 1.26
  • 01888d8 fix: run go fix
  • 223d29e refactor(icon): remove two loops
  • d58cb5b refactor(icon): remove a useless function
  • 313f23f refactor(handler): factorize duplicate code into a function
  • 54df471 refactor(reader): clarify a ScheduleNextCheck call
  • 72784c4 perf(finder): don't parse the candidate page twice
  • bb7b85d Merge branch 'upstream-main'
  • 7fa38aa perf(urlcleaner): misc performance improvements
  • fb7f16e test(encoding): add KOI8-R encoding tests with a sample XML feed
  • 8898c42 test(encoding): add more tests regarding CharsetReader
  • 12985d1 Merge branch 'upstream-main'
  • df4d0bd Add (lsp-go-goimports-local . "miniflux.app/v2")
  • 0054314 feat(locale): update Polish translation
  • 28441d1 perf(readability): small performance improvements
  • 86832e8 Don't update existing entries for configured feeds
  • 7d84b99 Delete condition which never will be true
  • 8028a77 Merge branch 'upstream-main'
  • 8d19529 perf(parser): don't process the whole page to detect its format
  • 6838f3a perf(sanitizer): use WriteByte for single characters instead of WriteString
  • 8483f06 perf(sanitizer): refactor hasRequiredAttributes
  • da15700 perf(sanitizer): inline getExtraAttributes
  • cd6236b perf(sanitize): Use strings.Builder instead of manually concatenating
  • 7b07b82 feat(feed): add ignore_entry_updates option to feeds

v2.3.17

Choose a tag to compare

@github-actions github-actions released this 14 Feb 16:27
6c5bcd6

Changelog

  • 6c5bcd6 Use new(expr) instead of model.SetOptionalField
  • 1066077 Merge branch 'upstream-main'
  • d3a1e7d ci: update Debian packager Docker image to Trixie
  • 7edf42f fix: run go fmt with Go 1.26
  • e9997b3 Reuse slog.MultiHandler
  • 71a650d Use errors.AsType instead of errors.As
  • 38b9974 Switch go to 1.26
  • dd36445 Merge branch 'upstream-main'
  • 5513827 build(deps): bump github.com/lib/pq from 1.11.1 to 1.11.2
  • 8c6b084 Merge branch 'upstream-main'
  • 6bffdce Bump golang.org/x/image from 0.35.0 to 0.36.0
  • 58bc4c8 Bump github.com/dsh2dsh/gofeed/v2 from 2.4.0 to 2.4.1
  • fbba6c4 Bump github.com/dsh2dsh/bluemonday/v2 from 2.3.3 to 2.3.4
  • 052ad27 build(deps): bump golang.org/x/net from 0.49.0 to 0.50.0
  • 96c4587 build(deps): bump golang.org/x/crypto from 0.47.0 to 0.48.0
  • 3e022fb build(deps): bump golang.org/x/image from 0.35.0 to 0.36.0
  • aa81449 build(deps): bump golang.org/x/oauth2 from 0.34.0 to 0.35.0
  • 90c2199 build(deps): bump golang.org/x/term from 0.39.0 to 0.40.0
  • d40e523 fix: 'v' shortcut uses main browser in Safari PWA
  • e8c3c16 Auto auto generated title for web interface only (miniflux#4042)
  • 9393302 Bump github.com/klauspost/compress from 1.18.3 to 1.18.4
  • 78d9c50 Merge branch 'upstream-main'
  • 46e77ec fix(request): change FindRemoteIP to fallback to 127.0.0.1
  • f19fc2f feat: add validation for TRUSTED_REVERSE_PROXY_NETWORKS config
  • 4a381cd Merge branch 'upstream-main'
  • 0201c80 refactor(subscription): improve wp-json skip
  • 4a51651 Exit early from parsing of subscriptions if context cancelled
  • f6b656c Fix e2e test after last change
  • e4649ab Bump golang.org/x/oauth2 from 0.34.0 to 0.35.0
  • efc104c Refactor FindSubscriptions
  • 1b9e555 Check detected feeds are parseable
  • f5b72bc Merge branch 'upstream-main'
  • 5139333 Refactor sanitizeTitle
  • e651906 Convert bytes to string without data copy
  • 0022d06 feat(subscription): ignore Wordpress API endpoint when discovering JSON feed
  • 253119e refactor(http): minor code cleanup
  • 2619eba security(http): don't expose miniflux' version on an unauthenticated endpoint
  • 31f4f36 fix(commit-checker): add security to conventional commit pattern
  • fc9cb9e refactor(googlereader): unexport two symbols
  • 9b859e7 refactor(storage): unexport a bunch of symbols
  • 6f3c92d perf(subscription): don't read the body twice
  • 551b867 Add overflow-wrap: break-word to wrap titles with non-break spaces
  • bdea57e Simplify ui/session
  • df4b8cb Bump codeberg.org/readeck/go-readability/v2 from 2.1.0 to 2.1.1
  • 36a5ecf Merge branch 'upstream-main'
  • 0dcc0a8 refactor(sanitizer): improve a bit sanitizeAttributes
  • 7b65255 refactor(sanitizer): handle deeply nested recursion
  • 877062a Merge branch 'upstream-main'
  • 6a9d789 refactor(sanitizer): improve how attributes are sanitized
  • 0241b9d Merge branch 'upstream-main'
  • f3d0e03 refactor(workflows): don't run useless on forks job forks
  • 4f54f56 Make comments URL from template during feed processing,
  • f7e5d75 Merge branch 'upstream-main'
  • 4d27f66 refactor(sanitizer): reorder non-public functions alphabetically
  • 5a8431b refactor(sanitizer): enforce isBlockedResource() on srcset URLs
  • 9e760e1 test(sanitizer): rewrite TestSelfClosingTags
  • bf24fd1 perf(sanitizer): don't do a map lookup for every attribute of a tag
  • b57ebac refactor(sanitizer): remove a useless case
  • 62f316c refactor(sanitizer): html attributes keys are always lowercase
  • 781e557 Use Entry.ParsedURL() as much as possible
  • 6b4f775 Merge branch 'upstream-main'
  • 89638b4 refactor(sanitizer): remove workaround that strip large img width attribute
  • d8181b1 refactor(sanitizer): use a parser instead of a tokenizer
  • ce6cd0b fix(rewrite): update rewrite rules for vnexpress.net
  • ba05c96 feat(rewrite): add rewrite rules for vnexpress.net
  • 58674b9 feat(scraper): add scraper rule for vnexpress.net
  • 6b1f208 build(deps): bump github.com/lib/pq from 1.10.9 to 1.11.1
  • f3f9190 Bump github.com/dsh2dsh/bluemonday/v2 from 2.3.2 to 2.3.3
  • 93f96bb Merge branch 'upstream-main'
  • cfc120a Refactor inline of youtube entries
  • 7c41128 refactor(sanitizer): use uint instead of int when possible
  • 3aea68e refactor(sanitizer): rewrite srcset parser according to HTML specs
  • 30e9a5e Merge branch 'upstream-main'
  • a5fb91e refactor(sanitizer): rename isValidTag to isAllowedTag
  • 8357e6d refactor(sanitizer): don't process tags when len(blockedStack) != 0
  • ad4ca71 feat(scraper): add scraper rule for bleepingcomputer.com
  • 660c79b feat(rewrite): add rewrite rules for bleepingcomputer.com
  • 4da128d Optionally mark blocked entries as read, instead of delete them.
  • b2b54c3 Add height and width to enclosures
  • 7d02953 Bump github.com/dsh2dsh/gofeed/v2 from 2.3.2 to 2.4.0
  • 4d27aac Bump go.yaml.in/yaml/v4 from 4.0.0-rc.3 to 4.0.0-rc.4
  • 6b3739d Merge branch 'upstream-main'
  • 2fa8995 fix: avoid possible deadlock when cleaning removed entries
  • aa69aea Merge branch 'upstream-main'
  • ffed2b4 fix(storage): do not keep any old enclosures if there is none in the updated entry
  • a1a63ff Merge branch 'upstream-main'
  • 9fc69fd refactor(storage): update IconByFeedID to handle sql.ErrNoRows
  • c2d9276 Merge branch 'upstream-main'
  • ffc6ef5 Bump github.com/dsh2dsh/bluemonday/v2 from 2.3.1 to 2.3.2
  • cddd2eb feat(jsonfeed): include external_url in JSON entry hash fallback
  • 33b780d fix(jsonfeed): stop the title fallback loop at the first non-empty value
  • 5d8540b fix(jsonfeed): avoid panic when parsing null JSON feed
  • a2a5244 feat(jsonfeed): support malformed feeds with author object in authors array
  • 30fa163 Bump github.com/dsh2dsh/gofeed/v2 from 2.3.1 to 2.3.2
  • 337a7fe Add entry blocking rules to categories
  • 8c88d0e Merge branch 'upstream-main'
  • 88859c1 docs(client): improve Godoc comments for exported functions
  • e14fcf2 refactor(api): replace inlined map and structs with named payload structs
  • 3a232d0 test(request): add 100% unit test coverage
  • 5a8df8a fix(fetcher): ensure response body is closed even on client error
  • a4883ca refactor(fetcher): use modern string functions and improve error messages
  • 4cd66ae docs(client): improve Godoc comments for exported functions
  • 0ab3bb5 refactor(api): replace inlined map and structs with named payload structs
  • 9874440 Merge branch 'upstream-main'
  • afeaac9 Rename AbsoluteURL to ResolveToAbsoluteURL
  • 71c551f test(timezone): add test for AvailableTimezones()
  • bb05b25 refactor(urllib): replace AbsoluteURL and GetAbsoluteURL
  • dfdd18e Merg...
Read more

v2.3.16

Choose a tag to compare

@github-actions github-actions released this 07 Jan 15:47
ab41c13

Changelog

  • ab41c13 Always use BasePath + requestURI
  • aa0baa3 Implement infinite scroll of unread entries
  • c5854d3 Return back page.keyboard_shortcuts.toggle_bookmark_status
  • e4b0e31 Merge branch 'upstream-main'
  • 6439d35 docs(man): improve miniflux.1 consistency and fix typos
  • a33cfb2 feat(locale): update translations
  • 590adb9 refactor(googlereader): remove output param check for user-info handler
  • 9e817e6 feat(googlereader)!: remove CORS handler
  • 5594586 fix(googlereader): generated tokens should not be logged even in debug mode
  • 48c5e3d Add .lastEntry for templates
  • a432435 Merge branch 'upstream-main'
  • 9e709cb Refactor fmt.Sprintf in AnotherUserWithFieldExists
  • 5db66fc refactor(storage): avoid using Sprintf to update session fields
  • da91816 Attach all click event handlers to body
  • 4c4477e Merge branch 'upstream-main'
  • 561389d feat: add TRUSTED_REVERSE_PROXY_NETWORKS config option
  • 1cc4ce8 Handle auth proxy from trusted proxies only
  • 7eaf826 Change tags page to show feed tags,
  • c8575c9 addEventListener's in capture mode
  • 6a09183 refactor(database): dont' index removed entries' content
  • 4532430 Merge branch 'upstream-main'
  • cd7d619 refactor(database): dont' index removed entries' content
  • 72e9891 Refactor mark read on scroll js
  • 23319da Add simplified filter for blocking feed entries by authors
  • 8a55bca Add API endpoint to import entries into existing feed
  • f824df3 Add video thumbnail to youtube entries
  • 14b64ed Bump github.com/dsh2dsh/gofeed/v2 from 2.2.0 to 2.3.0
  • a7fd7b5 Force update means re-fetch the feed and update all entries,
  • 239cf4e Add a test for a youtube feed
  • a060104 Merge branch 'upstream-main'
  • 135e730 Block access to internal networks from proxy and icon fetchers
  • 172b2f4 Just sort options
  • 09472cf One more place for sanitize + proxify
  • 88a03c7 Change layout of youtube entries
  • cd14ec3 Fix wrapping of tag list
  • fe0eda1 Cleanup old $cspNonce := nonce
  • 316535f Show original URL in the list of attachments, instead of proxied one
  • 7805e11 Make proxy requests within user's context
  • 90e1436 One pass sanitize + proxify downloaded content
  • 9a251b6 Bump github.com/dsh2dsh/bluemonday/v2 from 2.3.0 to 2.3.1
  • 29f6dc8 feat(icon): disallow fetching icon on private networks
  • 6c83e8c feat(mediaproxy): disallow the media proxy to fetch resources on private networks
  • f42ddde Merge branch 'upstream-main'
  • 142c538 Move proxy handler into mediaproxy package
  • d6593a6 Move proxifying of enclosures into mediaproxy package
  • 6eb0eca Refactor mediaproxy package
  • 3cecfaf Bump github.com/dsh2dsh/bluemonday/v2 from 2.2.0 to 2.3.0
  • 2901590 feat(ui): smooth pages transitions
  • 709e671 feat(api): execute the content sanitizer when updating or importing entries
  • 473c9f2 refactor(config): reuse validateChoices in validateListChoices to avoid duplication
  • 90a389a feat: add API endpoint to import entries into existing feed
  • 1f39cef Bump github.com/jackc/pgx/v5 from 5.7.6 to 5.8.0
  • 2515a95 Bump github.com/go-playground/validator/v10 from 10.30.0 to 10.30.1
  • a697a14 Bump github.com/dsh2dsh/bluemonday/v2 from 2.1.0 to 2.2.0
  • 2ef8e95 Add BenchmarkProxy
  • e694daa Change style of genericProxyRewriter a little
  • 2d3ee56 Bump github.com/go-playground/validator/v10 from 10.29.0 to 10.30.0
  • 2956285 Merge branch 'upstream-main'
  • 6106546 test(rewrite): add additional test cases for GetRefererForURL
  • ad82191 chore: remove obsolete docker compose 'version' key
  • 6080d56 fix: Update go devcontainer image to go:1-trixie
  • 2745e23 Merge branch 'upstream-main'
  • e66b259 Make templates required arg for handler.Refresh()
  • 854985b refactor(config): visibility reduction and assorted changes
  • 78a13e6 Merge branch 'upstream-main'
  • 1bf7c0b feat(ui): add route for viewing individual starred entries from category starred list
  • b3ea40e Merge branch 'upstream-main'
  • bc40948 build(deps): bump actions/upload-artifact from 5 to 6
  • 043996a Merge branch 'upstream-main'
  • 2b206be Merge pull request #14 from dsh2dsh/dependabot/github_actions/actions/upload-artifact-6
  • 6234fbd build(deps): bump actions/upload-artifact from 5 to 6
  • 3cb74e1 feat(locale): update Polish translation
  • 038d6f6 Add FUNDING [skip ci]
  • a9e5260 Merge branch 'upstream-main'
  • fbc4d70 feat: add auto-push option to readeck integration
  • 40d9965 feat(template): add link to the GitHub contributors page
  • 28e670d build: update Distroless container to Debian 13
  • 9236c25 Bump github.com/go-playground/validator/v10 from 10.28.0 to 10.29.0
  • 52b2a9c Bump github.com/dsh2dsh/gofeed/v2 from 2.1.1 to 2.2.0
  • 612d4ff New content rewrite rule: html_unescape
  • 273046c Use width and height from youtube media group
  • c6376b9 Bump github.com/dsh2dsh/gofeed/v2 from 2.1.0 to 2.1.1

v2.3.15

Choose a tag to compare

@github-actions github-actions released this 11 Dec 15:25
c8126ca

Changelog

  • c8126ca Merge branch 'upstream-main'
  • a364d21 Add "credentialless" attr to all iframes
  • 979998c Add "credentialless" attr to youtube's iframe
  • 3b77c61 Show youtube video descriptions below its iframe
  • dc12713 build(deps): bump golang.org/x/net from 0.47.0 to 0.48.0
  • fb238c1 Merge branch 'upstream-main'
  • 7bf58e7 build(deps): bump library/alpine from 3.22 to 3.23 in /packaging/docker/alpine
  • c502b80 build(deps): bump github.com/tdewolff/minify/v2 from 2.24.7 to 2.24.8
  • c23a621 build(deps): bump golang.org/x/oauth2 from 0.33.0 to 0.34.0
  • 327119c build(deps): bump golang.org/x/image from 0.33.0 to 0.34.0
  • 488a3bb build(deps): bump golang.org/x/crypto from 0.45.0 to 0.46.0
  • 7f3c6db ci: remove create event from Codeberg workflow
  • 884569f build(deps): bump actions/checkout from 4 to 6
  • 88db614 Bump golang.org/x/net from 0.47.0 to 0.48.0
  • 33f2c9c Bump golang.org/x/image from 0.33.0 to 0.34.0
  • 2f1145c Bump golang.org/x/crypto from 0.45.0 to 0.46.0
  • 67833fe Refactor scraper package
  • 3db5057 Don't apply content rewrite rules to extrenal content
  • c385df5 All entries from the DB have Stored() == true
  • 1fdd740 Switch to codeberg.org/readeck/go-readability/v2
  • 88b5af4 Bump golang.org/x/sync from 0.18.0 to 0.19.0
  • b30a962 Bump golang.org/x/oauth2 from 0.33.0 to 0.34.0
  • 96b5fe9 Bump github.com/spf13/cobra from 1.10.1 to 1.10.2
  • 3b31612 Bump github.com/klauspost/compress from 1.18.1 to 1.18.2
  • d83ad04 Bump github.com/go-shiori/go-readability
  • de6050e Use real feed for entry's Feed field
  • 1de8c98 Delete codeberg_mirror.yml
  • f922e3d Merge branch 'upstream-main'
  • fbf1b7b Compile templates early, before daemon started
  • 7dd2b1e Refactor rewrite package
  • 0960624 ci: add workflow to mirror Git repo to Codeberg
  • 20e0068 Merge branch 'upstream-main'
  • 4063ca3 feat(config): add new option to disable Miniflux's API
  • 6fc3adc Merge branch 'upstream-main'
  • f6476db feat(locale): update Polish translation
  • e6c008b Merge branch 'upstream-main'
  • 142d8d7 refactor(integration): standardize Linkwarden collection ID naming
  • 5bd5993 feat: add Linkwarden collection ID support
  • 18cd544 chore(contrib): update postgres volume path in Docker Compose sample files
  • b8a2c5b Bump github.com/dsh2dsh/gofeed/v2 from 2.0.0 to 2.1.0
  • 16c7c94 Merge branch 'upstream-main'
  • 88f9f27 feat(finder): generate feeds for stable youtube playlists
  • dc1653b feat(finder): make cannonical url detection a proper step
  • 3ea4aee feat(finder): enhance youtube channel parsing with default playlists
  • f447307 feat: add the i and small tags to the sanitizer's allowlist
  • a697e23 Merge branch 'upstream-main'
  • 11eed28 Set referrerpolicy to youtube iframes only
  • 889ecd4 Bump github.com/dsh2dsh/bluemonday/v2 from 2.0.0 to 2.1.0
  • d5fa0d1 Merge pull request #3 from dsh2dsh/dependabot/github_actions/actions/setup-go-6
  • 37aaa92 Merge branch 'master' into dependabot/github_actions/actions/setup-go-6
  • beeb274 Merge pull request #4 from dsh2dsh/dependabot/github_actions/golangci/golangci-lint-action-9
  • 26e3108 Merge pull request #2 from dsh2dsh/dependabot/github_actions/actions/upload-artifact-5
  • 0a914a9 Merge pull request #9 from dsh2dsh/dependabot/github_actions/actions/checkout-6
  • 4892e04 fix: avoid YouTube error 153 for embed iframes
  • 8537cf4 Merge branch 'upstream-main'
  • 579b1ef build(deps): bump github.com/coreos/go-oidc/v3 from 3.16.0 to 3.17.0
  • a16aa10 build(deps): bump golang.org/x/crypto from 0.44.0 to 0.45.0
  • ea9adc8 build(deps): bump actions/checkout from 5 to 6
  • fd7c886 build(deps): bump github.com/PuerkitoBio/goquery from 1.10.3 to 1.11.0
  • 16eb43e Cache db users during batch refresh
  • c64f52a Don't load user if we don't have new entries
  • 8729e35 Reuse loaded user during feed refresh
  • 2357b56 Extract (*Pool).processQueueItem()
  • fe8f13b build(deps): bump actions/checkout from 5 to 6
  • f503bc9 Fix youtube embeds (miniflux#3890)
  • c00491c Skip entries already stored in the DB
  • 3f2350f Bump golang.org/x/crypto from 0.44.0 to 0.45.0
  • 7049df2 Bump github.com/coreos/go-oidc/v3 from 3.16.0 to 3.17.0
  • 4d51661 Replace all config.Opts.FUNC to config.FUNC
  • 7c386a1 Unexport some config types
  • 3c16e60 Bump github.com/PuerkitoBio/goquery from 1.10.3 to 1.11.0
  • 097ac56 Fix subscription page after last changes
  • 8794933 Refactor NewCharsetReader
  • da53402 Simplify reader/encoding package
  • b5d4535 Delete old feed parser
  • b93666f Configurable polling interval for feeds, which reached their error limit.
  • 3a291db Merge branch 'upstream-main'
  • c62f69f Make goimports linter happy
  • 55f98b1 Switch to new feed parser
  • 03a9a14 Add new feed parser,
  • b3a63db fix(api): rewrite entry content URLs with media proxy in fetchContent endpoint
  • 7ac8eb9 build(deps): bump golang.org/x/net from 0.46.0 to 0.47.0
  • c43a907 build(deps): bump golang.org/x/crypto from 0.43.0 to 0.44.0
  • 0a08f48 build(deps): bump golang.org/x/image from 0.32.0 to 0.33.0
  • bc375e3 build(deps): bump github.com/go-webauthn/webauthn from 0.14.0 to 0.15.0
  • d3ebfd6 build(deps): bump golang.org/x/oauth2 from 0.32.0 to 0.33.0
  • c1cfd18 build(deps): bump github.com/tdewolff/minify/v2 from 2.24.6 to 2.24.7
  • e580126 build(deps): bump golangci/golangci-lint-action from 8 to 9
  • 978cf59 Make modernize linter happy
  • e7f3291 build(deps): bump golangci/golangci-lint-action from 8 to 9
  • 86fca5d test(urlcleaner): add test case to cover Matomo tracking URL
  • c365118 feat(urlcleaner): add a bunch of parameters
  • 6f2d10c build(deps): bump github.com/tdewolff/minify/v2 from 2.24.5 to 2.24.6
  • 093004b refactor(rewrite): avoid string concatenation in a loop (perfsprint linter fix)
  • 28d0bbf Merge branch 'upstream-main'
  • 82a24d8 fix: avoid YouTube error 153 video player configuration error
  • d2c783b build(deps): bump actions/upload-artifact from 4 to 5
  • 9e26b2d build(deps): bump actions/setup-go from 5 to 6
  • 318d542 build(deps): bump actions/upload-artifact from 4 to 5
  • 7e2dd3a fix: avoid YouTube error 153 video player configuration error
  • 4ace959 refactor(js): use replace instead of remove+add.
  • cdf966e Merge branch 'upstream-main'
  • 14f3195 fix(ci): enhance CodeQL workflow with language matrix and dynamic analysis category
  • 907daf7 fix(ci): specify version for RPM package for schedule and pull_request events
  • cf6386b fix(ci): GitHub Workflow does not contain permissions
  • 76df99f fix: only relative path should allowed for redirectURL parameter
  • 57e3eae refactor(js): minor regex simplification
    ...
Read more

v2.2.14

Choose a tag to compare

@github-actions github-actions released this 23 Oct 15:27
689c981

Changelog

  • 689c981 Fix tests after last merge
  • 0dbf36e Merge branch 'upstream-main'
  • 385d8bb feat(client): allow http.Client as option and add context to api methods
  • 54ea828 Merge branch 'upstream-main'
  • c171da1 refactor(reader): minor date parsing simplifications
  • 11ea137 build(deps): bump github.com/tdewolff/minify/v2 from 2.24.3 to 2.24.4
  • e42db11 Bump github.com/dsh2dsh/bluemonday from 1.1.2 to 2.0.0
  • 8d44f98 Bump github.com/dsh2dsh/bluemonday from 1.1.1 to 1.1.2
  • 74fc5ed Merge branch 'upstream-main'
  • 0a15075 refactor(sanitizer): save some cycles in hasRequiredAttributes
  • 57f9153 Prepend base path to redirect after auth
  • e6199e6 Merge branch 'upstream-main'
  • b1fda59 feat(integration): add tags option for karakeep integration
  • 509b768 build(deps): bump github/codeql-action from 3 to 4
  • fccd934 Merge branch 'upstream-main'
  • 06c2e50 refactor(ui): use native element instead of custom modal implementation
  • 08f11d2 Log Content-Type
  • af7e17a Fix unnecessary conversion (unconvert)
  • 581c5fe Merge branch 'upstream-main'
  • ec93656 perf: preallocate slices
  • 317aaee perf: replace from ParseInt/ParseFloat with faster Itoa
  • d862f79 refactor(fever): explicitly size slices
  • 0a22506 Merge branch 'upstream-main'
  • 1bea41b build(deps): bump golang.org/x/oauth2 from 0.31.0 to 0.32.0
  • 65a3909 build(deps): bump golang.org/x/image from 0.31.0 to 0.32.0
  • 131dc67 build(deps): bump golang.org/x/net from 0.45.0 to 0.46.0
  • 4e1791c Merge branch 'upstream-main'
  • b0dced4 build(deps): bump golang.org/x/net from 0.44.0 to 0.45.0
  • 6ede0f1 Merge branch 'upstream-main'
  • a34e33b chore: update make lint command
  • af12fe3 ci: enable perfsprint and goheader Go linters
  • dd44fbc refactor(misc): replace fmt.Errorf with errors.New where possible
  • 3e5f3f4 Merge branch 'upstream-main'
  • 9c956d1 build(deps): bump github.com/coreos/go-oidc/v3 from 3.15.0 to 3.16.0
  • 92b9ef4 Tune content color for better light and dark themes
  • 19455ea Tune colors of meta buttons for better dark theme
  • 78c1054 Merge branch 'upstream-main'
  • 34f2aca Refactor CSP from miniflux#3731
  • bf7f55e feat(template): extract CSP to a function, systematically use nonces, and use default-src 'none' instead of self
  • a42a6c1 Change style of figcaption for better readability
  • b9de300 Make light color of read title a little lighter
  • 4bcfc61 Reuse *bytes.Buffer's for between refreshes with sync.Pool
  • 28628a3 Merge branch 'upstream-main'
  • b8bc367 feat(rewrite): add remove_img_blur_params rule
  • 6d66171 Show feed errors in the list of entries, as a pseudo entry.
  • a97d417 Revert browsers link colors inside content
  • af2f9b6 Make title and content colors less contrast
  • 7740b0e Merge branch 'upstream-main'
  • 04a360a test(xml): add test cases regarding XML encoding
  • fac18d5 refactor(xml): change getEncoding to return []byte and move CharsetReader callback to a separate function
  • a3d1ecc refactor(database): get rid of the dependency on hstore
  • fa28282 Merge branch 'upstream-main'
  • 5a97bf8 refactor(sanitizer): simplify hasValidURIScheme and isBlockedResource functions
  • 72d7f4f Allow theme switcher to switch to auto (system) theme
  • 476adff Extract light dark switch back into theme.js
  • 0f356c8 Restore --link-color
  • f607648 Delete obsoleted system.css
  • 5395048 Merge branch 'upstream-main'
  • 2ddf126 Switch dark/light without page reload
  • e279b95 fix(css): avoid layout overflow when external link is too long
  • 1620f8d refactor(database): remove implicit not null constraint for serial types
  • ea8e9dd Extract StoreFeedEntries() from (*Storage).RefreshFeedEntries()
  • 3a05477 Adjust dark theme font color a little
  • 06e8415 Switch dark/light using htmx
  • 5685acb Extract global handler of htmx errors
  • fbec1fb Thanks Feather for icons [skip ci]
  • 40dd4ac Fast switch to dark or light mode for current session
  • f4787ad One more fix of e2e tests after changing of default theme
  • 65d18bc Switch golangci-lint back to "binary"
  • 2c9b23e Fix e2e test after default theme change
  • 2eada39 Make system_sans_serif default user theme
  • 0391527 Merge branch 'upstream-main'
  • f49e869 Redirect back to original page after logging in
  • 1a29c15 feat(ui): redirect back to original page after logging in
  • ff07f02 fix(jsonfeed): fallback to external_url when url is missing
  • 79b0d0b feat(integration): add integration with archive.org
  • 88f5e90 Merge branch 'upstream-main'
  • 5fa0709 feat(rewrite): add add_image_title rule for explainxkcd.com
  • 6bd2aa5 Make feed title not so dark
  • b54f698 Refactor (*ResponseHandler).LocalizedError
  • 5ea8b1d Move (*ResponseHandler).LocalizedError to errors.go
  • b276d4d Merge branch 'upstream-main'
  • a7fa2ec fix(scraper): update Dark Reading scraper rule
  • a6ff4f3 Cancel all queued refresh requests to rate limited host
  • 4c540bb Make gofumpt with extra-rules happy
  • 26c06da Scroll downloaded item into the view