Skip to content

Latest commit

 

History

History
396 lines (294 loc) · 41.8 KB

File metadata and controls

396 lines (294 loc) · 41.8 KB

Changelog

All notable changes to this project will be documented in this file.

This project adheres to Semantic Versioning.

15.1.0 - 2026-04-03

🚀 Features

  • (frontend) Ensure frontend version updates alongside backend when relevant (c5e2100)

🐛 Bug Fixes

  • Chapter title storage (dbba6ac)
  • Git version path, chapter titles again (5f81857)
  • Make sure opt out users work (4ef35c2)
  • Db migrations so tests pass (411bd32)
  • Updating guild information with autoserv (73fe601)
  • (frontend) Source version from new path (65b423b)
  • (backend) Ensure backend request information is preserved for error reporting (c58f04d)
  • (models) Make sure the request model can be serialized (fbaec3e)
  • (backend) Return null when receiving references with backwards ranges (3e44500)
  • (backend) Make sure to only ignore reverse ranges in single-chapter references (107a268)

15.0.0 - 2026-03-31

🚀 Features

  • Add user app install count to /stats, add some missing parameter descriptions (e553da5)
  • [breaking] Add A/B testing experiment management system, staff reloading for some DB collections (5c45e51)
  • Add Septuagint Psalm numbering flag to versions and display daily verse warning when using them in /setserverversion (5ca11d5)
  • Add /searchresource, for searching paragraphed resources by keyword (f91d36a)
  • (metrics) Properly support multi-chaptered references, add unit tests (5d18aed)
  • [breaking] Migrate from mongodb to postgres (89052d2)
  • Finishing touches on postgres in autoserv (fe3cfc0)

🐛 Bug Fixes

  • Loose errors that aren't getting caught (94f07c5)
  • Attribute nomenclature mismatches (b29f01f)
  • Set contexts for user app commands (1058c83)
  • Make sort_by_language an optional param, expand result count in /listversions language pages (f1a19d8)
  • Add ~ to user install count estimate, format stat counts otherwise (fc4550b)
  • Type errors on various checks, don't show commands that aren't usable on user app (09d02f3)
  • Type error from trying to find error embeds in message sending failures (00f390d)
  • Check for manage server permission in frontend (07593a4)
  • Tidy manage server perm check (6953f47)
  • Copy error embed check to other sending wrappers, add TODOs for parameter descriptions (ebd7f7a)
  • Send verses individually if combined component length is too long (81fd570)
  • Various type errors, remove deprecated event loop policy for Windows (43e01d4)
  • More type errors because i am dumb person (a1ab694)
  • Type errors, allow lookback appended verses through verse metrics (732190e)
  • Increase overhead value in maximum text length calculation (021a46c)
  • Change how we check if a channel supports permissions (7068809)
  • (frontend) Verse paginator not using correct user ID value (f68532a)
  • Don't capture handled exception in RSS parsing (a490dd8)
  • Add retry logic to avoid SectionNotFoundException in random verse processing (8fb63b1)
  • (metrics) Set service as scoped to make sure operations are thread-safe (9e767d0)
  • (metrics) Remove verse numbers outside the ContentProvider so GetChapterEndingVerses() doesn't fail (70fcdeb)
  • (frontend) Add try/catch to fetching stats to prevent the task from being removed (e773c19)

🚜 Refactor

  • Initialize and reuse ExperimentService in TestBaseClass to avoid repeated instantiation. (aaf9d35)
  • Reorganize frontend utilities into core, helpers, services, and ui modules, and update backend experiment handling. (89081de)
  • (commands) Tidy logic for checking user opt-out status (40f8e53)
  • (frontend) Reorganize the calls to fetch frontend experiments (3fba522)
  • Remove some redundancy, dispose a reader (23dc429)
  • Assorted refactors and optimizations (da8afb3)

14.0.0 - 2025-11-20

🚀 Features

  • [breaking] User-installed app support, implement /verse for user-installed app (2988b30)
  • (frontend) Message command for fetching verse content (bee39d0)
  • Utilize v2 components in frontend (b9c5193)
  • Add language sorting option to /listversions (3913968)
  • Support alternate display styles for automatic daily verses (af02969)
  • Support components in automatic daily verse (b89ca84)
  • Run frontend stats update every 15 minutes (6c4d53b)

🐛 Bug Fixes

  • (verses) Making metric sending a background task causes failures (81d5787)
  • (verses) Forgot a keyword (4d061f0)
  • (metrics) Don't trust input to accurately represent output (f574ec3)
  • (metrics) Handle some verse number variants (ba26369)
  • (metadata) Ignore alias versions for name fetching (028dfae)
  • (metrics) Account for version aliases (9c7b637)
  • (metrics) Accept verse numbers where the chapter is redirected (245a3a6)
  • Capture exceptions for invalid verse ranges when making verse metric entries (1c37e6d)
  • Add reference to sentry context in verse metric creation (5744bc7)
  • Clarify invalid verse range message, add greater context to verse metric error handling (c1dd50b)
  • Convert confirmation prompt to components, restore missing i18ns (70fc1e1)
  • (verses) Handle grave marks in verse text (cfd27b8)
  • (metadata) Order book names in JSON by length and remove duplicates (4386564)
  • Use chapter information to avoid requesting invalid chapters (c4234fc)
  • Show an error when version doesn't have relevant section for /dailyverse (47c8478)
  • Use saner method for emojis (7899aae)
  • Ensure autoserv uses proper emojis (e3520b1)

13.1.0 - 2025-10-04

🚀 Features

  • Ensure verse metrics don't contribute to longer response times (9c2c321)

🐛 Bug Fixes

  • (verses) Fix reference.AsString result for Psalm 151 responses, handle Psalm 151 properly in verse metrics (d93c3ea)
  • MongoDB doesn't like ToLowerInvariant() in FilterDefinition anymore? (60e18cb)
  • (bg) Letter of Jeremiah incorrectly mapped to Baruch (55ee2b0)

🚜 Refactor

  • (metadata) Move source-specific functions to respective metadata provider classes (c672a7f)

13.0.0 - 2025-09-30

🚀 Features

  • Version aliases (5a06e86)
  • Starting work on verse reference metrics (c6143c8)
  • Add publisher to the verse reference metric class (aa4bb38)
  • [breaking] Verse reference metrics (aba00d6)

🐛 Bug Fixes

  • (autoserv) Accidental duplication for wait=true (def72d6)
  • (verses) Non-embed display styles not truncating text properly (b93499b)
  • (ab) Scenario where some translations fail from using a deprecated specifier for certain verse content (428f5df)
  • (verses) Remove use of quotation mark regex (8628b1d)
  • Add exception handling to HTTP cache client, reorganize backend models (f3d1000)
  • (commands) Handle exceptions from pulling blog posts in /biblebot (1ef87be)
  • Use new namespace for internal models (5428232)
  • Revert use of caching client for search responses (57aef70)
  • Apparently i shouldn't use column name attributes on navigation properties (0cd877a)

12.1.1 - 2025-08-19

🐛 Bug Fixes

  • (autoserv) Add wait query parameter to confirm Discord webhook reception (dd09b63)
  • (ab) Prevent descriptive title verses from being erroneously removed (46e5499)
  • (ab) NullReferenceException from assuming search response existence (a00f780)

🚜 Refactor

  • (ab) Add log when verse number element lacks sibling (2884600)

12.1.0 - 2025-07-31

🚀 Features

  • Process daily/random verses more normally (6f8d563)
  • Use new SpecialVerseProcessingService for autoserv (56f1d98)

🐛 Bug Fixes

  • (ab) Restore book name to normal after generating reference string (9d7ca87)
  • (ab) Address behavior where chapter number gets tagged onto verse number (82dabcd)
  • (ab) Bug where subsequent chapter number behavior was affecting references that don't span chapters (d0f2f96)
  • Accidentally'd the singletons (a7c5303)
  • Missed a spot in MT-to-LXX psalm reference handling (4c2094e)
  • (verses) Exception when truncating long text (32b5e73)
  • (parsing) Regression in comma parsing (7d176dd)

🚜 Refactor

  • Pass providers through dependency injection by a list, as opposed to individually (6e0fc8f)
  • Just show a count of removed preferences instead of logging each one (57e3d09)
  • Unify text normalization functions in one class (99a11a5)

12.0.0 - 2025-07-26

🚀 Features

  • Support common dash variants in references by normalizing them (1411463)
  • 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

11.1.0 - 2025-05-18

🚀 Features

  • Pull DB data on startup, use in MetadataFetchingService (42dc57d)
  • Use redis cache for DB information (1797042)

🐛 Bug Fixes

  • Parameters for MetadataFetchingService in AutoServ's startup sequence (8ba2ba1)
  • Don't use redis for version caching (6e980ac)
  • Versionservice construction (c3d451f)

🚜 Refactor

  • Fetch automatic daily verse reference before iterating through guilds (b0d4b68)
  • Remove unused variable (4f68c78)
  • Restore version cache prefetch (fb7e95c)

11.0.1 - 2025-05-17

🐛 Bug Fixes

  • Handle InformationCommandGroup calls properly (ce7ae05)
  • Return null if entry in DB doesn't truly exist (71bed44)
  • Force pull guilds for Automatic Daily Verses (36b058a)
  • Allow lowercase abbreviations for version references, refactor slightly (847bef1)
  • Server's display style in /formatting accidentally used user's display style (91bffb3)
  • Missing localizations (c2aea5d)
  • Optimize DB updating functions (8b83c05)
  • Avoid issues with guild enumerable in AutomaticDailyVerseService, handle non-JSON responses in JSON caching client (381a04f)
  • Add John to overlapping book names list (9944680)
  • Truncate verse titles when length exceeds limit (e12a05d)

🚜 Refactor

  • Optimize version search in reference (609d151)
  • Cache DB tables locally, fetch when necessary (8cb2d36)

11.0.0 - 2025-05-16

🚀 Features

  • Fetch section title data from API.Bible (04ca6cb)
  • [breaking] Use API.Bible data names as default internal names. (5c20755)
  • Add locale field to versions (9663575)

🐛 Bug Fixes

  • Use internal book information for finding preferred book name of an AB verse (1fab847)
  • Remove redundant fetch for internal book information (b81ede8)

10.0.0 - 2025-05-03

🚀 Features

  • Log when at various points of automatic daily verse sending (5071c32)
  • Store book names for API.Bible versions (f3e412b)
  • Store the source's internal name for a book in version data, rename some variables (4eb3f32)
  • Use stored API.Bible book names where applicable (e2413ca)
  • Pre-pad chapters in books in API.Bible versions (e1ffe38)
  • [breaking] Rename Version.ApiBibleId to Version.InternalId, add an Active flag to versions to be used later, import BG metadata on first run instead of always fetching on boot (d8a75c6)

🐛 Bug Fixes

  • Use GitInfo data for version number reporting (67db5d4)
  • Remove the stupid semicolon from the version number (c6e0eac)
  • Use GitInfo version in backend (3f1d0ea)
  • Add fallback for missing GitInfo (1b3198e)
  • Reference inconsistencies on verse output (a760594)
  • (frontend) Parse newlines from backend properly (06412d1)
  • (frontend) Make /booklist acronym parameter optional (cd33f03)
  • (bg) Check for null before trying to fix verse number (71f4e80)
  • [breaking] Rename Models.Verse to Models.VerseResult to avoid conflicts (6c09895)

🚜 Refactor

  • Remove redundant Linux check for watchdog (8be7ce9)
  • Begin reorganizing commands to reflect frontend structure (7d6a265)
  • Remove isISV check for NLT provider's PurifyText(), add test for NT book in OT-only version (e153024)
  • Remove unused configuration variables, clean up command controller (3796105)
  • Alias the various dictionaries used in metadata fetching for code readability (c7b7664)
  • Change how metadata dictionaries are aliased, restructure providers to allow for metadata providers (870ceec)

9.5.0 - 2025-03-22

🚀 Features

  • Support @everyone for setdailyverserole, add confirmation prompt when doing so (2214153)

🐛 Bug Fixes

  • Get the correct version information when running development versions (b95c347)

9.4.0 - 2025-03-05

🚀 Features

  • (verses) Implement NLT API provider (ac61ffb)
  • Register support for Polish (49b9166)

🐛 Bug Fixes

  • Add en-GB to /setlanguage options (3ca7a0e)
  • Resolve broken typecasting in MongoService.Search(), fetch book names from API.Bible versions we have (a4f1ddb)
  • (ab) Sometimes data-sid is not used for verse numbers (9aa7b8d)
  • Avoid errors because of duplicate versions in DB (c8b8fde)
  • Patch content error in Galatians 3:24 NLD1939 (75bd00a)
  • Patch previous patch (56a4163)

9.3.0 - 2025-02-23

🚀 Features

  • Automatically derive version using easybuild tooling (f155ee5)
  • Wire up frontend localizations, pass backend localizations to frontend where needed (5b6c989)

🐛 Bug Fixes

  • (backend) Parse in-reference versions properly (0f9d583)
  • (backend) Fix unnecessary page creation in /listversions (2ba83e7)
  • Handle unauthorized from API.Bible in NameFetchingService (fe8ed7d)
  • Missed a spot for 401 catching (a67d914)
  • I found why this watchdog thing isn't working (cf66539)
  • Ignore API.Bible for NameFetching until better solution can be found (22fe26c)
  • Sometimes python fstrings are unintuitive (713016a)
  • Ditto (912e915)
  • Return culture with staff-only command error (53dc87e)
  • Add missing fallbacks if culture is null (9e68842)
  • Missed a spot (dcb64a1)

🚜 Refactor

  • (backend) Make a function out of getting preferred versions (d7638d2)

📚 Documentation

  • Begin preparing CHANGELOG.md for 9.3.0 (9cbe8e7)
  • Update changelog for release (245d1cf)
  • Update changelog [ci skip] (2767998)
  • Change 9.3 release date to planned release [ci skip] (d26647b)
  • Fix some formatting [ci skip] (31df4a7)

7.0.0 - 2018-08-14