Стендап Сьогодні 📢 Канал в Telegram @stendap_sogodni

🤖🚫 AI-free content. This post is 100% written by a human, as is everything on my blog. Enjoy!

11.02.2024

Go 1.22

Вийшов тиждень тому Go 1.22. Для мене це чудова новина, бо цей реліз чекаю ще десь з початку осені. Не тому, що вона щось таке нове приносить, а через комбінацію обставин.

По-перше, все ж дещо нове зʼявилось у версії 1.21 - це структурне логування. Я б хотів уніфікувати все логування в проєкті навколо стандартної бібліотеки, включаючи надсилання помилок в Sentry. (Про все це напишу, як відбудеться.)

По-друге, в тій же ж 1.21 виправили цікаву помилку в розборі поштових повідомлень — а саме, повідомлень без змісту, а тільки з заголовками, що цілком дозволено стандартом. Стандарту тридцять років, а баги все виправляють. Причому оскільки бібліотека розповсюджується з Go, то я не знаю способу оновити її без переходу на нову версію компілятора та всього іншого.

Чому ж я досі не на 1.21? А там вилізла інша помилка, ще страшніша, бо сервіс геть вилітав з повідомленням fatal: morestack on g0. Довелося відкотитися на 1.20. Помилку виправили, але тільки для 1.22, а бекпорт для 1.21 так і не встиг вийти. Тож той код, якому потрібно було розбирати повідомлення без змісту, чекав на 1.22 - і нарешті дочекався.