volas
(Alexander V )
March 23, 2026, 12:18am
1
For some reason Discourse stopped sending new version emails, last one was about 3.5.0.beta2 one year ago. Never noticed it because i was subscribed for release_notes , but with new release scheme seems there is no more release notes on the meta forum too.
Setting is enabled:
contact_email is filled (btw searching for “contact_email” in admin settings sends you to “about” page with multiple fields, setting name filtering not works there):
New version exists:
But email newer sent, skipped, bounced, etc.
For context, there is suspended service user with the same email, but probably should not affect version emails.
2 Likes
Looks like the CallDiscourseHub job is broken. Or at least on my site (esr) it only fails.
Job exception: Unsupported command argument type: TrueClass
redis-client-0.26.1/lib/redis_client/command_builder.rb:37:in 'block in RedisClient::CommandBuilder#generate'
redis-client-0.26.1/lib/redis_client/command_builder.rb:28:in 'Array#map!'
redis-client-0.26.1/lib/redis_client/command_builder.rb:28:in 'RedisClient::CommandBuilder#generate'
redis-client-0.26.1/lib/redis_client.rb:351:in 'RedisClient#call_v'
redis-5.4.0/lib/redis/client.rb:90:in 'Redis::Client#call_v'
rack-mini-profiler-4.0.1/lib/mini_profiler/profiling_methods.rb:90:in 'block in Redis::Client#profile_method'
(eval at /var/www/discourse/lib/method_profiler.rb:38):5:in 'Redis::Client#call_v'
redis-5.4.0/lib/redis.rb:152:in 'block in Redis#send_command'
redis-5.4.0/lib/redis.rb:151:in 'Monitor#synchronize'
redis-5.4.0/lib/redis.rb:151:in 'Redis#send_command'
redis-5.4.0/lib/redis/commands/hashes.rb:51:in 'Redis::Commands::Hashes#hmset'
redis-5.4.0/lib/redis/commands/hashes.rb:66:in 'Redis::Commands::Hashes#mapped_hmset'
/var/www/discourse/lib/discourse_redis.rb:144:in 'Kernel#public_send'
/var/www/discourse/lib/discourse_redis.rb:144:in 'block (3 levels) in <class:DiscourseRedis>'
/var/www/discourse/lib/discourse_redis.rb:29:in 'DiscourseRedis.ignore_readonly'
/var/www/discourse/lib/discourse_redis.rb:144:in 'block (2 levels) in <class:DiscourseRedis>'
/var/www/discourse/lib/discourse_updates.rb:116:in 'block in DiscourseUpdates.missing_versions='
/var/www/discourse/lib/discourse_updates.rb:114:in 'Array#each'
/var/www/discourse/lib/discourse_updates.rb:114:in 'DiscourseUpdates.missing_versions='
/var/www/discourse/app/jobs/scheduled/call_discourse_hub.rb:19:in 'Jobs::CallDiscourseHub#execute'
/var/www/discourse/app/jobs/base.rb:318:in 'block (2 levels) in Jobs::Base#perform'
rails_multisite-7.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in 'RailsMultisite::ConnectionManagement::NullInstance#with_connection'
rails_multisite-7.0.0/lib/rails_multisite/connection_management.rb:17:in 'RailsMultisite::ConnectionManagement.with_connection'
/var/www/discourse/app/jobs/base.rb:305:in 'block in Jobs::Base#perform'
/var/www/discourse/app/jobs/base.rb:301:in 'Array#each'
/var/www/discourse/app/jobs/base.rb:301:in 'Jobs::Base#perform'
/var/www/discourse/app/jobs/base.rb:381:in 'Jobs::Scheduled#perform'
mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:137:in 'MiniScheduler::Manager::Runner#process_queue'
mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:77:in 'MiniScheduler::Manager::Runner#worker_loop'
mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:63:in 'block (2 levels) in MiniScheduler::Manager::Runner#ensure_worker_threads'
3 Likes
Ed_S
(Ed S)
March 23, 2026, 2:18pm
3
Me too, last email (from both my forums) in June last year.
Worth fixing!
2 Likes
david
(David Taylor)
March 23, 2026, 3:18pm
4
Thanks for the reports! Looks like this broke following an update to the redis gem back in March 2025
main ← version-mailer
merged 03:39PM - 23 Mar 26 UTC
Since our update to redis gem v5.x in March 2025, the CallDiscourseHub job has b… een raising an error because it fails to store `TrueClass`/`FalseClass` values which are returned from the API. This means that new-version emails were not sent.
We don't have any need to store the `critical: true|false` values, so this commit slices the response to only include the strings we need. It also adds a spec which would've caught the error.
3 Likes