Java Digest #2: Java 21 не LTS (поки що), Micronaut 4.0, Semantic Kernel for Java

Але пам’ятайте, що це стало можливим виключно завдяки ЗСУ і читати ви його зараз можете теж завдяки їм.
Тому швидесенько перед прочитанням пішли міняти долари та кидати гривні на допомогу нашим Захисникам.
☕ Java 21 — не LTS ... поки що
У попередньому дайджесті (який ви можете почитати тут) ми необережно назвали майбутній реліз 21 джави — LTS. За що нам одразу прилетіло в коментах.
Але чи були ми аж такі неправі і як є насправді давайте будемо розбиратись.
TL;DR — Java 21 не LTS. Але вона може стати такою ¯\_(ツ)_/¯
Денис Макогон формально дав вичерпну з юридичної точки зору відповідь у коментарях 👇
І можна було б розходитись, якби не реакція Oracle, адже ми були далеко не єдині, хто називав 21 джаву — LTS.
Nicolai Parlog оперативно випустив відео на цю тему:
В цьому місці розпочинається класичний твітер-срач, бо не останні люди в ком’юніті почали відповідати на це відео Nicolai:
І Gunnar Morling, і Dr. Kabutz посилаються на ось цей мейл-тред, в якому ніхто інший, як Mark Reinhold власною персоною називає Java 21 наступною LTS версією. ¯\_(ツ)_/¯
Позиція редакції дайджеста: eventually Java 21 отримає приставку LTS і ніхто не перестане її так називати, хай це не до кінця коректно з формально-юридичної точки зору (проте тут слід бути обережним — в Oracle першокласні юристи).
👾 Micronaut 4.0
Навздогін Spring Boot 3.1 Micronaut випускає чергову мажорну версію свого фреймворку — 4.0, з оновленнями можна ознайомитись тут.
Для себе ж відзначаємо першокласну підтримку GraalVM рантайму, expression language і (куди ж без них) підтримку virtual threads. Але ніхто не розповість про нові фічі мікронавта краще, ніж його батько-засновник Greame Rocher — читати твіттер-тред тут.
UPD. Поки ми писали цей дайджест, вийшов Micronaut 4.0.1 🙂
♨️ Spring Updates
Spring 6.1 презентує світу RestClient, який покликаний замінити RestTemplate, що вийшов далекі 14 років тому в Spring 3.0. Свого часу редакція цього дайджесту була дуже не задоволена можливостями і зручністю використання (наявних тоді) HTTP-клієнтів і коли Java 11 явила світу новий рідний клієнт, ми, недовго думаючи, написали свій зручний (нам) open-source врапер, з яким ви можете ознайомитись тут.
Цього місяця в екосистемі продуктів Spring відбулися оновлення:
- Spring Boot 3.1.2, Spring Boot 3.0.9 та Spring Boot 2.7.14 вже доступні. Основну частину змін становлять виправлення помилок та зміни в документації.
- Spring Framework 5.2.25.RELEASE, 5.3.29 та 6.0.11 вже доступні до використання. Основна увага, як і в усіх проміжних версіях, зосереджена на виправленні помилок і покращенні документації.
- Spring Web Flow нарешті додав підтримку Spring Framework 6 та Jakarta EE.
- Команда Spring Data випустила нові версії свого продукту. Оновлення включають багато змін до версій підпроєктів.
- Увага, це не навчальна тривога! Користувачі Spring HATEOAS у звʼязці з WebFlux, біжіть оновлюватися на останні версії. Вони містять виправлення для CVE-2023-34036 та виправлення регресії в генерації метаданих відображення AOT.
- Spring Cloud 2021.0.8 (aka Jubilee) розширив можливості Spring Cloud LoadBalancer, а також включає багато змін до повʼязаних з Spring Cloud підпроєктів.
- Реліз Spring for GraphQL 1.2.2 виправляє ряд помилок та змін в документації. Якщо ви стикнулися з проблемою отримання назви операції з тіла запита, то ваші молитви були почуті.
- Нові версії Spring Security включають виправлення для CVE-2023-34034 та CVE-2023-34035.
- Oh, boy! Команда Spring Data не байдикує. Крім випуску проміжних версій, описаних вище, вони випустили Spring Data 2023.1.0-M1. Підтримка Java 21, віртуальних потоків та багато іншого вже чекає на вас.
- Вже зовсім скоро ми побачимо релізну версію Spring 3.2.0. Під кінець місяця команда випустила Spring Boot 3.2.0-M1, яка включає багато нових цікавинок. Віртуальні потоки, новий RestClient, зміни в логуванні — все це вже доступно для перегляду.
- Spring Framework 6.1 отримав M2 та M3 версії. На додачу до нового RestClient, вони містять удосконалення анотації @Scheduled. Тепер ви можете вказувати, який TaskScheduler використовувати для кожної із задач.
- Spring Batch 5.1.0-M1, яка зʼявилася цього місяця, включає підтримку віртуальних потоків, нові синхронізовані декоратори та багато іншого.
- Також не сидить без діла команда, відповідальна за Spring Session. В цьому місяці вони випустили нову версію, що додає підтримку використання різних стратегій для створення ідентифікаторів сесії.
- Не відстає і команда Spring Integration. Spring Integration 6.2 Milestone 1 привносить новий модуль для Debezium, підтримку віртуальних потоків та покращень у Java DSL.
Чи хотіли ви коли-небудь побачити візуалізацію компонентів (Spring Beans) у вашому проєкті та їхні зв’язки? Якщо відповідь ствердна, то розроблений Juan Antonio Breña проєкт — це те, на що ви чекали.
🌩️ Java in Clouds
— Josh Long випустив статтю про написання «розумних» Spring-застосунків за допомогою Azure Open AI.
— Ви коли-небудь чули про Amazon DynamoDB local? Цей інструмент може бути доречним у процесі локальної розробки чи тестування, оскільки не вимагає доступу до AWS. Цього місяця вийшла нова версія, яка додає підтримку Spring Framework 6 та Micronaut Framework 4.
Примітка редакції дайджеста: якщо є потреба працювати не тільки з DynamoDB, ми рекомендуємо спробувати LocalStack, який також використовує цей інструмент для роботи з DynamoDB.
— Також на початку місяця стали доступні нові версії Spring Cloud Azure. Підтримка Spring Boot 3.1, новий «стартер» для Azure Event Grid та багато іншого було додано для поліпшення життя розробників.
— Стало краще. Microsoft представили значні вдосконалення Azure Spring Apps Enterprise, спрямовані на спрощення робочих процесів розробки та операцій для Java Spring.
🎮 Other news
- OpenJDK JDK 20.0.2 General-Availability Release вже доступний тут.
- 19 липня Bruno Borges презентував нову java open-source бібліотеку від Microsoft для роботи з AI — Sematic Kernel. Бібліотека дозволяє розробникам використовувати потужність AI при написанні коду на Java. Вона сумісна з Java 8 і новіше, що забезпечує гнучкість і доступність для широкого кола розробників Java.
- Scala Center оновив свій план роботи на Q3 та опублікував звіт про свою діяльність за Q2.
- Databricks в рамках роботи на Delta Lake project анонсували Delta Lake 3.0 з підтримкою «нового» (на базі Parquet, звісно ж) формату даних UniForm.
- В продовження теми BigData, LinkedIn представив світу свою платформу для менеджменту цих самих великих даних під назвою OpenHouse. Піти в open-source планують у 2024.
- Quarkus оголосив про випуск версії 3.2.0 (UPD. остання версія) з рядом нових функцій безпеки та не тільки. Найбільш значущою новиною є те, що ця версія отримала статус LTS.
- AWS додав підтримку Apache Spark з Java 17 для EMR on EKS.
- Хоч редакція дайджесту стримано-негативно ставиться до Kotlin, ось вам дві новини про нього:
1) вийшла версія 1.9.0 і оновився roadmap платформи в цілому;
2) JetBrains презентували Kotlin Notebook.
- Свою першу версію випустив Apache Pekko. Paul King в блог-пості робить порівняльний аналіз між акторами в Pekko і GPras.
- З 21 по 24 серпня буде проходити SpringOne.
- Відкрився CFP на DevoxxUA -> подавайте свої доповіді тут!
- А ще, вітаємо наших друзів з CofeeJUG з Днем Народження 🎉 і бажаємо багато крутих івентів в майбутньому!
🔗 На почитати (і на подивитись)
🔗 Чи здавалось вам, що в стримах чогось не вистачає? Ви не одні такі і є всі шанси, що стрим скоро отримає такі очікувані доповнення.
🔗 Дайджест був би не дайджестом, без нового відео від Billy Korando. Цього разу про JFR.
🔗 Микола-Богдан Винницький продовжує свою нерівну боротьбу з таймстампами.
🔗 Цікава стаття про підходи до health-check за допомогою Spring Cloud Gateway від Ignacio Lozano.
🔗 Victor Rentea виклав свої слайди з DevBcn 2023 про профілювання java-застосунків.
🔗 Jean-Christophe Sirot опублікував цікаву статтю, де виклав PoC для dagger.io.
🔗 Думаєте, як здешевити свій клаудний пейчек? Gradle ділиться власним досвідом.
🔗 Piotr Minkowski ділиться досвідом логування в Spring Boot за допомогою Loki.
🔗 Згадуваний вже сьогодні Gunnar Morling презентував SDK для побудови кастомних пайплайнів в Decodable.
🔗 Ionut Balosin провів цікавий аналіз енергоспоживання різних віртуальних машин JVM. Як і очікувалося, GraalVM native images показали найкращі результати.
🔗 І якщо Ви досі не підписані на н’юзлетер від swirl.ai, то ось вам непогана причина зробити це.
🤖 Off-top
ChatGPT, який мав замінити всіх і вся, раптово отупішав. Якщо ще в березні модель була здатна визначити чи є число простим у 488 випадках із 500, то вже у червні вчені отримали тільки 12 з 500 правильних відповідей. А це, на секундочку, 97,6% проти 2,4%. Чому так (spoiler alert: він ніколи і не був «розумним») можна прочитати тут.
Очікувано, OpenAI продовжує розвивати свій продукт і наступною великою фічою стають індивідуальні інструкції.
P.S.
Друзі, нам важлива Ваша думка! Поділіться в коментарях ідеями, як нам варто покращувати цей дайджест та які новини в ньому Вам цікаво читати?
Над дайджестом працювала команда Avenga:
4 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів