Segundo, uma expressão regular anteriormente correta que escapa um traço, agora é vista como incorreta. Então, onde \\- costumava funcionar antes da versão estável 3.1.0, agora causa um erro fatal.
Observe que alguns caracteres como :, -, @, etc. não têm um significado especial quando escapados nem quando não escapados. Sequências de escape como \\:, \\-, \\@ serão equivalentes aos seus equivalentes literais de caracteres não escapados em expressões regulares. No entanto, em expressões regulares com o flag unicode, isso causará um erro de identidade de escape inválida. Isso é feito para garantir a compatibilidade com versões anteriores de código existente que usa novas sequências de escape como \\p ou \\k.
mas seria bom se houvesse um manipulador de exceções aqui.
Estou atualmente investigando uma maneira de habilitar a validação de expressões regulares de JS do lado do Ruby. Espero ter uma correção pronta em breve.
Comecei a receber erro 500 em novas postagens desde uma atualização recente (semana passada). Também houve erros relacionados a e-mails (no sidekiq, estava relacionado a palavras monitoradas). Só notei isso hoje. Tentei executar uma atualização, mas o erro 500 ao postar ainda estava presente. A única solução alternativa que encontrei por enquanto é remover todas as palavras monitoradas.
Não consigo reproduzir sem mais informações. Você tem a configuração do site watched_words_regular_expressions habilitada? Você pode fazer o upload da sua lista de palavras observadas para que eu possa testar? Ou talvez verificar seus logs (https://seu-forum/logs) e postar aqui os stack traces relacionados às palavras observadas.