{"id":360761,"date":"2024-05-21T00:59:43","date_gmt":"2024-05-21T00:59:43","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=360761"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=360761","title":{"rendered":"<span>\u042d\u0442\u0430 \u043d\u0435\u0434\u0435\u043b\u044f \u0432 \u043c\u0438\u0440\u0435 Java (21 \u043d\u043e\u044f\u0431\u0440\u044f)<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/655db6a872e08276d7ca4d7f\" data-style=\"\" id=\"655db6a872e08276d7ca4d7f\" width=\"\"><\/div>\n<h3>Javawatch<\/h3>\n<ul>\n<li>\n<p>\u0414\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438\u0441\u044c \u0434\u0435\u043b\u0430\u0442\u044c \u0441 <a href=\"https:\/\/t.me\/abashev\">\u0410\u0431\u0430\u0448\u0435\u0432\u044b\u043c<\/a> \u0432\u044b\u043f\u0443\u0441\u043a\u0438 <a href=\"https:\/\/t.me\/razborfeed\">&#171;\u041f\u043e\u043b\u0435\u0437\u043d\u044f\u0448\u0435\u043a \u043e\u0442 \u0420\u0430\u0437\u0431\u043e\u0440\u0430 \u041f\u043e\u043b\u0435\u0442\u043e\u0432&#187;<\/a> \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u043f\u043e\u0434\u043a\u0430\u0441\u0442\u0430 \u0438 \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442\u0430. \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u043c\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u2014 \u044d\u0442\u043e\u0442 \u0447\u0435\u0442\u0432\u0435\u0440\u0433. \u0411\u0443\u0434\u0435\u043c \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0432 \u043a\u0443\u0440\u0441\u0435<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438\u0441\u044c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043c\u0430\u0441\u0442\u0435\u0440-\u043a\u043b\u0430\u0441\u0441 \u043f\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u0434\u043b\u044f JUnit \u0441 \u0418\u043b\u044c\u0451\u0439 (\u0430\u0432\u0442\u043e\u0440 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432 <a href=\"https:\/\/t.me\/sreda_razrabotki\">tg:@sreda_razrabotki<\/a> \u0438 <a href=\"https:\/\/t.me\/kydavoiti\">tg:@kydavoiti<\/a>). \u0421 \u043c\u0435\u043d\u044f \u2014 \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0430 <a href=\"https:\/\/t.me\/failoverbar\">Failover Bar<\/a> \u0438 \u043e\u0431\u0437\u043e\u0440 \u043d\u0430 \u0425\u0430\u0431\u0440, \u0441 \u0418\u043b\u044c\u0438 \u2014 \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u043c\u0430\u0441\u0442\u0435\u0440-\u043a\u043b\u0430\u0441\u0441 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0435\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 &#171;\u0421\u0440\u0435\u0434\u0430 \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438&#187;. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 <a href=\"https:\/\/t.me\/sreda_razrabotki\">\u0432 \u0430\u043d\u043e\u043d\u0441\u0435 \u0432 \u0435\u0433\u043e Telegram-\u043a\u0430\u043d\u0430\u043b\u0435<\/a><\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434 <a href=\"https:\/\/highload.ru\/moscow\/2023\/schedule\">&#171;\u041a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f Java&#187;<\/a> \u043f\u0440\u043e\u0448\u0435\u043b \u0440\u0435\u0432\u044c\u044e \u0443 \u0413\u0440\u0438\u0448\u0438 \u041f\u0435\u0442\u0440\u043e\u0432\u0430 <a class=\"mention\" href=\"\/users\/grigoryvp\">@grigoryvp<\/a>p ) \u0438 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e <em>proposed to target<\/em> \u2794 <em>targeted<\/em>, HighLoad 2023, 28 \u043d\u043e\u044f\u0431\u0440\u044f \u0432 17:00 \u043d\u0430 \u0442\u0440\u0435\u043a\u0435 OpenSource<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0439\u0442\u0435\u0441\u044c \u043d\u0430 <a href=\"https:\/\/t.me\/javawatch\">@javawatch<\/a> \u0432 Telegram, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0438\u0448\u0442\u044f\u043a\u0438<\/p>\n<\/li>\n<\/ul>\n<h3>\u041d\u0430\u0448\u0438 \u043f\u043e\u0434\u043a\u0430\u0441\u0442\u044b<\/h3>\n<p>\u0418\u043b\u044c\u044f \u0421\u0442\u0430\u0440\u0447\u0435\u043d\u043a\u043e \u0438\u0437 <a href=\"https:\/\/t.me\/jvmchat\/580259\">pro.jvm<\/a> \u0437\u0430\u0441\u0432\u0435\u0442\u0438\u043b \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u043f\u043e\u0434\u043a\u0430\u0441\u0442 <a href=\"https:\/\/www.youtube.com\/watch?v=_76YUudrCVI\">\u043f\u0440\u043e Loom<\/a><\/p>\n<h3>\u042d\u0442\u0430 \u043d\u0435\u0434\u0435\u043b\u044f \u043d\u0430 \u0425\u0430\u0431\u0440\u0435<\/h3>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/774322\/\">\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u0433\u0440\u043e\u0432\u043e\u0433\u043e WebSocket \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430 Java, Netty \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 BattleRoyale\/Matchmaking<\/a> \/ <a class=\"mention\" href=\"\/users\/tfkfan\">@tfkfan<\/a><\/p>\n<ul>\n<li>\n<p>\u041c\u043e\u0449\u043d\u044b\u0439 \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b. \u0414\u0430\u0435\u0442 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0434\u0443\u043c\u0430\u0442\u044c \u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0435\u0435\u0440\u0430 \u0441 Java-\u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u043e\u0439<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u0440\u043e <a href=\"https:\/\/habr.com\/ru\/articles\/771630\/\">\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043a\u0438<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0421\u0435\u0440\u0438\u044f \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u043e\u0432 &#171;\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u043e\u0432 OpenApi \u0438\u043b\u0438 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0439 API first&#187; \/ <a class=\"mention\" href=\"\/users\/Saint_Cheshire\">@Saint_Cheshire<\/a><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/770528\/\">\u0413\u0430\u0439\u0434 \u043f\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 Spring Boot \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/774928\/\">oneOf, anyOf, allOf<\/a> <\/p>\n<ul>\n<li>\n<p>\u0421 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u043c: <em>&#171;\u0413\u043e\u0441\u043f\u043e\u0434\u0438, \u0441\u043f\u0430\u0441\u0438\u0431\u043e \u0442\u0435\u0431\u0435 \u0437\u0430 \u043f\u0440\u043e\u0442\u043e\u0431\u0430\u0444&#187;<\/em><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/774308\/\">\u0421\u043a\u0432\u043e\u0437\u044c \u0434\u0435\u0431\u0440\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0438\u043b\u0438 \u043a\u0430\u043a \u044f \u043f\u044b\u0442\u0430\u043b\u0441\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435<\/a> \/ <a class=\"mention\" href=\"\/users\/AlexUnderTheLulz\">@AlexUnderTheLulz<\/a>.<\/p>\n<ul>\n<li>\n<p>\u042d\u043c\u043e\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043e\u0449\u0443\u0449\u0430\u0435\u0442\u0441\u044f Andoird-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u0448\u043a\u0443\u0440\u0435 \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430, \u0441\u043e \u0441\u043a\u0440\u0438\u0448\u043e\u0442\u0430\u043c\u0438 \u0438 \u043f\u043e\u0441\u0442\u043c\u043e\u0440\u0442\u0435\u043c\u043e\u043c: <em>&#171;\u0418\u0442\u0430\u043a, \u043f\u0430\u0446\u0438\u0435\u043d\u0442 \u0441\u043a\u043e\u0440\u0435\u0435 \u0436\u0438\u0432, \u0447\u0435\u043c \u043c\u0451\u0440\u0442\u0432&#187;<\/em><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/774456\/\">\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 micrometer-\u043c\u0435\u0442\u0440\u0438\u043a \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043f\u043e SOAP<\/a> \/ <a class=\"mention\" href=\"\/users\/Kinski\">@Kinski<\/a><\/p>\n<ul>\n<li>\n<p>\u0410\u043a\u0442\u0443\u0430\u0442\u043e\u0440 \u0443\u0436\u0435 \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 http_client_requests \u0438 http_server_requests \u043f\u043e REST. \u041d\u043e \u0434\u043b\u044f SOAP \u044d\u0442\u043e \u043d\u0435 \u043f\u043e\u0434\u043e\u0439\u0434\u0435\u0442, \u0438 \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u043e\u0433\u043e\u0440\u043e\u0434 \u0434\u043b\u044f JAX-WS<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0414\u0432\u0435 \u043d\u0435\u043a\u0440\u043e\u0444\u0438\u043b\u044c\u0441\u043a\u0438\u0445 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u0440\u043e \u0444\u0438\u0447\u0438 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u0430 IDEA \/ <a class=\"mention\" href=\"\/users\/olegchir\">@olegchir<\/a><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/bar\/articles\/774494\/\">\u041f\u043e\u043b\u043d\u044b\u0439 \u0447\u0435\u043d\u0436\u043b\u043e\u0433 IDEA 2023.2<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/bar\/articles\/774504\/\">Java-\u0438\u043d\u0441\u043f\u0435\u043a\u0446\u0438\u0438 \u0432 IDEA 2023.2<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/productstar\/articles\/774508\/\">Spring \u0438 Hibernate \u043f\u0440\u043e\u0441\u0442\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438: \u043e\u0431\u0437\u043e\u0440 \u0434\u043b\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432<\/a> \/ <a class=\"mention\" href=\"\/users\/ProductStarMain\">@ProductStarMain<\/a><\/p>\n<ul>\n<li>\n<p>\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Spring, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 ORM, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Spring Boot \u0438 \u0435\u0433\u043e \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430. \u0412 \u043e\u0431\u0449\u0435\u043c, \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432\u044b\u0439 \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/bar\/articles\/773646\/\">\u0421\u0441\u044b\u043b\u043a\u0430<\/a> \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442 \u0432 \u0446\u0435\u043f\u043e\u0447\u043a\u0435<\/p>\n<\/li>\n<\/ul>\n<h3>\u041d\u043e\u0432\u043e\u0435 \u0432 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0435 OpenJDK \u0438 JEP-\u0430\u0445<\/h3>\n<ul>\n<li>\n<p><a href=\"https:\/\/openjdk.org\/projects\/jdk\/22\/\">\u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0442\u0430\u0439\u043c\u043b\u0430\u0439\u043d\u0443<\/a>, \u0434\u0432\u0438\u0436\u0435\u043c\u0441\u044f \u043a 7 \u0434\u0435\u043a\u0430\u0431\u0440\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0444\u0430\u0437\u0443 <a href=\"https:\/\/openjdk.org\/jeps\/3#rdp-1\">Rampdown Phase One<\/a>. \u042d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0444\u043e\u0440\u043a \u043e\u0442 \u043c\u0435\u0439\u043d\u043b\u0430\u0439\u043d\u0430 <a href=\"https:\/\/github.com\/openjdk\/jdk\">openjdk\/jdk<\/a>, \u0444\u0438\u043a\u0441\u0438\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043a\u0443\u0449\u0438\u0435 P1-P3 \u0431\u0430\u0433\u0438 (\u0438 targeted, \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0432\u0440\u0435\u043c\u044f). \u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0434\u0432\u0435 \u043d\u0435\u0434\u0435\u043b\u0438, \u0447\u0430\u0441\u0438\u043a\u0438 \u0442\u0438\u043a\u0430\u044e\u0442.<\/p>\n<\/li>\n<li>\n<p><strong>[amber]<\/strong> <a href=\"https:\/\/openjdk.org\/jeps\/459\"><strong>JEP 459: String Templates (Second Preview)<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>proposed to target<\/em> \u2794 <em>targeted<\/em>, JDK 22<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/mail.openjdk.org\/pipermail\/jdk-dev\/2023-November\/008445.html\">\u043f\u0440\u0443\u0444 \u0432 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0435<\/a><\/p>\n<\/li>\n<li>\n<p>\u042d\u0442\u0430 \u0444\u0438\u0447\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u0438\u043d\u0442\u0435\u0440\u043f\u043e\u043b\u044f\u0446\u0438\u044e \u0441\u0442\u0440\u043e\u043a \u043f\u0440\u044f\u043c\u043e \u0432 \u044f\u0437\u044b\u043a\u0435 Java, \u0431\u0435\u0437 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a:<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"java\">String name = \"Joan\"; String info = STR.\"My name is \\{name}\"; <\/code><\/pre>\n<\/li>\n<li>\n<p><strong>[amber]<\/strong> <a href=\"https:\/\/openjdk.org\/jeps\/463\"><strong>JEP 463: Implicitly Declared Classes and Instance Main Methods (Second Preview)<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>candidate<\/em> \u2794 <em>proposed to target<\/em>, JDK 22<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/mail.openjdk.org\/pipermail\/jdk-dev\/2023-November\/008448.html\">\u043f\u0440\u0443\u0444 \u0432 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0435<\/a><\/p>\n<\/li>\n<li>\n<p>\u0424\u0438\u0447\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043b\u0430\u0441\u0441\u0430 \u0432\u043e\u043a\u0440\u0443\u0433 main-\u043c\u0435\u0442\u043e\u0434\u0430, \u0447\u0442\u043e\u0431\u044b \u043d\u043e\u0432\u0438\u0447\u043a\u0430\u043c \u0431\u044b\u043b\u043e \u043f\u0440\u043e\u0449\u0435 \u0438\u0437\u0443\u0447\u0430\u0442\u044c \u044f\u0437\u044b\u043a, \u0430 \u0432\u0441\u0435\u043c \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c \u2014 \u043f\u0438\u0441\u0430\u0442\u044c \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u044b<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0441\u0431\u043e\u0440\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438: 28 \u043d\u043e\u044f\u0431\u0440\u044f<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>[core-libs]<\/strong> <a href=\"https:\/\/openjdk.org\/jeps\/457\"><strong>JEP 457, Class-File API (Preview)<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>candidate<\/em> \u2794 <em>proposed to target<\/em>, JDK 22<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/mail.openjdk.org\/pipermail\/jdk-dev\/2023-November\/008447.html\">\u043f\u0440\u0443\u0444 \u0432 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0435<\/a><\/p>\n<\/li>\n<li>\n<p>\u0424\u0438\u0447\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u0447\u0442\u043e \u0438 <a href=\"https:\/\/asm.ow2.io\/\">ASM<\/a>, \u043d\u043e \u0432 \u043a\u0440\u0430\u0439\u043d\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u043c \u0432\u0438\u0434\u0435, \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u043e\u043c \u0434\u043b\u044f \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u044f\u0434\u0440\u0430 JDK.<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0441\u0431\u043e\u0440\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438: 28 \u043d\u043e\u044f\u0431\u0440\u044f<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>[amber]<\/strong> <a href=\"https:\/\/openjdk.org\/jeps\/447\"><strong>JEP 447, Statements before super(&#8230;) (Preview)<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>candidate<\/em> \u2794 <em>proposed to target<\/em>, JDK 22<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/mail.openjdk.org\/pipermail\/jdk-dev\/2023-November\/008444.html\">\u043f\u0440\u0443\u0444 \u0432 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0435<\/a><\/p>\n<\/li>\n<li>\n<p>\u0424\u0438\u0447\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430\u0445 \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434, \u0434\u043e \u0432\u044b\u0437\u043e\u0432\u0430 <code>this()<\/code> \u0438 <code>super()<\/code> \u2014 \u043e\u043d \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u0441\u044b\u043b\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0438\u043d\u0441\u0442\u0430\u043d\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u044d\u0442\u043e\u043c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0435<\/p>\n<\/li>\n<li>\n<p>\u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u0434\u0435\u044f \u0438 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f <a href=\"https:\/\/cr.openjdk.org\/~gbierman\/jep447\/jep447-20230420\/specs\/statements-before-super-jls.html\">\u043b\u0435\u0436\u0438\u0442 \u0437\u0434\u0435\u0441\u044c<\/a><\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0441\u0431\u043e\u0440\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438: 22 \u043d\u043e\u044f\u0431\u0440\u044f<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>[hotspot]<\/strong> <a href=\"https:\/\/openjdk.org\/jeps\/423\"><strong>JEP 423, Region Pinning for G1<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>candidate<\/em> \u2794 <em>proposed to target<\/em>, JDK 22<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/mail.openjdk.org\/pipermail\/jdk-dev\/2023-November\/008450.html\">\u043f\u0440\u0443\u0444 \u0432 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0435<\/a><\/p>\n<\/li>\n<li>\n<p>\u0424\u0438\u0447\u0430 \u043f\u043e\u043d\u0438\u0436\u0430\u0435\u0442 \u043b\u0430\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u044c G1, \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u0438\u043d\u043d\u0438\u0433\u0430 \u0440\u0435\u0433\u0438\u043e\u043d\u043e\u0432. \u041c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0433\u0438\u043e\u043d\u044b \u0432 \u0445\u043e\u0434\u0435 major \u0438 minor \u0441\u0431\u043e\u0440\u043a\u0438. \u0410 \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0441\u0431\u043e\u0440\u043a\u0443, \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c <a href=\"https:\/\/shipilev.net\/jvm\/anatomy-quarks\/9-jni-critical-gclocker\/\">JNI critical regions<\/a> (\u043b\u044e\u0431\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u0430\u0439\u0442 \u0411\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0428\u044d \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430 \u043a \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u044e!)<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0441\u0431\u043e\u0440\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438: 28 \u043d\u043e\u044f\u0431\u0440\u044f<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>\u0422\u0443\u043b\u0438\u043d\u0433<\/h3>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/gradle\/gradle\/releases\/tag\/v8.5.0-RC3\"><strong>\u0422\u0440\u0435\u0442\u0438\u0439<\/strong><\/a><strong> \u0438 <\/strong><a href=\"https:\/\/github.com\/gradle\/gradle\/releases\/tag\/v8.5.0-RC2\"><strong>\u0432\u0442\u043e\u0440\u043e\u0439<\/strong><\/a><strong> \u0440\u0435\u043b\u0438\u0437-\u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442 Gradle<\/strong><\/p>\n<ul>\n<li>\n<p><em>Gradle \u2014 \u043e\u0434\u043d\u0430 \u0438\u0437 \u0434\u0432\u0443\u0445 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0441\u0431\u043e\u0440\u043a\u0438 \u0432 Java-\u043c\u0438\u0440\u0435 (\u0432\u0442\u043e\u0440\u0430\u044f \u2014 Maven)<\/em><\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u044f\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u043b\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 JDK 21<\/p>\n<\/li>\n<li>\n<p>\u0423\u0441\u043a\u043e\u0440\u0435\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u043f\u0440\u0438 <a href=\"https:\/\/docs.gradle.org\/8.5-rc-1\/release-notes.html#faster-first-use\">\u043f\u0435\u0440\u0432\u043e\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0435<\/a><\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 <a href=\"https:\/\/docs.gradle.org\/8.5-rc-1\/release-notes.html#catalog-precompiled\">version catalog<\/a> \u0432 \u043f\u0440\u0435\u0434\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u0430\u0445 \u043d\u0430 Kotlin<\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>JDKMon <\/strong><a href=\"https:\/\/github.com\/HanSolo\/JDKMon\/releases\/tag\/17.0.85\"><strong>17.0.85<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>JDKMon &#8212; \u044d\u0442\u043e \u0443\u0442\u0438\u043b\u0438\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442 \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0438 \u0434\u0436\u0430\u0432\u044b<\/em><\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 CVSS 4.0 (Common Vulnerability Scoring System) and NVD API 2.0 (National Vulnerability Database).<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>Spring<\/h3>\n<ul>\n<li>\n<p><strong>Spring Framework<\/strong><\/p>\n<ul>\n<li>\n<p><em>Spring \u2014 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0432 Java-\u043c\u0438\u0440\u0435<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/spring.io\/blog\/2023\/11\/16\/spring-framework-6-1-goes-ga\"><strong>Spring 6.1 GA<\/strong><\/a> <\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/spring-projects\/spring-framework\/releases\/tag\/v6.1.0\">What&#8217;s New<\/a>, <a href=\"https:\/\/github.com\/spring-projects\/spring-framework\/releases\/tag\/v6.1.0\">Release Notes<\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043d\u043e\u0432\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438 response body \u043a \u043d\u0443\u0436\u043d\u043e\u043c\u0443 \u0442\u0438\u043f\u0443, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440\u044b \u0438\u0437 <a href=\"https:\/\/docs.spring.io\/spring-framework\/docs\/current\/javadoc-api\/org\/springframework\/http\/client\/ClientHttpResponse.html\"><code>ClientHttpResponse<\/code><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044f \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043d\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0445 \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u0430\u0442\u0442\u0435\u0440\u043d-\u043c\u0430\u0442\u0447\u0438\u043d\u0433\u0430 \u043d\u0430 \u0438\u043c\u0435\u043d\u0430\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0432 <a href=\"https:\/\/docs.spring.io\/spring-framework\/docs\/current\/javadoc-api\/org\/springframework\/aop\/support\/ControlFlowPointcut.html\"><code>ControlFlowPointcut<\/code><\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"https:\/\/spring.io\/blog\/2023\/11\/16\/spring-framework-5-3-31-and-6-0-14-available-now\">Spring 6.0.14 \u0438 5.3.31<\/a>: \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u0431\u0430\u0433\u0444\u0438\u043a\u0441\u043e\u0432<\/p>\n<\/li>\n<li>\n<p><strong>\u0410\u0445\u0442\u0443\u043d\u0433. Spring Boot 2.7.18 \u0438 3.0.13 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u043c\u0438 \u0432 \u043e\u043f\u0435\u043d\u0441\u043e\u0440\u0441\u0435 \u0440\u0435\u043b\u0438\u0437\u0430\u043c\u0438 \u0434\u043b\u044f \u0432\u0435\u0442\u043e\u043a 2.7.x \u0438 3.0.x.<\/strong><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Spring Data<\/strong><\/p>\n<ul>\n<li>\n<p><em>Spring Data \u2014 \u0437\u043e\u043d\u0442\u0438\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u0437\u0430\u0434\u0430\u0447\u0435\u0439 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0434\u0430\u0442\u044c \u043f\u043e\u043d\u044f\u0442\u043d\u0443\u044e \u0438 &#171;\u043e\u0449\u0443\u0449\u0430\u044e\u0449\u0443\u044e\u0441\u044f \u043a\u0430\u043a \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 Spring&#187; \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u043b\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u0412\u043a\u043b\u044e\u0447\u0430\u044f \u0448\u0442\u0443\u043a\u0438 \u0442\u0438\u043f\u0430 \u0430\u0432\u0442\u043e\u0432\u0430\u0439\u0440\u044f\u0449\u0438\u0445\u0441\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432, \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u044b\u0445 \u043e\u0431\u0435\u0440\u0442\u043e\u043a \u043d\u0430\u0434 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438, \u0438 \u0430\u0443\u0434\u0438\u0442\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u043f\u0430\u0440\u0443 \u0441\u0442\u0440\u043e\u0447\u0435\u043a \u043a\u043e\u0434\u0430.<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/spring.io\/blog\/2023\/11\/17\/spring-data-2023-1-goes-ga\">Spring Data 2023.1.0<\/a>, aka &#171;Vaughn&#187; <\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/spring-projects\/spring-data-commons\/wiki\/Spring-Data-2023.1-%28Vaughan%29-Release-Notes\">Release notes<\/a><\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u044f\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 JDK 21<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 virual threads \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u044d\u043a\u0437\u0435\u043a\u0443\u0442\u043e\u0440\u0430 (\u043a\u0430\u043a \u0432\u0435\u0437\u0434\u0435 \u0432 Spring)<\/p>\n<\/li>\n<li>\n<p>\u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Kotlin <a href=\"https:\/\/kotlinlang.org\/docs\/inline-classes.html\">inline value classes<\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 CRaC (coordinated restoring and checkpointing)<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u043f\u043e \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044e Single Query Loading \u0434\u043b\u044f Spring Data JDBC<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u0430 \u043d\u0430 <a href=\"https:\/\/antora.org\/\">Antora<\/a>.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"https:\/\/spring.io\/blog\/2023\/11\/17\/spring-data-2023-0-6-2022-0-12-and-2021-2-18-available-now\">\u0412\u044b\u0448\u043b\u0438 \u043f\u043b\u0430\u043d\u043e\u0432\u044b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f<\/a> Spring Data: 2023.0.6, 2022.0.12 and 2021.2.18.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0448\u043b\u0430 \u0441\u0432\u0435\u0436\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f <\/strong><a href=\"https:\/\/github.com\/jhipster\/jhipster-lite\/releases\/tag\/v0.48.0\"><strong>JHipster Lite 0.48.0<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>JHipster Lite \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442, \u0432\u043a\u043b\u044e\u0447\u0438\u0432 \u0432 \u043d\u0435\u0433\u043e \u043d\u0435 \u0432\u0441\u044e Spring-\u043f\u043e\u043c\u043e\u0439\u043a\u0443, \u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0443\u0436\u043d\u043e\u0435. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0433\u0435\u043a\u0441\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u0443\u044e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443, \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0439 \u043a\u043e\u0434 \u0438 \u0431\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0443, \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043d\u0438\u0448\u0442\u044f\u043a\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u0447\u0438\u0441\u0442\u043e\u0442\u043e\u0439 \u043a\u043e\u0434\u0430.<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/jhipster\/jhipster-lite\/releases\/tag\/v0.48.0\">\u0427\u0435\u043d\u0436\u043b\u043e\u0433<\/a><\/p>\n<\/li>\n<li>\n<p>\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Java \u043f\u043e\u0434\u043d\u044f\u0442\u0430 \u0434\u043e 21<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043c\u043e\u0434\u0443\u043b\u044c \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f\u043c\u0438<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u0430\u0442\u0442\u0440\u0438\u0431\u0443\u0442\u044b <code>name<\/code> \u0438 <code>description<\/code> \u0432 <a href=\"https:\/\/github.com\/jhipster\/jhipster-lite\/blob\/main\/src\/main\/java\/tech\/jhipster\/lite\/BusinessContext.java\">@BusinessContext<\/a> \u0438 <a href=\"https:\/\/github.com\/jhipster\/jhipster-lite\/blob\/main\/src\/main\/java\/tech\/jhipster\/lite\/SharedKernel.java\">@SharedKernel<\/a>, \u0447\u0442\u043e\u0431\u044b \u0438\u043c\u0435\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0448\u043b\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <\/strong><a href=\"https:\/\/spring.io\/blog\/2023\/11\/20\/spring-security-6-2-goes-ga\"><strong>Spring Security 6.2<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>Spring Security \u2014 \u044d\u0442\u043e \u0433\u043b\u0430\u0432\u043d\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f &#171;\u0432\u0441\u0435\u0433\u043e \u043f\u0440\u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c&#187; \u0432 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0435 Spring<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.spring.io\/spring-security\/reference\/whats-new.html\">\u0427\u0435\u043d\u0436\u043b\u043e\u0433<\/a><\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u0435\u0441\u0442\u044c \u0431\u0438\u043d <code>CorsConfigurationSource<\/code>, \u0442\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 <code>.cors()<\/code> \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438. <a href=\"https:\/\/docs.spring.io\/spring-security\/reference\/servlet\/integrations\/cors.html\">\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043c\u0435\u0442\u043e\u0434 <code>AbstractConfiguredSecurityBuilder.with(\u2026\u200b)<\/code> \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0442\u043e\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u0431\u0438\u043b\u0434\u0435\u0440\u044b. <a href=\"https:\/\/docs.spring.io\/spring-security\/reference\/migration-7\/configuration.html#_use_with_instead_of_apply_for_custom_dsls\">\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0423\u043f\u0440\u043e\u0449\u0435\u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 OAuth 2 Client. <a href=\"https:\/\/spring.io\/blog\/2023\/08\/22\/tackling-the-oauth2-client-component-model-in-spring-security\/\">\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0441\u0435\u0440\u0432\u043b\u0435\u0442\u043d\u044b\u0439 \u043f\u0430\u0442\u0442\u0435\u0440\u043d \u0434\u043b\u044f AuthorizeHttpRequests. <a href=\"https:\/\/docs.spring.io\/spring-security\/reference\/servlet\/authorization\/authorize-http-requests.html#match-by-mvc\">\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/spring-projects\/spring-security\/pull\/12817\">\u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b<\/a> \u0441\u0442\u0430\u0442\u0443\u0441 \u043a\u043e\u0434\u044b \u0434\u043b\u044f \u0440\u0435\u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0432<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/spring-projects\/spring-security\/issues\/13988\">\u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d<\/a> \u043f\u0430\u0440\u0441\u0438\u043d\u0433 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 HTTP Basic<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/spring-projects\/spring-security\/issues\/7845\">\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d<\/a> OAuth 2.0\/OIDC Back-channel Logout. <a href=\"https:\/\/docs.spring.io\/spring-security\/reference\/reactive\/oauth2\/login\/logout.html#configure-provider-initiated-oidc-logout\">\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/spring-projects\/spring-security\/pull\/12532\">\u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d<\/a> Security Context Propagation<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0448\u043b\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <\/strong><a href=\"https:\/\/spring.io\/blog\/2023\/11\/21\/spring-for-apache-pulsar-1-0-0-goes-ga\"><strong>Spring for Apache Pulsar 1.0.0<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>Spring for Apache Pulsar (\u0438\u043b\u0438 \u0438\u043d\u0430\u0447\u0435 \u2014 spring-pulsar) \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0438\u0434\u0435\u0439 Spring \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043a messaging-\u0440\u0435\u0448\u0435\u043d\u0438\u044f\u043c \u043d\u0430 \u0431\u0430\u0437\u0435 <\/em><a href=\"https:\/\/pulsar.apache.org\/\"><em>Apache Pulsar<\/em><\/a><em>. Pulsar \u2014 \u044d\u0442\u043e \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438e \u0434\u043b\u044f cloud-native \u043c\u0435\u0441\u0441\u0430\u0434\u0436\u0438\u043d\u0433\u0430 \u0438 \u0441\u0442\u0440\u0438\u043c\u0438\u043d\u0433\u0430 \u0434\u0430\u043d\u043d\u044b\u0445.<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/spring-projects\/spring-pulsar\/releases\/tag\/v1.0.0\">\u0427\u0435\u043d\u0436\u043b\u043e\u0433<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>\u0412\u0435\u0431-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0438<\/h3>\n<ul>\n<li>\n<p><strong>\u0412\u044b\u0448\u0435\u043b \u0441\u0432\u0435\u0436\u0438\u0439 \u0437\u043e\u043d\u0442\u0438\u043a \u0440\u0435\u043b\u0438\u0437\u043e\u0432 <\/strong><a href=\"https:\/\/blog.payara.fish\/whats-new-in-the-nov-2023-payara-platform-release\"><strong>Payara Platform \/ November 2023<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>Payara \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0434\u043b\u044f Jakarta EE \/ Java EE<\/em><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0439 Spring Initializr, <a href=\"https:\/\/start.payara.fish\/\">Payara Starter<\/a><\/p>\n<\/li>\n<li>\n<p>\u0412 \u0437\u043e\u043d\u0442\u0438\u043a\u0435 \u0437\u0430\u044f\u0432\u043b\u0435\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u043b\u0438\u0437\u043e\u0432 <\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/docs.payara.fish\/community\/docs\/Release%20Notes\/Release%20Notes%206.2023.11.html\">Community Edition 6.2023.11<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.payara.fish\/enterprise\/docs\/Release%20Notes\/Release%20Notes%206.8.0.html\">Enterprise Edition 6.8.0<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.payara.fish\/enterprise\/docs\/5.57.0\/Release%20Notes\/Release%20Notes%205.57.0.html\">Enterprise Edition 5.57.0<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2023-41699\">CVE-2023-41699<\/a> <\/p>\n<ul>\n<li>\n<p>\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0442\u0438\u043f\u0430 Open Redirect: \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043d\u0435\u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0439 \u0441\u0430\u0439\u0442<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Maven Bundle Plugin \u0434\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d \u0434\u043e \u0432\u0435\u0440\u0441\u0438\u0438 5.1.9<\/p>\n<\/li>\n<li>\n<p>\u0423 \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>start-domain<\/code> \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0444\u043b\u0430\u0433 <code>--warmup<\/code>. \u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f post-boot \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439. \u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0435\u0441\u043b\u0438 \u043d\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0438 \u043d\u0443\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u0434\u043e\u043c\u0435\u043d \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d, \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440.<\/p>\n<\/li>\n<li>\n<p>\u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u0442\u0430\u0440\u0442\u0430-\u0441\u0442\u043e\u043f\u0430-\u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0448\u0435\u043b <\/strong><a href=\"https:\/\/openliberty.io\/blog\/2023\/11\/14\/23.0.0.11.html\"><strong>Open Liberty 23.0.0.11<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>Open Liberty \u2014 \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u044b\u0439 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f cloud-native \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0441\u0442\u0435\u043a\u0430 MicroProfile<\/em><\/p>\n<\/li>\n<li>\n<p>\u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043d\u043e\u0432\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0434\u043b\u044f <a href=\"https:\/\/github.com\/eclipse\/microprofile-metrics\/blob\/main\/README.adoc\">MicroProfile Metrics<\/a> 5.0, 4.0 \u0438 3.0. \u0418\u0445 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0432 \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u044b \u0440\u0430\u0437\u043d\u044b\u0445 \u0443\u0442\u0438\u043b\u0438\u0442, \u0438 \u044d\u0442\u043e \u043d\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 (\u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d\u0438 \u043e\u0431\u0449\u0438\u0435): <\/p>\n<ul>\n<li>\n<p>Process CPU Utilization Percent<\/p>\n<\/li>\n<li>\n<p>Heap Utilization Percent<\/p>\n<\/li>\n<li>\n<p>GC Time per Cycle<\/p>\n<\/li>\n<li>\n<p>Connection Pool in Use Time per Used Connection<\/p>\n<\/li>\n<li>\n<p>Connection Pool Wait Time per Queued Request<\/p>\n<\/li>\n<li>\n<p>Servlet Elapsed Time per Request<\/p>\n<\/li>\n<li>\n<p>REST Elapsed Time per Request<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0412 <code>server.xml<\/code> \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0438\u043d\u043a\u043b\u0443\u0434\u0438\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u043f\u043e-\u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432\u043e\u043e\u0431\u0449\u0435 \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0443 <code>include<\/code><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0447\u0438\u043d\u0438\u043b\u0438 <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2023-46158\">CVE-2023-46158<\/a>. \u042d\u0442\u043e \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 IBM WebSphere Application Server Liberty \u0432\u0435\u0440\u0441\u0438\u0439 23.0.0.9-23.0.0.10, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0434\u0435\u0433\u0440\u0430\u0434\u0430\u0446\u0438\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0438\u0437-\u0437\u0430 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0440\u043e\u0442\u0443\u0445\u0430\u043d\u0438\u0435\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0448\u0435\u043b <\/strong><a href=\"https:\/\/micronaut.io\/2023\/11\/17\/micronaut-framework-4-2-0-released\/\"><strong>Micronaut Framework 4.2.0<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>Micronaut \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u044b\u0445 \u043d\u0435\u043a\u0441\u0442\u0433\u0435\u043d-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 GraalVM Native Image<\/em><\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0438\u043b\u0438 <a href=\"https:\/\/github.com\/micronaut-projects\/micronaut-core\/releases\/tag\/v4.2.0\">Micronaut Core<\/a> <\/p>\n<ul>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0438\u043b\u0438 <a href=\"https:\/\/docs.micronaut.io\/latest\/guide\/#ksp\">Kotlin Symbol Processing<\/a><\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043d\u043e\u0432\u0438\u043b\u0438 Kotlin \u0434\u043e 1.9.20<\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043d\u043e\u0432\u0438\u043b\u0438 Netty \u0434\u043e 4.1.101<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>JDK 21 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432 \u0441\u043f\u0438\u0441\u043e\u043a <a href=\"https:\/\/micronaut.io\/launch\">Micronaut Launch<\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 <a href=\"https:\/\/docs.gradle.org\/current\/userguide\/kotlin_dsl.html\">Gradle with Kotlin DSL<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0448\u0435\u043b <\/strong><a href=\"https:\/\/grails.org\/blog\/2023-11-14-introducing-grails-6_1_0.html\"><strong>Grails Framework 6.1.0<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>\u0421\u0442\u0430\u0440\u044b\u0439, \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0439 \u0432 \u0431\u043e\u044e \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 Groovy \u0438 Spring Boot<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/grails\/grails-core\/releases\/tag\/v6.1.0\">\u0427\u0435\u043d\u0436\u043b\u043e\u0433<\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0447\u0438\u043d\u0438\u043b\u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c <a href=\"https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2022-1471\">CVE-2022-1471<\/a> <\/p>\n<ul>\n<li>\n<p>\u041f\u043e\u0447\u0438\u043d\u0438\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0434\u043e SnakeYAML 2.2<\/p>\n<\/li>\n<li>\n<p>\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u043b\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0434 \u043d\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435, \u043f\u0440\u0438 \u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e  SnakeYAML <code>Constructor()<\/code><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u041e\u0442\u0440\u043a\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043b\u0438 \u0441\u0432\u044f\u0437\u044c \u0441 Sitemesh Plugin, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043c\u0435\u0448\u0430\u0442\u044c \u0432\u0441\u0435 \u0432 \u043e\u0434\u043d\u0443 \u043a\u0443\u0447\u0443<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0448\u0435\u043b <\/strong><a href=\"https:\/\/quarkus.io\/blog\/quarkus-3-5-2-released\/\"><strong>Quarkus 3.5.2<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>Quarkus \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u044b\u0445 \u043d\u0435\u043a\u0441\u0442\u0433\u0435\u043d-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 GraalVM Native Image<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/quarkusio\/quarkus\/releases\/tag\/3.5.2\">\u0427\u0435\u043d\u0436\u043b\u043e\u0433<\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0447\u0438\u043d\u0438\u043b\u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2023-21971\">CVE-2023-21971<\/a> <\/p>\n<ul>\n<li>\n<p>\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u043b\u0430 \u0441\u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440\u044b MySQL. \u042d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f DDoS \u0438\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0432\u0435\u0434\u0435\u043d \u0437\u0430\u0431\u0430\u0432\u043d\u044b\u0439 Windows-\u043d\u0435\u043d\u0430\u0432\u0438\u0441\u0442\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433 \u0432 \u0442\u0435\u0441\u0442\u0430\u0445: \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f Windows \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u043b\u0438 \u0434\u0432\u0430 \u0442\u0435\u0441\u0442\u0430, <a href=\"https:\/\/github.com\/quarkusio\/quarkus\/blob\/main\/extensions\/vertx-http\/deployment\/src\/test\/java\/io\/quarkus\/vertx\/http\/http2\/Http2RSTFloodProtectionTest.java\">Http2RSTFloodProtectionTest<\/a> \u0438 <a href=\"https:\/\/github.com\/quarkusio\/quarkus\/blob\/main\/integration-tests\/gradle\/src\/test\/java\/io\/quarkus\/gradle\/CustomManifestArgumentsTest.java\">CustomManifestArgumentsTest<\/a>, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d\u0438 \u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u0442\u0440\u0438\u043c\u043e\u0432 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f. \u0422\u0430\u043c \u0436\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u043b\u0438 \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044e JUnit <code>@TempDir<\/code> \u0432 \u043a\u043b\u0430\u0441\u0441\u0435 <a href=\"https:\/\/github.com\/quarkusio\/quarkus\/blob\/main\/extensions\/resteasy-reactive\/rest-client-reactive\/runtime\/src\/test\/java\/io\/quarkus\/rest\/client\/reactive\/runtime\/RestClientCDIDelegateBuilderTest.java\">RestClientCDIDelegateBuilderTest<\/a>, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044d\u0442\u043e \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043f\u043b\u043e\u0445\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 CI\/CD. \u0412\u0438\u043d\u043e\u0432\u0430\u0442\u0430 \u043b\u0438 \u0432\u0438\u043d\u0434\u0430 \u0438\u043b\u0438 \u0440\u0443\u043a\u0438 \u2014 \u0432\u043e\u043f\u0440\u043e\u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \ud83d\ude42<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0421\u0432\u044f\u0437\u0430\u043d\u043d\u0430\u044f \u0441 Quarkus \u043d\u043e\u0432\u043e\u0441\u0442\u044c: \u0432\u044b\u0448\u0435\u043b <\/strong><a href=\"https:\/\/www.jobrunr.io\/\"><strong>JobRunr 6.3.3<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>JobRunr \u2014 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0444\u043e\u043d\u043e\u0432\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u0430\u044f \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0430\u044f \u043f\u0435\u0440\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u0430\u043d\u043d\u044b\u0445<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/jobrunr\/jobrunr\/releases\/tag\/v6.3.3\">\u0427\u0435\u043d\u0436\u043b\u043e\u0433<\/a><\/p>\n<\/li>\n<li>\n<p>\u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0434\u043b\u044f build time \u0438 runtime \u0432 Quarkus<\/p>\n<\/li>\n<li>\n<p>\u0418\u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0445 \u0438\u043c\u0435\u043d. \u0420\u0430\u043d\u044c\u0448\u0435, \u0432\u043c\u0435\u0441\u0442\u043e \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043c\u0435\u043d\u0438, \u0432 Quarkus \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u044b, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u044b\u0435 \u0447\u0435\u0440\u0435\u0437 <code>ClientProxy<\/code>. \u0418\u0437-\u0437\u0430 \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u043b\u0438\u0441\u044c \u0431\u0438\u043d\u044b. \u0422\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044e\u0442\u0441\u044f.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0448\u0435\u043b Apache Tomcat \u0432\u0435\u0440\u0441\u0438\u0439 <\/strong><a href=\"https:\/\/www.mail-archive.com\/announce@apache.org\/msg08674.html\"><strong>11.0.0-M14<\/strong><\/a><strong>, <\/strong><a href=\"https:\/\/www.mail-archive.com\/announce@apache.org\/msg08672.html\"><strong>10.1.16<\/strong><\/a><strong>, <\/strong><a href=\"https:\/\/www.mail-archive.com\/announce@apache.org\/msg08673.html\"><strong>9.0.83<\/strong><\/a><strong>, <\/strong><a href=\"https:\/\/www.mail-archive.com\/announce@apache.org\/msg08671.html\"><strong>8.5.96<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>Apache Tomcat \u2014 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0439 \u0432 \u043c\u0438\u0440\u0435 \u0441\u0435\u0440\u0432\u043b\u0435\u0442-\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432 \u0432 \u043c\u0438\u0440\u0435, \u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043a\u0430\u043a \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440<\/em><\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430, \u0447\u0442\u043e <code>IOException<\/code> \u043f\u0440\u0438 \u0447\u0442\u0435\u043d\u0438\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432\u0441\u0435\u0433\u0434\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043e\u0448\u0438\u0431\u043e\u043a, \u0432\u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u043e\u0433\u043e, \u0445\u043e\u0447\u0435\u0442 \u043b\u0438 \u043f\u0440\u0438\u0448\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u043e\u0448\u0438\u0431\u043a\u0443<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0447\u0438\u043d\u0438\u043b\u0438 <a href=\"https:\/\/tomcat.apache.org\/connectors-doc\/\">Tomcat Connector<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u0441\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b \u043a \u043f\u0430\u0434\u0435\u043d\u0438\u044e JVM \u043f\u0440\u0438 \u0440\u0435\u043b\u043e\u0430\u0434\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 TLS \u0447\u0435\u0440\u0435\u0437 <a href=\"https:\/\/tomcat.apache.org\/tomcat-11.0-doc\/api\/org\/apache\/catalina\/security\/TLSCertificateReloadListener.html\">TLSCertificateReloadListener<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/tomcat.apache.org\/tomcat-11.0-doc\/api\/org\/apache\/catalina\/manager\/StatusManagerServlet.html\">StatusManagerServlet<\/a> \u043d\u0430\u0443\u0447\u0438\u043b\u0438 \u043e\u0442\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u0432 JSON<\/p>\n<\/li>\n<li>\n<p>\u0412\u0435\u0440\u0441\u0438\u044e 11.0.0-M14 \u043d\u0430\u0443\u0447\u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c  <a href=\"https:\/\/openjdk.org\/jeps\/454\">Foreign Function &amp; Memory API<\/a> \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0442\u0430\u0440\u043e\u0433\u043e Tomcat Native. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 OpenSSL \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u0430 <a href=\"https:\/\/tomcat.apache.org\/tomcat-11.0-doc\/api\/org\/apache\/catalina\/core\/OpenSSLLifecycleListener.html\">OpenSSLLifecycleListener<\/a> \u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 <a href=\"https:\/\/tomcat.apache.org\/tomcat-11.0-doc\/api\/org\/apache\/catalina\/Server.html\">Server<\/a>. \u0418 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u044d\u0442\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 Java 22 \u0438 \u0441\u0442\u0430\u0440\u0448\u0435.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0448\u043b\u0430 <\/strong><a href=\"https:\/\/twitter.com\/OmniFishEE\/status\/1724047932242964983\"><strong>Mojarra 4.0.5<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>Mojarra \u2014 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 <\/em><a href=\"https:\/\/jakarta.ee\/specifications\/faces\/\"><em>Jakarta Faces<\/em><\/a><em>. Mojarra 3.0 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u043b\u0435\u0433\u0430\u0441\u0438, 4.0 \u2014 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439, 5.0 \u2014 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/eclipse-ee4j\/mojarra\/releases\/tag\/4.0.5-RELEASE\">\u0427\u0435\u043d\u0436\u043b\u043e\u0433<\/a><\/p>\n<\/li>\n<li>\n<p>\u041e\u0442\u043c\u0435\u043d\u0438\u043b\u0438 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433: \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u043b\u0438 \u043f\u0435\u0440\u0435-\u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e <a href=\"https:\/\/weld.cdi-spec.org\/\">Weld<\/a> \u0438\u0437 \u043a\u043b\u0430\u0441\u0441\u0430 <a href=\"https:\/\/github.com\/eclipse-ee4j\/mojarra\/blob\/master\/impl\/src\/main\/java\/com\/sun\/faces\/config\/ConfigureListener.java\">ConfigureListener<\/a> \u043d\u0430\u0437\u0430\u0434 \u0432 \u0440\u043e\u0434\u043d\u043e\u0439 <a href=\"https:\/\/github.com\/eclipse-ee4j\/mojarra\/blob\/master\/impl\/src\/main\/java\/com\/sun\/faces\/config\/FacesInitializer.java\">FacesInitializer<\/a> \u0438\u0437-\u0437\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u043d\u0435\u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0435\u0439 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044f <code>jakarta.faces.WEBAPP_CONTRACTS_DIRECTORY<\/code>, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u0430\u043a <code>WEBAPP_CONTRACTS_DIRECTORY_PARAM_NAME<\/code> \u0432 \u043a\u043b\u0430\u0441\u0441\u0435 <a href=\"https:\/\/jakarta.ee\/specifications\/faces\/4.0\/apidocs\/jakarta\/faces\/application\/resourcehandler\">ResourceHandler<\/a><\/p>\n<\/li>\n<li>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u0447\u0438\u043d\u0438\u0442\u044c <code>UnsupportedOperationException<\/code> \u0432 <code>getExceptionHandler()<\/code> (\u0432\u043d\u0443\u0442\u0440\u0438 <code>InitFacesContext<\/code>) \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 <a href=\"https:\/\/github.com\/eclipse-ee4j\/mojarra\/blob\/master\/jakarta.faces-api\/src\/main\/java\/jakarta\/faces\/context\/ExceptionHandler.java\">ExceptionHandler<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0448\u043b\u0430 <\/strong><a href=\"https:\/\/github.com\/piranhacloud\/piranha\/releases\/tag\/v23.11.0\"><strong>Piranha 23.11.0<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>Piranha \u2014 \u043d\u0430\u0431\u043e\u0440 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0440\u0430\u0441\u043f\u0438\u043b\u0438\u0442\u044c Jakarta \u043d\u0430 \u043a\u0443\u0441\u043a\u0438 \u0438 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0432 \u043a\u043e\u043d\u0442\u0435\u043d\u0435\u0440 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0443\u0436\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u0430 \u043d\u0435 \u0432\u0441\u044e Jakarta-\u043f\u043e\u043c\u043e\u0439\u043a\u0443, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0443\u044e \u0438\u0437 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0439 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439. \u042d\u0442\u0438\u043c \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u043c\u0435\u0440 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430, \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u043c\u0430\u044f \u0438\u043c \u043f\u0430\u043c\u044f\u0442\u044c \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/piranhacloud\/piranha\/releases\/tag\/v23.11.0\">\u0427\u0435\u043d\u0436\u043b\u043e\u0433<\/a><\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Coordinated Restore at Checkpoint (CRaC) \u0432 Piranha Core Profile<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0438 \u043d\u0430 GitHub \u043f\u043e\u0443\u0434\u0430\u043b\u044f\u043b\u0438 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0442\u0438\u043f\u0430: Maintainability, Lines of Code, Code Coverage, Code Smells. <em>\u0417\u0430\u0447\u0435\u043c \u0431\u044b \u044d\u0442\u043e?<\/em><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0448\u0435\u043b <\/strong><a href=\"https:\/\/vertx.io\/blog\/eclipse-vert-x-4-5-0\/\"><strong>Eclipse Vert.x 4.5.0<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>Eclipse Vert.x \u2014 \u0442\u0443\u043b\u043a\u0438\u0442 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0445, \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0438 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0445, \u0440\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0434\u043b\u044f JVM<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/vert-x3\/wiki\/wiki\/4.5.0-Release-Notes\">\u0427\u0435\u043d\u0436\u043b\u043e\u0433<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/vert-x3\/wiki\/wiki\/4.5.0-Deprecations-and-breaking-changes\">\u0423\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0435 \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u0435 API<\/a><\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u044f\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 JDK 21 \u0438 Virtual Threads<\/p>\n<\/li>\n<li>\n<p>\u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 <a href=\"https:\/\/vertx.io\/docs\/vertx-pg-client\/java\/#_dynamic_connection_configuration\">\u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 SQL-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439<\/a><\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 <a href=\"https:\/\/vertx.io\/docs\/vertx-core\/java\/#_updating_ssltls_configuration\">\u0440\u043e\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c SSL-\u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b<\/a><\/p>\n<\/li>\n<li>\n<p>HTTP-\u043a\u043b\u0438\u0435\u043d\u0442\u044b \u0438 \u043f\u0443\u043b\u044b SQL-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u0442\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u043f\u0430\u0442\u0442\u0435\u0440\u043d Builder<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0448\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f Project Reactor<\/strong><\/p>\n<ul>\n<li>\n<p><em>Project Reactor \u2014 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u043a\u0430 \u0434\u043b\u044f \u0440\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 Reactive Streams, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u0435\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f JVM<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/reactor\/reactor\/releases\/tag\/2023.0.0\">Project Reactor 2023.0.0<\/a>, <a href=\"https:\/\/github.com\/reactor\/reactor\/compare\/2023.0.0-RC1...2023.0.0\">\u0447\u0435\u043d\u0436\u043b\u043e\u0433<\/a>. \u0412 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c, \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/reactor\/reactor\/releases\/tag\/2023.0.13\">Project Reactor 2023.0.13<\/a>, <a href=\"https:\/\/github.com\/reactor\/reactor\/compare\/2022.0.12...2022.0.13\">\u0447\u0435\u043d\u0436\u043b\u043e\u0433<\/a>. \u0412 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c, \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h4>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/h4>\n<ul>\n<li>\n<p><strong>\u041e\u0431\u043d\u043e\u0432\u0438\u043b\u0438\u0441\u044c <\/strong><a href=\"https:\/\/github.com\/testcontainers\/testcontainers-java\/releases\/tag\/1.19.2\"><strong>Testcontainers for Java 1.19.2<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>Testcontainers for Java \u2014 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f JUnit, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u044b \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445, \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u0432 \u0434\u043b\u044f Selenium \u0438 \u0432\u0441\u0435\u0433\u043e \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e, \u0447\u0442\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0432 Docker \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0432 \u0446\u0435\u043b\u044f\u0445 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/em><\/p>\n<\/li>\n<li>\n<p>\u0414\u043b\u044f native-image \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b <code>--enable-http<\/code> \u0438 <code>--enable-https<\/code> \u0434\u043b\u044f <code>HttpWaitStrategy<\/code><\/p>\n<\/li>\n<li>\n<p>\u041d\u043e\u0432\u044b\u0439 shutdown hook \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 <code>SIGTERM<\/code> \u0432 <a href=\"https:\/\/github.com\/testcontainers\/moby-ryuk\/blob\/main\/README.md\">Moby Ryuk<\/a> \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u0440\u0443\u0431\u0430\u0442\u044c\u0441\u044f \u0440\u0430\u043d\u044c\u0448\u0435 \u0437\u043d\u0430\u0435\u043d\u0438\u044f \u0432 10 \u0441\u0435\u043a\u0443\u043d\u0434 \u043f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Elasticsearch \u0432 \u0432\u0438\u0434\u0435 \u043e\u0431\u0440\u0430\u0437\u0430 \u0441 DockerHub<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0448\u0435\u043b Arquillian 1.8.0.Final<\/strong><\/p>\n<ul>\n<li>\n<p><em>Arquillian \u2014 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Java-\u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432<\/em><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0447\u0438\u043d\u0438\u043b\u0438 \u0443\u0442\u0435\u0447\u043a\u0443 \u0432 <a href=\"https:\/\/github.com\/arquillian\/arquillian-core\/blob\/master\/container\/test-impl-base\/src\/main\/java\/org\/jboss\/arquillian\/container\/test\/impl\/RemoteExtensionLoader.java\"><code> RemoteExtensionLoader<\/code><\/a><\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043d\u043e\u0432\u0438\u043b\u0438 Jetty 8.1.2 -> 9.4.51, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0444\u0438\u043a\u0441\u0438\u0442\u044c \u043d\u0435\u0434\u0430\u0432\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>\u0420\u0430\u0437\u043d\u043e\u0435<\/h2>\n<ul>\n<li>\n<p><strong>\u0412\u044b\u0448\u0435\u043b <\/strong><a href=\"https:\/\/www.mail-archive.com\/announce@apache.org\/msg08670.html\"><strong>Apache Camel 4.2.0<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>Apache Camel \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u0442\u0430\u0440\u0435\u0439\u0448\u0438\u0445 \u0438 \u0436\u0438\u0440\u043d\u0435\u0439\u0448\u0438\u0445 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432 \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0432\u0441\u0435\u0433\u043e \u0441\u043e \u0432\u0441\u0435\u043c<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/camel.apache.org\/releases\/release-4.2.0\/\">\u0427\u0435\u043d\u0436\u043b\u043e\u0433<\/a>. \u041a\u0443\u0447\u0430 \u0444\u0438\u043a\u0441\u043e\u0432, \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0438 \u043f\u0440\u043e\u0447\u0430\u044f \u0431\u0430\u043d\u0430\u043b\u044c\u0449\u0438\u043d\u0430<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 OAuth 2.0, \u0447\u0435\u0440\u0435\u0437 <a href=\"https:\/\/camel.apache.org\/components\/4.0.x\/http-component.html\">Camel HTTP<\/a><\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0430\u0432\u0442\u043e\u0432\u0430\u0439\u0440\u0438\u043d\u0433\u0430 Spring \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u0438 <code>@Primary<\/code>, \u0447\u0435\u0440\u0435\u0437 <a href=\"https:\/\/camel.apache.org\/components\/4.0.x\/spring-summary.html\">Camel Spring<\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u0438 \u0432 Micrometer \u0441\u0442\u0430\u0440\u044b\u0435 \u0438\u043c\u0435\u043d\u0430, \u0438\u043b\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u043d\u043e\u0432\u044b\u0435 \u043a\u043e\u043d\u0432\u0435\u043d\u0446\u0438\u0438, \u0447\u0435\u0440\u0435\u0437 <a href=\"https:\/\/camel.apache.org\/components\/4.0.x\/micrometer-component.html\">Camel Micrometer<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0448\u043b\u0438 \u0440\u0435\u043b\u0438\u0437\u044b <\/strong><a href=\"https:\/\/github.com\/micrometer-metrics\/micrometer\/blob\/main\/README.md\"><strong>Micrometer Metrics<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>Micrometer \u2014 \u0444\u0430\u0441\u0430\u0434 \u0434\u043b\u044f \u043e\u0431\u0441\u0435\u0440\u0432\u0430\u0431\u0438\u043b\u0438\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 \u044d\u0442\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438<\/em><\/p>\n<\/li>\n<li>\n<p>Micrometer Metrics <a href=\"https:\/\/github.com\/micrometer-metrics\/micrometer\/releases\/tag\/v1.12.0\">1.12.0<\/a>, <a href=\"https:\/\/github.com\/micrometer-metrics\/micrometer\/releases\/tag\/v1.11.6\">version 1.11.6<\/a>, <a href=\"https:\/\/github.com\/micrometer-metrics\/micrometer\/releases\/tag\/v1.10.13\">version 1.10.13<\/a>, <a href=\"https:\/\/github.com\/micrometer-metrics\/micrometer\/releases\/tag\/v1.9.17\">version 1.9.17<\/a> <\/p>\n<ul>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Generational ZGC \u0434\u043b\u044f Jetty 12 \u0432 \u043a\u043b\u0430\u0441\u0441\u0435 <a href=\"https:\/\/github.com\/micrometer-metrics\/micrometer\/blob\/main\/micrometer-core\/src\/main\/java\/io\/micrometer\/core\/instrument\/binder\/jetty\/JettyConnectionMetrics.java\">JettyConnectionMetrics<\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043d\u043e\u0432\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 <a href=\"https:\/\/github.com\/micrometer-metrics\/micrometer\/blob\/main\/micrometer-jakarta9\/src\/main\/java\/io\/micrometer\/jakarta9\/instrument\/jms\/JmsInstrumentation.java\">JmsInstrumentation<\/a> \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u0441\u0435\u0440\u0432\u0430\u0431\u0438\u043b\u0438\u0442\u0438 \u043f\u043e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 <a href=\"https:\/\/jakarta.ee\/specifications\/messaging\/\">Jakarta Messaging<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Micrometer Metrics <a href=\"https:\/\/github.com\/micrometer-metrics\/tracing\/releases\/tag\/v1.2.0\">version 1.2.0<\/a>, <a href=\"https:\/\/github.com\/micrometer-metrics\/tracing\/releases\/tag\/v1.1.7\">version 1.1.7<\/a>, <a href=\"https:\/\/github.com\/micrometer-metrics\/tracing\/releases\/tag\/v1.0.12\">version 1.0.12<\/a> <\/p>\n<ul>\n<li>\n<p>\u041a\u043b\u0430\u0441\u0441 <a href=\"https:\/\/github.com\/micrometer-metrics\/tracing\/blob\/main\/micrometer-tracing\/src\/main\/java\/io\/micrometer\/tracing\/annotation\/SpanTagAnnotationHandler.java\">SpanTagAnnotationHandler<\/a> \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u043c, \u0447\u0442\u043e\u0431\u044b \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430\u043c \u0443\u0434\u043e\u0431\u043d\u043e \u0431\u044b\u043b\u043e \u044d\u0442\u043e \u0441\u043e\u0447\u0435\u0442\u0430\u0442\u044c \u0441 <a href=\"https:\/\/github.com\/micrometer-metrics\/micrometer\/blob\/main\/micrometer-core\/src\/main\/java\/io\/micrometer\/core\/aop\/TimedAspect.java\">TimedAspect<\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043d\u043e\u0432\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 <code>getDuration()<\/code> \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 <a href=\"https:\/\/github.com\/micrometer-metrics\/tracing\/blob\/main\/micrometer-tracing\/src\/main\/java\/io\/micrometer\/tracing\/exporter\/FinishedSpan.java\">FinishedSpan<\/a><\/p>\n<\/li>\n<li>\n<p>\u0410\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438 HTTP-\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u044b \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u043c\u0438 \u0438 \u0441\u0442\u0430\u043b\u0438 \u043f\u0435\u0440\u0432\u044b\u043c\u0438 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u0430\u043c\u0438 \u043d\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435. \u041f\u0440\u0438\u043d\u044f\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0439 \u043f\u043e\u0432\u0435\u0440\u0445 \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u043e\u0432, \u0432\u043e \u0432\u0441\u0435\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>\u041e\u0447\u0443\u043c\u0435\u043b\u044b\u0435 \u0440\u0443\u0447\u043a\u0438<\/h2>\n<ul>\n<li>\n<p><strong>\u0412\u044b\u0448\u043b\u0430 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Penna 0.7.1<\/strong> <\/p>\n<ul>\n<li>\n<p><em>Penna \u2014 \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u044b\u0439 \u0438 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 JSON-\u043b\u043e\u0433\u0433\u0435\u0440 \u0434\u043b\u044f JVM \u0441 \u0444\u0430\u0441\u0430\u0434\u043e\u043c slf4j, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0438\u0448\u0435\u0442 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u043b\u043e\u0433\u0438 \u0432 stdout<\/em><\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u044f\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Virtual Threads \u0438 JDK 21<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/hkupty.github.io\/penna\/blog\/0.7.1-thread-safety\/\">\u0411\u043b\u043e\u0433\u043f\u043e\u0441\u0442<\/a> \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0430\u0432\u0442\u043e\u0440 \u043c\u0443\u0447\u0438\u043b\u0441\u044f \u0441 Virtual Threads<\/p>\n<\/li>\n<li>\n<p>GitHub <\/p>\n<ul>\n<li>\n<p>\u0410\u0434\u0440\u0435\u0441: <a href=\"https:\/\/github.com\/hkupty\/penna\">https:\/\/github.com\/hkupty\/penna<\/a><\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u043c\u043c\u0438\u0442\u043e\u0432: 380<\/p>\n<\/li>\n<li>\n<p>\u0417\u0432\u0435\u0437\u0434: 22<\/p>\n<\/li>\n<li>\n<p>\u0424\u043e\u0440\u043a\u043e\u0432: 2<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<hr\/>\n<blockquote>\n<p>\u041a\u0441\u0442\u0430\u0442\u0438, \u0432 \u0420\u043e\u0441\u0441\u0438\u0438 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0439 \u0434\u0438\u0441\u0442\u0440\u0438\u0443\u0431\u0442\u0438\u0432 Java: <a href=\"https:\/\/axiomjdk.ru\/\">Axiom JDK<\/a>. \u041d\u0435\u0434\u0430\u0432\u043d\u043e \u0432\u044b\u0448\u043b\u0430 \u0441\u0432\u0435\u0436\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Axiom JDK \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 Java 21. \u0415\u0441\u043b\u0438 \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 AxiomJDK, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u043d\u0435\u0439 \u0441\u0432\u0435\u0436\u0438\u0439 Spring \u0438 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u0435\u0441\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c\u0438!<\/p>\n<\/blockquote>\n<blockquote>\n<p>\u041f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0439\u0442\u0435\u0441\u044c \u043d\u0430 \u0434\u0432\u0430 \u043c\u043e\u0438\u0445 Telegram-\u043a\u0430\u043d\u0430\u043b\u0430:<br \/> \u21db <a href=\"https:\/\/t.me\/javawatch\">Javawatch<\/a>. \u0410\u043d\u043e\u043d\u0441\u044b \u043f\u043e Java: \u043d\u043e\u0432\u043e\u0441\u0442\u0438, \u043c\u0438\u0442\u0430\u043f\u044b.<br \/> \u21db <a href=\"https:\/\/t.me\/olegations\">\u041e\u0442\u043a\u0440\u043e\u0432\u0435\u043d\u0438\u044f \u043e\u0442 \u041e\u043b\u0435\u0433\u0430<\/a>. \u041b\u0438\u0447\u043d\u044b\u0439 \u043a\u0430\u043d\u0430\u043b + \u0447\u0430\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u0435\u0437 \u0446\u0435\u043d\u0437\u0443\u0440\u044b, \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u0442\u044c \u0440\u0435\u0431\u044f\u0442 \u0442\u0438\u043f\u0430 \u0411\u0430\u0440\u0443\u0445\u0430 \u0438 \u0432\u0441\u0451 \u044d\u0442\u043e \u043e\u0431\u0441\u0443\u0434\u0438\u0442\u044c.<\/p>\n<\/blockquote>\n<blockquote>\n<p>\u21db <a href=\"https:\/\/oleg.guru\/javawatch\/2023-11-21-java-digest\">\u0410\u0440\u0445\u0438\u0432\u043d\u044b\u0439 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0430 oleg.guru<\/a>.<\/p>\n<\/blockquote>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/775308\/\"> https:\/\/habr.com\/ru\/articles\/775308\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/655db6a872e08276d7ca4d7f\" data-style=\"\" id=\"655db6a872e08276d7ca4d7f\" width=\"\"><\/div>\n<h3>Javawatch<\/h3>\n<ul>\n<li>\n<p>\u0414\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438\u0441\u044c \u0434\u0435\u043b\u0430\u0442\u044c \u0441 <a href=\"https:\/\/t.me\/abashev\">\u0410\u0431\u0430\u0448\u0435\u0432\u044b\u043c<\/a> \u0432\u044b\u043f\u0443\u0441\u043a\u0438 <a href=\"https:\/\/t.me\/razborfeed\">&#171;\u041f\u043e\u043b\u0435\u0437\u043d\u044f\u0448\u0435\u043a \u043e\u0442 \u0420\u0430\u0437\u0431\u043e\u0440\u0430 \u041f\u043e\u043b\u0435\u0442\u043e\u0432&#187;<\/a> \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u043f\u043e\u0434\u043a\u0430\u0441\u0442\u0430 \u0438 \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442\u0430. \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u043c\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u2014 \u044d\u0442\u043e\u0442 \u0447\u0435\u0442\u0432\u0435\u0440\u0433. \u0411\u0443\u0434\u0435\u043c \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0432 \u043a\u0443\u0440\u0441\u0435<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438\u0441\u044c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043c\u0430\u0441\u0442\u0435\u0440-\u043a\u043b\u0430\u0441\u0441 \u043f\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u0434\u043b\u044f JUnit \u0441 \u0418\u043b\u044c\u0451\u0439 (\u0430\u0432\u0442\u043e\u0440 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432 <a href=\"https:\/\/t.me\/sreda_razrabotki\">tg:@sreda_razrabotki<\/a> \u0438 <a href=\"https:\/\/t.me\/kydavoiti\">tg:@kydavoiti<\/a>). \u0421 \u043c\u0435\u043d\u044f \u2014 \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0430 <a href=\"https:\/\/t.me\/failoverbar\">Failover Bar<\/a> \u0438 \u043e\u0431\u0437\u043e\u0440 \u043d\u0430 \u0425\u0430\u0431\u0440, \u0441 \u0418\u043b\u044c\u0438 \u2014 \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u043c\u0430\u0441\u0442\u0435\u0440-\u043a\u043b\u0430\u0441\u0441 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0435\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 &#171;\u0421\u0440\u0435\u0434\u0430 \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438&#187;. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 <a href=\"https:\/\/t.me\/sreda_razrabotki\">\u0432 \u0430\u043d\u043e\u043d\u0441\u0435 \u0432 \u0435\u0433\u043e Telegram-\u043a\u0430\u043d\u0430\u043b\u0435<\/a><\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434 <a href=\"https:\/\/highload.ru\/moscow\/2023\/schedule\">&#171;\u041a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f Java&#187;<\/a> \u043f\u0440\u043e\u0448\u0435\u043b \u0440\u0435\u0432\u044c\u044e \u0443 \u0413\u0440\u0438\u0448\u0438 \u041f\u0435\u0442\u0440\u043e\u0432\u0430 <a class=\"mention\" href=\"\/users\/grigoryvp\">@grigoryvp<\/a>p ) \u0438 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e <em>proposed to target<\/em> \u2794 <em>targeted<\/em>, HighLoad 2023, 28 \u043d\u043e\u044f\u0431\u0440\u044f \u0432 17:00 \u043d\u0430 \u0442\u0440\u0435\u043a\u0435 OpenSource<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0439\u0442\u0435\u0441\u044c \u043d\u0430 <a href=\"https:\/\/t.me\/javawatch\">@javawatch<\/a> \u0432 Telegram, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0438\u0448\u0442\u044f\u043a\u0438<\/p>\n<\/li>\n<\/ul>\n<h3>\u041d\u0430\u0448\u0438 \u043f\u043e\u0434\u043a\u0430\u0441\u0442\u044b<\/h3>\n<p>\u0418\u043b\u044c\u044f \u0421\u0442\u0430\u0440\u0447\u0435\u043d\u043a\u043e \u0438\u0437 <a href=\"https:\/\/t.me\/jvmchat\/580259\">pro.jvm<\/a> \u0437\u0430\u0441\u0432\u0435\u0442\u0438\u043b \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u043f\u043e\u0434\u043a\u0430\u0441\u0442 <a href=\"https:\/\/www.youtube.com\/watch?v=_76YUudrCVI\">\u043f\u0440\u043e Loom<\/a><\/p>\n<h3>\u042d\u0442\u0430 \u043d\u0435\u0434\u0435\u043b\u044f \u043d\u0430 \u0425\u0430\u0431\u0440\u0435<\/h3>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/774322\/\">\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u0433\u0440\u043e\u0432\u043e\u0433\u043e WebSocket \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430 Java, Netty \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 BattleRoyale\/Matchmaking<\/a> \/ <a class=\"mention\" href=\"\/users\/tfkfan\">@tfkfan<\/a><\/p>\n<ul>\n<li>\n<p>\u041c\u043e\u0449\u043d\u044b\u0439 \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b. \u0414\u0430\u0435\u0442 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0434\u0443\u043c\u0430\u0442\u044c \u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0435\u0435\u0440\u0430 \u0441 Java-\u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u043e\u0439<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u0440\u043e <a href=\"https:\/\/habr.com\/ru\/articles\/771630\/\">\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043a\u0438<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0421\u0435\u0440\u0438\u044f \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u043e\u0432 &#171;\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u043e\u0432 OpenApi \u0438\u043b\u0438 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0439 API first&#187; \/ <a class=\"mention\" href=\"\/users\/Saint_Cheshire\">@Saint_Cheshire<\/a><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/770528\/\">\u0413\u0430\u0439\u0434 \u043f\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 Spring Boot \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/774928\/\">oneOf, anyOf, allOf<\/a> <\/p>\n<ul>\n<li>\n<p>\u0421 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u043c: <em>&#171;\u0413\u043e\u0441\u043f\u043e\u0434\u0438, \u0441\u043f\u0430\u0441\u0438\u0431\u043e \u0442\u0435\u0431\u0435 \u0437\u0430 \u043f\u0440\u043e\u0442\u043e\u0431\u0430\u0444&#187;<\/em><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/774308\/\">\u0421\u043a\u0432\u043e\u0437\u044c \u0434\u0435\u0431\u0440\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0438\u043b\u0438 \u043a\u0430\u043a \u044f \u043f\u044b\u0442\u0430\u043b\u0441\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435<\/a> \/ <a class=\"mention\" href=\"\/users\/AlexUnderTheLulz\">@AlexUnderTheLulz<\/a>.<\/p>\n<ul>\n<li>\n<p>\u042d\u043c\u043e\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043e\u0449\u0443\u0449\u0430\u0435\u0442\u0441\u044f Andoird-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u0448\u043a\u0443\u0440\u0435 \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430, \u0441\u043e \u0441\u043a\u0440\u0438\u0448\u043e\u0442\u0430\u043c\u0438 \u0438 \u043f\u043e\u0441\u0442\u043c\u043e\u0440\u0442\u0435\u043c\u043e\u043c: <em>&#171;\u0418\u0442\u0430\u043a, \u043f\u0430\u0446\u0438\u0435\u043d\u0442 \u0441\u043a\u043e\u0440\u0435\u0435 \u0436\u0438\u0432, \u0447\u0435\u043c \u043c\u0451\u0440\u0442\u0432&#187;<\/em><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/774456\/\">\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 micrometer-\u043c\u0435\u0442\u0440\u0438\u043a \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043f\u043e SOAP<\/a> \/ <a class=\"mention\" href=\"\/users\/Kinski\">@Kinski<\/a><\/p>\n<ul>\n<li>\n<p>\u0410\u043a\u0442\u0443\u0430\u0442\u043e\u0440 \u0443\u0436\u0435 \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 http_client_requests \u0438 http_server_requests \u043f\u043e REST. \u041d\u043e \u0434\u043b\u044f SOAP \u044d\u0442\u043e \u043d\u0435 \u043f\u043e\u0434\u043e\u0439\u0434\u0435\u0442, \u0438 \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u043e\u0433\u043e\u0440\u043e\u0434 \u0434\u043b\u044f JAX-WS<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0414\u0432\u0435 \u043d\u0435\u043a\u0440\u043e\u0444\u0438\u043b\u044c\u0441\u043a\u0438\u0445 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u0440\u043e \u0444\u0438\u0447\u0438 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u0430 IDEA \/ <a class=\"mention\" href=\"\/users\/olegchir\">@olegchir<\/a><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/bar\/articles\/774494\/\">\u041f\u043e\u043b\u043d\u044b\u0439 \u0447\u0435\u043d\u0436\u043b\u043e\u0433 IDEA 2023.2<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/bar\/articles\/774504\/\">Java-\u0438\u043d\u0441\u043f\u0435\u043a\u0446\u0438\u0438 \u0432 IDEA 2023.2<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/productstar\/articles\/774508\/\">Spring \u0438 Hibernate \u043f\u0440\u043e\u0441\u0442\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438: \u043e\u0431\u0437\u043e\u0440 \u0434\u043b\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432<\/a> \/ <a class=\"mention\" href=\"\/users\/ProductStarMain\">@ProductStarMain<\/a><\/p>\n<ul>\n<li>\n<p>\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Spring, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 ORM, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Spring Boot \u0438 \u0435\u0433\u043e \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430. \u0412 \u043e\u0431\u0449\u0435\u043c, \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432\u044b\u0439 \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/bar\/articles\/773646\/\">\u0421\u0441\u044b\u043b\u043a\u0430<\/a> \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0434\u0430\u0439\u0434\u0436\u0435\u0441\u0442 \u0432 \u0446\u0435\u043f\u043e\u0447\u043a\u0435<\/p>\n<\/li>\n<\/ul>\n<h3>\u041d\u043e\u0432\u043e\u0435 \u0432 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0435 OpenJDK \u0438 JEP-\u0430\u0445<\/h3>\n<ul>\n<li>\n<p><a href=\"https:\/\/openjdk.org\/projects\/jdk\/22\/\">\u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0442\u0430\u0439\u043c\u043b\u0430\u0439\u043d\u0443<\/a>, \u0434\u0432\u0438\u0436\u0435\u043c\u0441\u044f \u043a 7 \u0434\u0435\u043a\u0430\u0431\u0440\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0444\u0430\u0437\u0443 <a href=\"https:\/\/openjdk.org\/jeps\/3#rdp-1\">Rampdown Phase One<\/a>. \u042d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0444\u043e\u0440\u043a \u043e\u0442 \u043c\u0435\u0439\u043d\u043b\u0430\u0439\u043d\u0430 <a href=\"https:\/\/github.com\/openjdk\/jdk\">openjdk\/jdk<\/a>, \u0444\u0438\u043a\u0441\u0438\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043a\u0443\u0449\u0438\u0435 P1-P3 \u0431\u0430\u0433\u0438 (\u0438 targeted, \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0432\u0440\u0435\u043c\u044f). \u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0434\u0432\u0435 \u043d\u0435\u0434\u0435\u043b\u0438, \u0447\u0430\u0441\u0438\u043a\u0438 \u0442\u0438\u043a\u0430\u044e\u0442.<\/p>\n<\/li>\n<li>\n<p><strong>[amber]<\/strong> <a href=\"https:\/\/openjdk.org\/jeps\/459\"><strong>JEP 459: String Templates (Second Preview)<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>proposed to target<\/em> \u2794 <em>targeted<\/em>, JDK 22<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/mail.openjdk.org\/pipermail\/jdk-dev\/2023-November\/008445.html\">\u043f\u0440\u0443\u0444 \u0432 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0435<\/a><\/p>\n<\/li>\n<li>\n<p>\u042d\u0442\u0430 \u0444\u0438\u0447\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u0438\u043d\u0442\u0435\u0440\u043f\u043e\u043b\u044f\u0446\u0438\u044e \u0441\u0442\u0440\u043e\u043a \u043f\u0440\u044f\u043c\u043e \u0432 \u044f\u0437\u044b\u043a\u0435 Java, \u0431\u0435\u0437 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a:<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"java\">String name = \"Joan\"; String info = STR.\"My name is \\{name}\"; <\/code><\/pre>\n<\/li>\n<li>\n<p><strong>[amber]<\/strong> <a href=\"https:\/\/openjdk.org\/jeps\/463\"><strong>JEP 463: Implicitly Declared Classes and Instance Main Methods (Second Preview)<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>candidate<\/em> \u2794 <em>proposed to target<\/em>, JDK 22<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/mail.openjdk.org\/pipermail\/jdk-dev\/2023-November\/008448.html\">\u043f\u0440\u0443\u0444 \u0432 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0435<\/a><\/p>\n<\/li>\n<li>\n<p>\u0424\u0438\u0447\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043b\u0430\u0441\u0441\u0430 \u0432\u043e\u043a\u0440\u0443\u0433 main-\u043c\u0435\u0442\u043e\u0434\u0430, \u0447\u0442\u043e\u0431\u044b \u043d\u043e\u0432\u0438\u0447\u043a\u0430\u043c \u0431\u044b\u043b\u043e \u043f\u0440\u043e\u0449\u0435 \u0438\u0437\u0443\u0447\u0430\u0442\u044c \u044f\u0437\u044b\u043a, \u0430 \u0432\u0441\u0435\u043c \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c \u2014 \u043f\u0438\u0441\u0430\u0442\u044c \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u044b<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0441\u0431\u043e\u0440\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438: 28 \u043d\u043e\u044f\u0431\u0440\u044f<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>[core-libs]<\/strong> <a href=\"https:\/\/openjdk.org\/jeps\/457\"><strong>JEP 457, Class-File API (Preview)<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>candidate<\/em> \u2794 <em>proposed to target<\/em>, JDK 22<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/mail.openjdk.org\/pipermail\/jdk-dev\/2023-November\/008447.html\">\u043f\u0440\u0443\u0444 \u0432 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0435<\/a><\/p>\n<\/li>\n<li>\n<p>\u0424\u0438\u0447\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u0447\u0442\u043e \u0438 <a href=\"https:\/\/asm.ow2.io\/\">ASM<\/a>, \u043d\u043e \u0432 \u043a\u0440\u0430\u0439\u043d\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u043c \u0432\u0438\u0434\u0435, \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u043e\u043c \u0434\u043b\u044f \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u044f\u0434\u0440\u0430 JDK.<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0441\u0431\u043e\u0440\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438: 28 \u043d\u043e\u044f\u0431\u0440\u044f<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>[amber]<\/strong> <a href=\"https:\/\/openjdk.org\/jeps\/447\"><strong>JEP 447, Statements before super(&#8230;) (Preview)<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>candidate<\/em> \u2794 <em>proposed to target<\/em>, JDK 22<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/mail.openjdk.org\/pipermail\/jdk-dev\/2023-November\/008444.html\">\u043f\u0440\u0443\u0444 \u0432 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0435<\/a><\/p>\n<\/li>\n<li>\n<p>\u0424\u0438\u0447\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430\u0445 \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434, \u0434\u043e \u0432\u044b\u0437\u043e\u0432\u0430 <code>this()<\/code> \u0438 <code>super()<\/code> \u2014 \u043e\u043d \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u0441\u044b\u043b\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0438\u043d\u0441\u0442\u0430\u043d\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u044d\u0442\u043e\u043c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0435<\/p>\n<\/li>\n<li>\n<p>\u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u0434\u0435\u044f \u0438 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f <a href=\"https:\/\/cr.openjdk.org\/~gbierman\/jep447\/jep447-20230420\/specs\/statements-before-super-jls.html\">\u043b\u0435\u0436\u0438\u0442 \u0437\u0434\u0435\u0441\u044c<\/a><\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0441\u0431\u043e\u0440\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438: 22 \u043d\u043e\u044f\u0431\u0440\u044f<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>[hotspot]<\/strong> <a href=\"https:\/\/openjdk.org\/jeps\/423\"><strong>JEP 423, Region Pinning for G1<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>candidate<\/em> \u2794 <em>proposed to target<\/em>, JDK 22<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/mail.openjdk.org\/pipermail\/jdk-dev\/2023-November\/008450.html\">\u043f\u0440\u0443\u0444 \u0432 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0435<\/a><\/p>\n<\/li>\n<li>\n<p>\u0424\u0438\u0447\u0430 \u043f\u043e\u043d\u0438\u0436\u0430\u0435\u0442 \u043b\u0430\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u044c G1, \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u0438\u043d\u043d\u0438\u0433\u0430 \u0440\u0435\u0433\u0438\u043e\u043d\u043e\u0432. \u041c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0433\u0438\u043e\u043d\u044b \u0432 \u0445\u043e\u0434\u0435 major \u0438 minor \u0441\u0431\u043e\u0440\u043a\u0438. \u0410 \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0441\u0431\u043e\u0440\u043a\u0443, \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c <a href=\"https:\/\/shipilev.net\/jvm\/anatomy-quarks\/9-jni-critical-gclocker\/\">JNI critical regions<\/a> (\u043b\u044e\u0431\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u0430\u0439\u0442 \u0411\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0428\u044d \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430 \u043a \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u044e!)<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0441\u0431\u043e\u0440\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438: 28 \u043d\u043e\u044f\u0431\u0440\u044f<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>\u0422\u0443\u043b\u0438\u043d\u0433<\/h3>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/gradle\/gradle\/releases\/tag\/v8.5.0-RC3\"><strong>\u0422\u0440\u0435\u0442\u0438\u0439<\/strong><\/a><strong> \u0438 <\/strong><a href=\"https:\/\/github.com\/gradle\/gradle\/releases\/tag\/v8.5.0-RC2\"><strong>\u0432\u0442\u043e\u0440\u043e\u0439<\/strong><\/a><strong> \u0440\u0435\u043b\u0438\u0437-\u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442 Gradle<\/strong><\/p>\n<ul>\n<li>\n<p><em>Gradle \u2014 \u043e\u0434\u043d\u0430 \u0438\u0437 \u0434\u0432\u0443\u0445 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0441\u0431\u043e\u0440\u043a\u0438 \u0432 Java-\u043c\u0438\u0440\u0435 (\u0432\u0442\u043e\u0440\u0430\u044f \u2014 Maven)<\/em><\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u044f\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u043b\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 JDK 21<\/p>\n<\/li>\n<li>\n<p>\u0423\u0441\u043a\u043e\u0440\u0435\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u043f\u0440\u0438 <a href=\"https:\/\/docs.gradle.org\/8.5-rc-1\/release-notes.html#faster-first-use\">\u043f\u0435\u0440\u0432\u043e\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0435<\/a><\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 <a href=\"https:\/\/docs.gradle.org\/8.5-rc-1\/release-notes.html#catalog-precompiled\">version catalog<\/a> \u0432 \u043f\u0440\u0435\u0434\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u0430\u0445 \u043d\u0430 Kotlin<\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>JDKMon <\/strong><a href=\"https:\/\/github.com\/HanSolo\/JDKMon\/releases\/tag\/17.0.85\"><strong>17.0.85<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>JDKMon &#8212; \u044d\u0442\u043e \u0443\u0442\u0438\u043b\u0438\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442 \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0438 \u0434\u0436\u0430\u0432\u044b<\/em><\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 CVSS 4.0 (Common Vulnerability Scoring System) and NVD API 2.0 (National Vulnerability Database).<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>Spring<\/h3>\n<ul>\n<li>\n<p><strong>Spring Framework<\/strong><\/p>\n<ul>\n<li>\n<p><em>Spring \u2014 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0432 Java-\u043c\u0438\u0440\u0435<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/spring.io\/blog\/2023\/11\/16\/spring-framework-6-1-goes-ga\"><strong>Spring 6.1 GA<\/strong><\/a> <\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/spring-projects\/spring-framework\/releases\/tag\/v6.1.0\">What&#8217;s New<\/a>, <a href=\"https:\/\/github.com\/spring-projects\/spring-framework\/releases\/tag\/v6.1.0\">Release Notes<\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043d\u043e\u0432\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438 response body \u043a \u043d\u0443\u0436\u043d\u043e\u043c\u0443 \u0442\u0438\u043f\u0443, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440\u044b \u0438\u0437 <a href=\"https:\/\/docs.spring.io\/spring-framework\/docs\/current\/javadoc-api\/org\/springframework\/http\/client\/ClientHttpResponse.html\"><code>ClientHttpResponse<\/code><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044f \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043d\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0445 \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u0430\u0442\u0442\u0435\u0440\u043d-\u043c\u0430\u0442\u0447\u0438\u043d\u0433\u0430 \u043d\u0430 \u0438\u043c\u0435\u043d\u0430\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0432 <a href=\"https:\/\/docs.spring.io\/spring-framework\/docs\/current\/javadoc-api\/org\/springframework\/aop\/support\/ControlFlowPointcut.html\"><code>ControlFlowPointcut<\/code><\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"https:\/\/spring.io\/blog\/2023\/11\/16\/spring-framework-5-3-31-and-6-0-14-available-now\">Spring 6.0.14 \u0438 5.3.31<\/a>: \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u0431\u0430\u0433\u0444\u0438\u043a\u0441\u043e\u0432<\/p>\n<\/li>\n<li>\n<p><strong>\u0410\u0445\u0442\u0443\u043d\u0433. Spring Boot 2.7.18 \u0438 3.0.13 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u043c\u0438 \u0432 \u043e\u043f\u0435\u043d\u0441\u043e\u0440\u0441\u0435 \u0440\u0435\u043b\u0438\u0437\u0430\u043c\u0438 \u0434\u043b\u044f \u0432\u0435\u0442\u043e\u043a 2.7.x \u0438 3.0.x.<\/strong><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Spring Data<\/strong><\/p>\n<ul>\n<li>\n<p><em>Spring Data \u2014 \u0437\u043e\u043d\u0442\u0438\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u0437\u0430\u0434\u0430\u0447\u0435\u0439 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0434\u0430\u0442\u044c \u043f\u043e\u043d\u044f\u0442\u043d\u0443\u044e \u0438 &#171;\u043e\u0449\u0443\u0449\u0430\u044e\u0449\u0443\u044e\u0441\u044f \u043a\u0430\u043a \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 Spring&#187; \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u043b\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u0412\u043a\u043b\u044e\u0447\u0430\u044f \u0448\u0442\u0443\u043a\u0438 \u0442\u0438\u043f\u0430 \u0430\u0432\u0442\u043e\u0432\u0430\u0439\u0440\u044f\u0449\u0438\u0445\u0441\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432, \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u044b\u0445 \u043e\u0431\u0435\u0440\u0442\u043e\u043a \u043d\u0430\u0434 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438, \u0438 \u0430\u0443\u0434\u0438\u0442\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u043f\u0430\u0440\u0443 \u0441\u0442\u0440\u043e\u0447\u0435\u043a \u043a\u043e\u0434\u0430.<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/spring.io\/blog\/2023\/11\/17\/spring-data-2023-1-goes-ga\">Spring Data 2023.1.0<\/a>, aka &#171;Vaughn&#187; <\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/spring-projects\/spring-data-commons\/wiki\/Spring-Data-2023.1-%28Vaughan%29-Release-Notes\">Release notes<\/a><\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u044f\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 JDK 21<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 virual threads \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u044d\u043a\u0437\u0435\u043a\u0443\u0442\u043e\u0440\u0430 (\u043a\u0430\u043a \u0432\u0435\u0437\u0434\u0435 \u0432 Spring)<\/p>\n<\/li>\n<li>\n<p>\u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Kotlin <a href=\"https:\/\/kotlinlang.org\/docs\/inline-classes.html\">inline value classes<\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 CRaC (coordinated restoring and checkpointing)<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u043f\u043e \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044e Single Query Loading \u0434\u043b\u044f Spring Data JDBC<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u0430 \u043d\u0430 <a href=\"https:\/\/antora.org\/\">Antora<\/a>.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"https:\/\/spring.io\/blog\/2023\/11\/17\/spring-data-2023-0-6-2022-0-12-and-2021-2-18-available-now\">\u0412\u044b\u0448\u043b\u0438 \u043f\u043b\u0430\u043d\u043e\u0432\u044b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f<\/a> Spring Data: 2023.0.6, 2022.0.12 and 2021.2.18.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0448\u043b\u0430 \u0441\u0432\u0435\u0436\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f <\/strong><a href=\"https:\/\/github.com\/jhipster\/jhipster-lite\/releases\/tag\/v0.48.0\"><strong>JHipster Lite 0.48.0<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>JHipster Lite \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442, \u0432\u043a\u043b\u044e\u0447\u0438\u0432 \u0432 \u043d\u0435\u0433\u043e \u043d\u0435 \u0432\u0441\u044e Spring-\u043f\u043e\u043c\u043e\u0439\u043a\u0443, \u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0443\u0436\u043d\u043e\u0435. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0433\u0435\u043a\u0441\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u043d\u0443\u044e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443, \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0439 \u043a\u043e\u0434 \u0438 \u0431\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0443, \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043d\u0438\u0448\u0442\u044f\u043a\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u0447\u0438\u0441\u0442\u043e\u0442\u043e\u0439 \u043a\u043e\u0434\u0430.<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/jhipster\/jhipster-lite\/releases\/tag\/v0.48.0\">\u0427\u0435\u043d\u0436\u043b\u043e\u0433<\/a><\/p>\n<\/li>\n<li>\n<p>\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Java \u043f\u043e\u0434\u043d\u044f\u0442\u0430 \u0434\u043e 21<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043c\u043e\u0434\u0443\u043b\u044c \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f\u043c\u0438<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u0430\u0442\u0442\u0440\u0438\u0431\u0443\u0442\u044b <code>name<\/code> \u0438 <code>description<\/code> \u0432 <a href=\"https:\/\/github.com\/jhipster\/jhipster-lite\/blob\/main\/src\/main\/java\/tech\/jhipster\/lite\/BusinessContext.java\">@BusinessContext<\/a> \u0438 <a href=\"https:\/\/github.com\/jhipster\/jhipster-lite\/blob\/main\/src\/main\/java\/tech\/jhipster\/lite\/SharedKernel.java\">@SharedKernel<\/a>, \u0447\u0442\u043e\u0431\u044b \u0438\u043c\u0435\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0448\u043b\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <\/strong><a href=\"https:\/\/spring.io\/blog\/2023\/11\/20\/spring-security-6-2-goes-ga\"><strong>Spring Security 6.2<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>Spring Security \u2014 \u044d\u0442\u043e \u0433\u043b\u0430\u0432\u043d\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f &#171;\u0432\u0441\u0435\u0433\u043e \u043f\u0440\u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c&#187; \u0432 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0435 Spring<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.spring.io\/spring-security\/reference\/whats-new.html\">\u0427\u0435\u043d\u0436\u043b\u043e\u0433<\/a><\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u0435\u0441\u0442\u044c \u0431\u0438\u043d <code>CorsConfigurationSource<\/code>, \u0442\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 <code>.cors()<\/code> \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438. <a href=\"https:\/\/docs.spring.io\/spring-security\/reference\/servlet\/integrations\/cors.html\">\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043c\u0435\u0442\u043e\u0434 <code>AbstractConfiguredSecurityBuilder.with(\u2026\u200b)<\/code> \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0442\u043e\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u0431\u0438\u043b\u0434\u0435\u0440\u044b. <a href=\"https:\/\/docs.spring.io\/spring-security\/reference\/migration-7\/configuration.html#_use_with_instead_of_apply_for_custom_dsls\">\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0423\u043f\u0440\u043e\u0449\u0435\u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 OAuth 2 Client. <a href=\"https:\/\/spring.io\/blog\/2023\/08\/22\/tackling-the-oauth2-client-component-model-in-spring-security\/\">\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0441\u0435\u0440\u0432\u043b\u0435\u0442\u043d\u044b\u0439 \u043f\u0430\u0442\u0442\u0435\u0440\u043d \u0434\u043b\u044f AuthorizeHttpRequests. <a href=\"https:\/\/docs.spring.io\/spring-security\/reference\/servlet\/authorization\/authorize-http-requests.html#match-by-mvc\">\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/spring-projects\/spring-security\/pull\/12817\">\u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b<\/a> \u0441\u0442\u0430\u0442\u0443\u0441 \u043a\u043e\u0434\u044b \u0434\u043b\u044f \u0440\u0435\u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0432<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/spring-projects\/spring-security\/issues\/13988\">\u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d<\/a> \u043f\u0430\u0440\u0441\u0438\u043d\u0433 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 HTTP Basic<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/spring-projects\/spring-security\/issues\/7845\">\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d<\/a> OAuth 2.0\/OIDC Back-channel Logout. <a href=\"https:\/\/docs.spring.io\/spring-security\/reference\/reactive\/oauth2\/login\/logout.html#configure-provider-initiated-oidc-logout\">\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/spring-projects\/spring-security\/pull\/12532\">\u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d<\/a> Security Context Propagation<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0448\u043b\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <\/strong><a href=\"https:\/\/spring.io\/blog\/2023\/11\/21\/spring-for-apache-pulsar-1-0-0-goes-ga\"><strong>Spring for Apache Pulsar 1.0.0<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>Spring for Apache Pulsar (\u0438\u043b\u0438 \u0438\u043d\u0430\u0447\u0435 \u2014 spring-pulsar) \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0438\u0434\u0435\u0439 Spring \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043a messaging-\u0440\u0435\u0448\u0435\u043d\u0438\u044f\u043c \u043d\u0430 \u0431\u0430\u0437\u0435 <\/em><a href=\"https:\/\/pulsar.apache.org\/\"><em>Apache Pulsar<\/em><\/a><em>. Pulsar \u2014 \u044d\u0442\u043e \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438e \u0434\u043b\u044f cloud-native \u043c\u0435\u0441\u0441\u0430\u0434\u0436\u0438\u043d\u0433\u0430 \u0438 \u0441\u0442\u0440\u0438\u043c\u0438\u043d\u0433\u0430 \u0434\u0430\u043d\u043d\u044b\u0445.<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/spring-projects\/spring-pulsar\/releases\/tag\/v1.0.0\">\u0427\u0435\u043d\u0436\u043b\u043e\u0433<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>\u0412\u0435\u0431-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0438<\/h3>\n<ul>\n<li>\n<p><strong>\u0412\u044b\u0448\u0435\u043b \u0441\u0432\u0435\u0436\u0438\u0439 \u0437\u043e\u043d\u0442\u0438\u043a \u0440\u0435\u043b\u0438\u0437\u043e\u0432 <\/strong><a href=\"https:\/\/blog.payara.fish\/whats-new-in-the-nov-2023-payara-platform-release\"><strong>Payara Platform \/ November 2023<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>Payara \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0434\u043b\u044f Jakarta EE \/ Java EE<\/em><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0439 Spring Initializr, <a href=\"https:\/\/start.payara.fish\/\">Payara Starter<\/a><\/p>\n<\/li>\n<li>\n<p>\u0412 \u0437\u043e\u043d\u0442\u0438\u043a\u0435 \u0437\u0430\u044f\u0432\u043b\u0435\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u043b\u0438\u0437\u043e\u0432 <\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/docs.payara.fish\/community\/docs\/Release%20Notes\/Release%20Notes%206.2023.11.html\">Community Edition 6.2023.11<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.payara.fish\/enterprise\/docs\/Release%20Notes\/Release%20Notes%206.8.0.html\">Enterprise Edition 6.8.0<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.payara.fish\/enterprise\/docs\/5.57.0\/Release%20Notes\/Release%20Notes%205.57.0.html\">Enterprise Edition 5.57.0<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2023-41699\">CVE-2023-41699<\/a> <\/p>\n<ul>\n<li>\n<p>\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0442\u0438\u043f\u0430 Open Redirect: \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043d\u0435\u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0439 \u0441\u0430\u0439\u0442<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Maven Bundle Plugin \u0434\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d \u0434\u043e \u0432\u0435\u0440\u0441\u0438\u0438 5.1.9<\/p>\n<\/li>\n<li>\n<p>\u0423 \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>start-domain<\/code> \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0444\u043b\u0430\u0433 <code>--warmup<\/code>. \u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f post-boot \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439. \u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0435\u0441\u043b\u0438 \u043d\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0438 \u043d\u0443\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u0434\u043e\u043c\u0435\u043d \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d, \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440.<\/p>\n<\/li>\n<li>\n<p>\u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u0442\u0430\u0440\u0442\u0430-\u0441\u0442\u043e\u043f\u0430-\u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0448\u0435\u043b <\/strong><a href=\"https:\/\/openliberty.io\/blog\/2023\/11\/14\/23.0.0.11.html\"><strong>Open Liberty 23.0.0.11<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>Open Liberty \u2014 \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u044b\u0439 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f cloud-native \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0441\u0442\u0435\u043a\u0430 MicroProfile<\/em><\/p>\n<\/li>\n<li>\n<p>\u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043d\u043e\u0432\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0434\u043b\u044f <a href=\"https:\/\/github.com\/eclipse\/microprofile-metrics\/blob\/main\/README.adoc\">MicroProfile Metrics<\/a> 5.0, 4.0 \u0438 3.0. \u0418\u0445 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0432 \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u044b \u0440\u0430\u0437\u043d\u044b\u0445 \u0443\u0442\u0438\u043b\u0438\u0442, \u0438 \u044d\u0442\u043e \u043d\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 (\u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d\u0438 \u043e\u0431\u0449\u0438\u0435): <\/p>\n<ul>\n<li>\n<p>Process CPU Utilization Percent<\/p>\n<\/li>\n<li>\n<p>Heap Utilization Percent<\/p>\n<\/li>\n<li>\n<p>GC Time per Cycle<\/p>\n<\/li>\n<li>\n<p>Connection Pool in Use Time per Used Connection<\/p>\n<\/li>\n<li>\n<p>Connection Pool Wait Time per Queued Request<\/p>\n<\/li>\n<li>\n<p>Servlet Elapsed Time per Request<\/p>\n<\/li>\n<li>\n<p>REST Elapsed Time per Request<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0412 <code>server.xml<\/code> \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0438\u043d\u043a\u043b\u0443\u0434\u0438\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u043f\u043e-\u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432\u043e\u043e\u0431\u0449\u0435 \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0443 <code>include<\/code><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0447\u0438\u043d\u0438\u043b\u0438 <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2023-46158\">CVE-2023-46158<\/a>. \u042d\u0442\u043e \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 IBM WebSphere Application Server Liberty \u0432\u0435\u0440\u0441\u0438\u0439 23.0.0.9-23.0.0.10, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0434\u0435\u0433\u0440\u0430\u0434\u0430\u0446\u0438\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0438\u0437-\u0437\u0430 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0440\u043e\u0442\u0443\u0445\u0430\u043d\u0438\u0435\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0448\u0435\u043b <\/strong><a href=\"https:\/\/micronaut.io\/2023\/11\/17\/micronaut-framework-4-2-0-released\/\"><strong>Micronaut Framework 4.2.0<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>Micronaut \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u044b\u0445 \u043d\u0435\u043a\u0441\u0442\u0433\u0435\u043d-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 GraalVM Native Image<\/em><\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0438\u043b\u0438 <a href=\"https:\/\/github.com\/micronaut-projects\/micronaut-core\/releases\/tag\/v4.2.0\">Micronaut Core<\/a> <\/p>\n<ul>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0438\u043b\u0438 <a href=\"https:\/\/docs.micronaut.io\/latest\/guide\/#ksp\">Kotlin Symbol Processing<\/a><\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043d\u043e\u0432\u0438\u043b\u0438 Kotlin \u0434\u043e 1.9.20<\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043d\u043e\u0432\u0438\u043b\u0438 Netty \u0434\u043e 4.1.101<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>JDK 21 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432 \u0441\u043f\u0438\u0441\u043e\u043a <a href=\"https:\/\/micronaut.io\/launch\">Micronaut Launch<\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 <a href=\"https:\/\/docs.gradle.org\/current\/userguide\/kotlin_dsl.html\">Gradle with Kotlin DSL<\/a><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0448\u0435\u043b <\/strong><a href=\"https:\/\/grails.org\/blog\/2023-11-14-introducing-grails-6_1_0.html\"><strong>Grails Framework 6.1.0<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>\u0421\u0442\u0430\u0440\u044b\u0439, \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0439 \u0432 \u0431\u043e\u044e \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 Groovy \u0438 Spring Boot<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/grails\/grails-core\/releases\/tag\/v6.1.0\">\u0427\u0435\u043d\u0436\u043b\u043e\u0433<\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0447\u0438\u043d\u0438\u043b\u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c <a href=\"https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2022-1471\">CVE-2022-1471<\/a> <\/p>\n<ul>\n<li>\n<p>\u041f\u043e\u0447\u0438\u043d\u0438\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0434\u043e SnakeYAML 2.2<\/p>\n<\/li>\n<li>\n<p>\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u043b\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0434 \u043d\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435, \u043f\u0440\u0438 \u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e  SnakeYAML <code>Constructor()<\/code><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u041e\u0442\u0440\u043a\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043b\u0438 \u0441\u0432\u044f\u0437\u044c \u0441 Sitemesh Plugin, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043c\u0435\u0448\u0430\u0442\u044c \u0432\u0441\u0435 \u0432 \u043e\u0434\u043d\u0443 \u043a\u0443\u0447\u0443<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0448\u0435\u043b <\/strong><a href=\"https:\/\/quarkus.io\/blog\/quarkus-3-5-2-released\/\"><strong>Quarkus 3.5.2<\/strong><\/a><\/p>\n<ul>\n<li>\n<p><em>Quarkus \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u044b\u0445 \u043d\u0435\u043a\u0441\u0442\u0433\u0435\u043d-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 GraalVM Native Image<\/em><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/quarkusio\/quarkus\/releases\/tag\/3.5.2\">\u0427\u0435\u043d\u0436\u043b\u043e\u0433<\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0447\u0438\u043d\u0438\u043b\u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2023-21971\">CVE-2023-21971<\/a> <\/p>\n<ul>\n<li>\n<p>\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u043b\u0430 \u0441\u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440\u044b MySQL. \u042d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f DDoS \u0438\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0432\u0435\u0434\u0435\u043d \u0437\u0430\u0431\u0430\u0432\u043d\u044b\u0439 Windows-\u043d\u0435\u043d\u0430\u0432\u0438\u0441\u0442\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-360761","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/360761","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=360761"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/360761\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=360761"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=360761"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=360761"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}