fix(audible): use expected URL patterns for product links - #2390
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
🔗 Linked repositories identifiedCodeRabbit considers these linked repositories for cross-repo context during reviews:
Included review availability: Your plan includes up to 8 reviews per rolling hour; 7 remain after this review. 📜 Recent review details⏰ Context from checks skipped due to timeout. (5)
🧰 Additional context used📓 Path-based instructions (4)**/*⚙️ CodeRabbit configuration file
Files:
**/service/**/*.java⚙️ CodeRabbit configuration file
Files:
**/metadata/**/*.java⚙️ CodeRabbit configuration file
Files:
**/*Test.java⚙️ CodeRabbit configuration file
Files:
🧠 Learnings (13)📚 Learning: 2026-04-10T08:15:37.436ZApplied to files:
📚 Learning: 2026-04-14T12:43:08.698ZApplied to files:
📚 Learning: 2026-05-07T21:21:55.233ZApplied to files:
📚 Learning: 2026-05-08T06:19:20.621ZApplied to files:
📚 Learning: 2026-05-04T20:31:11.075ZApplied to files:
📚 Learning: 2026-05-13T12:34:49.607ZApplied to files:
📚 Learning: 2026-05-17T13:38:16.462ZApplied to files:
📚 Learning: 2026-05-23T23:01:25.769ZApplied to files:
📚 Learning: 2026-06-12T01:10:31.416ZApplied to files:
📚 Learning: 2026-05-07T21:37:46.988ZApplied to files:
📚 Learning: 2026-04-27T15:25:55.042ZApplied to files:
📚 Learning: 2026-05-22T03:20:45.559ZApplied to files:
📚 Learning: 2026-05-04T05:01:33.919ZApplied to files:
🔀 Multi-repo context grimmory-tools/grimmory-docsLinked repositories findingsgrimmory-tools/grimmory-docs
🔇 Additional comments (1)
WalkthroughAudible product URLs now use the ChangesAudible URL update
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: 🟡 Moderate · up to The PR currently generates Audible product links with the wrong path, which can send users to incorrect product URLs. Merge is not ready until the implementation and related assertions use /ac/{asin}; the issue is localized and straightforward to correct. Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
1c4e50b to
7137d54
Compare
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| docker.io/library/redis | patch | `8.10.0` → `8.10.1` |
| [ghcr.io/fccview/jotty](https://github.com/fccview/jotty) | minor | `1.26.1` → `1.27.0` |
| [ghcr.io/grimmory-tools/grimmory](https://github.com/grimmory-tools/grimmory) | patch | `v3.3.1` → `v3.3.3` |
| [ghcr.io/linkwarden/linkwarden](https://github.com/linkwarden/linkwarden) | patch | `v2.16.0` → `v2.16.2` |
| [grafana/alloy](https://github.com/grafana/alloy) | minor | `v1.18.1` → `v1.19.2` |
| [grafana/grafana](https://github.com/grafana/grafana) | minor | `13.1.3` → `13.2.1` |
| [victoriametrics/victoria-metrics](https://github.com/VictoriaMetrics/VictoriaMetrics) | minor | `v1.149.0-scratch` → `v1.151.0-scratch` |
---
### Release Notes
<details>
<summary>fccview/jotty (ghcr.io/fccview/jotty)</summary>
### [`v1.27.0`](https://github.com/fccview/jotty/releases/tag/1.27.0): Stable 1.27.0
[Compare Source](https://github.com/fccview/jotty/compare/1.26.1...1.27.0)
<p align="center">
<a href="https://discord.gg/invite/mMuk2WzVZu">
<img width="40" src="https://skills.syvixor.com/api/icons?i=discord">
</a>
<a href="https://www.reddit.com/r/jotty">
<img width="40" src="https://skills.syvixor.com/api/icons?i=reddit">
</a>
<a href="https://t.me/jottypage">
<img width="40" src="https://skills.syvixor.com/api/icons?i=telegram">
</a>
<br />
<br />
<i>Join our communities</i>
<br />
</p>
***
### Changelog
Fairly minor release but huge amount of hardening and security updates.
If you saw this already pretend you saw nothing, just github being github.
I'll always be forward, with this release you'll notice the codebase having a few AI related files, I want to be very clear, my approach to coding and to all my software has not changed, that said I keep getting PR that have been heavily been assisted by AI and I'd rather them actually following the right standards and ethos of the project, so I have tried my best to spend a chunk of my time to set things up properly with the right guidelines and standards. This is very battle tested and a very similar approach we take at work, so it should very much improve code quality overall. Always happy to discuss in either the discussions tab or discord (linked above).
Also let me officially welcome [@​dawiddyd](https://github.com/dawiddyd) as a core contributor ❤️
He has been a member of the community since Jotty was rwMarkable and has always helped out, he's now decided he's happy to step up and help me maintain Jotty officially and I am ever so grateful <3
**features**
- Add TipTap editor to kanban item description - Thank you [@​dawiddyd](https://github.com/dawiddyd)
- Add ability to resize kanban columns on client via quick settings - Thank you [@​dawiddyd](https://github.com/dawiddyd)
- Implement modal enlargement state management with local storage - Thank you [@​dawiddyd](https://github.com/dawiddyd)
- Add comments functionality to Kanban cards - Thank you [@​dawiddyd](https://github.com/dawiddyd)
- Completed items filtered out from unscheduled items [#​588](https://github.com/fccview/jotty/issues/588) - Thank you [@​tiagojsrios](https://github.com/tiagojsrios)
**bugfixes**
- Fix shared issues on bsd/macos by adjusting system sed command [#​583](https://github.com/fccview/jotty/issues/583) - Thank you [@​dawiddyd](https://github.com/dawiddyd)
- Make active nav button highlight instantly on click - Thank you [@​dawiddyd](https://github.com/dawiddyd)
- Editing a note removes the shared users [#​601](https://github.com/fccview/jotty/issues/601) - Thank you [@​dawiddyd](https://github.com/dawiddyd)
- Moving a note shared with you when not having delete permission would duplicate it in your folder instead of refusing
- Added lock to session json file (can't believe this was not a thing)
**security**
- I am gonna be a transparent as always, there has been a CVE report and we have done a huge round of hardening on top of fixing the cve of course. I'll release two weeks after release so to allow anyone to pull the latest image ❤️
</details>
<details>
<summary>grimmory-tools/grimmory (ghcr.io/grimmory-tools/grimmory)</summary>
### [`v3.3.3`](https://github.com/grimmory-tools/grimmory/releases/tag/v3.3.3)
[Compare Source](https://github.com/grimmory-tools/grimmory/compare/v3.3.2...v3.3.3)
This patch release of Grimmory contains bug fixes for OIDC and introduces the environment variable
`OIDC_ALLOW_UNSAFE_HOSTS`.
> \[!TIP]
> If you have a local identity provider that Grimmory is trying to use for OIDC, you will
> need to enable the `OIDC_ALLOW_UNSAFE_HOSTS` environment variable flag.
#### Changelog
**Full Changelog**: <https://github.com/grimmory-tools/grimmory/compare/v3.3.2...v3.3.3>
##### Bug Fixes
- **api:** use `FORCE_DISABLE_OIDC` on all public / private OIDC flags ([#​2343](https://github.com/grimmory-tools/grimmory/issues/2343)) ([`662b327`](https://github.com/grimmory-tools/grimmory/commit/662b327d1f51c131c6dfbc415403ff918aa7861e))
- **oidc:** allow disable of SSRF filtering for OIDC config ([#​2413](https://github.com/grimmory-tools/grimmory/issues/2413)) ([`1682a98`](https://github.com/grimmory-tools/grimmory/commit/1682a98d5c167af43e3973cc6159fe99c7f975d9))
- **ui:** use signals in OIDC test connection ([#​2417](https://github.com/grimmory-tools/grimmory/issues/2417)) ([`4ae1d0b`](https://github.com/grimmory-tools/grimmory/commit/4ae1d0bb438bdd0cbd1312e1f38805d2d7ad6511))
##### Refactors
- **oidc:** use similar rest client config across OIDC ([#​2411](https://github.com/grimmory-tools/grimmory/issues/2411)) ([`2be679a`](https://github.com/grimmory-tools/grimmory/commit/2be679a3ab9e0a1e03a75ef2bfdc2b60c0e65cf1))
##### Internationalization
- update language for external API settings ([#​2341](https://github.com/grimmory-tools/grimmory/issues/2341)) ([`7e7faee`](https://github.com/grimmory-tools/grimmory/commit/7e7faeebb8d952d822102e07a671fcd07566207e))
##### Dependencies
- bump the gradle-dependencies group in /backend with 2 updates ([#​2418](https://github.com/grimmory-tools/grimmory/issues/2418)) ([`1634047`](https://github.com/grimmory-tools/grimmory/commit/16340473e5009a59f03dd7b51916d1a81d03d56c))
### [`v3.3.2`](https://github.com/grimmory-tools/grimmory/releases/tag/v3.3.2)
[Compare Source](https://github.com/grimmory-tools/grimmory/compare/v3.3.1...v3.3.2)
This patch release of Grimmory contains many bug fixes - including one security related bug fix.
The security fix ([#​2357](https://github.com/grimmory-tools/grimmory/issues/2357)) improves our mitigations against [SSRF attacks](https://owasp.org/www-community/attacks/Server_Side_Request_Forgery) via more complete filters on outbound requests - reported in <https://github.com/grimmory-tools/grimmory/security/advisories/GHSA-8gxf-wjv6-jhjj> by [@​tonghuaroot](https://github.com/tonghuaroot).
#### Changelog
**Full Changelog**: <https://github.com/grimmory-tools/grimmory/compare/v3.3.1...v3.3.2>
#### Bug Fixes
- **api:** add refresh token nbf to prevent immediate usage ([#​2245](https://github.com/grimmory-tools/grimmory/issues/2245)) ([`c7d147c`](https://github.com/grimmory-tools/grimmory/commit/c7d147c8ed23c5a976c8a2291c199b84cb3ab1d1))
- **api:** apply timeout to all restclient instances ([#​2321](https://github.com/grimmory-tools/grimmory/issues/2321)) ([`ef041dd`](https://github.com/grimmory-tools/grimmory/commit/ef041dd4934206b61f8f2e40ff64c479e1af2af9))
- **api:** book files cannot be left in a detached state ([#​2389](https://github.com/grimmory-tools/grimmory/issues/2389)) ([`eb5d390`](https://github.com/grimmory-tools/grimmory/commit/eb5d3905e022c2a968dd7181088a284b32a69c69))
- **api:** emit correct `Content-Type` for covers ([#​2285](https://github.com/grimmory-tools/grimmory/issues/2285)) ([`dfa81e3`](https://github.com/grimmory-tools/grimmory/commit/dfa81e303006e0fe8d35ea92baae8909946a926d))
- **api:** prevent NPE with default value in `MetadataUpdateWrapper` ([#​2337](https://github.com/grimmory-tools/grimmory/issues/2337)) ([`41fa0c1`](https://github.com/grimmory-tools/grimmory/commit/41fa0c107ad69983d24001b1e0abd8dc6f4a80da))
- **api:** stricter SSRF protections ([#​2357](https://github.com/grimmory-tools/grimmory/issues/2357)) ([`31b574d`](https://github.com/grimmory-tools/grimmory/commit/31b574d3a7a7aa0ceda1b540325addbc867b37ca))
- **api:** use `ApiException` instead of `EntityNotFoundExcepion` ([#​2302](https://github.com/grimmory-tools/grimmory/issues/2302)) ([`e88de1a`](https://github.com/grimmory-tools/grimmory/commit/e88de1a495be98ac70543c80d52b62fc3be70a6c))
- **api:** use `Set` for `BookEntity.bookFiles` to mitigate duplicates ([#​2297](https://github.com/grimmory-tools/grimmory/issues/2297)) ([`f85ae0d`](https://github.com/grimmory-tools/grimmory/commit/f85ae0d2ec727a5e317e917c4b76c5c9ba12d380))
- **api:** wrap recalc match score in transaction to allow lazy load ([#​2332](https://github.com/grimmory-tools/grimmory/issues/2332)) ([`dbd9106`](https://github.com/grimmory-tools/grimmory/commit/dbd91065f6cc4e26cad0d5194a41607d7e01f34e))
- **archive:** ignore directories when streaming entries from zip ([#​2327](https://github.com/grimmory-tools/grimmory/issues/2327)) ([`b24e104`](https://github.com/grimmory-tools/grimmory/commit/b24e104681ea44b6dc62305415029d96361696b6))
- **audible:** emit external Audible URL with region domain ([#​2329](https://github.com/grimmory-tools/grimmory/issues/2329)) ([`8fa769b`](https://github.com/grimmory-tools/grimmory/commit/8fa769bfd59c9b297b4fd09cb730180e269edd6d))
- **audible:** use expected URL patterns for product links ([#​2390](https://github.com/grimmory-tools/grimmory/issues/2390)) ([`ddb9d3c`](https://github.com/grimmory-tools/grimmory/commit/ddb9d3cfcb92f3f8e45e13e01d4bcc566058c343))
- **books:** prevent duplicate book file entries ([#​2289](https://github.com/grimmory-tools/grimmory/issues/2289)) ([`c3b4593`](https://github.com/grimmory-tools/grimmory/commit/c3b459318519ddd94f848e87cd49ad97d6520dc4))
- **hardcover:** use injected restclient with expected timeouts ([#​2320](https://github.com/grimmory-tools/grimmory/issues/2320)) ([`9d15192`](https://github.com/grimmory-tools/grimmory/commit/9d15192c185fda64da5128c3947bb8295b40b211))
- **ui:** refresh duplicate merger after deleting books ([#​2284](https://github.com/grimmory-tools/grimmory/issues/2284)) ([`97226de`](https://github.com/grimmory-tools/grimmory/commit/97226de24ea3ce81a4d2ae3725aa12c2080e3adb))
- **ui:** use signals to make ISBN import reactive ([#​2324](https://github.com/grimmory-tools/grimmory/issues/2324)) ([`42378ec`](https://github.com/grimmory-tools/grimmory/commit/42378ec8c96c7c231748cdd1a36ffccfcb9c7f8a))
#### Refactors
- **amazon:** use predefined domains ([#​2367](https://github.com/grimmory-tools/grimmory/issues/2367)) ([`2a8d8ea`](https://github.com/grimmory-tools/grimmory/commit/2a8d8eae1402875eb452edec95eb92d4df2e1e9f))
- **ui:** app-menu positioning and styling refinements ([#​2308](https://github.com/grimmory-tools/grimmory/issues/2308)) ([`f617650`](https://github.com/grimmory-tools/grimmory/commit/f617650e03c31242c8e505028cbb358c9bbeb33a))
- **ui:** create metadata search provider anchor in template ([#​2317](https://github.com/grimmory-tools/grimmory/issues/2317)) ([`536f6af`](https://github.com/grimmory-tools/grimmory/commit/536f6af142f8f56b06b45a6bd4f15e10f3dbb207))
#### Chores
- **epub:** avoid EpubContainer in EpubMetadataExtractor ([#​2128](https://github.com/grimmory-tools/grimmory/issues/2128)) ([`f9d39d2`](https://github.com/grimmory-tools/grimmory/commit/f9d39d2cc1525bcd4befc11ac178a9c73972ba97))
- **epub:** avoid EpubContainer in EpubMetadataWriter ([#​2162](https://github.com/grimmory-tools/grimmory/issues/2162)) ([`4f249a6`](https://github.com/grimmory-tools/grimmory/commit/4f249a63e44dc77eb6a2b319b8898250043b874b))
- **epub:** drop unused EpubMetadataExtractor methods ([#​2312](https://github.com/grimmory-tools/grimmory/issues/2312)) ([`df1e1aa`](https://github.com/grimmory-tools/grimmory/commit/df1e1aa32b3327a73bd9411fba226ebf4c7002c0))
- **epub:** move cover detector back into Grimmory ([#​2108](https://github.com/grimmory-tools/grimmory/issues/2108)) ([`c6cbff1`](https://github.com/grimmory-tools/grimmory/commit/c6cbff14cdd724cb12b23bd58dcb8b07b300fd67))
- **epub:** use expected imports for epubreader ([#​2287](https://github.com/grimmory-tools/grimmory/issues/2287)) ([`660e95c`](https://github.com/grimmory-tools/grimmory/commit/660e95ccef93f51263451aaabde255c4dfce488a))
- **koreader:** move CFI operations back into grimmory ([#​2107](https://github.com/grimmory-tools/grimmory/issues/2107)) ([`124d463`](https://github.com/grimmory-tools/grimmory/commit/124d4639ed9c51ce3d9eb11ddb4901094a41e3fd))
##### Dependencies
- bump the frontend group with 17 updates ([#​2360](https://github.com/grimmory-tools/grimmory/issues/2360)) ([`e20c5a3`](https://github.com/grimmory-tools/grimmory/commit/e20c5a394808c93f8f8767c59c3506a9b3bc146b))
- bump the gradle-dependencies group in /backend with 3 updates ([#​2359](https://github.com/grimmory-tools/grimmory/issues/2359)) ([`4a9516d`](https://github.com/grimmory-tools/grimmory/commit/4a9516d2ac8c10a46dcf7d29813809c95794778b))
- bump the release-tooling group with 2 updates ([#​2358](https://github.com/grimmory-tools/grimmory/issues/2358)) ([`9e6b133`](https://github.com/grimmory-tools/grimmory/commit/9e6b1338f8fe89cc4c9577f838351e21e4a6d63c))
- drop unused epub4j native ([#​2303](https://github.com/grimmory-tools/grimmory/issues/2303)) ([`589cebe`](https://github.com/grimmory-tools/grimmory/commit/589cebea583d45baef69d9de139fd715b78b68c9))
#### Contributors
We'd like to thank the contributors for this release for taking the time to make Grimmory better.
Including but not limited to: [@​alexhb1](https://github.com/alexhb1) [@​imnotjames](https://github.com/imnotjames) [@​king-407](https://github.com/king-407) [@​leandroltz0](https://github.com/leandroltz0)
</details>
<details>
<summary>linkwarden/linkwarden (ghcr.io/linkwarden/linkwarden)</summary>
### [`v2.16.2`](https://github.com/linkwarden/linkwarden/releases/tag/v2.16.2)
[Compare Source](https://github.com/linkwarden/linkwarden/compare/v2.16.1...v2.16.2)
#### What's Changed
- Case-insensitive sorting in Docker (fixes [#​645](https://github.com/linkwarden/linkwarden/issues/645)).
- Other bugs fixed.
- Bump dependancies.
**Full Changelog**: <https://github.com/linkwarden/linkwarden/compare/v2.16.1...v2.16.2>
### [`v2.16.1`](https://github.com/linkwarden/linkwarden/releases/tag/v2.16.1)
[Compare Source](https://github.com/linkwarden/linkwarden/compare/v2.16.0...v2.16.1)
#### What's Changed
##### Web
- Announcement dismissals are now saved to your account, so they stay dismissed across devices.
- Updated Japanese translations.
- Added support for running the Docker container as a non-root user, read the guide: <https://docs.linkwarden.app/self-hosting/non-root>
- Fixed manual installation on Windows.
- Fixed sign-in issues with Azure AD B2C and improved OIDC account handling.
- Faster Docker builds.
- Bug fixes.
##### Mobile
- Offline support was rebuilt on SQLite for faster and more reliable syncing.
- The app now sends your device name when signing in, so sessions are easier to identify on the web.
- Bug fixes.
P.S. Discord and Reddit are where most issues get resolved, and where we hang out every day. Come join us:
💬 [discord.linkwarden.app](https://discord.linkwarden.app)
🤖 [reddit.com/r/Linkwarden](https://www.reddit.com/r/Linkwarden)
#### New Contributors
- [@​woernsn](https://github.com/woernsn) made their first contribution in [#​1770](https://github.com/linkwarden/linkwarden/pull/1770)
- [@​Chronophylos](https://github.com/Chronophylos) made their first contribution in [#​1771](https://github.com/linkwarden/linkwarden/pull/1771)
**Full Changelog**: <https://github.com/linkwarden/linkwarden/compare/v2.16.0...v2.16.1>
</details>
<details>
<summary>grafana/alloy (grafana/alloy)</summary>
### [`v1.19.2`](https://github.com/grafana/alloy/releases/tag/v1.19.2)
[Compare Source](https://github.com/grafana/alloy/compare/v1.19.1...v1.19.2)
##### Bug Fixes 🐛
- **windows:** Statically link Windows builds to fix missing DLL errors on startup \[backport] ([#​6976](https://github.com/grafana/alloy/issues/6976)) ([761e349](https://github.com/grafana/alloy/commit/761e349886795969eab3631cd2d79767e9ff7b1c)) ([@​blewis12](https://github.com/blewis12))
- Remove withdrawn lib/pq cves from govulncheck ([#​6992](https://github.com/grafana/alloy/issues/6992)) ([1a36057](https://github.com/grafana/alloy/commit/1a3605798be3f3a782314d810b15e35c1e3713f5)) ([@​dehaansa](https://github.com/dehaansa))
#### Upgrading
Read the [release notes] for specific instructions on upgrading from older versions:
[release notes]: https://grafana.com/docs/alloy/v1.19/release-notes/
#### Installation
Refer to our [installation guide] for how to install Grafana Alloy.
[installation guide]: https://grafana.com/docs/alloy/v1.19/get-started/install/
### [`v1.19.1`](https://github.com/grafana/alloy/compare/v1.19.0...v1.19.1)
[Compare Source](https://github.com/grafana/alloy/compare/v1.19.0...v1.19.1)
### [`v1.19.0`](https://github.com/grafana/alloy/releases/tag/v1.19.0)
[Compare Source](https://github.com/grafana/alloy/compare/v1.18.1...v1.19.0)
##### ⚠ BREAKING CHANGES
- **prometheus.operator.servicemonitors:** `prometheus.operator.servicemonitors` now rejects ServiceMonitor endpoints that reference local files through `bearerTokenFile`, `tlsConfig.caFile`, `tlsConfig.certFile`, or `tlsConfig.keyFile` by default. Set `allow_arbitrary_file_access = true` to preserve the previous behavior for trusted ServiceMonitor authors.
- The memory\_limiter processor's internal telemetry metrics were renamed upstream in OpenTelemetry Collector v0.155.0 to carry a memory\_limiter prefix
- Remove the prometheus.write.queue component ([#​6814](https://github.com/grafana/alloy/issues/6814))
##### Features 🌟
- Add ability to exempt lines matching a configured regex pattern from loki.process stage.luhn ([#​6608](https://github.com/grafana/alloy/issues/6608)) ([2e0748d](https://github.com/grafana/alloy/commit/2e0748d3f87e666095dd4969411aa0dcc8b6c14a)) ([@​nathwill](https://github.com/nathwill), [@​thampiotr](https://github.com/thampiotr))
- Add opamp supervisor ([#​6815](https://github.com/grafana/alloy/issues/6815)) ([e891e30](https://github.com/grafana/alloy/commit/e891e30e89ffedf84d43fa7cc30354ed68a5f8ae)) ([@​x1unix](https://github.com/x1unix), [@​jharvey10](https://github.com/jharvey10), [@​blewis12](https://github.com/blewis12))
- Add start\_timestamp\_zero\_ingestion to Prometheus metric components ([#​6610](https://github.com/grafana/alloy/issues/6610)) ([1a9ed95](https://github.com/grafana/alloy/commit/1a9ed956fa34a172b97b0d11c72d2e9232f359f2)) ([@​madaraszg-tulip](https://github.com/madaraszg-tulip))
- **beyla.ebpf:** Run Beyla as a subprocess ([#​6695](https://github.com/grafana/alloy/issues/6695)) ([61ec3d2](https://github.com/grafana/alloy/commit/61ec3d29587322974d76a1cacace9e192eed9825)) ([@​rafaelroquetto](https://github.com/rafaelroquetto))
- Binary Alloy Homebrew Formula ([#​6723](https://github.com/grafana/alloy/issues/6723)) ([024d224](https://github.com/grafana/alloy/commit/024d22432ebcf8214cfd6f832c91d99754cfbc1d)) ([@​x1unix](https://github.com/x1unix))
- Bump otel to v0.158.0 and prometheus to v3.13.2 ([#​6842](https://github.com/grafana/alloy/issues/6842)) ([aef2e8b](https://github.com/grafana/alloy/commit/aef2e8bc54ecde9b6542b632ef6c41bfebb93565)) ([@​blewis12](https://github.com/blewis12), [@​clayton-cornell](https://github.com/clayton-cornell))
- Check imports of inline Alloy config in OTel mode ([#​6677](https://github.com/grafana/alloy/issues/6677)) ([fda0449](https://github.com/grafana/alloy/commit/fda0449505c9d9391f532047d50df23aacaf200a)) ([@​x1unix](https://github.com/x1unix), [@​clayton-cornell](https://github.com/clayton-cornell))
- **database\_observability.mysql:** Add support for clustering mode ([#​6775](https://github.com/grafana/alloy/issues/6775)) ([0cfa960](https://github.com/grafana/alloy/commit/0cfa96016fd4c33d9fa766190a7cd189f4234df0)) ([@​matthewnolf](https://github.com/matthewnolf))
- **database\_observability.postgres:** Add user, pid, and sqlstate fields to op=error\_message ([#​6770](https://github.com/grafana/alloy/issues/6770)) ([73e29dc](https://github.com/grafana/alloy/commit/73e29dc24bf0746b12d7c73df308381b777d1c7a)) ([@​gaantunes](https://github.com/gaantunes))
- **database\_observability.postgres:** Emit op=query\_association\_v2 carrying query\_fingerprint ([#​6297](https://github.com/grafana/alloy/issues/6297)) ([75239d0](https://github.com/grafana/alloy/commit/75239d0108be1a732162c445ba14df5952391cf4)) ([@​gaantunes](https://github.com/gaantunes))
- **database\_observability.sql\_server:** Add `query_details` collector ([#​6788](https://github.com/grafana/alloy/issues/6788)) ([cec31b2](https://github.com/grafana/alloy/commit/cec31b2ad0e59cfdb5f424754e49b1c0c6d6acb1)) ([@​cristiangreco](https://github.com/cristiangreco))
- **database\_observability.sql\_server:** Add `query_metrics` collector ([#​6743](https://github.com/grafana/alloy/issues/6743)) ([35babfd](https://github.com/grafana/alloy/commit/35babfd996c3547cb2d934e4e53b40d02f6f6960)) ([@​cristiangreco](https://github.com/cristiangreco))
- **database\_observability.sql\_server:** Support csp metadata for SQL Server ([#​6689](https://github.com/grafana/alloy/issues/6689)) ([24c7207](https://github.com/grafana/alloy/commit/24c7207eda9e203fc5a7f671efcda25a350945db)) ([@​cristiangreco](https://github.com/cristiangreco), [@​clayton-cornell](https://github.com/clayton-cornell))
- **discovery.azure:** Add "sdk\_auth" and "workload\_identity" auth options ([#​6671](https://github.com/grafana/alloy/issues/6671)) ([9fa8b51](https://github.com/grafana/alloy/commit/9fa8b519925bb5f03cba70ddf42ab87acaa10e9b)) ([@​ptodev](https://github.com/ptodev))
- Expose experimental OTel supervisor ([#​6903](https://github.com/grafana/alloy/issues/6903)) ([936c177](https://github.com/grafana/alloy/commit/936c1773bc041d260b0c51f16f1a0a4f72913de8)) ([@​devzl](https://github.com/devzl))
- Expose new kafka receiver/exporter knobs after upgrade to v0.158.0 ([#​6868](https://github.com/grafana/alloy/issues/6868)) ([88601cb](https://github.com/grafana/alloy/commit/88601cb766f1adcc508c929eb1674e8a6c3b63d5)) ([@​blewis12](https://github.com/blewis12), [@​clayton-cornell](https://github.com/clayton-cornell))
- **loki.process:** Add stage.split\_json to split top-level JSON arrays ([#​6823](https://github.com/grafana/alloy/issues/6823)) ([7bdd3dd](https://github.com/grafana/alloy/commit/7bdd3ddf203267be0261969f204ae070be74e0f7)) ([@​DeeGeeGit](https://github.com/DeeGeeGit), [@​thampiotr](https://github.com/thampiotr))
- **loki.secretfilter:** Promote loki.secretfilter to public preview ([#​6724](https://github.com/grafana/alloy/issues/6724)) ([4053610](https://github.com/grafana/alloy/commit/4053610e700b60334262c186a6ba2f71f7d9e284)) ([@​kleimkuhler](https://github.com/kleimkuhler))
- **otelcol.receiver.prometheus:** Return stable refs ([#​6822](https://github.com/grafana/alloy/issues/6822)) ([4633351](https://github.com/grafana/alloy/commit/4633351c14d5b414161098d29b56aa2a181d8bd9)) ([@​kgeckhart](https://github.com/kgeckhart))
- **otelcol:** Add otelcol.processor.redaction ([#​6647](https://github.com/grafana/alloy/issues/6647)) ([ea35e8a](https://github.com/grafana/alloy/commit/ea35e8a8c3739e28f5b97a96eae7a892d51e57db)) ([@​andreacappadona17](https://github.com/andreacappadona17))
- Part 2 - Expose knobs for OTel v0.158.0 upgrade ([#​6876](https://github.com/grafana/alloy/issues/6876)) ([397acb1](https://github.com/grafana/alloy/commit/397acb1065e22ae0933457376de1d774584c8a7c)) ([@​blewis12](https://github.com/blewis12), [@​clayton-cornell](https://github.com/clayton-cornell))
- Part 3 - Expose knobs for OTel v0.158.0 upgrade - add exposed\_headers to otel http config ([#​6889](https://github.com/grafana/alloy/issues/6889)) ([c42f0c4](https://github.com/grafana/alloy/commit/c42f0c42f8135d4a2b11995e781468bb63236522)) ([@​blewis12](https://github.com/blewis12))
- Part 4 - Expose knobs for Prometheus 3.13.2 & OTel v0.158.0 upgrade ([#​6890](https://github.com/grafana/alloy/issues/6890)) ([8a877bf](https://github.com/grafana/alloy/commit/8a877bf775b3f32723fba8bcfd5ec499c0d24009)) ([@​blewis12](https://github.com/blewis12))
- **prometheus.exporter.mssql:** Add a new `max_connection_lifetime` config attribute ([#​6700](https://github.com/grafana/alloy/issues/6700)) ([5286dd6](https://github.com/grafana/alloy/commit/5286dd655602863c21c7c0a719449b4536732342)) ([@​ptodev](https://github.com/ptodev))
- **prometheus.operator:** Add missing native histogram scrape for parity with scrape ([#​6406](https://github.com/grafana/alloy/issues/6406)) ([368f772](https://github.com/grafana/alloy/commit/368f772684a558547be5b9e3ed61c15bde8c7ac2)) ([@​blamas](https://github.com/blamas))
- **prometheus.operator:** Expose bodySizeLimit and enableCompression ([#​6657](https://github.com/grafana/alloy/issues/6657)) ([8fa09a1](https://github.com/grafana/alloy/commit/8fa09a13895df9bebf83c998551bb25a740efa86)) ([@​kgeckhart](https://github.com/kgeckhart))
- **pyroscope.java:** Add tlab profiling config option for TLAB-based allocation events ([#​6754](https://github.com/grafana/alloy/issues/6754)) ([b955613](https://github.com/grafana/alloy/commit/b955613851ace4e591f7c7170510bab999cdad73)) ([@​github-hamza-bouqal](https://github.com/github-hamza-bouqal))
- **pyroscope.java:** Update async-profiler binaries to v4.5 ([#​6739](https://github.com/grafana/alloy/issues/6739)) ([9b8aa87](https://github.com/grafana/alloy/commit/9b8aa87f5b53735a0f2451f945c80a3d71f8100a)) ([@​korniltsev-grafanista](https://github.com/korniltsev-grafanista))
- **pyroscope.write:** Add retry\_on\_http\_429 endpoint option ([#​6763](https://github.com/grafana/alloy/issues/6763)) ([bcd909d](https://github.com/grafana/alloy/commit/bcd909df4313362bebb94cd4b57cbb5cd866d046)) ([@​Churi12](https://github.com/Churi12))
- **pyroscope:** Support span context propagation from OBI (including Beyla component) ([#​6298](https://github.com/grafana/alloy/issues/6298)) ([24d66d0](https://github.com/grafana/alloy/commit/24d66d0725cbe4706b591f0084e541eaeb672524)) ([@​simonswine](https://github.com/simonswine))
##### Bug Fixes 🐛
- Add nop receiver to OTel Engine ([#​6751](https://github.com/grafana/alloy/issues/6751)) ([8b7703c](https://github.com/grafana/alloy/commit/8b7703c011c4d940aa60daab5fa3405091c35b98)) ([@​blewis12](https://github.com/blewis12))
- **beyla.ebpf:** Remove wrong `native_histograms` config attribute ([#​6086](https://github.com/grafana/alloy/issues/6086)) ([99074ba](https://github.com/grafana/alloy/commit/99074ba0cf6b80e48a0d19b2e3fb305e894bd567)) ([@​fstab](https://github.com/fstab))
- **beyla:** Unix socket name could be too long ([#​6905](https://github.com/grafana/alloy/issues/6905)) ([bb7d902](https://github.com/grafana/alloy/commit/bb7d9023cbc2cb2845d681c94fa51ad2fd7f76c9)) ([@​skl](https://github.com/skl))
- Clashing cross compilation env variables when building/generating alloy ([#​6793](https://github.com/grafana/alloy/issues/6793)) ([0c7af36](https://github.com/grafana/alloy/commit/0c7af3609f1852ffa6ed993070dd823cccc3e196)) ([@​blewis12](https://github.com/blewis12))
- **database\_observability.postgres:** Restore cgo SQL fingerprinting on Windows ([#​6746](https://github.com/grafana/alloy/issues/6746)) ([bc33331](https://github.com/grafana/alloy/commit/bc33331133ec534daa3791071aed90bff5f919f9)) ([@​gaantunes](https://github.com/gaantunes))
- **database\_observability.postgres:** Roll back op=query\_association\_v2, fold fingerprint into op=query\_association ([#​6745](https://github.com/grafana/alloy/issues/6745)) ([40e8f1e](https://github.com/grafana/alloy/commit/40e8f1ec4b217806c3707cf11d3aca100482a2ce)) ([@​gaantunes](https://github.com/gaantunes))
- **database\_observability.postgres:** Use of defer in `explain_plans` collector ([#​6819](https://github.com/grafana/alloy/issues/6819)) ([9935420](https://github.com/grafana/alloy/commit/9935420f4c2ea7d621d83f784026a9be98c5ebba)) ([@​cristiangreco](https://github.com/cristiangreco))
- **dependencies:** Upgrade golang.org/x/text to v0.39.0 ([#​6744](https://github.com/grafana/alloy/issues/6744)) ([105ecf6](https://github.com/grafana/alloy/commit/105ecf69a77ad8d2a1d144e09a7f96ba7f0afedc)) ([@​thampiotr](https://github.com/thampiotr))
- **discovery.relabel:** Use the underlying string of secret target values ([#​6605](https://github.com/grafana/alloy/issues/6605)) ([171aea1](https://github.com/grafana/alloy/commit/171aea15fc42a6c6740c0e4ce4c600ef4d21adf1)) ([@​Churi12](https://github.com/Churi12), [@​kalleep](https://github.com/kalleep))
- **fmt:** Do not write a file if no formatter changes are needed ([#​6871](https://github.com/grafana/alloy/issues/6871)) ([a7696d5](https://github.com/grafana/alloy/commit/a7696d5565a78563a1f36714165ecaed1fa0794a)) ([@​thampiotr](https://github.com/thampiotr))
- Harden the configmap reloader container ([#​6780](https://github.com/grafana/alloy/issues/6780)) ([e49e090](https://github.com/grafana/alloy/commit/e49e090aa1ee2527cd06219f7f6988ce9c5613d7)) ([@​petewall](https://github.com/petewall))
- **loki.process:** Return errors from metric registration instead of panicking ([#​6078](https://github.com/grafana/alloy/issues/6078)) ([a388da5](https://github.com/grafana/alloy/commit/a388da5be3097f65e45d91d14070651570fff00e)) ([@​boinger](https://github.com/boinger))
- **loki.source.docker:** Respect label changes ([#​6818](https://github.com/grafana/alloy/issues/6818)) ([d0525a9](https://github.com/grafana/alloy/commit/d0525a976b7f802977cbc41f2ebd526116b340f8)) ([@​kalleep](https://github.com/kalleep))
- **loki.source.docker:** Restart tailers when config changes ([#​6826](https://github.com/grafana/alloy/issues/6826)) ([eb7f3ef](https://github.com/grafana/alloy/commit/eb7f3efe9be50467c6eada62c545005df87068c1)) ([@​kalleep](https://github.com/kalleep))
- **loki.source.docker:** Stop tailer when container no longer exists ([#​6309](https://github.com/grafana/alloy/issues/6309)) ([44f0377](https://github.com/grafana/alloy/commit/44f0377a2479460c1914599a40151c9bacf58730)) ([@​JanMikes](https://github.com/JanMikes))
- **loki.source.file, loki.source.journal:** Fail loudly on unreadable legacy positions file ([#​6750](https://github.com/grafana/alloy/issues/6750)) ([2425b8a](https://github.com/grafana/alloy/commit/2425b8a456942f919580afc863632793062f2b62)) ([@​allocsys](https://github.com/allocsys))
- **loki.source.windowsevent:** Use octal notation for file permissions ([#​6077](https://github.com/grafana/alloy/issues/6077)) ([789140d](https://github.com/grafana/alloy/commit/789140dfec9c65be1ba041766644a2773a435f06)) ([@​boinger](https://github.com/boinger))
- **mixin:** Fix overlapping panels and inconsistent selector application for loki and OTel Engine ([#​6947](https://github.com/grafana/alloy/issues/6947)) ([66ebea8](https://github.com/grafana/alloy/commit/66ebea856dffb242f921775e9552a133f60dc5c1)) ([@​kgeckhart](https://github.com/kgeckhart))
- **otelcol.exporter.loadbalancing:** Change default Kubernetes resolver timeout to 1m ([#​6702](https://github.com/grafana/alloy/issues/6702)) ([d425ad9](https://github.com/grafana/alloy/commit/d425ad9b1bb7d8eba18d1a0af5761ad33899aefd)) ([@​TylerHelmuth](https://github.com/TylerHelmuth))
- **prometheus.fanout:** Correct series-ref handling on the unmapped fanout path ([#​6821](https://github.com/grafana/alloy/issues/6821)) ([2edaaab](https://github.com/grafana/alloy/commit/2edaaab3eb9aeeb9d6a7fb247e547e6780483718)) ([@​kgeckhart](https://github.com/kgeckhart))
- **prometheus.operator.servicemonitors:** Sync ServiceMonitor permission semantics with upstream ([2eeaa3e](https://github.com/grafana/alloy/commit/2eeaa3e33b85f065833d47ec2beeac2ed2b764a7)) ([@​jharvey10](https://github.com/jharvey10), [@​blewis12](https://github.com/blewis12))
- **prometheus.receive\_http:** Eliminate free-port race in tests ([#​6827](https://github.com/grafana/alloy/issues/6827)) ([37b652c](https://github.com/grafana/alloy/commit/37b652cb87b543025b31b523b376c080d87c9eca)) ([@​kgeckhart](https://github.com/kgeckhart))
- **prometheus:** Reduce metadata pipeline allocation overhead ([#​6698](https://github.com/grafana/alloy/issues/6698)) ([1fef867](https://github.com/grafana/alloy/commit/1fef867c159db775d0758e55b8d2d63e87bc1cff)) ([@​BominRahmani](https://github.com/BominRahmani))
- **security/HIGH/internal/web/ui:** Update npm dependency react-router to v7.18.2 \[SECURITY] ([#​6848](https://github.com/grafana/alloy/issues/6848)) ([d78bd74](https://github.com/grafana/alloy/commit/d78bd742b2a384773dd61aba1bf9d5d925d31b5a))
- **security/UNKNOWN/tools:** Update module golang.org/x/mod to v0.40.0 \[SECURITY] ([#​6888](https://github.com/grafana/alloy/issues/6888)) ([231c259](https://github.com/grafana/alloy/commit/231c259625dee84ecba7ff55334678d11c927902))
- **security/UNKNOWN/:** Update module golang.org/x/mod to v0.40.0 \[SECURITY] ([#​6886](https://github.com/grafana/alloy/issues/6886)) ([6e397ea](https://github.com/grafana/alloy/commit/6e397ea35740ebe57840954415de17f6df12d19a)) ([@​dehaansa](https://github.com/dehaansa))
- **security/UNKNOWN/:** Update module google.golang.org/grpc to v1.82.1 \[SECURITY] ([#​6735](https://github.com/grafana/alloy/issues/6735)) ([bffcf59](https://github.com/grafana/alloy/commit/bffcf59141db5c3b207e8de39617a81e7467a0dc)) ([@​blewis12](https://github.com/blewis12))
- **ui:** Move legends to bottom ([#​6851](https://github.com/grafana/alloy/issues/6851)) ([546c65f](https://github.com/grafana/alloy/commit/546c65fa89fd9829533260018f932e6151751b1f)) ([@​veenoise](https://github.com/veenoise))
- Upgrade go-re2 to v1.12.0 to allow MemoryDenyWriteExecute=true with loki.secretfilter ([#​6737](https://github.com/grafana/alloy/issues/6737)) ([f34140a](https://github.com/grafana/alloy/commit/f34140a1ff712a976ec0b9b2f8bb7219087ea8e7)) ([@​locker95](https://github.com/locker95))
- Use default upstream config for vcenter receiver ([#​6918](https://github.com/grafana/alloy/issues/6918)) ([107a9eb](https://github.com/grafana/alloy/commit/107a9eb3df69d45d310291e8a3a45610d830fb6f)) ([@​blewis12](https://github.com/blewis12))
##### Chores
- Remove the prometheus.write.queue component ([#​6814](https://github.com/grafana/alloy/issues/6814)) ([b168d0e](https://github.com/grafana/alloy/commit/b168d0ec5e5d2db665c5495d01fc6b12f97d2997)) ([@​kgeckhart](https://github.com/kgeckhart))
#### Upgrading
Read the [release notes] for specific instructions on upgrading from older versions:
[release notes]: https://grafana.com/docs/alloy/v1.19/release-notes/
#### Installation
Refer to our [installation guide] for how to install Grafana Alloy.
[installation guide]: https://grafana.com/docs/alloy/v1.19/get-started/install/
</details>
<details>
<summary>grafana/grafana (grafana/grafana)</summary>
### [`v13.2.1`](https://github.com/grafana/grafana/blob/HEAD/CHANGELOG.md#1321-2026-09-02)
[Compare Source](https://github.com/grafana/grafana/compare/v13.2.0...v13.2.1)
##### Security
- Security: Fix CVE-2026-12704
- Security: Fix CVE-2026-14199
##### Bug fixes
- **Dashboards:** Fix adhoc and groupby variable datasource on UI import [#​131819](https://github.com/grafana/grafana/pull/131819), [@​grafana-writer\[bot\]](https://github.com/grafana-writer\[bot])
- **Packaging:** Fix issue with bundled plugins not being moved properly [#​131037](https://github.com/grafana/grafana/pull/131037), [@​grafana-writer\[bot\]](https://github.com/grafana-writer\[bot])
- **PanelEditor:** Fix options pane not resizable beyond the preview's content width [#​131608](https://github.com/grafana/grafana/pull/131608), [@​grafana-writer\[bot\]](https://github.com/grafana-writer\[bot])
<!-- 13.2.1 END -->
<!-- 13.2.0 START -->
### [`v13.2.0`](https://github.com/grafana/grafana/blob/HEAD/CHANGELOG.md#1320-2026-08-18)
[Compare Source](https://github.com/grafana/grafana/compare/v13.1.5...v13.2.0)
##### Security
- CVE-2026-17183
##### Features and enhancements
- **Alerting:** Add Import tab in alerting settings page [#​129051](https://github.com/grafana/grafana/pull/129051), [@​rodrigopk](https://github.com/rodrigopk)
- **Alerting:** Add notification template import to the import-to-GMA wizard [#​128329](https://github.com/grafana/grafana/pull/128329), [@​rodrigopk](https://github.com/rodrigopk)
- **Alerting:** Add promote and auto sync to ImportToGMAWizard [#​126907](https://github.com/grafana/grafana/pull/126907), [@​rodrigopk](https://github.com/rodrigopk)
- **Alerting:** Add staged configuration summary in import settings page [#​129204](https://github.com/grafana/grafana/pull/129204), [@​rodrigopk](https://github.com/rodrigopk)
- **Alerting:** Compute staged config origin server-side [#​130727](https://github.com/grafana/grafana/pull/130727), [@​rodrigopk](https://github.com/rodrigopk)
- **Alerting:** Migrate notifications API to v1beta1 [#​124702](https://github.com/grafana/grafana/pull/124702), [@​rodrigopk](https://github.com/rodrigopk)
- **Alerting:** Recognize "default" and "user-defined" as the default routing tree (1/4) [#​127880](https://github.com/grafana/grafana/pull/127880), [@​rodrigopk](https://github.com/rodrigopk)
- **Alerting:** Recognize "default" and "user-defined" as the default routing tree (2/4) [#​127881](https://github.com/grafana/grafana/pull/127881), [@​rodrigopk](https://github.com/rodrigopk)
- **Alerting:** Recognize "default" and "user-defined" as the default routing tree (3/4) [#​127883](https://github.com/grafana/grafana/pull/127883), [@​rodrigopk](https://github.com/rodrigopk)
- **Alerting:** Recognize "default" and "user-defined" as the default routing tree (4/4) [#​127884](https://github.com/grafana/grafana/pull/127884), [@​rodrigopk](https://github.com/rodrigopk)
- **Alerting:** Return 403 instead of 500 on contact point provenance mismatch [#​127699](https://github.com/grafana/grafana/pull/127699), [@​rwwiv](https://github.com/rwwiv)
- **Alerting:** Revert a staged import configuration [#​129243](https://github.com/grafana/grafana/pull/129243), [@​rodrigopk](https://github.com/rodrigopk)
- **Alerting:** Show unusable time intervals as disabled in the mute timings selector [#​130323](https://github.com/grafana/grafana/pull/130323), [@​rodrigopk](https://github.com/rodrigopk)
- **Alerting:** Track import method analytics in import to gma [#​128142](https://github.com/grafana/grafana/pull/128142), [@​rodrigopk](https://github.com/rodrigopk)
- **Alerting:** remove AlertingCentralHistory FT [#​130164](https://github.com/grafana/grafana/pull/130164), [@​konstantinmv](https://github.com/konstantinmv)
- **Analytics:** Add public dashboard UID to loki usage insights events (Enterprise)
- **Auditing:** Record the user name on user deletion audit logs (Enterprise)
- **Azure Monitor:** Cache subscription lookups and collapse double Unmarshal in buildQuery [#​123556](https://github.com/grafana/grafana/pull/123556), [@​adamyeats](https://github.com/adamyeats)
- **Azure monitor:** Azure Metrics Batch API Implementation backend [#​123696](https://github.com/grafana/grafana/pull/123696), [@​bossinc](https://github.com/bossinc)
- **CloudWatch Logs:** Add frontend support for querying by data source [#​123742](https://github.com/grafana/grafana/pull/123742), [@​kevinwcyu](https://github.com/kevinwcyu)
- **ColorScale:** Remove live hoverValue, remove from HeatMap tooltip [#​128812](https://github.com/grafana/grafana/pull/128812), [@​leeoniya](https://github.com/leeoniya)
- **DashList:** Show dashboard description tooltip when it's available [#​130006](https://github.com/grafana/grafana/pull/130006), [@​DeeGeeGit](https://github.com/DeeGeeGit)
- **Dashboard:** redirect from dashboard settings tabs to sidebar counterparts [#​125966](https://github.com/grafana/grafana/pull/125966), [@​bfmatei](https://github.com/bfmatei)
- **Dashboards:** Allow threshold interpolation [#​128451](https://github.com/grafana/grafana/pull/128451), [@​mdvictor](https://github.com/mdvictor)
- **Dashboards:** Deprecate scripted dashboards and disable them by default [#​130207](https://github.com/grafana/grafana/pull/130207), [@​kristinademeshchik](https://github.com/kristinademeshchik)
- **Dashboards:** Enable new view panel controls by default [#​129187](https://github.com/grafana/grafana/pull/129187), [@​torkelo](https://github.com/torkelo)
- **Dashboards:** Increase nesting depth to 4 and allow nested tabs [#​129174](https://github.com/grafana/grafana/pull/129174), [@​bfmatei](https://github.com/bfmatei)
- **Dashboards:** Show panel query errors and notices in one UI [#​127436](https://github.com/grafana/grafana/pull/127436), [@​mdvictor](https://github.com/mdvictor)
- **Developer Guide:** Add note about requiring signed commits [#​127162](https://github.com/grafana/grafana/pull/127162), [@​gelicia](https://github.com/gelicia)
- **Docs:** document the tracing file exporter [#​129339](https://github.com/grafana/grafana/pull/129339), [@​leandro-deveikis](https://github.com/leandro-deveikis)
- **Explore Logs:** log line highlight color lighten in dark, update deprecated pinned color [#​130516](https://github.com/grafana/grafana/pull/130516), [@​L2D2Grafana](https://github.com/L2D2Grafana)
- **Folder API:** Replace legacy access control logic with app platform API call [#​125642](https://github.com/grafana/grafana/pull/125642), [@​aocenas](https://github.com/aocenas)
- **Go:** Update version to 1.26.5 [#​128011](https://github.com/grafana/grafana/pull/128011), [@​macabu](https://github.com/macabu)
- **GrafanaUI:** Add real magnification effect to GrotNotFound lens [#​130118](https://github.com/grafana/grafana/pull/130118), [@​xndcn](https://github.com/xndcn)
- **Home:** Enable unified homepage for all users (remove flag) [#​129054](https://github.com/grafana/grafana/pull/129054), [@​MattIPv4](https://github.com/MattIPv4)
- **Live:** Support redis\:// and rediss\:// (TLS) connection URLs in ha\_engine\_address [#​129938](https://github.com/grafana/grafana/pull/129938), [@​DeeGeeGit](https://github.com/DeeGeeGit)
- **Logs:** Add more suggested fields and integrate with the new Logs Table [#​128002](https://github.com/grafana/grafana/pull/128002), [@​matyax](https://github.com/matyax)
- **Logs:** use gray (dimgray) for debug level color [#​129896](https://github.com/grafana/grafana/pull/129896), [@​L2D2Grafana](https://github.com/L2D2Grafana)
- **Plugins:** Force TLS 1.3 feature toggle [#​130390](https://github.com/grafana/grafana/pull/130390), [@​aangelisc](https://github.com/aangelisc)
- **Provisioning (enterprise):** (4/8) Add OAuth app connections for GitLab and Bitbucket (Enterprise)
- **Provisioning:** Add Dashboard Previews to GitHub Enterprise [#​127614](https://github.com/grafana/grafana/pull/127614), [@​floriecai](https://github.com/floriecai)
- **Provisioning:** Add Github Enterprise frontend [#​127209](https://github.com/grafana/grafana/pull/127209), [@​floriecai](https://github.com/floriecai)
- **Provisioning:** Add filter for out-of-sync resources in Resources tab [#​128456](https://github.com/grafana/grafana/pull/128456), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** Add option to author commits as the signer [#​127970](https://github.com/grafana/grafana/pull/127970), [@​amalavet](https://github.com/amalavet)
- **Provisioning:** Add resource kind icons to job summary table [#​127237](https://github.com/grafana/grafana/pull/127237), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** Add webhook support for GithubEnterprise (Enterprise)
- **Provisioning:** Allow overriding the Git Sync commit author [#​130547](https://github.com/grafana/grafana/pull/130547), [@​amalavet](https://github.com/amalavet)
- **Provisioning:** Attribute jobs to their author and origin [#​128819](https://github.com/grafana/grafana/pull/128819), [@​amalavet](https://github.com/amalavet)
- **Provisioning:** Attribute webhook-created jobs to the sending user (Enterprise)
- **Provisioning:** Bitbucket webhook UI [#​128649](https://github.com/grafana/grafana/pull/128649), [@​amalavet](https://github.com/amalavet)
- **Provisioning:** Bitbucket webhooks (Enterprise)
- **Provisioning:** Change commit message template to multi-line textarea [#​128529](https://github.com/grafana/grafana/pull/128529), [@​cursoragent](https://github.com/cursoragent)
- **Provisioning:** Diff Git Sync PR previews against the merge base [#​128149](https://github.com/grafana/grafana/pull/128149), [@​amalavet](https://github.com/amalavet)
- **Provisioning:** Diff GitLab Git Sync PR previews against the merge base (Enterprise)
- **Provisioning:** Enable Dashboard Previews for Github Enterprise in UI [#​127906](https://github.com/grafana/grafana/pull/127906), [@​floriecai](https://github.com/floriecai)
- **Provisioning:** Enable Git Sync conventions by default in public preview [#​130670](https://github.com/grafana/grafana/pull/130670), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** Enable Git Sync user attribution by default [#​130671](https://github.com/grafana/grafana/pull/130671), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** Enable Github Enterprise provider by default [#​128376](https://github.com/grafana/grafana/pull/128376), [@​floriecai](https://github.com/floriecai)
- **Provisioning:** Enable Github Enterprise provider by default for enterp… (Enterprise)
- **Provisioning:** Exclude SLO-apps from UI in migrate gitops workflow [#​128961](https://github.com/grafana/grafana/pull/128961), [@​floriecai](https://github.com/floriecai)
- **Provisioning:** Exclude SLO-managed dashboards from being exported [#​128815](https://github.com/grafana/grafana/pull/128815), [@​floriecai](https://github.com/floriecai)
- **Provisioning:** GitLab webhooks (backend) [#​127204](https://github.com/grafana/grafana/pull/127204), [@​amalavet](https://github.com/amalavet)
- **Provisioning:** Improve Git Sync pull-request comment [#​128100](https://github.com/grafana/grafana/pull/128100), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** Improve form errors for github connections [#​128133](https://github.com/grafana/grafana/pull/128133), [@​floriecai](https://github.com/floriecai)
- **Provisioning:** Link folder metadata and deleted files in PR comments [#​128895](https://github.com/grafana/grafana/pull/128895), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** Make Migrate to GitOps resource-agnostic for playlists [#​127028](https://github.com/grafana/grafana/pull/127028), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** Make Resources tab tree foldable [#​128453](https://github.com/grafana/grafana/pull/128453), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** Paginate the Migrate to GitOps resources table [#​128042](https://github.com/grafana/grafana/pull/128042), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** Pretty-print generated \_folder.json [#​127947](https://github.com/grafana/grafana/pull/127947), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** Show folder path in Migrate resources list [#​128454](https://github.com/grafana/grafana/pull/128454), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** Show job author and origin in recent jobs [#​128820](https://github.com/grafana/grafana/pull/128820), [@​amalavet](https://github.com/amalavet)
- **Provisioning:** Show job errors in Migrate to GitOps drawer [#​127936](https://github.com/grafana/grafana/pull/127936), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** Show sync status for playlists in Resources tab [#​127021](https://github.com/grafana/grafana/pull/127021), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** Show who triggered repository jobs [#​127984](https://github.com/grafana/grafana/pull/127984), [@​amalavet](https://github.com/amalavet)
- **Provisioning:** Surface github error details [#​128059](https://github.com/grafana/grafana/pull/128059), [@​floriecai](https://github.com/floriecai)
- **Provisioning:** UI to set branch when migrating grafana -> gitops [#​128562](https://github.com/grafana/grafana/pull/128562), [@​floriecai](https://github.com/floriecai)
- **Provisioning:** adapt GitLab to the provider-agnostic webhook lifecycle (Enterprise)
- **Provisioning:** add "View repository" link next to provisioned badges [#​127409](https://github.com/grafana/grafana/pull/127409), [@​ywzheng1](https://github.com/ywzheng1)
- **Provisioning:** add ability to force full pull instead of incremental sync [#​128330](https://github.com/grafana/grafana/pull/128330), [@​floriecai](https://github.com/floriecai)
- **Provisioning:** add option to disable webhook in repository and connection [#​126790](https://github.com/grafana/grafana/pull/126790), [@​Shubham19032004](https://github.com/Shubham19032004)
- **Provisioning:** add provider logo to repository page title [#​127223](https://github.com/grafana/grafana/pull/127223), [@​amalavet](https://github.com/amalavet)
- **Provisioning:** allow Git Sync option for root-level saves and new folders in folderless mode [#​127399](https://github.com/grafana/grafana/pull/127399), [@​Shubham19032004](https://github.com/Shubham19032004)
- **Provisioning:** implement GitLab webhooks (Enterprise)
- **Provisioning:** link Git Sync PR footer to repo admin page [#​128353](https://github.com/grafana/grafana/pull/128353), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** make sync per-resource write timeout configurable [#​127862](https://github.com/grafana/grafana/pull/127862), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** regenerate token when its secret is missing [#​127878](https://github.com/grafana/grafana/pull/127878), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** show webhook UI for GitLab repositories [#​127806](https://github.com/grafana/grafana/pull/127806), [@​amalavet](https://github.com/amalavet)
- **Provisioning:** support migrating to a selected branch [#​128356](https://github.com/grafana/grafana/pull/128356), [@​MissingRoberto](https://github.com/MissingRoberto)
- **QueryVariable:** Redesign the query variable editor [#​127048](https://github.com/grafana/grafana/pull/127048), [@​grafakus](https://github.com/grafakus)
- **Reports:** support template variables without a type allowlist (Enterprise)
- **SQLite:** Revert the journal mode when wal is disabled [#​130695](https://github.com/grafana/grafana/pull/130695), [@​pstibrany](https://github.com/pstibrany)
- **Table:** Make cell tooltips dynamic height so content is not cut off [#​127107](https://github.com/grafana/grafana/pull/127107), [@​fastfrwrd](https://github.com/fastfrwrd)
- **Trace View:** Check for the existence of logs when showing the trace-to-logs button [#​128702](https://github.com/grafana/grafana/pull/128702), [@​matyax](https://github.com/matyax)
- **Tracing:** add file exporter to write traces as OTLP/JSON [#​128679](https://github.com/grafana/grafana/pull/128679), [@​leandro-deveikis](https://github.com/leandro-deveikis)
- **Transformations:** Keep Merge series/tables available with a single data series [#​129569](https://github.com/grafana/grafana/pull/129569), [@​nicwestvold](https://github.com/nicwestvold)
- **Unified Storage:** set garbage collection dry run default to false [#​130533](https://github.com/grafana/grafana/pull/130533), [@​filewalkwithme](https://github.com/filewalkwithme)
- **ViewPanel:** Url sync for fanout option [#​128270](https://github.com/grafana/grafana/pull/128270), [@​torkelo](https://github.com/torkelo)
- **alerting:** allow import to gma wizard navigation for non admin users when sync is not active [#​127818](https://github.com/grafana/grafana/pull/127818), [@​rodrigopk](https://github.com/rodrigopk)
- **provisioning:** allow authoring commits as the signer [#​127969](https://github.com/grafana/grafana/pull/127969), [@​amalavet](https://github.com/amalavet)
##### Bug fixes
- \*\* Gauge:\*\* Fix gradient stops out of order for negative thresholds [#​128532](https://github.com/grafana/grafana/pull/128532), [@​fastfrwrd](https://github.com/fastfrwrd)
- **Accessibility:** Ensure `InlineToast` contents are announced by screenreaders [#​128488](https://github.com/grafana/grafana/pull/128488), [@​ashharrison90](https://github.com/ashharrison90)
- **Accessibility:** Properly announce section headings on variable edit pages [#​130706](https://github.com/grafana/grafana/pull/130706), [@​ashharrison90](https://github.com/ashharrison90)
- **Alerting:** Check managed routes when deleting a time interval [#​129247](https://github.com/grafana/grafana/pull/129247), [@​JacobsonMT](https://github.com/JacobsonMT)
- **Alerting:** Fix alert rule detail showing "Inhibited" when nothing is inhibited [#​130264](https://github.com/grafana/grafana/pull/130264), [@​petergreen86](https://github.com/petergreen86)
- **Alerting:** Fix reset default route wiping provenance for all managed routes [#​130553](https://github.com/grafana/grafana/pull/130553), [@​JacobsonMT](https://github.com/JacobsonMT)
- **Auth:** Deduplicate concurrent login pings [#​129927](https://github.com/grafana/grafana/pull/129927), [@​cipher416](https://github.com/cipher416)
- **Auth:** Skip session token rotation when request is not session authenticated [#​129920](https://github.com/grafana/grafana/pull/129920), [@​thejamesgore](https://github.com/thejamesgore)
- **Azure Monitor:** fix migration for dimension filters [#​128786](https://github.com/grafana/grafana/pull/128786), [@​olivierlemasle](https://github.com/olivierlemasle)
- **Dashboard scene:** Activate edit pane for programmatic panel mutations [#​128433](https://github.com/grafana/grafana/pull/128433), [@​ivanortegaalba](https://github.com/ivanortegaalba)
- **DashboardDS:** Fix chained dashboard datasource panels showing stale data [#​126378](https://github.com/grafana/grafana/pull/126378), [@​oscarkilhed](https://github.com/oscarkilhed)
- **Dashboards:** Fix loading indicator not clipping to panel border radius [#​128040](https://github.com/grafana/grafana/pull/128040), [@​hckhanh](https://github.com/hckhanh)
- **Dashboards:** Fixes panel header spacing issues [#​128910](https://github.com/grafana/grafana/pull/128910), [@​torkelo](https://github.com/torkelo)
- **DataSourcePicker:** Fix selected datasource not being highlighted [#​126948](https://github.com/grafana/grafana/pull/126948), [@​mikkancso](https://github.com/mikkancso)
- **Fix:** Parse epoch ms strings correctly to prevent NaN in Postgres queries [#​122693](https://github.com/grafana/grafana/pull/122693), [@​Tarasusrus](https://github.com/Tarasusrus)
- **Logs Table:** Fix data export by passing the raw table frame [#​130245](https://github.com/grafana/grafana/pull/130245), [@​matyax](https://github.com/matyax)
- **Logs Table:** Fix missing results when logs stream [#​128870](https://github.com/grafana/grafana/pull/128870), [@​matyax](https://github.com/matyax)
- **Logs Table:** Fix mixed usage of field name and display name [#​128677](https://github.com/grafana/grafana/pull/128677), [@​matyax](https://github.com/matyax)
- **Logs Table:** Fix sticky filter after closing details [#​128398](https://github.com/grafana/grafana/pull/128398), [@​matyax](https://github.com/matyax)
- **Navigation:** Inject orgId into all navigations [#​120978](https://github.com/grafana/grafana/pull/120978), [@​QuentinBisson](https://github.com/QuentinBisson)
- **PostgreSQL:** Fix data source init failure when maxOpenConns=0 [#​122556](https://github.com/grafana/grafana/pull/122556), [@​Tarasusrus](https://github.com/Tarasusrus)
- **Provisioning:** Disable next button until a branch is selected in the Git Sync wizard [#​127973](https://github.com/grafana/grafana/pull/127973), [@​amalavet](https://github.com/amalavet)
- **Provisioning:** Export v0 dashboards as v1 so synced files load [#​128357](https://github.com/grafana/grafana/pull/128357), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** Fix NPE when testing GHE repo on creation [#​127207](https://github.com/grafana/grafana/pull/127207), [@​floriecai](https://github.com/floriecai)
- **Provisioning:** Fix blank Action for deleted resources in PR comment [#​128522](https://github.com/grafana/grafana/pull/128522), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** Fix customServerURL resolution for GHE [#​127113](https://github.com/grafana/grafana/pull/127113), [@​floriecai](https://github.com/floriecai)
- **Provisioning:** Fix enforced branch name template dropping ref on save [#​130163](https://github.com/grafana/grafana/pull/130163), [@​ferruvich](https://github.com/ferruvich)
- **Provisioning:** Fix job user attribution in multi-tenant deployments [#​129598](https://github.com/grafana/grafana/pull/129598), [@​amalavet](https://github.com/amalavet)
- **Provisioning:** Fix multi-org usage stats [#​127465](https://github.com/grafana/grafana/pull/127465), [@​ferruvich](https://github.com/ferruvich)
- **Provisioning:** Fix selective export quota counting whole namespace [#​127927](https://github.com/grafana/grafana/pull/127927), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** Keep migrate reachable when connected repo can't push [#​127921](https://github.com/grafana/grafana/pull/127921), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** Only regenerate folder UIDs for folder/folderless migrations [#​127925](https://github.com/grafana/grafana/pull/127925), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** Preserve the original creator on job history records [#​128712](https://github.com/grafana/grafana/pull/128712), [@​amalavet](https://github.com/amalavet)
- **Provisioning:** Set FileToLarge error as warning instead of error [#​128822](https://github.com/grafana/grafana/pull/128822), [@​floriecai](https://github.com/floriecai)
- **Provisioning:** Strip deprecatedInternalId label for dashboards [#​128530](https://github.com/grafana/grafana/pull/128530), [@​floriecai](https://github.com/floriecai)
- **Provisioning:** Use neutral fallback in the jobs Triggered by column [#​128238](https://github.com/grafana/grafana/pull/128238), [@​amalavet](https://github.com/amalavet)
- **Provisioning:** abort in-flight worker when job lease is lost [#​127792](https://github.com/grafana/grafana/pull/127792), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** don't stamp a folder on org-scoped resources when writing [#​127142](https://github.com/grafana/grafana/pull/127142), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** drop stale and duplicate watch events in the frontend list cache [#​128766](https://github.com/grafana/grafana/pull/128766), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** fix zero-margin job lease renewal, raise claim expiry to 60s [#​127786](https://github.com/grafana/grafana/pull/127786), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** make GitHub webhook creation idempotent (fix repos stuck unhealthy with HTTP 422) [#​128068](https://github.com/grafana/grafana/pull/128068), [@​floriecai](https://github.com/floriecai)
- **Provisioning:** normalize folder titles into safe export paths [#​127946](https://github.com/grafana/grafana/pull/127946), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** only push variable changes to git if save variables is … [#​128818](https://github.com/grafana/grafana/pull/128818), [@​floriecai](https://github.com/floriecai)
- **Provisioning:** retry connection status patch conflicts [#​127754](https://github.com/grafana/grafana/pull/127754), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** tolerate NotFound in expired job cleanup for multi-pod [#​127753](https://github.com/grafana/grafana/pull/127753), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Provisioning:** treat skip-delete of resource owned by another file as a warning [#​129029](https://github.com/grafana/grafana/pull/129029), [@​ferruvich](https://github.com/ferruvich)
- **Provisioning:** verify claim ownership so two pods don't run the same job [#​127783](https://github.com/grafana/grafana/pull/127783), [@​MissingRoberto](https://github.com/MissingRoberto)
- **Reporting:** batch dashboard lookups when listing reports (Enterprise)
- **Secrets:** Fix RBAC gate on AWS keeper creation route (Enterprise)
- **SqlExpressions:** Fix parsing for Table Names with spaces [#​117615](https://github.com/grafana/grafana/pull/117615), [@​NWRichmond](https://github.com/NWRichmond)
- **Table:** Fix apply to entire row when multiple columns enable it [#​128527](https://github.com/grafana/grafana/pull/128527), [@​fastfrwrd](https://github.com/fastfrwrd)
- **Transformations:** Fix Filter by value regex matching null values [#​129572](https://github.com/grafana/grafana/pull/129572), [@​nicwestvold](https://github.com/nicwestvold)
- **Transformations:** Fix field lookup failing for the Countries and USA States gazetteers [#​129568](https://github.com/grafana/grafana/pull/129568), [@​nicwestvold](https://github.com/nicwestvold)
- **Transformations:** Fix field name deduplication in Extract fields [#​129889](https://github.com/grafana/grafana/pull/129889), [@​nicwestvold](https://github.com/nicwestvold)
- **Transformations:** Fix inner join returning rows when a frame is dropped [#​129576](https://github.com/grafana/grafana/pull/129576), [@​nicwestvold](https://github.com/nicwestvold)
- **fix:** fix panic for unimplemented gitlab webhook repo (Enterprise)
##### Breaking changes
- **Alerting:** Remove alertingSaveStateCompressed feature flag [#​129135](https://github.com/grafana/grafana/pull/129135), [@​yuri-tceretian](https://github.com/yuri-tceretian)
##### Plugin development fixes & changes
- **Combobox:** Fix dupl…
Description
Audible external URIs seem to require
/pd/instead of/dp/like Amazon.Linked Issue
related to #2316
Changes
Updates the audible external URI helper to emit URIs with
/pd/Manual Testing Steps
Screenshots (Optional)
Additional Context (Optional)
This may have been mixed up because of the similar amazon change being made
Bad: https://www.audible.com/dp/0593151496
Good: https://www.audible.com/pd/0593151496
AI Disclosure
None.
Checklist
just ui checkandjust api check.Summary by CodeRabbit