Scripture from your Discord client to your heart.

A Kerygma Digital Ministry

Release: v12.0.0 (f08b7d3b)

Changelog since last post

12.0.0 – 2025-07-26

🚀 Features

  • Support common dash variants in references by normalizing them (1411463)
  • Begin function for converting Hebrew-numbered Psalm references to the Septuagint-numbered equivalent (b583ff0)
  • Establish indexes for the larger-used collections. (8e4485b)
  • Add healthcheck endpoint (fe6b0a0)
  • Record status codes for daily verses (8e21c37)
  • (autoserv) Add failed webhook calls to a queue to be retried (b3f37a8)
  • (autoserv) Run daily verses in parallel (d2eff90)
  • (autoserv) Remove daily verse preferences when webhook returns 404 (bb93321)
  • Add /cleardailyverserole (e263a6e)

🐛 Bug Fixes

  • Use database count for GetCount() implementations, make sure user prefs aren’t cached by autoserv (4f754b1)
  • ArgumentNullException for some search queries (c0f9671)
  • NullReferenceException when an invalid version is passed to /search (8e4736f)
  • ArgumentOutOfRangeException when a comma is on a reference that isn’t looking for other verses (b161177)
  • Duplicate of LJE in default_names causing invalid parsing for some DEU book names (3dbfce1)
  • NullReferenceException caused by fallback version in /search not applying correctly (1d020a9)
  • Allow variant dashes in frontend (3de7725)
  • (preferences) Refactor preference cache/db logic, increase timeout and pool size for db (8b6e0ed)
  • (autoserv) Save VerseResult to avoid unnecessary outbound connections (bf2f01e)
  • (resources) ArgumentOutOfRangeException when giving a non-existent paragraph number to a resource (7a9db53)
  • (resources) Some formatting in creeds (941deba)
  • [breaking] Remove OptOutUser in favor of UserPreference flag, rework MongoService.Get() (b64e845)
  • Cache for null values (c4d67d6)
  • NullReferenceException for optoutuser check (2a2f93e)
  • (autoserv) Avoid requeuing failed daily verse sends (ef27206)
  • (autoserv) Log when failed webhook works on resend. (039b87a)
  • (autoserv) Reposition log for failure queue addition (1a23e86)
  • (autoserv) Return count of passed daily verses (9e3a8c2)

🚜 Refactor

  • Add more sentry context (b0f87ed)
  • Optimize verse generation code (3dcb01a)
  • More optimizations (0a768d8)

11.2.0 – 2025-05-31

🚀 Features

  • Force pull guilds in autoserv (c5bfb96)
  • Foundation work on metrics (a7ac2de)
  • Sentry for error tracking (040c510)

🐛 Bug Fixes

  • Typecasting filtered versions (0accf93)
  • Handle API.Bible’s book name sensitivity (b580b1d)
  • (metadata) Use fallback book name if preferred name is an abbreviation (525ed29)
  • (ab) Return proper reference based on book data (94c9d33)
  • (metadata) Compare lowercase version names because NRSVue exists… (b8a8343)
  • (truerandom) Abbreviated book names not processing (8fedb77)
  • (guild) Don’t cache guilds when autoserv fetches all guilds (9fd7946)
  • (ab) Handle InvalidOperationException for special verses (1861ce6)
  • (ab) Resolve import collisions (5c56376)
  • Use user display style in /truerandom (a211354)
  • Move redirect for NRSV to NRSVA into the reference generation (47b4f06)
  • Catch various unknown exceptions with sentry (28ed240)
  • Don’t let dangling commas in verse reference prevent parsing otherwise (0482aae)

🚜 Refactor

Remarks

Not a massive change on the user-facing side, but I’ve optimized a lot of existing code (especially in Automatic Daily Verses), added /cleardailyverserole (something I missed creating when /setdailyverserole was made, sorry!), and added Sentry support (using Bugsink, an open-source error tracker with very helpful developers, thanks!) so I can centralize error reporting to make it easier to fix the more hidden errors in the bot. Variant dashes are now supported again, whether that’s an endash or emdash or full-width dash, should make copy+pasting references friendlier when coming from some websites that are doing things a bit fancy.

Additionally, this was the first batch of releases where I started using LLM agents in development to help my sanity some, namely in optimizing verse processing and automatic daily verse functionality. Figured I’d try it out to fill in for my programming knowledge blind-spots, and so far I’ve been impressed with the results. As our FAQs on the support Discord will mention, BibleBot itself will not have any LLM functionality for various reasons we’ll elaborate on in the future, but that doesn’t mean it can’t be a useful tool in other domains like software development.

All this aside, we have been dealing some with issues with our Redis caching system causing slowdowns as uptime grows. I tried to mitigate this in a lot of different ways (including with LLM support), but nothing seems to really solve the issue. I ended up deploying a workaround where the affected bot infrastructure will restart every day (progressively, so no observable downtime) and that seems to work. It’s a bandaid solution and not one that I’m proud of, but it beats 90+ second response times.

Many thanks for your support.

With love in Christ,
Rdr. Seraphim Pardee
Executive Director, Software Lead

Release: v12.0.0 (f08b7d3b)

2 thoughts on “Release: v12.0.0 (f08b7d3b)

  1. Hello, I don’t understand! Wick deleted the webhook, not everytime I make a set daily verse, it does NOT work! I rejoined the bot, redid the command. Please help!

Leave a Reply

Scroll to top