Skip to content

Releases: dsh2dsh/miniflux

v2.3.15

11 Dec 15:25
c8126ca

Choose a tag to compare

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

23 Oct 15:27
689c981

Choose a tag to compare

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

v2.2.13

19 Sep 13:30
6433ac0

Choose a tag to compare

Changelog

  • 6433ac0 Make DedupEntries be property of storage.Storage,
  • 18db320 Merge branch 'upstream-main'
  • 10b2b36 build(deps): bump github.com/go-webauthn/webauthn from 0.13.4 to 0.14.0
  • 4dcfbd3 Merge branch 'upstream-main'
  • 87e65f8 feat(locale): update French translation
  • 907cf16 fix(fever): fix typo in variable name
  • 854a78a feat(locale): update German translation
  • 5e607be refactor(config): rewrite config parser
  • 5dc4fcd Add more config validation rules
  • a9e7873 Extract alert-info into info.html and reuse it
  • 4e0c293 Simplify pagination.html
  • ab7cb86 Scroll to top on the elevator click,
  • a896682 Restore pagination on pages which show all entries,
  • 4fe0778 Log request query too
  • bfb750d Refactor timezone/timezone.go
  • 4bb3959 Merge branch 'upstream-main'
  • 502e710 feat(locale): update Polish translation
  • 0b93d8a refactor(subscription): combine findSubscriptionsFromYouTubeChannelPage and findSubscriptionsFromYouTubePlaylistPage functions
  • 93a8629 refactor(js): simplify modal_handler.js
  • b174216 fix(timezone): make sure legacy time zones are no longer used
  • 99ee6b3 Merge branch 'upstream-main'
  • 4eff912 feat(ui): add "back to top" link
  • 90550ac Always manual history.scrollRestoration
  • ffad45a Restore item position after content download
  • a3a7142 Fix FF console warning about h1
  • a5ef15b Bump htmx from 2.0.6 to 2.0.7
  • 3e54ac9 Refactor reader/icon package
  • 198b5ef Pass context.Context into (*IconFinder).FindIcon
  • 88c9062 Move "Download" link to the left, before "External"
  • cb6919c Merge branch 'upstream-main'
  • eb22d90 feat(locale): update German translation
  • 8f2dd02 refactor(subscription): combine all JSON feed mime types in one query
  • da8d4d8 feat(locale): update Polish translation
  • 30bd2c6 Don't fetch icon twice from the same document
  • 258f10b Switch to go.yaml.in/yaml/v4
  • 5042a30 Merge branch 'upstream-main'
  • 1338ac2 Merge branch 'main' of github.com:miniflux/v2 into upstream-main
  • 17aea77 Bump dependencies
  • 7ada5d5 fix(icon): implement better handling of relative icon URLs within a subfolder
  • 8129500 feat(integration): add support for Wallabag tags
  • f114315 build(deps): bump golang.org/x/net from 0.43.0 to 0.44.0
  • baf8e40 build(deps): bump golang.org/x/image from 0.30.0 to 0.31.0
  • a98374b build(deps): bump golang.org/x/crypto from 0.41.0 to 0.42.0
  • 77e0b07 build(deps): bump golang.org/x/term from 0.34.0 to 0.35.0
  • 645800c refactor(js): remove isTouchSupported() static function
  • a60a153 build(deps): bump github.com/tdewolff/minify/v2 from 2.24.0 to 2.24.3
  • 7d40e29 build(deps): bump golang.org/x/oauth2 from 0.30.0 to 0.31.0
  • 91a625c build(deps): bump actions/setup-python from 5 to 6
  • dbb3855 build(deps): bump actions/setup-go from 5 to 6
  • 3051acf perf(xml): eliminate bound checks in filterValidXMLChars
  • 5f38054 fix(ui): incorrect force refresh interval unit used in messages
  • fa361ab perf: convert some slices to array
  • afe80e6 refactor(proxy): remove usage of fmt
  • f2976bf refactor: remove model.UserSessions struct
  • 84078c7 refactor: avoid unnecessary usage of Printf
  • d70817e build(deps): bump github.com/prometheus/client_golang
  • 8f772c7 Fix TestFlushHistoryEndpoint()
  • d1e2af5 Test refreshing of removed entry
  • ab2fda8 Log info "Fetch original content"
  • 115f95e Remove debug Oops from last change
  • 4224ee4 Handle failed fetch original content
  • 7b2f06a Back log debug "Making outgoing request", instead of info
  • d4ab681 Show response error if entry inline was failed
  • 2c0efe0 Fix my typo in last commit
  • 69e26fb The mark read on scroll is the only mode now
  • 4c27cd5 Bump github.com/stretchr/testify from 1.11.0 to 1.11.1
  • 05ed0b7 Announce inline reader
  • afc4be6 Merge branch 'upstream-main'
  • e392031 Merge branch 'main' of github.com:miniflux/v2 into upstream-main
  • e8f5c24 fix(config): FORCE_REFRESH_INTERVAL duration should be in minutes
  • f6d96bc Fix template error after removing of share functionality
  • 2561ab2 Fix last db migration
  • 000a098 Prefer entry URL for hash generation, instead of id
  • ae2e64b Delete entry sharing and old entry reader
  • b194a5f Merge branch 'upstream-main'
  • b165e17 fix(config): FORCE_REFRESH_INTERVAL duration should be in minutes
  • 09b0c4d Merge branch 'upstream-main'
  • 737f25f feat(locale): update Polish translation
  • 9606a01 Bump github.com/stretchr/testify from 1.10.0 to 1.11.0
  • 614abfc Remove id attributes from sanitized contents
  • 76e5c1c Bump github.com/dsh2dsh/bluemonday from 1.1.0 to 1.1.1
  • efb3d35 Refactor inlining of entry content
  • ef77f8d Merge branch 'upstream-main'
  • f83d667 fix(api): do not return removed entries
  • fd188d4 Show Loading... during entry content inlining
  • bbeaf70 Remove internal/reader/readability
  • 129eb14 Make golangci-lint happy
  • a2faeb6 Merge branch 'upstream-main'
  • 32c23ff Fix proxy endpoint
  • af149e4 Revert "refactor(storage): simplify feed.go by using min(), inline errors, and use idiomatic conditions"
  • 4f252b3 refactor(template): rename noescape to safeHTML
  • a16880a Add download content to inline reader
  • 3cbfcb1 Rename entry UI endpoint using /entry/{entryID}/action pattern
  • 32e7a65 Delete obsoleted UI entry endpoints, replaced by inline reader
  • 3634aea Merge branch 'upstream-main'
  • da9c3a4 feat(js): tighten the trusted types policy
  • 8e1d0bb fix(locale): Update de_DE translation to match changes from 'bookmark' to 'starred'
  • 29bd2b5 Extract common template into entries_list.html

v2.2.12

21 Aug 17:20
2ec3ceb

Choose a tag to compare

Changelog

  • 2ec3ceb Merge branch 'upstream-main'
  • 60cd7ff refactor: Replace "Bookmarks" with "Starred"
  • 4d656d2 feat(integration): add LinkTaco service for saving articles
  • 983291c refactor(cli): use time.Duration for cleanup tasks
  • 7060ecc refactor(cli): use time.Duration for scheduler frequency
  • 4af12a4 refactor(metric): use time.Duration for refresh duration
  • c6536e8 refactor(http): use time.Duration for refresh interval
  • 30453ad refactor(fetcher): use time.Duration for client timeout values
  • 71af68b refactor(server): use time.Duration for timeout values
  • ed3bf59 refactor(reader): use time.Duration instead of minutes count
  • 03021af feat(config): time interval parser
  • 83254a1 refactor(model): replace Sprintf("%d") in tests
  • 3acb888 refactor(response): simplify switch-case and remove unnecessary defer
  • 7c29166 refactor(ui): move inline SVG to sprite.svg
  • 71105be refactor(template): improve consistency in layout.html (meta tags, whitespace, comments)
  • 2a37267 refactor(icon): avoid calling AbsoluteURL twice for the feed icon URL
  • 9d32b23 perf(sanitizer): make sanitizer ~10% faster by using slices.Contains instead of nested maps
  • da8bf38 refactor(templates): be explicit about dependencies
  • b30eac4 build(deps): bump github.com/tdewolff/minify/v2 from 2.23.11 to 2.24.0
  • 0b85d7b Add attachments into inline entry reader
  • 4823038 Merge branch 'upstream-main'
  • 459b1bf test(icon): add tests for finding icon URLs in HTML documents
  • fdc12bf fix(icon): improve logging messages in resizeIcon function
  • 1b1ceaf test(icon): add test case to verify SVG minification with error
  • cad40cc feat(icon): minify svg favicons
  • 4d88ee1 Add list of tags to inline entry content
  • 5f9fa01 Use document.body.dataset.markAsReadOnView here,
  • 96b99af Merge branch 'upstream-main'
  • c105b14 test(api): add integration test for fetching categories with counters
  • 49575c8 test(version): add a test to enforce the version format
  • b25f965 test(fetcher): add unit tests for RequestBuilder
  • 953ea88 fix(mediaproxy): always forward the browser Accept header
  • 9536ce7 fix(version): change development version naming to avoid breaking some clients
  • 4271482 Add endpoints for user custom stylesheet and js,
  • 4d88afb Make light content color a little bit darker
  • 801d3c7 Merge branch 'upstream-main'
  • e26a00a Implement inline entry reader,
  • c25c408 Fix a typo in redirect code
  • 84ae1d5 fix(storage): index only the first 500K characters of the article contents to avoid tsvector limits
  • 5403ca0 feat(storage): add limit parameter to ClearRemovedEntriesContent
  • c6f4168 Add inlineEntry ui endpoint: /entry/inline/{entryID},
  • bdd9510 Handle .gz files in bundles
  • 68d2c13 Fix generation of MEDIA_PROXY_PRIVATE_KEY
  • 905d652 refactor(ui): use request builder in media proxy handler
  • bcf0981 Vertical align all icons
  • df68ed6 Merge branch 'upstream-main'
  • 52a14ea Refactor version.go
  • a16ac51 refactor(storage): split DeleteContentRemovedEntries into 2 functions and fix condition
  • 5c26e06 feat(entry): keep only metadata for removed entries
  • 9e4248c fix(templates): remove non-breaking space in about page
  • 758aef4 Refactor json redirects
  • 8c785c2 Merge branch 'upstream-main'
  • 923aa18 Fix unreliable UI redirects
  • a654a5f feat(template): show GitHub links in about page only when tag and commit are available
  • 6bf3b3c fix(version): allow build info to be set with LDFLAGS and fallback to VCS metadata when available
  • 6ef934e Merge branch 'upstream-main'
  • bb1b3d1 Periodically delete lost feed icons
  • a010544 fix(version): be explicit when VCS info is unavailable
  • c1af510 feat(version): use Golang's builtin vcs feature to get commit and build date
  • 88d9682 ci: update Go version to 1.25 in workflows and Dockerfile
  • 5abb3a3 Refactor feed icons
  • 189ffc9 Merge branch 'upstream-main'
  • ce6cadc refactor(mediaproxy): use *url.URL for MEDIA_PROXY_CUSTOM_URL
  • 40fa778 refactor(locale): avoid code duplication in Printer.Printf() function
  • dd8011a refactor(template): remove some useless attributes
  • 3955df4 perf(js): don't load webauthn,js when disabled
  • 6f2ec8b refactor(ui): rename the small favicons to icons
  • 2fa813f refactor(fetcher): use errors.New when possible instead of fmt.Errorf
  • 7c1602c refactor(internal): fix doc comments
  • 5e3bba9 refactor(request): fix typo in big corp name
  • ab26a4e refactor(config): fix typos in test
  • 2b0299f Add operator permission: users who can see admin info
  • e5bad93 Size of icons in rem
  • 713442c Set size of feed icons by CSS
  • 999f4c9 Merge branch 'upstream-main'
  • 2c4f4e2 perf(templates): removes superfluous whitespaces in two templates
  • 261b72f feat(icon): add resizing support for webp images
  • 6c60d61 fix(icon): use rel=apple-touch-icon instead of rel=apple-touch-icon-precomposed.png
  • 4519be8 Merge branch 'upstream-main'
  • fa85a0e feat(ui): disable OAuth routes if OAuth is disabled
  • 7c8825e Return back options.header, because it need for next lines of code
  • e919634 Switch golangci-lint action to "goinstall",
  • 0d0e7ed Switch CSRF protection to new http.CrossOriginProtection
  • 4de9e3c Switch to go 1.25
  • 26d8d7d Merge branch 'upstream-main'
  • eb6f7f3 feat(storage): make removed entries' status immutable
  • 93fc206 refactor(opml): reduce indirections
  • 8bca777 refactor(model): remove some indirection
  • 1e6d227 build(deps): bump actions/checkout from 4 to 5
  • 5ad9afa Merge branch 'upstream-main'
  • 37d539e fix(template): webauthn error alert was broken on the settings page
  • f5188b1 refactor(ui): don't expose webauthn routes if webauthn is disabled
  • 5d9d0b2 refactor(ui): standardize user variable naming and avoid a SQL query when only userID is used
  • 50c5996 refactor: remove some fmt.Sprintf calls
  • 884521a refactor(template): use modern svg directive
  • 3a01f8a perf(misc): use arrays instead of slices where possible
  • c7030a3 xlink:href of svg use tag is deprecated
  • 68bf289 Fix svg icons flickering (miniflux#3653)
  • 93e2d6b Clone template on every request, before changing its Funcs
  • 45fe589 Use correct dataset property for offlineURL
  • 3af6b93 Merge branch 'upstream-main'
  • 68984da perf(static): minimize the SVG
  • 485baf9 refactor(misc): fix a handful of TODO
  • 06cbf1b fix(icon): update incorrect log messages
  • b20a8c9 fix(ui): invert toast notification icons
  • b2103fd Use layout.html directly, instead of artifical "base"
  • 0db614a pregzip css and js bundles
  • 533a5dd M...
Read more

v2.2.11

08 Aug 13:51
340304d

Choose a tag to compare

Changelog

  • 340304d Mark as read on /unread using less(-1) SQL queries
  • 66eb446 Replace all location.reload() by location.replace(location.href)
  • d2a1866 Disable auto restoration of scroll position on reload,
  • d73bb66 Just a style change
  • 8185399 JSON endpoints shouldn't redirect to /login
  • 5aa3c0c Merge branch 'upstream-main'
  • 80f48c8 refactor: replace interface{} with any
  • 045f2f1 chore(view): remove unused webauthn_js_checksum key
  • 2565ff9 refactor(template): make use of template.ParseFS
  • b3fce75 refactor: replace Sprintf with string concatenation
  • 798bc4c refactor(static): use a simple struct instead of two slices to store assets data and checksums
  • b1cbaae refactor(storage): simplify feed.go by using min(), inline errors, and use idiomatic conditions
  • 924293e perf(storage): avoid heavy-weight SQL when marking feed as read
  • 826977b perf(api): speed up markFeedAsRead by avoiding a JOIN operation
  • ed0e4a6 refactor(template): reindent and merge tags in feed_list.html
  • 5affd78 refactor(reader): move the fetcher outside of a loop
  • d3ad460 Revert "feat(cookie): use SameSiteStrictMode when not using OAuth2/OIDC"
  • 0f3c04a test(rewrite): fix flaky test case by sorting query string keys
  • ccccc5e Mark as read on scroll unread entries only,
  • 6dd59d6 Reorganize middlewares a little
  • c0ca003 Merge branch 'upstream-main'
  • e8e3a60 refactor(googlereader): remove intermediate variable
  • a6ce5c9 perf(storage): minor optimization for FetchJobs
  • 76ef8f3 refactor(googlereader): replace Sprintf("%d") with FormatInt
  • a43d150 refactor(parser): centralize seek logic and provide a hint for the compiler to eliminate a useless bound check
  • f9e6ad5 Refresh of active session cookie
  • d97f59c Fix Uncaught ReferenceError: markPageAsRead is not defined
  • 6be1c13 Change "Mark as read" to "Mark as unread" on scroll
  • ee37731 Time to remove compat HashFromStringCompat and always use xxhash
  • 52a65b4 Merge branch 'upstream-main'
  • 0986e72 Move my js into dsh.js
  • 3bb9659 refactor(js): create utility functions to manage buttons state
  • b505a63 refactor(js): rewrite toast notification implementation
  • e9d9256 refactor(js): rename functions to include action suffix
  • 391792a refactor(js): combine handleBookmark and toggleBookmark functions
  • d2cfca5 refactor(js): combine handleSaveEntry() and saveEntry() functions
  • f2e34cf refactor(js): split openOriginalLink() into smaller functions
  • 5c3be3e refactor(js): combine handleShare() and triggerWebShare() functions
  • 546fbcf perf(storage): pair all SELECT true with LIMIT 1
  • 2e28bf7 refactor(js): improve item navigation logic in goToListItem function
  • 52c1386 refactor(js): enable touch handlers only on touch devices and fix various issues in WebAuthnHandler
  • 4910f1f refactor(js): remove RequestBuilder
  • af6807d Merge branch 'upstream-main'
  • 52e3cf6 Fix this json after upstream merge
  • a578b51 Merge branch 'upstream-main'
  • bbe3c2e refactor(js): simplify some functions using modern JavaScript
  • b116da8 refactor(js): remove bootstrap.js
  • b62fd8c Merge branch 'upstream-main'
  • 1f1f945 Keep constant order of query args and
  • 07246e2 refactor(js): improve menu handlers
  • 05e5940 Merge branch 'upstream-main'
  • 6241065 refactor(js): code cleanup and add jshint comments
  • 64b3594 Merge branch 'upstream-main'
  • 35a76fb Fix last upstream merge
  • 3e1a7e4 feat(js): register the service worker as JavaScript module
  • cb535a5 Merge branch 'upstream-main'
  • bfbc1c8 feat(js): load app.js using JavaScript module
  • f546ff3 Fix File is not properly formatted (goimports) after upstream merge
  • ccc1655 Merge branch 'upstream-main'
  • 91ddda1 Reorganize a little app.js and bootstrap.js
  • b2de3f8 Switch to github.com/dsh2dsh/bluemonday
  • 50197c2 refactor(js): reorder functions and add comments
  • 7a25cf5 fix(js): handle multiple buttons in a single form when showing loading state
  • 1ec90e3 refactor(js): simplify CSRF token retrieval from the document
  • 5e07278 feat(ui): refresh the page when marking as read the last visible entry
  • cce0e7b refactor(rewrite): replaced regex-based YouTube and Invidious video ID extraction with URL parsing
  • 1f7843e feat(integration): prioritize feed-level webhook URL when available when saving entries
  • 181e134 refactor(locale): introspect the translation files at load time
  • f3052eb refactor(misc): make use of type constraints where possible
  • 078eb39 refactor(config): don't check random.Read's return value
  • 6aeb565 build(deps): bump github.com/prometheus/client_golang
  • 0c3e251 refactor(filter): parse and merge filters only once per refresh
  • bfd8cb3 feat(ui): add icons to main menu
  • 9eea987 feat(rewrite): add a rule to remove useless heading images on phoronix
  • 240ec8b build(deps): bump github.com/coreos/go-oidc/v3 from 3.14.1 to 3.15.0
  • f3ac4da test(rewrite): add unit tests for addYoutubeVideoFromId and addInvidiousVideo functions
  • 4316be8 Merge branch 'upstream-main'
  • 66b269e feat(readability): avoid removing elements with content class
  • d60aa43 Couple of fixes after last merge
  • 9490e4e Merge branch 'upstream-main'
  • 54abd0a fix(parser): handle feeds with leading whitespace that exceeds buffer size
  • 5eab475 refactor(googlereader): rename/unexport response types and functions
  • bf46642 ci: update commit linter to allow default Git revert message
  • a62b97b refactor(readability): get rid of getClassWeight
  • 1de9cf4 perf(readability): simplify removeUnlikelyCandidates
  • 7912b9b perf(readability): avoid materializing text to count commas
  • 2d24f5d refactor(readability): minor code folding
  • 682610c Wrap error returned from external package after last merge
  • 0f2bcb0 Merge branch 'upstream-main'
  • 20825a9 Revert "perf(template): use ParseFS to directly parse the embedded template data"
  • 1d11623 feat(integration): use Bearer token authorization instead of cookie for Linkwarden client
  • 202de7c fix(integration): rename Linkwarden endpoint label to base URL (miniflux#3568)
  • b470b18 feat(makefile)!: remove unsupported platforms and stop distributing Windows binary
  • 5877cf3 build(deps): bump github.com/go-webauthn/webauthn from 0.13.3 to 0.13.4
  • d417b0f build(deps): bump github.com/tdewolff/minify/v2 from 2.23.9 to 2.23.10
  • 3daf26b Merge branch 'upstream-main'
  • 703f113 fix(storage): ensure strings are truncated to fit tsvector size limit and remain valid UTF-8
  • 0b74074 Fix last merge
  • 4e692d5 Merge branch 'upstream-main'
  • f02213a refactor(readability): use String explicitly in debug log instead of Any
  • 410b43a chore(contrib): update PostgreSQL image from 15 to latest in docker-compose examples
  • d9de9d1...
Read more

v2.2.10

24 Jun 17:47
fadce82

Choose a tag to compare

Changelog

  • fadce82 Merge branch 'upstream-main'
  • 3a7174f Refactor reader/filter package
  • 95eb6c1 chore(docker): update golang base image to alpine 3.22
  • 643b89e perf(storage): take advantage of entries_feed_id_hash_key in updateEntry
  • 84ebf1a docs(manpage): update LISTEN_ADDR description
  • 875618d docs(changelog): update release notes for version 2.2.10
  • d453b5b Merge branch 'upstream-main'
  • dcdf567 Always use current user id for mark-all-as-read
  • 097ae6e Move feed's Size and Hash from Extra into Runtime jsonb
  • 2142a3d Move client into internal
  • 112e0a3 Merge branch 'upstream-main'
  • 8641f5f refactor(database): drop 3 columns in a single transaction
  • efb4bd9 Merge branch 'upstream-main'
  • 9dd42b4 Use real user id instead of request param
  • 93b17af refactor(appjs): no need to check if always present elements are always present
  • 92876a0 refactor(http): rename package from httpd to server for consistency
  • d62df4e refactor(server): avoid double call to Sprintf
  • 8fa5041 feat: Allow multiple listen addresses
  • 31b9689 Merge branch 'upstream-main'
  • 449084e Make inputs and textarea wider
  • dc05965 chore(template): remove X-UA-Compatible meta tag specific to Internet Explorer
  • 61744c5 Merge branch 'upstream-main'
  • 109e668 perf(storage): pre-allocate a slice in RefreshFeedEntries
  • a0bac82 move FilterEntryMaxAgeDays filter to filter package
  • 6d58052 fix(readability): do not remove elements within code blocks
  • 491d51c feat(locale): update Polish translation
  • db49e41 refactor(processor): move FilterEntryMaxAgeDays filter to filter package
  • e6b8141 feat(filter): add EntryDate=max-age:duration filter
  • b0a10f0 feat(css): add margin-bottom to input for consistent spacing
  • 9c05c3c feat(filter): merge user and feed entry filter rules
  • 2a9d91c feat: add entry filters at the feed level
  • edcef71 Merge branch 'upstream-main'
  • cb59944 refactor(processor): move RewriteEntryURL function to rewrite package
  • c12476c refactor(filter): avoid code duplication between IsBlockedEntry and IsAllowedEntry functions
  • bc6ab44 fix(filter): skip invalid rules instead of exiting the loop
  • 6282ac1 refactor(processor): move filters to a filter package
  • 96c0ef4 refactor(processor): massive refactoring of filters.go
  • b139ac4 refactor(youtube): Remove a regex and make use of fetchWatchTime
  • c818d5b refactor(youtube): initiliaze two maps to the proper length
  • e366710 refactor(processor): remove a useless type declaration
  • 5cff4d7 refactor(processor): remove a duplication function call
  • f31a784 refactor(processor): refactor common code into a fetchWatchTime function
  • 7edfcc3 refactor(processor): remove a useless type declaration
  • fe4b00b refactor(processor): extract some functions into an utils.go file
  • 46b159a refactor(processor): simplify bilibili processing
  • 1b87435 Switch from hash/fnv to xxhash
  • 9159d24 Merge branch 'upstream-main'
  • 86c58e1 perf(reader): use a non-cryptographic hash when possible
  • 9a1d959 refactor(crypto): use rand.Text() instead of a custom implementation
  • 4354697 refactor(tests): use b.Loop() instead of for range b.N
  • 3ab9ca9 refactor(http): Don't hardcode TLS configuration
  • 1af6df7 perf(api): use math/rand/v2
  • 50dff57 build(go): bump to go 1.24
  • d2a7c48 Refactor fever package
  • 1b1c11c Merge branch 'upstream-main'
  • 6af4d69 test(sanitizer): add test case to cover Vimeo iframe rewrite without query string
  • 27015a5 test(sanitizer): add unit test for 0x0 pixel tracker
  • cdb57b3 perf(sanitizer): minor simplifications of the sanitizer
  • 152ef57 feat(sanitizer): consider images of size 0x0 as pixel trackers
  • 72486b9 refactor(processor): minor simplification of a loop
  • 81df0b2 perf(rewrite): make getPredefinedRewriteRules O(1)
  • b296f21 refactor(internal): add an urllib.DomainWithoutWWW function
  • af15032 perf(fetcher): pre-allocate the cipherSuites
  • 6a6a88d docs(readme): document a couple of nifty features
  • 8660f5e perf(media): minor regex simplification
  • 1eed093 Implement deletion of empty keys from sessions
  • 7fe148a Replace tab -> 2 spaces in panic traces,
  • 7083151 Merge branch 'upstream-main'
  • 4f3d4e8 Return back WHERE f.user_id = $1 AND f.id = $2 condition
  • da4ab42 feat(rewrite): add parkablogs.com to the referer override list
  • 237672a perf(sanitizer): use a switch-case instead of a map
  • e9d4a13 refactor(sanitizer): remove two useless www. prefixes
  • 0149574 Refresh all feeds in the background will reset feeds errors
  • 3a8f1af Merge branch 'upstream-main'
  • 5c5b500 remove SERVER_TIMING_HEADER config option
  • 1803653 Remove deprecated config options
  • 763693c Fetch relative site icons using effective URL (after redirect),
  • ca446bc Always clone headers in ExecuteRequest,
  • d291d6a refactor(config): remove deprecated config options
  • e0f7e6f feat(config)!: remove SERVER_TIMING_HEADER config option
  • ef3dbd3 perf(database): use TRUNCATE instead of DELETE FROM in migrations
  • 32f0805 perf(database): marginally speeds migrations up
  • 117c031 feat(integration)!: remove Pocket integration
  • c99ea87 Refactor googlereader package
  • 5a092c2 Merge branch 'upstream-main'
  • bd20b1c Make YOUTUBE_EMBED_URL_OVERRIDE type *url.URL
  • b95c902 refactor(sanitizer): make isValidAttribute() check O(1)
  • 3538c42 refactor(sanitizer): use global variables to avoid recreating slices on every call
  • ac44507 refactor(sanitizer): use a map for iframe allow list
  • 44c48d1 perf(sanitizer): extract a call to url.Parse and make intensive use of it
  • 36bf1fa Replace "/v1" by const
  • b4eb8d2 Separate auth middlewares by path prefix
  • e99c683 Add worker pool err into healthcheck
  • f0a2636 Merge branch 'upstream-main'
  • 4072770 feat(rewrite): add support for YouTube Shorts video URL pattern
  • 8a014c6 perf(readability): minor regex improvement
  • 2291179 Move livenessProbe and readinessProbe into health.go
  • b0019d0 Log storage summary after refreshing of batch of feeds
  • 1e1c03e Log "worker: refreshed a batch of feeds with error"
  • 1efe8aa Log refresh feed errors
  • a6ff947 Merge branch 'upstream-main'
  • 4cdfb57 Reapply "perf(xml): optimize xml filtering"
  • 60ad19c perf(rss): early return when looking for an item's author
  • f40c1e7 fix(reader): fix a crash introduced by d59990f
  • c1f8c2b Merge branch 'upstream-main'
  • 0c94c50 Log number of storage queries and their durations
  • 17f6cf5 Don't increase feed errors on a db error
  • 4a6c0db I don't think feed refresh needs AnotherFeedURLExists...
Read more

v2.2.9

27 May 14:16
6ba9e7a

Choose a tag to compare

Changelog

  • 6ba9e7a Merge branch 'upstream-main'
  • 325c505 docs(changelog): update release notes for version 2.2.9
  • e8128aa Remove small delay before marking page as read on scroll
  • 8c419ac Refactor ui package one more time (3rd pass)
  • aa084a9 Merge branch 'upstream-main'
  • bfd8860 feat(api): add new endpoints to manage API keys
  • ebd65da feat(locale): update Polish translation
  • 02e6380 Merge branch 'upstream-main'
  • 83191b0 fix(storage): remove extra comma introduced by commit 09fb05a
  • 51975af Remove pagination if MarkReadOnScroll,
  • 947e835 Handle title click by js if AlwaysOpenExternalLinks,
  • b9d9375 Hide external link if AlwaysOpenExternalLinks
  • f949c08 Merge branch 'upstream-main'
  • 8142268 feat: populate feed description automatically
  • 5920e02 feat: add liveness and readiness probes
  • 09fb05a feat: add option to always open articles externally
  • fc8001d Merge branch 'upstream-main'
  • 411c92b Mark entries as read when scrolled
  • 52b1843 fix(migrations): prevent failure at v45 with long entry URLs
  • 7c8c7c2 feat(locale): update Polish translation
  • d3ef0b2 Don't hide read items, just mark it as read
  • 36bb2b2 Use FeedByID directly, instead of via FeedQueryBuilder,
  • 9690dbd Merge branch 'upstream-main'
  • 9768eb9 feat(locale): update French translations
  • b65373d feat(webauthn): perfer creation of a client-side discoverable credential
  • 596d22c build(deps): bump github.com/tdewolff/minify/v2 from 2.23.6 to 2.23.8
  • 4b86570 chore(gitignore): ignore miniflux binary in root directory
  • e99864a fix(locale): localize Git commit label at about page
  • 7e3521d Add index on feeds.user_id, parsing_error_count
  • 4269054 Let schedule check for more jobs after refreshing feeds by tick
  • d73653d Create index on feeds.next_check_at
  • b352d47 Periodically delete old per server limits,
  • 1f14fbe Rate limit connections per server
  • 2a055e8 Merge branch 'upstream-main'
  • 2254638 feat(locale): complete Russian translation
  • 3db6e82 feat(locale): update Polish translation
  • 1c19151 build(deps): bump github.com/tdewolff/minify/v2 from 2.23.5 to 2.23.6
  • 20e4cb0 Fix handling of LastForceRefresh after refactoring of ui/session
  • 009680b Bump github.com/jackc/pgx/v5 from 5.7.4 to 5.7.5
  • a5386f1 Refactor ui/session package
  • 8bbd933 Merge branch 'upstream-main'
  • 553c578 feat(rssbridge): support auth token for RSS-Bridge
  • 1306a88 Fix unable to encode into binary format for int8 after last commit
  • f89e183 Extract updating of feed's runtime data into UpdateFeedRuntime
  • c69d18e Update specific json keys instead of the whole session data
  • 8a939b1 Refactor ui package (2nd pass)
  • 51c7b27 Extract shared code from ui package and reuse it
  • 48dbab1 Don't fetch content by default with list of entries
  • f81d488 Allow custom comments URL template use "replace" function
  • 800b83c Click on comments URL mark this entry as read.
  • 49cb472 Custom comments URL per feed.
  • 7a6cb7d Add size and hash to feed info page
  • 4a2d3c1 Add info about my repo into about.html
  • 5ce14c2 Refactor miniflux refresh-feeds CLI,
  • 42f1b1c Log storage_queries for refresh feed
  • b2cb137 Crop screenshots and remove empty space [skip ci]
  • b9e14c2 Republished entries now marked as unread [skip ci]
  • 3598fb5 Changed a little how article items looks like [skip ci]
  • 1383a2c Merge branch 'upstream-main'
  • 9464ef5 Fix cannot scan text (OID 25) in text format into string
  • 3b5a913 Fix wrong order of args after last commits
  • 81ec32a fix(webauthn): correct arg in debug log
  • af6e7d2 Merge branch 'upstream-main'
  • 4324bd8 Wakeup scheduler, instead of push jobs directly to the worker pool
  • 83f4e59 LocalizedErrorWrapper implements error interface
  • 47c8e90 Updated entries have updated published_at and changed_at,
  • 3818a8a build(deps): bump github.com/go-webauthn/webauthn from 0.12.3 to 0.13.0
  • cf584dc (*Pool).Push waits for completion of all jobs
  • edc8371 Cleanup .github [skip ci]
  • cbe070d This project is an opinionated fork of Miniflux.
  • f6ae3e8 Limit max number of connections per server
  • ab7aa59 Mark republished entries as unread
  • e273420 Refactor internal/reader
  • 5202fd5 Merge branch 'upstream-main'
  • 036704b feat(response): change error response content type to plain text and escape HTML
  • 327d027 feat(settings): replace div.panel with paragraph tags for OAuth2 links
  • 5ae2cbd feat(settings): add validation for entry order and categories sorting order
  • 0ffa457 Increment feed error count atomically by SQL UPDATE,
  • 18b534a Don't refresh entries if the list is empty
  • 9a7296f Fix content changed check
  • b960af6 Keep order of tags,
  • 7c7df1b Don't refresh feeds with same size and content hash
  • e6829f7 Don't try to refresh feed icon on feed refresh,
  • fd33fd7 Update republished entries only
  • ed18fc0 Log "daemon exited with error" if any error
  • 133563f Info log level for "storage: refresh feed entries"
  • c6d87c9 Ignore "read" and "removed" entries during refresh,
  • 7dbfb72 Make refresh endpoints sync, instead of async
  • 8bf5cc0 Stop refresh readed feed entries
  • cdb96dc Merge branch 'upstream-main'
  • ad6e338 Refactor (*Storage).RefreshFeedEntries
  • f15d29d build(deps): bump github.com/tdewolff/minify/v2 from 2.23.3 to 2.23.5
  • 57f1888 Make (*Storage).CreateFeed faster using pg copy protocol
  • 8048e3b Merge branch 'upstream-main'
  • 843f68a Refactor integration tests
  • 828a433 fix(sanitizer): MathML tags are not fully supported by golang.org/x/net/html
  • d1dc369 feat(sanitizer): add MathML tags to the sanitizer
  • a8076e1 ci: remove deprecated reviewers field from dependantbot.yml
  • 3448d62 build(deps): bump golang.org/x/net from 0.39.0 to 0.40.0
  • 159261f build(deps): bump golang.org/x/oauth2 from 0.29.0 to 0.30.0
  • ff2dfe9 feat: remove the ref parameter from url
  • 11c397f Merge branch 'upstream-main'
  • 1e36cb6 Add more logging of cleanup tasks
  • a5e3719 build(deps): bump golang.org/x/crypto from 0.37.0 to 0.38.0
  • cdadb87 build(deps): bump golang.org/x/image from 0.26.0 to 0.27.0
  • 5284d61 build(deps): bump golangci/golangci-lint-action from 7 to 8
  • 0ee2f41 Use correct context.Context for pgx pool
  • c379798 Add more log messages
  • db9e0d5 Fix space after .item-meta-info and before .item-meta-icons
  • 0401e4d Refactor daemon's startup
  • 67ee235 Merge branch 'upstream-main'
  • 2ed5ff9 Bump golangci/golangci-lint-action...
Read more

v2.2.8

23 Apr 15:11
8dc925a

Choose a tag to compare

Changelog

  • 8dc925a Add goreleaser.yml workflow
  • 6b14022 Make linters happy
  • 1891089 Merge branch 'upstream-main'
  • 7ac0f41 Refactor CLI
  • f68046c docs(changelog): update release notes for version 2.2.8
  • f901662 Fix parseFormat uses wrong format
  • d33e305 fix(api): hide_globally categories field should be a boolean
  • 51c5594 Multiple log files
  • af81000 Automatically reopen log file on rotation
  • 971ea74 Add LOG_FORMAT=human
  • 17ad9d2 Change some Debug log messages into Info
  • 4620143 Merge branch 'upstream-main'
  • a516474 Refactor and simplify config parser
  • 764212f refactor(js): replace DomHelper methods with standalone functions
  • e02b65d fix: deal with navigator.share exceptions
  • fe7ec25 chore: fix indentation
  • 2959a4d fix: clarify share flow in UI
  • 6b70a7d feat(api): add update_content query parameter to /entries/{entryID}/fetch-content endpoint
  • f1735f5 Makefile: add clean-e2e targets
  • 495c6aa build(deps): bump github.com/mattn/go-sqlite3 from 1.14.27 to 1.14.28
  • 938f33e Configure pgsql with trust for using minuflux user w/o password
  • 01c83e1 Always archive e2e_api.log
  • 17cf5ab Upload e2e_api.log as artefact
  • 925d7f7 Add workflow_dispatch to go.yml
  • cefafcc Add e2e tests into go.yml workflow
  • fd5c477 Make linters happy
  • 6202b7c Merge branch 'upstream'
  • bc228d0 ci: add documentation issue template
  • d139d8a feat(cli): add -reset-feed-next-check-at argument
  • 28d0185 build(deps): bump github.com/PuerkitoBio/goquery from 1.10.2 to 1.10.3
  • c87c93d feat(config): add SCHEDULER_ROUND_ROBIN_MAX_INTERVAL option
  • b0a7488 Extract common code from StreamHandler-s into makeStreamIDResp
  • d164c73 Google Reader API applies user's Entry sorting by default
  • 4e1a1ec gofump it