onedr0p / home-ops

Wife approved HomeOps driven by Kubernetes and GitOps using Flux
https://onedr0p.github.io/home-ops/
Do What The F*ck You Want To Public License
1.98k stars 179 forks source link

feat(container): update ghcr.io/miniflux/miniflux ( 2.0.50 → 2.1.3 ) #7813

Closed bot-ross[bot] closed 3 months ago

bot-ross[bot] commented 3 months ago

This PR contains the following updates:

Package Update Change
ghcr.io/miniflux/miniflux (source) minor 2.0.50-distroless -> 2.1.3-distroless

Release Notes

miniflux/v2 (ghcr.io/miniflux/miniflux) ### [`v2.1.3`](https://togithub.com/miniflux/v2/blob/HEAD/ChangeLog#Version-213-April-27-2024) [Compare Source](https://togithub.com/miniflux/v2/compare/2.1.2...2.1.3) - `api`: `rand.Intn(math.MaxInt64)` causes tests to fail on 32-bit architectures (use `rand.Int()` instead) - `ci`: use `docker/metadata-action` instead of deprecated shell-scripts - `database`: remove `entries_feed_url_idx` index because entry URLs can exceeds btree index size limit - `finder`: find feeds from YouTube playlist - `http/response`: add brotli compression support - `integration/matrix`: fix function name in comment - `packaging`: specify container registry explicitly (e.g., Podman does not use `docker.io` by default) - `packaging`: use `make miniflux` instead of duplicating `go build` arguments (this leverages Go's PIE build mode) - `reader/fetcher`: add brotli content encoding support - `reader/processor`: minimize feed entries HTML content - `reader/rewrite`: add a rule for `oglaf.com` - `storage`: change `GetReadTime()` function to use `entries_feed_id_hash_key` index - `ui`: add seek and speed controls to media player - `ui`: add tag entries page - `ui`: fix JavaScript error when clicking on unread counter - `ui`: use `FORCE_REFRESH_INTERVAL` config for category refresh - Bump `github.com/tdewolff/minify/v2` from `2.20.19` to `2.20.20` - Bump `golang.org/x/net` from `0.22.0` to `0.24.0` - Bump `golang.org/x/term` from `0.18.0` to `0.19.0` - Bump `golang.org/x/oauth2` from `0.18.0` to `0.19.0` - Bump `github.com/yuin/goldmark` from `1.7.0` to `1.7.1` ### [`v2.1.2`](https://togithub.com/miniflux/v2/blob/HEAD/ChangeLog#Version-212-March-30-2024) [Compare Source](https://togithub.com/miniflux/v2/compare/2.1.1...2.1.2) - `api`: rewrite API integration tests without build tags - `ci`: add basic ESLinter checks - `ci`: enable go-critic linter and fix various issues detected - `ci`: fix JavaScript linter path in GitHub Actions - `cli`: avoid misleading error message when creating an admin user automatically - `config`: add `FILTER_ENTRY_MAX_AGE_DAYS` option - `config`: bump the number of simultaneous workers - `config`: rename `PROXY_*` options to `MEDIA_PROXY_*` - `config`: use `crypto.GenerateRandomBytes` instead of doing it by hand - `http/request`: refactor conditions to be more idiomatic - `http/response`: remove legacy `X-XSS-Protection` header - `integration/rssbrige`: fix rssbrige import - `integration/shaarli`: factorize the header+payload concatenation as data - `integration/shaarli`: no need to base64-encode then remove the padding when we can simply encode without padding - `integration/shaarli`: the JWT token was declared as using HS256 as algorithm, but was using HS512 - `integration/webhook`: add category title to request body - `locale`: update Turkish translations - `man page`: sort config options in alphabetical order - `mediaproxy`: reduce the internal indentation of `ProxifiedUrl` by inverting some conditions - `mediaproxy`: simplify and refactor the package - `model`: replace` Optional{Int,Int64,Float64} ` with a generic function `OptionalNumber()` - `model`: use struct embedding for `FeedCreationRequestFromSubscriptionDiscovery` to reduce code duplication - `reader/atom`: avoid debug message when the date is empty - `reader/atom`: change `if !a { a = } if !a {a = }` constructs into `if !a { a = ; if !a {a = }}` to reduce the number of comparisons and improve readability - `reader/atom`: Move the population of the feed's entries into a new function, to make BuildFeed easier to understand/separate concerns/implementation details - `reader/atom`: refactor Atom parser to use an adapter - `reader/atom`: use `sort+compact` instead of `compact+sort` to remove duplicates - `reader/atom`: when detecting the format, detect its version as well - `reader/encoding`: inline a one-liner function - `reader/handler`: fix force refresh feature - `reader/json`: refactor JSON Feed parser to use an adapter - `reader/media`: remove a superfluous error-check: `strconv.ParseInt` returns `0` when passed an empty string - `reader/media`: simplify switch-case by moving a common condition above it - `reader/processor`: compile block/keep regex only once per feed - `reader/rdf`: refactor RDF parser to use an adapter - `reader/rewrite`: inline some one-line functions - `reader/rewrite`: simplify `removeClickbait` - `reader/rewrite`: transform a free-standing function into a method - `reader/rewrite`: use a proper constant instead of a magic number in `applyFuncOnTextContent` - `reader/rss`: add support for `` element - `reader/rss`: don't add empty tags to RSS items - `reader/rss`: refactor RSS parser to use a default namespace to avoid some limitations of the Go XML parser - `reader/rss`: refactor RSS Parser to use an adapter - `reader/rss`: remove some duplicated code in RSS parser - `reader`: ensure that enclosure URLs are always absolute - `reader`: move iTunes and GooglePlay XML definitions to their own packages - `reader`: parse podcast categories - `reader`: remove trailing space in `SiteURL` and `FeedURL` - `storage`: do not store empty tags - `storage`: simplify `removeDuplicates()` to use a `sort`+`compact` construct instead of doing it by hand with a hashmap - `storage`: Use plain strings concatenation instead of building an array and then joining it - `timezone`: make sure the tests pass when the timezone database is not installed on the host - `ui/css`: align `min-width` with the other `min-width` values - `ui/css`: fix regression: "Add to Home Screen" button is unreadable - `ui/js`: don't use lambdas to return a function, use directly the function instead - `ui/js`: enable trusted-types - `ui/js`: fix download button loading label - `ui/js`: fix JavaScript error on the login page when the user not authenticated - `ui/js`: inline one-line functions - `ui/js`: inline some `querySelectorAll` calls - `ui/js`: reduce the scope of some variables - `ui/js`: remove a hack for "Chrome 67 and earlier" since it was released in 2018 - `ui/js`: replace `DomHelper.findParent` with `.closest` - `ui/js`: replace `let` with `const` - `ui/js`: simplify `DomHelper.getVisibleElements` by using a `filter` instead of a loop with an index - `ui/js`: use a `Set` instead of an array in a `KeyboardHandler`'s member - `ui/js`: use some ternaries where it makes sense - `ui/static`: make use of `HashFromBytes` everywhere - `ui/static`: set minifier ECMAScript version - `ui`: add keyboard shortcuts for scrolling to top/bottom of the item list - `ui`: add media player control playback speed - `ui`: remove unused variables and improve JSON decoding in `saveEnclosureProgression()` - `validator`: display an error message on edit feed page when the feed URL is not unique - Bump `github.com/coreos/go-oidc/v3` from `3.9.0` to `3.10.0` - Bump `github.com/go-webauthn/webauthn` from `0.10.1` to `0.10.2` - Bump `github.com/tdewolff/minify/v2` from `2.20.18` to `2.20.19` - Bump `google.golang.org/protobuf` from `1.32.0` to `1.33.0` ### [`v2.1.1`](https://togithub.com/miniflux/v2/blob/HEAD/ChangeLog#Version-211-March-10-2024) [Compare Source](https://togithub.com/miniflux/v2/compare/2.1.0...2.1.1) - Move search form to a dedicated page - Add Readeck integration - Add feed option to disable HTTP/2 to avoid fingerprinting - Add `Enter` key as a hotkey to open selected item - Proxify `video` element `poster` attribute - Add a couple of new possible locations for feeds - Hugo likes to generate `index.xml` - `feed.atom` and `feed.rss` are used by enterprise-scale/old-school gigantic CMS - Fix categories import from Thunderbird's OPML - Fix logo misalignment when using languages that are more verbose than English - Google Reader: Do not return a 500 error when no items is returned - Handle RDF feeds with duplicated `` elements - Sort integrations alphabetically - Add more URL validation in media proxy - Add unit test to ensure each translation has the correct number of plurals - Add missing plurals for some languages - Makefile: quiet `git describe` and `rev-parse` stderr: When building from a tarball instead of a cloned git repo, there would be two `fatal: not a git repository` errors emitted even though the build succeeds. This is because of how `VERSION` and `COMMIT` are set in the Makefile. This PR suppresses the stderr for these variable assignments. - Makefile: do not force `CGO_ENABLED=0` for `miniflux` target - Add GitHub Action pipeline to build packages on-demand - Remove Golint (deprecated), use `staticcheck` and `golangci-lint` instead - Build amd64/arm64 Debian packages with CGO disabled - Update `go.mod` and add `.exe` suffix to Windows binary - Add a couple of fuzzers - Fix CodeQL workflow - Code and performance improvements: - Use an `io.ReadSeeker` instead of an `io.Reader` to parse feeds - Speed up the sanitizer: - Allow Youtube URLs to start with `www` - Use `strings.Builder` instead of a `bytes.Buffer` - Use a `strings.NewReader` instead of a `bytes.NewBufferString` - Sprinkles a couple of `continue` to make the code-flow more obvious - Inline calls to `inList`, and put their parameters in the right order - Simplify `isPixelTracker` - Simplify `isValidIframeSource`, by extracting the hostname and comparing it directly, instead of using the full url and checking if it starts with multiple variations of the same one (`//`, `http:`, `https://` multiplied by `/www.`) - Add a benchmark - Instead of having to allocate a ~100 keys map containing possibly dynamic values (at least to the go compiler), allocate it once in a global variable. This significantly speeds things up, by reducing the garbage - Use constant time access for maps instead of iterating on them - Build a ~large whitelist map inline instead of constructing it item by item (and remove a duplicate key/value pair) - Use `slices` instead of hand-rolled loops collector/allocator involvements. - Reuse a `Reader` instead of copying to a buffer when parsing an Atom feed - Preallocate memory when exporting to OPML: This should marginally increase performance when exporting a large amount of feeds to OPML - Delay call of `view.New` after logging the user in: There is no need to do extra work like creating a session and its associated view until the user has been properly identified and as many possibly-failing sql request have been successfully run - Use constant-time comparison for anti-csrf tokens: This is probably completely overkill, but since anti-csrf tokens are secrets, they should be compared against untrusted inputs in constant time - Simplify and optimize `genericProxyRewriter` - Reduce the amount of nested loops: it's preferable to search the whole page once and filter on it (even with filters that should always be false), than searching it again for every element we're looking for. - Factorize the proxying conditions into a `shouldProxy` function to reduce the copy-pasta. - Speed up `removeUnlikelyCandidates`: `.Not` returns a brand new `Selection`, copied element by element - Improve `EstimateReadingTime`'s speed by a factor 7 - Refactorise the tests and add some - Use 250 signs instead of the whole text - Only check for Korean, Chinese and Japanese script - Add a benchmark - Use a more idiomatic control flow - Don't compute reading-time when unused: If the user doesn't display reading times, there is no need to compute them. This should speed things up a bit, since `whatlanggo.Detect` is abysmally slow. - Simplify `username` generation for the integration tests: No need to generate random numbers 10 times, generate a single big-enough one. A single int64 should be more than enough - Add missing regex anchor detected by CodeQL - Don't mix up slices capacity and length - Use prepared statements for intervals, `ArchiveEntries` and `updateEnclosures` - Use modern for-loops introduced with Go 1.22 - Remove a superfluous condition: No need to check if the length of `line` is positive since we're checking afterwards that it contains the `=` sign - Close resources as soon as possible, instead of using `defer()` in a loop - Remove superfluous escaping in a regex - Use `strings.ReplaceAll` instead of `strings.Replace(…, -1)` - Use `strings.EqualFold` instead of `strings.ToLower(…) ==` - Use `.WriteString(` instead of `.Write([]byte(…` - Use `%q` instead of `"%s"` - Make `internal/worker/worker.go` read-only - Use a switch-case construct in `internal/locale/plural.go` instead of an avalanche of `if` - Template functions: simplify `formatFileSize` and `duration` implementation - Inline some templating functions - Make use of `printer.Print` when possible - Add a `printer.Print` to `internal/locale/printer.go`: No need to use variadic functions with string format interpolation to generate static strings - Minor code simplification in `internal/ui/view/view.go`: No need to create the map item by item when we can create it in one go - Build the map inline in `CountAllFeeds()`: No need to build an empty map to then add more fields in it one by one - Miscellaneous improvements to `internal/reader/subscription/finder.go`: - Surface `localizedError` in `FindSubscriptionsFromWellKnownURLs` via `slog` - Use an inline declaration for new subscriptions, like done elsewhere in the file, if only for consistency's sake - Preallocate the `subscriptions` slice when using an RSS-bridge, - Use an update-where for `MarkCategoryAsRead` instead of a subquery - Simplify `CleanOldUserSessions`' query: No need for a subquery, filtering on `created_at` directly is enough - Simplify `cleanupEntries`' query - `NOT (hash=ANY(%4))` can be expressed as `hash NOT IN $4` - There is no need for a subquery operating on the same table, moving the conditions out is equivalent. - Reformat `ArchiveEntries`'s query for consistency's sake and replace the `=ANY` with an `IN` - Reformat the query in `GetEntryIDs` and `GetReadTime`'s query for consistency's sake - Simplify `WeeklyFeedEntryCount`: No need for a `BETWEEN`: we want to filter on entries published in the last week, no need to express is as "entries published between now and last week", "entries published after last week" is enough - Add some tests for `add_image_title` - Remove `github.com/google/uuid` dependencies: Replace it with a hand-rolled implementation. Heck, an UUID isn't even a requirement according to Omnivore API docs - Simplify `internal/reader/icon/finder.go`: - Use a simple regex to parse data uri instead of a hand-rolled parser, and document what fields are considered mandatory. - Use case-insensitive matching to find (fav)icons, instead of doing the same query twice with different letter cases - Add `apple-touch-icon-precomposed.png` as a fallback `favicon` - Reorder the queries to have `icon` first, since it seems to be the most popular one. It used to be last, meaning that pages had to be parsed completely 4 times, instead of one now. - Minor factorisation in `findIconURLsFromHTMLDocument` - Small refactoring of `internal/reader/date/parser.go`: - Split dates formats into those that require local times and those who don't, so that there is no need to have a switch-case in the for loop with around 250 iterations at most. - Be more strict when it comes to timezones, previously invalid ones like -13 were accepted. Also add a test for this. - Bail out early if the date is an empty string. - Make use of Go ≥ 1.21 slices package instead of hand-rolled loops - Reorder the fields of the `Entry` struct to save some memory - Dependencies update: - Bump `golang.org/x/oauth2` from `0.17.0` to `0.18.0` - Bump `github.com/prometheus/client_golang` from `1.18.0` to `1.19.0` - Bump `github.com/tdewolff/minify/v2` from `2.20.16` to `2.20.18` - Bump `github.com/PuerkitoBio/goquery` from `1.8.1` to `1.9.1` - Bump `golang.org/x/crypto` from `0.19.0` to `0.20.0` - Bump `github.com/go-jose/go-jose/v3` from `3.0.1` to `3.0.3` ### [`v2.1.0`](https://togithub.com/miniflux/v2/blob/HEAD/ChangeLog#Version-210-February-17-2024) [Compare Source](https://togithub.com/miniflux/v2/compare/2.0.51...2.1.0) - Add Linkwarden integration - Add LinkAce integration - Add `FORCE_REFRESH_INTERVAL` config option - Add `item-meta-info-reading-time` CSS class - Add `add_dynamic_iframe` rewrite function - Add attribute `data-original-mos` to `add_dynamic_image` rewrite candidates - Update entry processor to allow blocking/keeping entries by tags and/or authors - Change default `Accept` header when fetching feeds - Rewrite relative RSS Bridge URL to absolute URL - Use numeric user ID in Alpine and distroless container image (avoid `securityContext` error in Kubernetes) - Always try to use HTTP/2 when fetching feeds if available - Add `type` attribute in OPML export as per OPML 2.0 specs - Fix missing translation argument for the key `error.unable_to_parse_feed` - Fix Debian package builder when using Go 1.22 and `armhf` architecture - Fix typo in log message - Fix incorrect label shown when saving an article - Fix incorrect condition in refresh feeds cli - Fix incorrect label `for` attribute - Add missing label ID for custom CSS field - Accessibility improvements: - Add workaround for macOS VoiceOver that didn't announce `details` and `summary` when expanded - Add `alert` role to alert message element - Add a `h2` heading to the article element so that the screen reader users can navigate the article through the heading level - Add an `aria-label` attribute for the article element for screen readers - Remove the icon image `alt` attribute in feeds list to prevent screen reader to announce it before entry title - Add `sr-only` CSS class for screen reader users (provides more context) - Differentiate between buttons and links - Change links that could perform actions to buttons - Improve translation of hidden Aria elements - Remove the redundant article role - Add a search landmark for the search form so that the screen reader users can navigate to it - Add skip to content link - Add `nav` landmark to page header links - Limit feed/category entry pagination to unread entries when coming from unread entry list - Update German translation - Update GitHub Actions to Go 1.22 - Bump `golang.org/x/term` from `0.16.0` to `0.17.0` - Bump `github.com/google/uuid` from `1.5.0` to `1.6.0` - Bump `github.com/yuin/goldmark` from `1.6.0` to `1.7.0` - Bump `golang.org/x/oauth2` from `0.15.0` to `0.17.0` - Bump `github.com/tdewolff/minify/v2` from `2.20.10` to `2.20.12` - Bump `golang.org/x/term` from `0.15.0` to `0.16.0` - Bump `github.com/prometheus/client_golang` from `1.17.0` to `1.18.0` - Bump `github.com/tdewolff/minify/v2` from `2.20.9` to `2.20.16` - Bump `golang.org/x/crypto` from `0.16.0` to `0.19.0` - Bump `github.com/go-webauthn/webauthn` from `0.9.4` to` 0.10.1 ` - Bump `golang.org/x/net` from `0.20.0` to `0.21.0` ### [`v2.0.51`](https://togithub.com/miniflux/v2/blob/HEAD/ChangeLog#Version-2051-December-13-2023) [Compare Source](https://togithub.com/miniflux/v2/compare/2.0.50...2.0.51) - Add Omnivore integration - Fixes for the regressions introduced in version 2.0.50: - Ensure all HTML documents are encoded in UTF-8 - Send default User-Agent and HTTP caching headers when making HTTP requests - Allow Youtube links to be opened outside the `iframe` (avoid `ERR_BLOCKED_BY_RESPONSE` error) - Fix inaccessible metrics endpoint when listening on Unix socket - Allow renaming and moving feed at the same time in the Google Reader API - Log `nb_jobs` only when number of jobs is larger than 0 in background scheduler - Deduplicate feed URLs when parsing HTML document during discovery process - Calculate a virtual weekly count based on the average updating frequency (`POLLING_SCHEDULER=entry_frequency`) - Update GitHub Actions workflow to be able to run the linter and tests on-demand - Add `SCHEDULER_ROUND_ROBIN_MIN_INTERVAL` config option - Add links to GitHub for the commit hash and the version in the about page - Use "starred" rather than "bookmarked" in English translation - Update Chinese (CN & TW) translation - Bump `github.com/google/uuid` from `1.4.0` to `1.5.0` - Bump `github.com/coreos/go-oidc/v3` from `3.7.0` to `3.9.0` - Bump `github.com/tdewolff/minify/v2` from `2.20.6` to `2.20.9` - Bump `github.com/go-webauthn/webauthn` from `0.8.6` to `0.9.4` - Bump `golang.org/x/oauth2` from `0.14.0` to `0.15.0` </details> <hr /> <h3>Configuration</h3> <p>📅 <strong>Schedule</strong>: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).</p> <p>🚦 <strong>Automerge</strong>: Disabled by config. Please merge this manually once you are satisfied.</p> <p>♻ <strong>Rebasing</strong>: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.</p> <p>🔕 <strong>Ignore</strong>: Close this PR and you won't be reminded about this update again.</p> <hr /> <ul> <li>[ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box</li> </ul> <hr /> <p>This PR has been generated by <a rel="noreferrer nofollow" target="_blank" href="https://togithub.com/renovatebot/renovate">Renovate Bot</a>.</p> <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MTQuMSIsInVwZGF0ZWRJblZlciI6IjM3LjQxNC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL21pbm9yIl19--> </div> </div> <div class="comment"> <div class="user"> <a rel="noreferrer nofollow" target="_blank" href="https://github.com/bot-ross[bot]"><img src="https://avatars.githubusercontent.com/in/165748?v=4" />bot-ross[bot]</a> commented <strong> 3 months ago</strong> </div> <div class="markdown-body"> <!-- add-pr-comment:7813/kubernetes/main/kustomization --> <pre><code class="language-diff">--- kubernetes/main/apps/default/miniflux/app Kustomization: flux-system/miniflux HelmRelease: default/miniflux +++ kubernetes/main/apps/default/miniflux/app Kustomization: flux-system/miniflux HelmRelease: default/miniflux @@ -45,13 +45,13 @@ RUN_MIGRATIONS: '1' envFrom: - secretRef: name: miniflux-secret image: repository: ghcr.io/miniflux/miniflux - tag: 2.0.50-distroless@sha256:625f6decf8740020fabec273e0f694f218a50281e251e13514ac2be4d9147ca8 + tag: 2.1.3-distroless@sha256:64037785614ddcc06676b71d1e451b4100ca4f9e15a72b75a695a42af7bad094 probes: liveness: custom: true enabled: true spec: failureThreshold: 3</code></pre> </div> </div> <div class="comment"> <div class="user"> <a rel="noreferrer nofollow" target="_blank" href="https://github.com/bot-ross[bot]"><img src="https://avatars.githubusercontent.com/in/165748?v=4" />bot-ross[bot]</a> commented <strong> 3 months ago</strong> </div> <div class="markdown-body"> <!-- add-pr-comment:7813/kubernetes/main/helmrelease --> <pre><code class="language-diff">--- HelmRelease: default/miniflux Deployment: default/miniflux +++ HelmRelease: default/miniflux Deployment: default/miniflux @@ -66,13 +66,13 @@ value: '80' - name: RUN_MIGRATIONS value: '1' envFrom: - secretRef: name: miniflux-secret - image: ghcr.io/miniflux/miniflux:2.0.50-distroless@sha256:625f6decf8740020fabec273e0f694f218a50281e251e13514ac2be4d9147ca8 + image: ghcr.io/miniflux/miniflux:2.1.3-distroless@sha256:64037785614ddcc06676b71d1e451b4100ca4f9e15a72b75a695a42af7bad094 livenessProbe: failureThreshold: 3 httpGet: path: /healthcheck port: 80 initialDelaySeconds: 0</code></pre> </div> </div> <div class="page-bar-simple"> </div> <div class="footer"> <ul class="body"> <li>© <script> document.write(new Date().getFullYear()) </script> Githubissues.</li> <li>Githubissues is a development platform for aggregating issues.</li> </ul> </div> <script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js"></script> <script src="/githubissues/assets/js.js"></script> <script src="/githubissues/assets/markdown.js"></script> <script src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/highlight.min.js"></script> <script src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/languages/go.min.js"></script> <script> hljs.highlightAll(); </script> </body> </html>