-
Вышел JUnit 5.6. Добавлены
any()
иnone()
, чтобы запускать тесты без каких-то дополнительных тэгов,ReflectionSupport.findNestedClasses()
может находить циклы в иерархии внутренних классов,TestExecutionSummary.Failure
можно сериализовывать, и все в таком духе. Интересно, что если раньше ошибки логировали и прятали, то теперь в явном виде выбрасывают в ходе сканирования тестов (но можно вернуть старое поведение, установив параметрjunit.platform.discovery.listener.default
). -
В Maven Central окончательно убрали незашифрованный доступ по http, теперь только https.
-
В Gradle 6.1.1 кэш зависимостей может копироваться и передаваться эфемерным агентам сборки для того, чтобы переиспользовать заранее загруженные файлы зависимостей. Эфемерный агент — это «запустил и выбросил».
-
Вышла IntelliJ IDEA 2020.1 EAP: Java 14, улучшения в плагине Git, и… в общем, зачем я это пишу, обновил и забыл.
-
Кроме того, JetBrains выбрасывают поддержку Microsoft Team Foundation Server (TFS) старых версий (до 2014 года включительно). Это не тот TFS, что современный Azure DevOps Server, а мрачное эхо прошлого. Довольно разврата! :-)
-
Вышли версии JMetro 11.6.5 и 8.6.5. JMetro это такая библиотека стилей для JavaFx. Добавили три новых стиля для контролов (табы с нижней линией, слайдер с выбором диапазона, более красивые ячейки в контролах, которые используют ячейки), ну и фиксы на уже существующие стили.
-
Вышла первая версия jlWebScraper — веб-скрейпера с простым API, кодингом на LUA и всей мощью Java. По сути, это очень простая полезняшка, использущая внутри jLuaScript.
-
Кстати, о jLuaScript! Это штука от того же автора, что и jlWebScraper, недавно вышла версия 1.2. Автор добросил немного документации и починил стектрейсы. В общем, никто не предлагает этим действительно пользоваться, но на всякий случай знать о наличии этой штуки полезно, потому что лицензия LGPL3, и в крайнем случае этим кодом можно вдохновляться.
-
iText объявил о выходе нового продукта под названием pdfRenderer, который может конвертировать PDF-ки в картинки. К сожалению, распространяется эта библиотека как аддон к iText с закрытыми исходниками. В опенсорсе у них только сам iText, pdfHTML, pdfSweep и RUPS. Кстати, самому iText в этом феврале исполнится двадцать лет!
-
Вышла вторая бета Jaybird — JDBC-драйвера для Firebird 4, который поддерживает новые типы данных и фичи из Firebird 4.
Java Language & Platform
-
Обновили JEP 371: Hidden Classes. Такая функциональность была давно, но она лежала в
Unsafe
, а этот JEP дает некое легальное API. -
Люди уже распробовали Panama и теперь пытаются делать с ней какие-то вещи. Буквально пару дней назад появился репозиторий Crosspoint с 35 коммитами, в котором автор пытается сделать простую высокоуровневую абстракцию для работы с Memory Access API. Кроме того, автор хочет попробовать впилить туда NVIDIA Management Library (NVML).
-
JetBrains прекращает поддержку JetBrains Runtime 8 и переходит на JBR11.
-
A Pure Reference Counting Garbage Collection in Java. Автор попытался на основе пейпера Бэкона написать немного джавного кода, результаты можно посмотреть у него в репозитории в тестах. Надо отметить, что по тому же пейперу сделан GC в Kotlin/Native.
Компании и сервисы
-
В только что вышедшем GitLab 12.7 добавили parent-child pipelines. Для всех пользователей (даже бесплатных) добавили бета-версию Windows Shared Runners — это такие виртуальные машины Windows, которые хостятся самим GitLab и позволяют делать продвинутые фичи вроде автоматического масштабирования, а внутри каждой виртуалки — куча всякого необходимого для сборки виндового софта.
-
Бывший ведущий разработчик Project Reactor перешёл в Netflix. Похоже, Reactor захватывает мир.
-
Создатель Jenkins Kohsuke Kawaguchi ушел из CloudBees и начал новый стартап — Launchable. Это некий сервис на основе машинного обучения, занимающийся test prediction, чтобы не гонять все тесты, если изменение их вообще не касается.
-
Confluent теперь предоставляют Kafka как сервис Google Cloud Platform прямо в их Marketplace. Напомним, что Google еще весной прошлого года обещал какое-то сотрудничество с какими-то опенсорсными клиентами, включая MongoDB, DataStax, and Confluent — теперь мы можем видеть результаты этого сотрудничества. Тем не менее, оплачивать Kafka нужно будет отдельно от остальных сервисов GCP.
-
Elastic зарелизили Elastic Cloud on Kubernetes. Это оператор для Kubernetes, расширяющий его возможности по установке и управлению Elasticsearch и Kibana.
Eclipse
-
Вышел Eclipse Vert.x 3.8.5. Релиз целиком про багфиксы, но нужно обратить внимание на пачку deprecated-методов.
-
Интересная статья в блоге Eclipse про организацию команд: «Organizing Your Eclipse Foundation Open Source Project Team». Eclipse Development Process — это штука довольно обобщенная, и он ничего не говорит, например, о том, как вам обустроить ежедневную рутину разработки. Но при этом у руководителей Eclipse есть верхнеуровневое понимание, как должны быть организованы команды и куда они должны двигаться, и вот об этом статья.
Spring
-
Вышел «Spring Integration 5.3 Milestone 1» — основа для будущего Spring Boot 2.3. Короткий список, чего нового произошло, — здесь.
-
Вышел Spring Boot 2.3.0.M1. Там есть layered jars для включения в докерный контейнер, есть End-to-end traceability for Configuration Properties. Появилась поддержка Cloud Native Buildpacks. Стоит прочитать Release Notes для этой версии Spring.
-
Cloud Native Buildpacks позволяет не писать докерфайл самостоятельно — зависимости попадут в него автоматически. Про это есть статья на Хабре и на Medium.
-
Кроме того, Phil Webb написал статью, резюмирующую, как в новых версиях Spring нужно работать с Docker.
-
Вышел стабильный багфикс-релиз «Sprin Cloud Data Flow 2.3.1», и следом за ним — майлстоун «Spring Cloud Data Flow 2.4.0 M1» (появился свой собственный верхнеуровневый pom, немного доделали редактор, сделали Maven Preemptive Authentication для того, чтобы работал Artifactory).
Подкасты, видео
-
Josh Long записал Bootiful Podacst с Michael Hunger, сумасшедшим ученым Neo4j, про графы, базы данных и связи.
-
Очередное видео TechShool — про реализацию серверного API на gRPC. Это уже одиннадцатый выпуск в серии про gRPC.
Статьи
-
«High performance at low cost – choose the best JVM and the best Garbage Collector for your needs» — разбор GC с графиками, Shenandoah/Z/G1 присутствуют.
-
«Parallel Collection Processing: Without Parallel Streams» констатирует, что параллельные стримы — отстой, и предлагает что-то сделать на эту тему.
-
«Isolates and Compressed References: More Flexible and Efficient Memory Management via GraalVM»
Автор: olegchir