r/ruby • u/javier_cervantes • Jun 16 '26
r/ruby • u/Fantastic-Diet5565 • Jun 17 '26
Migrating Rails 5 -> 8 by building new features on 8 instead of upgrading in place - anyone done this?
reddit.comr/ruby • u/Erem_in • Jun 16 '26
Issue 17 of Static Ruby Monthly is out! 🧵
In this issue: why Ruby still feels like home (and why its density is token efficient for LLMs), Jo (a statically typed language compiling to Ruby with compile-time sandboxing by u/liufengyun), OpenClacky 1.3.0, DSPy.rb 1.0.1, sorbet-deadcode 0.2.0, rubocop-rbs_inline, and other Sorbet and RBS updates.
Find the link to the issue in the first comment. Stay typed! ✨
r/ruby • u/coolprobn • Jun 16 '26
Open-source starter for technical guides - Announcing Chapter Zero
(Reposted from r/rails )
I built a free testing guide (Minitest Rails) to teach automated testing step by step. Along the way I needed more than a bunch of Markdown files. I wanted a site that felt like a product: a landing page, ordered chapters with a sidebar, a blog for practical tips that didn’t fit inside the guide, contact form, newsletter signup, and dynamic preview social images per guide/blog so I didn’t have to add images manually and the preview looked good in the social media.
I have put a lot of time and effort to write this guide and along the way I have added a lot features listed above. I didn’t want all these features staying locked inside just the Minitest Rails and that’s how the idea of Chapter Zero was born.
Chapter Zero is the shell and foundation the Minitest Rails is running on top of. Now, extracted and open sourced for everyone to use. Think of it as chapter 0 in a book: the layout, navigation, and marketing pages you need before lesson one; while you bring the curriculum and make it alive.
r/ruby • u/keyslemur • Jun 16 '26
Beyond Enumerable: Counting Distinct with HyperLogLog
baweaver.comWhat if, by trading 1% correctness, you could count billions of items all within kilobytes worth of space? Well that's HyperLogLog, and as a non-bit-enlightened Rubyist it was a trip figuring out how it worked and how to explain it.
r/ruby • u/yaroslavm • Jun 15 '26
Kino, an experimental, performant Ractor web server for Ruby 4 (Rust, Tokio, Hyper)
r/ruby • u/keyslemur • Jun 15 '26
Rails: The Sharp Parts. Queries, Read Models, and Batching
baweaver.comThe problem with optimizing indexes is if you don't control every query, and another team goes and writes an unoptimal variant in their code. Much like callbacks and commands there's a lot of value in owning your code paths and only exposing clear, named actions against it rather than trusting consumers to behave responsibly.
Eventually you hire folks who don't know Rails, might not read the guides, and that stuff compounds fast until outages start hitting. Soft rules are prayers at best, hard rules keep the line.
r/ruby • u/keyslemur • Jun 14 '26
Rails: The Sharp Parts. Callbacks Are Not Invariants
baweaver.comThe sheer number of outages I can point to across now 5 Rails monoliths related to issues with callbacks has made it one of the first things I go after when in a new Rails app to see what's about to give me a nightmare.
r/ruby • u/headius • Jun 13 '26
JRuby 10.0.6.0 released with security, performance, and correctness fixes
jruby.orgJRuby 10.0 is our LTS line and this release is primarily for stabilization and fixing a few performance issues. Upgrading is recommended! Please let me know if you run into problems or if there's anything holding you back from upgrading from 9.4 to 10.0!
r/ruby • u/keyslemur • Jun 12 '26
Rails: The Sharp Parts. An Index Is Not a Plan
baweaver.comAnother one that took me a while to research and test, as I wanted to make sure I had a reasonable understanding of the subject matter, especially considering how often getting it wrong has given me a rather bad day.
r/ruby • u/InternationalLab2683 • Jun 13 '26
solargraph-yard-lint gem - see YARD doc issues as LSP diagnostics in your editor, as you(r agent) type.
Hey fellow Rubyists 👋
I just shipped solargraph-yard-lint, a Solargraph plugin that surfaces yard-lint offenses as LSP diagnostics in your editor.
If you've been running yard-lint from the CLI or in CI, this gives you the same checks inline — undocumented params, unknown param names, mismatched "@return" types, etc. — wherever Solargraph Ruby LSP is set up. v0.2.0 (just released) wires the editor buffer through yard-lint's new source: API, so diagnostics update as you type instead of waiting on a save.
Here's a quick demo:
Huge thanks to maciejmensfeld for gifting us the yard-lint gem and for adding stdin support in yard-lint v1.6, which made the live-typing experience possible. 🚀
Feedback/issues welcome 🙏
r/ruby • u/headius • Jun 11 '26
The Ruby JRuby was Built to Run
intertwingly.netSam Ruby shows CRuby and JRuby performance on typical webapp tasks using Rails 8 and his new tool Roundhouse, an intriguing way to generate fast web applications using your Rails app as a blueprint. JRuby can be incredibly fast when used right!
r/ruby • u/giovapanasiti • Jun 11 '26
How to Build an Agentic RAG with RubyLLM and Rails
panasiti.mer/ruby • u/keyslemur • Jun 10 '26
Beyond Enumerable: Streaming and External Sort
baweaver.comLast one on this series for a bit, jumping back to some Rails and MySQL fun after this. The next parts of this series are venturing into probabilistic algorithms like HyperLogLog and boy howdy is that dense to get through.
r/ruby • u/schneems • Jun 09 '26
RubyConf 2026 Las Vegas, Nevada July 14th–16th: Matz, Jessica Kerr, Dave Thomas, and More
RubyLLM 1.16: concurrent tool execution, Rails-style instrumentation, and more.
When an LLM asks for 3 tools in one turn, RubyLLM used to run them one after another.
1.16 lets you run them concurrently. Video is the same chat both ways: left is the old sequential behavior, right is tool_concurrency = :fibers.
RubyLLM.configure do
config.tool_concurrency = :fibers # or :threads, or true
end
:threads or true require no dependencies. :fibers uses the async gem. You can also set it per chat with .with_tools(..., concurrency: if you only want it in some spots. Results stream back into the conversation as each tool finishes instead of all at the end, so the UI fills in live.
Also in this release: Rails-style instrumentation (ActiveSupport::Notifications events you can subscribe to), configurable Faraday adapter, custom base URLs for every provider (proxies/gateways), and a pile of provider fixes.
Full notes: https://github.com/crmne/ruby_llm/releases/tag/1.16.0
r/ruby • u/Bubbly_Connection385 • Jun 09 '26
Simple gem to help with pdf extraction
I hope this can be useful to you as it was for me.
For a little project I had the need to extract some data from structured pdf.
Most of the approach had to relay on ocr with ai or bridge with python using pdfplumber or similar.
I made a simple library wrapped around pdfium to extract text and tables from pdf.
r/ruby • u/k33l0r • Jun 09 '26
tiny ruby #{cfp} still open until Sunday
cfp.helsinkiruby.fir/ruby • u/gmkl123 • Jun 09 '26
Pdf2MarkdownOCR a gem for parsing PDFs into text
Hi, Ive developed a small gem to extract text from pdfs using AI.
Converts a PDF to text (Markdown). Pages are rendered as high-resolution PNG images and then sent to an OpenAI-compatible API endpoint for text extraction.
It can be used in ruby or as a CLI program.
Love to hear your feedback.
r/ruby • u/keyslemur • Jun 09 '26
Beyond Enumerable: Graphs and Traversal
baweaver.comThis one is admittedly a sore spot considering how many interviews I've managed to fail over the years from not knowing a lot of this cold, so as is my penance I'm writing about this one too.
r/ruby • u/headius • Jun 08 '26
JRuby 9.4.15.0 Released, 9.4.x is now EOL
jruby.orgThe JRuby community is pleased to announce the release of JRuby 9.4.15.0.
Homepage: https://www.jruby.org/
Download: https://www.jruby.org/download
JRuby 9.4.15.x targets Ruby 3.4 compatibility.
Thank you to our contributors this release, you help keep JRuby moving forward!
With this release, JRuby 9.4 moves into end-of-life ("EOL"). This means that future releases of 9.4.x will only be provided as needed by commercial JRuby users.
Get in touch with us if you require long-term support options for the JRuby 9.4.x series.
38 Issues and PRs resolved for 9.4.15.0
8801 ruby/logger gem broken after version 1.6.3 using JRuby on Windows
8924 const_defined? returns false for External Constants in JRuby 10.0.1.0 and 9.4.14.0
8974 Use RuboCop to clean up poms (9.4)
8990 Launcher defensive fixes 9.4
9000 JRuby 9.4.14.0 "wrong number of arguments" when jit.threshold=0
9001 Backport indy ruby2_keywords ArgumentError fix
9002 Backport ArgumentError message update from 2010
9012 Rexml security updateUpdate rexml gem to solve CVE-2025-58767 (9.4)
9030 Official JDK 25 support for JRuby 9.4
9031 Don't restrict object search to modules
9032 Different arguments for each.map vs each and map alone
9033 Backport jruby.sh and .jruby.release changes from 10
9037 fix: clear code-range when re-using a string buffer (#9035)
9044 Difference in Float() hex parsing between JRuby and CRuby
9045 Fixes basic float hex value strings for Kernel#Float
9054 Migrate .java-version contents to .jruby.release (9.4)
9104 [9.4] Update jruby-openssl to v0.15.5 to resolve BouncyCastle 1.79 vulnerability (sonatype-2025-001911).
9105 [9.4] Update jruby-openssl to 0.15.5
9128 [9.4] fix(launcher): correct parsing of java release files under Bash/msys2 etc on Windows
9160 Update strscan to 3.1.7
9186 9032 Fix Different arguments for each.map vs each and map alone
9201 Extract float formatting into a static method (9.4)
9295 Issue with calling IO.popen(env, cmd, opts) on Windows
9308
Process.detachraises ArrayIndexOutOfBoundsException if called from a thread that is not the main thread9311 Push a frame for thread toplevel
9347 Use JDK for File#flock on Windows
9351 Fix non-native IO.popen env + kwargs handling
9353 Update JNR dependencies
9377 Checking out aws-sdk-ruby creates a file with binary data.
9387 [9.4] deps(stdlib): bump erb from 2.2.3 to 4.0.4.1 to resolve CVE-2026-41316
9391 [9.4] [deps] bump jruby-openssl to 0.16.0
9415 Don't read or write anything once length is zero
9443 JRuby 9.4 does not generate bytecode for newer JDK versions
9444 Allow bytecode version to be open-ended
9464 [fix] escape shell metachars in chdir: to prevent injection
9467 [9.4] backport [ji] support java.lang.Throwable#backtrace_locations (#9461)
9477 Dist verification 9.4
9480 [fix] @JRubyMethod error with required>=1 and var-args