[{"data":1,"prerenderedAt":289},["ShallowReactive",2],{"\u002Fblog\u002Foxynote-v0-10":3,"github-stars":288},{"id":4,"title":5,"author":6,"body":9,"date":269,"description":270,"extension":271,"image":272,"imageAlt":273,"imageDark":274,"meta":275,"navigation":276,"path":277,"robots":278,"seo":279,"sitemap":280,"stem":286,"updated":278,"__hash__":287},"blog_en\u002Fblog\u002Foxynote-v0-10.md","Oxynote v0.10: Logs Join Metrics",{"name":7,"url":8},"Dovydas Bykovas","https:\u002F\u002Fgithub.com\u002Fdavseby",{"type":10,"value":11,"toc":258},"minimark",[12,16,19,24,35,44,53,56,60,63,75,84,87,121,129,136,140,155,163,170,173,181,185,188,192,195,198,202,219,226,230,238],[13,14,15],"p",{},"Oxynote v0.10 is out, and it's one of our biggest updates yet. Metrics are now joined by logs, which brings Oxynote a step closer to a full observability suite. A page can show live logs from Loki right next to the charts and the notes that explain them.",[13,17,18],{},"Logs aren't the only addition. Connecting your data got easier and safer too: Supabase now has its own data source, and every data source can trust a certificate authority you run yourself. Once connected, charts load faster and ask much less of your databases. Before we get into the details, a few words about the people who made this release happen.",[20,21,23],"h2",{"id":22},"the-community-is-growing","The Community Is Growing",[13,25,26,27,34],{},"Oxynote passed 500 stars on GitHub. Since v0.9.3, 12 people outside the team have sent more than 20 pull requests, from small fixes to features like pinned chart tooltips. Thank you to everyone who contributed. The ",[28,29,33],"a",{"href":30,"rel":31},"https:\u002F\u002Fgithub.com\u002Foxynote\u002Foxynote\u002Freleases\u002Ftag\u002Fv0.10.0",[32],"nofollow","release notes"," list each of them.",[13,36,37,38,43],{},"We also opened a ",[28,39,42],{"href":40,"rel":41},"https:\u002F\u002Fdiscord.gg\u002FmNJd5zJkvC",[32],"Discord server",", and more than 15 people have joined so far. It's the place to ask for help, share how you use Oxynote and tell us what you'd like to see next.",[13,45,46,47,52],{},"Everyone who wants to contribute is welcome, whatever the experience. We try to keep ",[28,48,51],{"href":49,"rel":50},"https:\u002F\u002Fgithub.com\u002Foxynote\u002Foxynote\u002Flabels\u002Fgood%20first%20issue",[32],"good first issues"," ready for anyone looking for a place to start. If you get stuck or want to talk through an idea before building it, we're happy to help on Discord.",[13,54,55],{},"Now, let's get into what's new in Oxynote.",[20,57,59],{"id":58},"live-logs","Live Logs",[13,61,62],{},"Logs, like metrics, show how a system is doing. Metrics show the numbers, such as how many requests failed, whereas logs show the story behind them: which requests failed and why. When something goes wrong, they're often what tells you where to look and what to do next.",[13,64,65,66,70,71,74],{},"Until now, an Oxynote page could only show the metrics. Now it can show both. On any page, type ",[67,68,69],"code",{},"\u002F"," and choose ",[72,73,59],"strong",{},". Pick your Loki server, write a query, and the block shows the matching log lines as they arrive.",[13,76,77],{},[78,79],"img",{"alt":80,"src":81,"src-dark":82,"title":83},"A Live Logs block on an on-call page, with a log volume chart above the newest lines and two charts below","\u002Fimages\u002Fblog\u002Fv0-10-live-logs.webp","\u002Fimages\u002Fblog\u002Fv0-10-live-logs-dark.webp","Platform logs and metrics on the on-call page",[13,85,86],{},"Some of the key features of the new Live Logs block:",[88,89,90,97,103,109,115],"ul",{},[91,92,93,96],"li",{},[72,94,95],{},"Live updates",": the block refreshes on its own, so the newest lines are always there.",[91,98,99,102],{},[72,100,101],{},"Log volume",": a chart above the lines shows how many logs came in over time, so a spike stands out.",[91,104,105,108],{},[72,106,107],{},"Search and filter",": search the lines, or narrow them down with LogQL. Click any field of a line to add it to the query as a filter.",[91,110,111,114],{},[72,112,113],{},"Logs and metrics side by side",": put a Live Logs block in a grid next to the charts for the same service.",[91,116,117,120],{},[72,118,119],{},"Several queries in one block",": such as one per service, merged by time.",[13,122,123],{},[78,124],{"alt":125,"src":126,"src-dark":127,"title":128},"The Live Logs editor with two LogQL queries, a log volume chart and a live preview of the matching lines","\u002Fimages\u002Fblog\u002Fv0-10-live-logs-editor.webp","\u002Fimages\u002Fblog\u002Fv0-10-live-logs-editor-dark.webp","Two queries in one Live Logs block",[13,130,131,132,135],{},"Not running Loki yet? Every new workspace comes with ",[72,133,134],{},"Demo Logs",", so you can try the block straight away. The assistant and AI agents connected over MCP can read your logs too.",[20,137,139],{"id":138},"supabase","Supabase",[13,141,142,143,146,147,150,151,154],{},"Supabase is one of the best-known platforms built on PostgreSQL. With v0.10, it gets its own data source instead of going through the PostgreSQL one. That mostly brings clarity and quality-of-life improvements. To connect it, open ",[72,144,145],{},"Settings",", go to ",[72,148,149],{},"External Data Sources"," and click ",[72,152,153],{},"Connect"," next to Supabase.",[13,156,157],{},[78,158],{"alt":159,"src":160,"src-dark":161,"title":162},"The Connect Supabase form in Oxynote's settings","\u002Fimages\u002Fblog\u002Fv0-10-supabase-connect.webp","\u002Fimages\u002Fblog\u002Fv0-10-supabase-connect-dark.webp","Connecting a Supabase project",[13,164,165,166,169],{},"The ",[72,167,168],{},"Help"," button next to each field now says where to find it in Supabase. Once connected, the query editor shows only your own tables, skipping Supabase's internal ones. Everything else works as it does for PostgreSQL: only a read-only user can connect, and queries use the same SQL, macros and variables.",[13,171,172],{},"From there, your app's tables can drive any chart on a page:",[13,174,175],{},[78,176],{"alt":177,"src":178,"src-dark":179,"title":180},"A bar chart of containers booked per day on each lane, from a Supabase project","\u002Fimages\u002Fblog\u002Fv0-10-supabase-chart.webp","\u002Fimages\u002Fblog\u002Fv0-10-supabase-chart-dark.webp","Containers booked each day, read from Supabase",[20,182,184],{"id":183},"your-own-ca","Your Own CA",[13,186,187],{},"Every data source can now use a CA certificate. If a data source has a certificate from your company's own certificate authority, paste that CA into the new field. Oxynote then always connects over TLS and trusts only certificates your CA signed.",[20,189,191],{"id":190},"faster-charts","Faster Charts",[13,193,194],{},"Until now, every chart opened a new connection to its data source and ran its own query, each time someone loaded the page. On a busy dashboard, that meant a lot of work for your database.",[13,196,197],{},"Oxynote now keeps its connections to each data source open and reuses them. It also remembers each answer for 10 seconds. When several people open the same dashboard at once, your database runs each query once, and everyone else gets the answer straight away.",[20,199,201],{"id":200},"smaller-changes","Smaller Changes",[88,203,204,207,210,213,216],{},[91,205,206],{},"Editing on phones and tablets works better with touch.",[91,208,209],{},"Hover the edit date at the top of a page to see who opened it and when.",[91,211,212],{},"Click a chart to pin its tooltip and scroll through every series.",[91,214,215],{},"Charts show when they're loading and why a query failed, instead of \"No Data\".",[91,217,218],{},"Changing a data source's URL clears its saved password, so it's never sent to a different server.",[13,220,221,222,225],{},"Along with these come fixes for invitations, chart reloading, SQL quoting and zoom on iPhones. The ",[28,223,33],{"href":30,"rel":224},[32]," list every change.",[20,227,229],{"id":228},"wrapping-up","Wrapping Up",[13,231,232,233,237],{},"With logs next to metrics, a page can now tell a fuller story of a service: what the numbers say and what actually happened. To try it, pull the latest image and start a new container on the same volume. The ",[28,234,236],{"href":235},"\u002Fblog\u002Fself-host-oxynote#upgrade","install guide"," has the commands. A good first Live Logs block is the one for the service your team gets paged about most.",[13,239,240,241,246,247,251,252,257],{},"Oxynote is open source and runs as one Docker container: ",[28,242,245],{"href":243,"rel":244},"https:\u002F\u002Fgithub.com\u002Foxynote\u002Foxynote",[32],"github.com\u002Foxynote\u002Foxynote",". If something in v0.10 doesn't work the way you expected, we'd like to hear about it: ask on ",[28,248,250],{"href":40,"rel":249},[32],"Discord"," or ",[28,253,256],{"href":254,"rel":255},"https:\u002F\u002Fgithub.com\u002Foxynote\u002Foxynote\u002Fissues",[32],"open an issue",".",{"title":259,"searchDepth":260,"depth":260,"links":261},"",2,[262,263,264,265,266,267,268],{"id":22,"depth":260,"text":23},{"id":58,"depth":260,"text":59},{"id":138,"depth":260,"text":139},{"id":183,"depth":260,"text":184},{"id":190,"depth":260,"text":191},{"id":200,"depth":260,"text":201},{"id":228,"depth":260,"text":229},"2026-11-10","Live logs come to your pages, along with easier, safer data source connections and faster charts.","md","\u002Fimages\u002Fblog\u002Fv0-10-cover.webp","An operations dashboard in Oxynote with a bookings chart above live booking and webhook logs and a webhook success gauge","\u002Fimages\u002Fblog\u002Fv0-10-cover-dark.webp",{},true,"\u002Fblog\u002Foxynote-v0-10",null,{"title":5,"description":270},{"loc":277,"images":281,"lastmod":269},[282,283,284,285],{"loc":81},{"loc":126},{"loc":160},{"loc":178},"blog\u002Foxynote-v0-10","JWSW4X4TmHCclZRN_9My-f-GyYquimmeMa5rZX3uZlw",607,1794751175778]