{"id":13701,"date":"2023-01-12T14:12:27","date_gmt":"2023-01-12T13:12:27","guid":{"rendered":"https:\/\/vived.io\/?p=13701"},"modified":"2023-01-12T15:23:15","modified_gmt":"2023-01-12T14:23:15","slug":"kotlin-1-8-to-wydanie-widmo-jvm-weekly-120","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/","title":{"rendered":"Kotlin 1.8 to wydanie widmo &#8211; JVM Weekly #120"},"content":{"rendered":"\n<h2 id=\"1-kotlin-1-8-wydanie-widmo\" data-num=1>1. Kotlin 1.8 &#8211; wydanie widmo<\/h2>\n\n\n\n<p>Kotlin 1.8 to strasznie dziwne wydanie Kotlina. Pocz\u0105tkowo zapowiedziany jeszcze na listopad 2022, ostatecznie pojawi\u0142 si\u0119 po chichu zaraz przed sylwestrem, 28 grudnia. I pewnie to by zamkn\u0119\u0142o spraw\u0119 (w ko\u0144cu nowa wersja si\u0119 pojawi\u0142a), ale nowym wydaniom Kotlina towarzyszy\u0142 zawsze post na (milcz\u0105cym od po\u0142owy grudnia) <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/\">oficjalnym blogu j\u0119zyka prowadzonym przez JetBrains<\/a>, tutoriale video i og\u00f3lnie spora ilo\u015b\u0107 materia\u0142\u00f3w dodatkowych. Nie tym razem.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/image-1024x576.png\" alt=\"\" class=\"wp-image-13704\" width=\"512\" height=\"288\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/image-1024x576.png 1024w, https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/image-300x169.png 300w, https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/image-768x432.png 768w, https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/image.png 1366w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><figcaption class=\"wp-element-caption\">Mo\u017cliwe, \u017ce powodem dla kt\u00f3rego o nowym Kotlinie jest tak cicho jest fakt, \u017ce nie bardzo jest by\u0107 o czym g\u0142o\u015bno, ale bez spoiler\u00f3w<\/figcaption><\/figure><\/div>\n\n\n<p>Pocz\u0105tkowo my\u015bla\u0142em, \u017ce takowe pojawi\u0105 si\u0119 po prostu pocz\u0105tkiem stycznia, ale mamy ju\u017c po\u0142ow\u0119 miesi\u0105ca, a tutaj wci\u0105\u017c nic. Ca\u0142o\u015b\u0107 sytuacji w zabawny spos\u00f3b dope\u0142nia za\u015b wpisanie Kotlin 1.8 w Google. Na jednej ze szczytowych pozycji znajduje si\u0119 strona <a href=\"https:\/\/is.kotlin.released.info\/\">is.kotlin.released.info<\/a>, kt\u00f3ra jako dat\u0119 premiery pokazuje&#8230; Kwiecie\u0144 2023. Nie jest to oficjalna publikacja, \u017cebym mia\u0142 j\u0105 fact-checkowa\u0107, ale dok\u0142ada si\u0119 jeszcze do og\u00f3lnego wra\u017cenia, \u017ce to nowe wydanie Kotlina jest jakie\u015b takie&#8230; opuszczone. <a href=\"https:\/\/kotlinlang.org\/docs\/releases.html\">Kotlin 1.8 si\u0119 jednak ukaza\u0142<\/a>, wi\u0119c mo\u017cemy przygl\u0105dn\u0105\u0107 si\u0119, co ciekawego przynosi.<\/p>\n\n\n\n<p>Jak zwykle skupimy si\u0119 tutaj g\u0142\u00f3wnie na zmianach dotycz\u0105cych edycji JVM-owej. Zacznijmy wi\u0119c od tego, \u017ce nowy Kotlin to pierwsza wersja ze wsparciem dla Javy 19. Przesuni\u0119ta zosta\u0142a te\u017c dolna granica wsparcia. Je\u015bli u\u017cywali\u015bcie Kotlina w \u015brodowiskach, gdzie maksymaln\u0105 dopuszczaln\u0105 wersj\u0105 Javy by\u0142a wersja 1.7, mam dla Was z\u0142\u0105 nowin\u0119 &#8211; od wersji 1.8, minimalna wspierana wersja JDK to r\u00f3wnie\u017c 1.8 (przynajmniej \u0142atwo zapami\u0119ta\u0107). Pozwoli\u0142o to min. na przyspieszenie mechanizmu refleksji. W ramach czyszczenia kodu, usuni\u0119to r\u00f3wnie\u017c star\u0105 reprezentacje po\u015bredni\u0105, pozostaj\u0105c\u0105 w u\u015bpieniu ju\u017c od wersji Kotlin 1.5.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"475\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/image-1.png\" alt=\"\" class=\"wp-image-13706\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/image-1.png 500w, https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/image-1-300x285.png 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><figcaption class=\"wp-element-caption\">Je\u015bli powy\u017csze og\u0142oszenie Was w jakikolwiek spos\u00f3b zaafektuje &#8211; moje szczere wyrazy wsp\u00f3\u0142czucia z powodu u\u017cywania JDK 1.7 w 2023 (oficjalnie ju\u017c nie wspieranego nawet przez komercyjny support Oracle).<\/figcaption><\/figure><\/div>\n\n\n<p>Kotlin doczeka\u0142 si\u0119 te\u017c nowej flagi do debugowania &#8211; <code>-Xdebug<\/code>. Jej rol\u0105 jest wy\u0142\u0105czenie niekt\u00f3rych optymalizacji dokonywanych przez runtime j\u0119zyka, kt\u00f3re utrudnia\u0142y zrozumienie zachowania kodu min. podczas wykonywania korutyn.<\/p>\n\n\n\n<p>Jestem prostym cz\u0142owiekiem, ale przyznam, \u017ce z ca\u0142ego wydania najbardziej urzek\u0142o mnie <a href=\"https:\/\/kotlinlang.org\/docs\/whatsnew18.html#support-for-lombok-s-builder-annotation\">Support for Lombok&#8217;s @Builder annotation<\/a>. Kiedy pierwszy raz migrowa\u0142em si\u0119 z du\u017cego projektu napisanego w Javie na Kotlina, to w\u0142a\u015bnie brak wsparcia dla <code>@Builder<\/code> z Lomboka by\u0142 najbardziej czasoch\u0142onn\u0105, manualn\u0105 robot\u0105. Z perspektywy przyznaje, \u017ce adnotacja ta w Kotlinie nie jest do niczego potrzebna, ale brak wsparcia dla niej bardzo utrudnia\u0142 stopniow\u0105 migracj\u0119 projekt\u00f3w mocno bazuj\u0105cych na Lomboku.<\/p>\n\n\n\n<p>Tak naprawd\u0119 jednak najwi\u0119cej zmian doczeka\u0142a si\u0119 integracja z Gradle. Kotlin otrzyma\u0142 bowiem pe\u0142ne wsparcie dla funkcjonalno\u015bci dostarczonych przez Gradle 7.2 i 7.3. Jest tego sporo, w wi\u0119kszo\u015bci to jednak szczeg\u00f3\u0142y, wi\u0119c zainteresowanych <a href=\"https:\/\/kotlinlang.org\/docs\/whatsnew18.html#gradle\">odsy\u0142am do odpowiedniej sekcji oficjalnych release notes<\/a>.<\/p>\n\n\n\n<p>Pozosta\u0142e rzeczy, jak np. lekkie zmiany w bibliotece standardowej, to ju\u017c raczej detale. Mam wi\u0119c wra\u017cenie, \u017ce Kotlin 1.8 w zwi\u0105zku z tym nie zapisze si\u0119 raczej jako\u015b mocno w szerszej \u015bwiadomo\u015bci, chyba \u017ce programistom Swift\/ObjectiveC &#8211; j\u0119zyki te doczeka\u0142y si\u0119 podobno znacznie lepszego mechanizmu kompatybilno\u015bci.<\/p>\n\n\n\n<p>Co ciekawe, wspomniane pocz\u0105tkiem artyku\u0142u milczenie dotyczy nie tylko najnowszego wydania Kotlina, ale r\u00f3wnie\u017c Roadmapy projektu. Ta <a href=\"https:\/\/kotlinlang.org\/docs\/roadmap.html#kotlin-roadmap-by-subsystem\">r\u00f3wnie\u017c w grudniu 2022 otrzyma\u0142a bowiem swoj\u0105 aktualizacj\u0119<\/a>. Priorytety si\u0119 nie zmieniaj\u0105 &#8211; w dalszym ci\u0105gu kluczowe miejsce zajmuje nowy kompilator K2 i stabilizacja Kotlin Multiplatform Mobile. Pojawi\u0142o si\u0119 jednak kilka nowych pozycji, jak publiczne wypuszczenie plugina dla K2 do IntelliJ czy wsparcie tw\u00f3rc\u00f3w bibliotek zewn\u0119trznych. Ci ostatni otrzyma\u0107 maj\u0105 ulepszenie KDoc oraz oficjalne guidelines dla API, pokrywaj\u0105ce przyk\u0142adowo dobre praktyki tworzenia projekt\u00f3w multiplaformowych, zasady publikowania artefakt\u00f3w czy te\u017c zapewnienie wstecznej kompatybilno\u015bci.<\/p>\n\n\n\n<p>To \u017ceby domkn\u0105\u0107 ju\u017c temat Kotlina i wej\u015b\u0107 w 2023 na pozytywnej nucie &#8211; pojawi\u0142 si\u0119 <a href=\"https:\/\/kotlinconf.com\/speakers\/\">oficjalny line-up speaker\u00f3w na KotlinConf 2023<\/a>. Je\u017celi zastanawiacie si\u0119 wi\u0119c nad wybraniem si\u0119 w kwietniu do Amsterdamu, teraz mo\u017cecie sprawdzi\u0107, kogo b\u0119dzie si\u0119 da\u0142o tam pos\u0142ucha\u0107.<\/p>\n\n\n\n<h2 id=\"2-microprofile-jednak-laczy-sie-z-core-profile\" data-num=2>2. MicroProfile (jednak) \u0142\u0105czy si\u0119 z Core Profile<\/h2>\n\n\n\n<p>O ile Kotlin 1.8 to jeszcze pozosta\u0142o\u015bci po 2022, w bie\u017c\u0105cym tygodniu ukaza\u0142a si\u0119 pierwsza du\u017ca premiera roku 2023 &#8211; MicroProfile 6.0. Ten, poza standaryzacj\u0105 nowego zestawu API, przynosi za\u015b oczekiwane uporz\u0105dkowanie tego, jak wygl\u0105da obecnie relacja projektu z Jakarta EE.<\/p>\n\n\n\n<p>Wraz z Jakarta EE 10 pojawi\u0142 si\u0119 tak zwany Core Profile &#8211; zestaw API, kt\u00f3re zgodnie z planami tw\u00f3rc\u00f3w maj\u0105 stanowi\u0107 minimum niezb\u0119dne do tworzenia mikrous\u0142ug w Javie. Brzmi to bardzo podobnie do celu, jaki postawili sobie tw\u00f3rcy MicroProfile, dlatego od pocz\u0105tku zastanawiali\u015bmy si\u0119, w jaki spos\u00f3b pojawienie si\u0119 Core Profile na niego wp\u0142ynie. Jaka\u015b forma synergii wydawa\u0142a si\u0119 tutaj by\u0107 bardzo naturalna, ale r\u00f3wnocze\u015bnie od pocz\u0105tku pojawia\u0142y si\u0119 jasne komunikaty, \u017ce nie nale\u017cy spodziewa\u0107 si\u0119 dw\u00f3ch inicjatyw w jedn\u0105. Ich tw\u00f3rcy jednak zapewniali, \u017ce pozostaj\u0105 ze sob\u0105 w sta\u0142ym kontakcie i w przyjacielskich stosunkach.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"363\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/image-2.png\" alt=\"\" class=\"wp-image-13716\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/image-2.png 500w, https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/image-2-300x218.png 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><figcaption class=\"wp-element-caption\">I bardzo dobrze. Enterprise Java to za ma\u0142y \u015bwiatek, \u017ceby si\u0119 jeszcze dzieli\u0107.<\/figcaption><\/figure><\/div>\n\n\n<p>Teraz za\u015b <a href=\"https:\/\/microprofile.io\/2023\/01\/10\/microprofile-6-0-release\/\">wraz z premier\u0105 MicroProfile 6.0<\/a> <a href=\"https:\/\/download.eclipse.org\/microprofile\/microprofile-6.0\/microprofile-spec-6.0.pdf\">dowiadujemy si\u0119<\/a>, jak splecione zostan\u0105 oba standardy. Dotychczasow\u0105 strategi\u0105 MicroProfile by\u0142o wybieranie sobie z Jakarta EE tych API, kt\u00f3re wed\u0142ug tw\u00f3rc\u00f3w projektu mia\u0142y by\u0107 najbardziej przydatne dla u\u017cytkownika MP. W wypadku MicroProfile 5.0 by\u0142o to wi\u0119c:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Jakarta Contexts and Dependency Injection (CDI)<\/li>\n\n\n\n<li>Jakarta Annotations (JPA)<\/li>\n\n\n\n<li>Jakarta RESTful Web Services (JAX-RS)<\/li>\n\n\n\n<li>Jakarta JSON Binding (JSON-B)<\/li>\n\n\n\n<li>Jakarta JSON Processing (JSON-P)<\/li>\n<\/ul>\n\n\n\n<p>Od wydania MicroProfile 6.0 projekt dokona\u0142 alignementu z Jakarta Core Profile. Oznacza to, \u017ce zamiast na pojedynczych API b\u0119dzie on posiada\u0142 zale\u017cno\u015b\u0107 na pe\u0142nym Profilu, a tranzytywne trafi\u0105 do niego r\u00f3wnie\u017c nast\u0119puj\u0105ce API:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Jakarta RESTful Web Services<\/li>\n\n\n\n<li>Jakarta Interceptors<\/li>\n<\/ul>\n\n\n\n<p>Ze zrozumia\u0142ych powod\u00f3w, minimalna wersja Jakarta EE wspierana przez MicroProfile to teraz Jakarta EE 10.<\/p>\n\n\n\n<p>Opr\u00f3cz powy\u017cszych, MicroProfile 6.0 to te\u017c zmiany zwi\u0105zane z Observability, wymuszone przez dzia\u0142ania &#8222;podmiot\u00f3w zewn\u0119trznych&#8221;. Je\u015bli chodzi o Tracing \u2013 \u015bledzenia poszczeg\u00f3lnych zdarze\u0144 w ramach aplikacji \u2013 organizacj\u0105 zajmuj\u0105c\u0105 si\u0119 tworzeniem standard\u00f3w jest Cloud Native Computing Foundation (w skr\u00f3cie CNCF). Przez lata rozwijane by\u0142o kilka konkurencyjnych projekt\u00f3w, takich jak OpenCensus czy OpenTracing. Ten ostatni trafi\u0142 zreszt\u0105 do MicroProfile jako <strong>MicroProfile OpenTracing API<\/strong>.<\/p>\n\n\n\n<p>CNCF pocz\u0105tkiem zesz\u0142ego roku zdecydowa\u0142 si\u0119 jednak na porzucenie rozwoju OpenTracingu na rzecz OpenTelemetry, b\u0119d\u0105cego nieco szerszym projektem. W wyniku tego, <strong>MicroProfile OpenTracing API<\/strong> oberwa\u0142o rykoszetem i r\u00f3wnie\u017c przestanie by\u0107 wspierane. Na jego miejsce powsta\u0142o <strong>MicroProfile Telemetry Tracing<\/strong>, implementuj\u0105ce standard Tracingu pochodz\u0105cy OpenTelemetry.<\/p>\n\n\n\n<p>Co istotne, OpenTelemetry wprowadza te\u017c w\u0142asny standard dla metryk, kt\u00f3rego jednak MicroProfile nie zdecydowa\u0142 si\u0119 wspiera\u0107, stawiaj\u0105c na autorskie <strong>MicroProfile Metrics<\/strong>. Prowadzi to do kuriozalnych sytuacji, gdy takie projekty jak np. Quarkus, chc\u0105c w pe\u0142ni wspiera\u0107 standard OpenTelemetry zmuszone s\u0105 porzuca\u0107 niekompatybilne z nim MicroProfile Metrics &#8211; wi\u0119cej o sytuacji <a href=\"https:\/\/vived.io\/much-ado-about-observability-jep-making-profiling-easier-and-quarkus-dropping-microprofile-standard\/\">poczytacie tutaj<\/a>. Podejrzewam wi\u0119c, \u017ce to nie koniec zmian i w przysz\u0142o\u015bci czeka nas dalsza ewolucja relacji MicroProfile\/OpenTelemetry.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"480\" height=\"362\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/DarlingSlimyChimneyswift-size_restricted.gif\" alt=\"\" class=\"wp-image-13723\"\/><figcaption class=\"wp-element-caption\">I w ten spos\u00f3b zrobimy \u0142adn\u0105 klamr\u0119 z Jakarta EE Core Profile <\/figcaption><\/figure><\/div>","protected":false},"excerpt":{"rendered":"<p>Po tygodniu podsumowa\u0144 wracamy do nowych temat\u00f3w, a na pierwszy ogie\u0144 w 2023 ruszaj\u0105 \u015bwie\u017cutki Kotlin 1.8 oraz MicroProfile 6.0. <\/p>\n","protected":false},"author":10,"featured_media":13730,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[259,26],"tags":[],"class_list":["post-13701","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jvm-pl","category-vived"],"acf":{"estimated_reading_time":"6","feature_image_blog":false,"weekly_summary":true,"push_notification_image":"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/JVM-Weekly-1200x628_V2-3.png","feature_image_visible":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Kotlin 1.8 to wydanie widmo - JVM Weekly #120 - Vived<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kotlin 1.8 to wydanie widmo - JVM Weekly #120 - Vived\" \/>\n<meta property=\"og:description\" content=\"Po tygodniu podsumowa\u0144 wracamy do nowych temat\u00f3w, a na pierwszy ogie\u0144 w 2023 ruszaj\u0105 \u015bwie\u017cutki Kotlin 1.8 oraz MicroProfile 6.0.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-12T13:12:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-01-12T14:23:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/JVM-Weekly-1200x628_V2-3.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Artur Skowro\u0144ski\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"Kotlin 1.8 to wydanie widmo &#8211; JVM Weekly #120\",\"datePublished\":\"2023-01-12T13:12:27+00:00\",\"dateModified\":\"2023-01-12T14:23:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/\"},\"wordCount\":1232,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/JVM-Weekly-1200x628_V2-3.png\",\"articleSection\":[\"JVM\",\"Vived\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/\",\"url\":\"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/\",\"name\":\"Kotlin 1.8 to wydanie widmo - JVM Weekly #120 - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/JVM-Weekly-1200x628_V2-3.png\",\"datePublished\":\"2023-01-12T13:12:27+00:00\",\"dateModified\":\"2023-01-12T14:23:15+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/JVM-Weekly-1200x628_V2-3.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/JVM-Weekly-1200x628_V2-3.png\",\"width\":1200,\"height\":628},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kotlin 1.8 to wydanie widmo &#8211; JVM Weekly #120\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/vived.io\/pl\/#website\",\"url\":\"https:\/\/vived.io\/pl\/\",\"name\":\"Vived\",\"description\":\"platform empowering IT people and technology companies to synergic growth\",\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/vived.io\/pl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/vived.io\/pl\/#organization\",\"name\":\"Vived\",\"url\":\"https:\/\/vived.io\/pl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"width\":136,\"height\":45,\"caption\":\"Vived\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\",\"name\":\"Artur Skowro\u0144ski\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"caption\":\"Artur Skowro\u0144ski\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Kotlin 1.8 to wydanie widmo - JVM Weekly #120 - Vived","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/","og_locale":"pl_PL","og_type":"article","og_title":"Kotlin 1.8 to wydanie widmo - JVM Weekly #120 - Vived","og_description":"Po tygodniu podsumowa\u0144 wracamy do nowych temat\u00f3w, a na pierwszy ogie\u0144 w 2023 ruszaj\u0105 \u015bwie\u017cutki Kotlin 1.8 oraz MicroProfile 6.0.","og_url":"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/","og_site_name":"Vived","article_published_time":"2023-01-12T13:12:27+00:00","article_modified_time":"2023-01-12T14:23:15+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/JVM-Weekly-1200x628_V2-3.png","type":"image\/png"}],"author":"Artur Skowro\u0144ski","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"Kotlin 1.8 to wydanie widmo &#8211; JVM Weekly #120","datePublished":"2023-01-12T13:12:27+00:00","dateModified":"2023-01-12T14:23:15+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/"},"wordCount":1232,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/JVM-Weekly-1200x628_V2-3.png","articleSection":["JVM","Vived"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/","url":"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/","name":"Kotlin 1.8 to wydanie widmo - JVM Weekly #120 - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/JVM-Weekly-1200x628_V2-3.png","datePublished":"2023-01-12T13:12:27+00:00","dateModified":"2023-01-12T14:23:15+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/JVM-Weekly-1200x628_V2-3.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/JVM-Weekly-1200x628_V2-3.png","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/kotlin-1-8-to-wydanie-widmo-jvm-weekly-120\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"Kotlin 1.8 to wydanie widmo &#8211; JVM Weekly #120"}]},{"@type":"WebSite","@id":"https:\/\/vived.io\/pl\/#website","url":"https:\/\/vived.io\/pl\/","name":"Vived","description":"platform empowering IT people and technology companies to synergic growth","publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vived.io\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/vived.io\/pl\/#organization","name":"Vived","url":"https:\/\/vived.io\/pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/","url":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","width":136,"height":45,"caption":"Vived"},"image":{"@id":"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3","name":"Artur Skowro\u0144ski","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","caption":"Artur Skowro\u0144ski"}}]}},"blocks_vived":[{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>1. Kotlin 1.8 - wydanie widmo<\/h2>\n","innerContent":["\n<h2>1. Kotlin 1.8 - wydanie widmo<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Kotlin 1.8 to strasznie dziwne wydanie Kotlina. Pocz\u0105tkowo zapowiedziany jeszcze na listopad 2022, ostatecznie pojawi\u0142 si\u0119 po chichu zaraz przed sylwestrem, 28 grudnia. I pewnie to by zamkn\u0119\u0142o spraw\u0119 (w ko\u0144cu nowa wersja si\u0119 pojawi\u0142a), ale nowym wydaniom Kotlina towarzyszy\u0142 zawsze post na (milcz\u0105cym od po\u0142owy grudnia) <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/\">oficjalnym blogu j\u0119zyka prowadzonym przez JetBrains<\/a>, tutoriale video i og\u00f3lnie spora ilo\u015b\u0107 materia\u0142\u00f3w dodatkowych. Nie tym razem.<\/p>\n","innerContent":["\n<p>Kotlin 1.8 to strasznie dziwne wydanie Kotlina. Pocz\u0105tkowo zapowiedziany jeszcze na listopad 2022, ostatecznie pojawi\u0142 si\u0119 po chichu zaraz przed sylwestrem, 28 grudnia. I pewnie to by zamkn\u0119\u0142o spraw\u0119 (w ko\u0144cu nowa wersja si\u0119 pojawi\u0142a), ale nowym wydaniom Kotlina towarzyszy\u0142 zawsze post na (milcz\u0105cym od po\u0142owy grudnia) <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/\">oficjalnym blogu j\u0119zyka prowadzonym przez JetBrains<\/a>, tutoriale video i og\u00f3lnie spora ilo\u015b\u0107 materia\u0142\u00f3w dodatkowych. Nie tym razem.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":13704,"width":512,"height":288,"sizeSlug":"large","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/image-1024x576.png\" alt=\"\" class=\"wp-image-13704\" width=\"512\" height=\"288\"\/><figcaption class=\"wp-element-caption\">Mo\u017cliwe, \u017ce powodem dla kt\u00f3rego o nowym Kotlinie jest tak cicho jest fakt, \u017ce nie bardzo jest by\u0107 o czym g\u0142o\u015bno, ale bez spoiler\u00f3w<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/image-1024x576.png\" alt=\"\" class=\"wp-image-13704\" width=\"512\" height=\"288\"\/><figcaption class=\"wp-element-caption\">Mo\u017cliwe, \u017ce powodem dla kt\u00f3rego o nowym Kotlinie jest tak cicho jest fakt, \u017ce nie bardzo jest by\u0107 o czym g\u0142o\u015bno, ale bez spoiler\u00f3w<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Pocz\u0105tkowo my\u015bla\u0142em, \u017ce takowe pojawi\u0105 si\u0119 po prostu pocz\u0105tkiem stycznia, ale mamy ju\u017c po\u0142ow\u0119 miesi\u0105ca, a tutaj wci\u0105\u017c nic. Ca\u0142o\u015b\u0107 sytuacji w zabawny spos\u00f3b dope\u0142nia za\u015b wpisanie Kotlin 1.8 w Google. Na jednej ze szczytowych pozycji znajduje si\u0119 strona <a href=\"https:\/\/is.kotlin.released.info\/\">is.kotlin.released.info<\/a>, kt\u00f3ra jako dat\u0119 premiery pokazuje... Kwiecie\u0144 2023. Nie jest to oficjalna publikacja, \u017cebym mia\u0142 j\u0105 fact-checkowa\u0107, ale dok\u0142ada si\u0119 jeszcze do og\u00f3lnego wra\u017cenia, \u017ce to nowe wydanie Kotlina jest jakie\u015b takie... opuszczone. <a href=\"https:\/\/kotlinlang.org\/docs\/releases.html\">Kotlin 1.8 si\u0119 jednak ukaza\u0142<\/a>, wi\u0119c mo\u017cemy przygl\u0105dn\u0105\u0107 si\u0119, co ciekawego przynosi.<\/p>\n","innerContent":["\n<p>Pocz\u0105tkowo my\u015bla\u0142em, \u017ce takowe pojawi\u0105 si\u0119 po prostu pocz\u0105tkiem stycznia, ale mamy ju\u017c po\u0142ow\u0119 miesi\u0105ca, a tutaj wci\u0105\u017c nic. Ca\u0142o\u015b\u0107 sytuacji w zabawny spos\u00f3b dope\u0142nia za\u015b wpisanie Kotlin 1.8 w Google. Na jednej ze szczytowych pozycji znajduje si\u0119 strona <a href=\"https:\/\/is.kotlin.released.info\/\">is.kotlin.released.info<\/a>, kt\u00f3ra jako dat\u0119 premiery pokazuje... Kwiecie\u0144 2023. Nie jest to oficjalna publikacja, \u017cebym mia\u0142 j\u0105 fact-checkowa\u0107, ale dok\u0142ada si\u0119 jeszcze do og\u00f3lnego wra\u017cenia, \u017ce to nowe wydanie Kotlina jest jakie\u015b takie... opuszczone. <a href=\"https:\/\/kotlinlang.org\/docs\/releases.html\">Kotlin 1.8 si\u0119 jednak ukaza\u0142<\/a>, wi\u0119c mo\u017cemy przygl\u0105dn\u0105\u0107 si\u0119, co ciekawego przynosi.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Jak zwykle skupimy si\u0119 tutaj g\u0142\u00f3wnie na zmianach dotycz\u0105cych edycji JVM-owej. Zacznijmy wi\u0119c od tego, \u017ce nowy Kotlin to pierwsza wersja ze wsparciem dla Javy 19. Przesuni\u0119ta zosta\u0142a te\u017c dolna granica wsparcia. Je\u015bli u\u017cywali\u015bcie Kotlina w \u015brodowiskach, gdzie maksymaln\u0105 dopuszczaln\u0105 wersj\u0105 Javy by\u0142a wersja 1.7, mam dla Was z\u0142\u0105 nowin\u0119 - od wersji 1.8, minimalna wspierana wersja JDK to r\u00f3wnie\u017c 1.8 (przynajmniej \u0142atwo zapami\u0119ta\u0107). Pozwoli\u0142o to min. na przyspieszenie mechanizmu refleksji. W ramach czyszczenia kodu, usuni\u0119to r\u00f3wnie\u017c star\u0105 reprezentacje po\u015bredni\u0105, pozostaj\u0105c\u0105 w u\u015bpieniu ju\u017c od wersji Kotlin 1.5.<\/p>\n","innerContent":["\n<p>Jak zwykle skupimy si\u0119 tutaj g\u0142\u00f3wnie na zmianach dotycz\u0105cych edycji JVM-owej. Zacznijmy wi\u0119c od tego, \u017ce nowy Kotlin to pierwsza wersja ze wsparciem dla Javy 19. Przesuni\u0119ta zosta\u0142a te\u017c dolna granica wsparcia. Je\u015bli u\u017cywali\u015bcie Kotlina w \u015brodowiskach, gdzie maksymaln\u0105 dopuszczaln\u0105 wersj\u0105 Javy by\u0142a wersja 1.7, mam dla Was z\u0142\u0105 nowin\u0119 - od wersji 1.8, minimalna wspierana wersja JDK to r\u00f3wnie\u017c 1.8 (przynajmniej \u0142atwo zapami\u0119ta\u0107). Pozwoli\u0142o to min. na przyspieszenie mechanizmu refleksji. W ramach czyszczenia kodu, usuni\u0119to r\u00f3wnie\u017c star\u0105 reprezentacje po\u015bredni\u0105, pozostaj\u0105c\u0105 w u\u015bpieniu ju\u017c od wersji Kotlin 1.5.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":13706,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/image-1.png\" alt=\"\" class=\"wp-image-13706\"\/><figcaption class=\"wp-element-caption\">Je\u015bli powy\u017csze og\u0142oszenie Was w jakikolwiek spos\u00f3b zaafektuje - moje szczere wyrazy wsp\u00f3\u0142czucia z powodu u\u017cywania JDK 1.7 w 2023 (oficjalnie ju\u017c nie wspieranego nawet przez komercyjny support Oracle).<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/image-1.png\" alt=\"\" class=\"wp-image-13706\"\/><figcaption class=\"wp-element-caption\">Je\u015bli powy\u017csze og\u0142oszenie Was w jakikolwiek spos\u00f3b zaafektuje - moje szczere wyrazy wsp\u00f3\u0142czucia z powodu u\u017cywania JDK 1.7 w 2023 (oficjalnie ju\u017c nie wspieranego nawet przez komercyjny support Oracle).<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Kotlin doczeka\u0142 si\u0119 te\u017c nowej flagi do debugowania - <code>-Xdebug<\/code>. Jej rol\u0105 jest wy\u0142\u0105czenie niekt\u00f3rych optymalizacji dokonywanych przez runtime j\u0119zyka, kt\u00f3re utrudnia\u0142y zrozumienie zachowania kodu min. podczas wykonywania korutyn.<\/p>\n","innerContent":["\n<p>Kotlin doczeka\u0142 si\u0119 te\u017c nowej flagi do debugowania - <code>-Xdebug<\/code>. Jej rol\u0105 jest wy\u0142\u0105czenie niekt\u00f3rych optymalizacji dokonywanych przez runtime j\u0119zyka, kt\u00f3re utrudnia\u0142y zrozumienie zachowania kodu min. podczas wykonywania korutyn.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Jestem prostym cz\u0142owiekiem, ale przyznam, \u017ce z ca\u0142ego wydania najbardziej urzek\u0142o mnie <a href=\"https:\/\/kotlinlang.org\/docs\/whatsnew18.html#support-for-lombok-s-builder-annotation\">Support for Lombok's @Builder annotation<\/a>. Kiedy pierwszy raz migrowa\u0142em si\u0119 z du\u017cego projektu napisanego w Javie na Kotlina, to w\u0142a\u015bnie brak wsparcia dla <code>@Builder<\/code> z Lomboka by\u0142 najbardziej czasoch\u0142onn\u0105, manualn\u0105 robot\u0105. Z perspektywy przyznaje, \u017ce adnotacja ta w Kotlinie nie jest do niczego potrzebna, ale brak wsparcia dla niej bardzo utrudnia\u0142 stopniow\u0105 migracj\u0119 projekt\u00f3w mocno bazuj\u0105cych na Lomboku.<\/p>\n","innerContent":["\n<p>Jestem prostym cz\u0142owiekiem, ale przyznam, \u017ce z ca\u0142ego wydania najbardziej urzek\u0142o mnie <a href=\"https:\/\/kotlinlang.org\/docs\/whatsnew18.html#support-for-lombok-s-builder-annotation\">Support for Lombok's @Builder annotation<\/a>. Kiedy pierwszy raz migrowa\u0142em si\u0119 z du\u017cego projektu napisanego w Javie na Kotlina, to w\u0142a\u015bnie brak wsparcia dla <code>@Builder<\/code> z Lomboka by\u0142 najbardziej czasoch\u0142onn\u0105, manualn\u0105 robot\u0105. Z perspektywy przyznaje, \u017ce adnotacja ta w Kotlinie nie jest do niczego potrzebna, ale brak wsparcia dla niej bardzo utrudnia\u0142 stopniow\u0105 migracj\u0119 projekt\u00f3w mocno bazuj\u0105cych na Lomboku.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Tak naprawd\u0119 jednak najwi\u0119cej zmian doczeka\u0142a si\u0119 integracja z Gradle. Kotlin otrzyma\u0142 bowiem pe\u0142ne wsparcie dla funkcjonalno\u015bci dostarczonych przez Gradle 7.2 i 7.3. Jest tego sporo, w wi\u0119kszo\u015bci to jednak szczeg\u00f3\u0142y, wi\u0119c zainteresowanych <a href=\"https:\/\/kotlinlang.org\/docs\/whatsnew18.html#gradle\">odsy\u0142am do odpowiedniej sekcji oficjalnych release notes<\/a>.<\/p>\n","innerContent":["\n<p>Tak naprawd\u0119 jednak najwi\u0119cej zmian doczeka\u0142a si\u0119 integracja z Gradle. Kotlin otrzyma\u0142 bowiem pe\u0142ne wsparcie dla funkcjonalno\u015bci dostarczonych przez Gradle 7.2 i 7.3. Jest tego sporo, w wi\u0119kszo\u015bci to jednak szczeg\u00f3\u0142y, wi\u0119c zainteresowanych <a href=\"https:\/\/kotlinlang.org\/docs\/whatsnew18.html#gradle\">odsy\u0142am do odpowiedniej sekcji oficjalnych release notes<\/a>.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Pozosta\u0142e rzeczy, jak np. lekkie zmiany w bibliotece standardowej, to ju\u017c raczej detale. Mam wi\u0119c wra\u017cenie, \u017ce Kotlin 1.8 w zwi\u0105zku z tym nie zapisze si\u0119 raczej jako\u015b mocno w szerszej \u015bwiadomo\u015bci, chyba \u017ce programistom Swift\/ObjectiveC - j\u0119zyki te doczeka\u0142y si\u0119 podobno znacznie lepszego mechanizmu kompatybilno\u015bci.<\/p>\n","innerContent":["\n<p>Pozosta\u0142e rzeczy, jak np. lekkie zmiany w bibliotece standardowej, to ju\u017c raczej detale. Mam wi\u0119c wra\u017cenie, \u017ce Kotlin 1.8 w zwi\u0105zku z tym nie zapisze si\u0119 raczej jako\u015b mocno w szerszej \u015bwiadomo\u015bci, chyba \u017ce programistom Swift\/ObjectiveC - j\u0119zyki te doczeka\u0142y si\u0119 podobno znacznie lepszego mechanizmu kompatybilno\u015bci.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Co ciekawe, wspomniane pocz\u0105tkiem artyku\u0142u milczenie dotyczy nie tylko najnowszego wydania Kotlina, ale r\u00f3wnie\u017c Roadmapy projektu. Ta <a href=\"https:\/\/kotlinlang.org\/docs\/roadmap.html#kotlin-roadmap-by-subsystem\">r\u00f3wnie\u017c w grudniu 2022 otrzyma\u0142a bowiem swoj\u0105 aktualizacj\u0119<\/a>. Priorytety si\u0119 nie zmieniaj\u0105 - w dalszym ci\u0105gu kluczowe miejsce zajmuje nowy kompilator K2 i stabilizacja Kotlin Multiplatform Mobile. Pojawi\u0142o si\u0119 jednak kilka nowych pozycji, jak publiczne wypuszczenie plugina dla K2 do IntelliJ czy wsparcie tw\u00f3rc\u00f3w bibliotek zewn\u0119trznych. Ci ostatni otrzyma\u0107 maj\u0105 ulepszenie KDoc oraz oficjalne guidelines dla API, pokrywaj\u0105ce przyk\u0142adowo dobre praktyki tworzenia projekt\u00f3w multiplaformowych, zasady publikowania artefakt\u00f3w czy te\u017c zapewnienie wstecznej kompatybilno\u015bci.<\/p>\n","innerContent":["\n<p>Co ciekawe, wspomniane pocz\u0105tkiem artyku\u0142u milczenie dotyczy nie tylko najnowszego wydania Kotlina, ale r\u00f3wnie\u017c Roadmapy projektu. Ta <a href=\"https:\/\/kotlinlang.org\/docs\/roadmap.html#kotlin-roadmap-by-subsystem\">r\u00f3wnie\u017c w grudniu 2022 otrzyma\u0142a bowiem swoj\u0105 aktualizacj\u0119<\/a>. Priorytety si\u0119 nie zmieniaj\u0105 - w dalszym ci\u0105gu kluczowe miejsce zajmuje nowy kompilator K2 i stabilizacja Kotlin Multiplatform Mobile. Pojawi\u0142o si\u0119 jednak kilka nowych pozycji, jak publiczne wypuszczenie plugina dla K2 do IntelliJ czy wsparcie tw\u00f3rc\u00f3w bibliotek zewn\u0119trznych. Ci ostatni otrzyma\u0107 maj\u0105 ulepszenie KDoc oraz oficjalne guidelines dla API, pokrywaj\u0105ce przyk\u0142adowo dobre praktyki tworzenia projekt\u00f3w multiplaformowych, zasady publikowania artefakt\u00f3w czy te\u017c zapewnienie wstecznej kompatybilno\u015bci.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>To \u017ceby domkn\u0105\u0107 ju\u017c temat Kotlina i wej\u015b\u0107 w 2023 na pozytywnej nucie - pojawi\u0142 si\u0119 <a href=\"https:\/\/kotlinconf.com\/speakers\/\">oficjalny line-up speaker\u00f3w na KotlinConf 2023<\/a>. Je\u017celi zastanawiacie si\u0119 wi\u0119c nad wybraniem si\u0119 w kwietniu do Amsterdamu, teraz mo\u017cecie sprawdzi\u0107, kogo b\u0119dzie si\u0119 da\u0142o tam pos\u0142ucha\u0107.<\/p>\n","innerContent":["\n<p>To \u017ceby domkn\u0105\u0107 ju\u017c temat Kotlina i wej\u015b\u0107 w 2023 na pozytywnej nucie - pojawi\u0142 si\u0119 <a href=\"https:\/\/kotlinconf.com\/speakers\/\">oficjalny line-up speaker\u00f3w na KotlinConf 2023<\/a>. Je\u017celi zastanawiacie si\u0119 wi\u0119c nad wybraniem si\u0119 w kwietniu do Amsterdamu, teraz mo\u017cecie sprawdzi\u0107, kogo b\u0119dzie si\u0119 da\u0142o tam pos\u0142ucha\u0107.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>2. MicroProfile (jednak) \u0142\u0105czy si\u0119 z Core Profile<\/h2>\n","innerContent":["\n<h2>2. MicroProfile (jednak) \u0142\u0105czy si\u0119 z Core Profile<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>O ile Kotlin 1.8 to jeszcze pozosta\u0142o\u015bci po 2022, w bie\u017c\u0105cym tygodniu ukaza\u0142a si\u0119 pierwsza du\u017ca premiera roku 2023 - MicroProfile 6.0. Ten, poza standaryzacj\u0105 nowego zestawu API, przynosi za\u015b oczekiwane uporz\u0105dkowanie tego, jak wygl\u0105da obecnie relacja projektu z Jakarta EE.<\/p>\n","innerContent":["\n<p>O ile Kotlin 1.8 to jeszcze pozosta\u0142o\u015bci po 2022, w bie\u017c\u0105cym tygodniu ukaza\u0142a si\u0119 pierwsza du\u017ca premiera roku 2023 - MicroProfile 6.0. Ten, poza standaryzacj\u0105 nowego zestawu API, przynosi za\u015b oczekiwane uporz\u0105dkowanie tego, jak wygl\u0105da obecnie relacja projektu z Jakarta EE.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Wraz z Jakarta EE 10 pojawi\u0142 si\u0119 tak zwany Core Profile - zestaw API, kt\u00f3re zgodnie z planami tw\u00f3rc\u00f3w maj\u0105 stanowi\u0107 minimum niezb\u0119dne do tworzenia mikrous\u0142ug w Javie. Brzmi to bardzo podobnie do celu, jaki postawili sobie tw\u00f3rcy MicroProfile, dlatego od pocz\u0105tku zastanawiali\u015bmy si\u0119, w jaki spos\u00f3b pojawienie si\u0119 Core Profile na niego wp\u0142ynie. Jaka\u015b forma synergii wydawa\u0142a si\u0119 tutaj by\u0107 bardzo naturalna, ale r\u00f3wnocze\u015bnie od pocz\u0105tku pojawia\u0142y si\u0119 jasne komunikaty, \u017ce nie nale\u017cy spodziewa\u0107 si\u0119 dw\u00f3ch inicjatyw w jedn\u0105. Ich tw\u00f3rcy jednak zapewniali, \u017ce pozostaj\u0105 ze sob\u0105 w sta\u0142ym kontakcie i w przyjacielskich stosunkach.<\/p>\n","innerContent":["\n<p>Wraz z Jakarta EE 10 pojawi\u0142 si\u0119 tak zwany Core Profile - zestaw API, kt\u00f3re zgodnie z planami tw\u00f3rc\u00f3w maj\u0105 stanowi\u0107 minimum niezb\u0119dne do tworzenia mikrous\u0142ug w Javie. Brzmi to bardzo podobnie do celu, jaki postawili sobie tw\u00f3rcy MicroProfile, dlatego od pocz\u0105tku zastanawiali\u015bmy si\u0119, w jaki spos\u00f3b pojawienie si\u0119 Core Profile na niego wp\u0142ynie. Jaka\u015b forma synergii wydawa\u0142a si\u0119 tutaj by\u0107 bardzo naturalna, ale r\u00f3wnocze\u015bnie od pocz\u0105tku pojawia\u0142y si\u0119 jasne komunikaty, \u017ce nie nale\u017cy spodziewa\u0107 si\u0119 dw\u00f3ch inicjatyw w jedn\u0105. Ich tw\u00f3rcy jednak zapewniali, \u017ce pozostaj\u0105 ze sob\u0105 w sta\u0142ym kontakcie i w przyjacielskich stosunkach.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":13716,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/image-2.png\" alt=\"\" class=\"wp-image-13716\"\/><figcaption class=\"wp-element-caption\">I bardzo dobrze. Enterprise Java to za ma\u0142y \u015bwiatek, \u017ceby si\u0119 jeszcze dzieli\u0107.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/image-2.png\" alt=\"\" class=\"wp-image-13716\"\/><figcaption class=\"wp-element-caption\">I bardzo dobrze. Enterprise Java to za ma\u0142y \u015bwiatek, \u017ceby si\u0119 jeszcze dzieli\u0107.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Teraz za\u015b <a href=\"https:\/\/microprofile.io\/2023\/01\/10\/microprofile-6-0-release\/\">wraz z premier\u0105 MicroProfile 6.0<\/a> <a href=\"https:\/\/download.eclipse.org\/microprofile\/microprofile-6.0\/microprofile-spec-6.0.pdf\">dowiadujemy si\u0119<\/a>, jak splecione zostan\u0105 oba standardy. Dotychczasow\u0105 strategi\u0105 MicroProfile by\u0142o wybieranie sobie z Jakarta EE tych API, kt\u00f3re wed\u0142ug tw\u00f3rc\u00f3w projektu mia\u0142y by\u0107 najbardziej przydatne dla u\u017cytkownika MP. W wypadku MicroProfile 5.0 by\u0142o to wi\u0119c:<\/p>\n","innerContent":["\n<p>Teraz za\u015b <a href=\"https:\/\/microprofile.io\/2023\/01\/10\/microprofile-6-0-release\/\">wraz z premier\u0105 MicroProfile 6.0<\/a> <a href=\"https:\/\/download.eclipse.org\/microprofile\/microprofile-6.0\/microprofile-spec-6.0.pdf\">dowiadujemy si\u0119<\/a>, jak splecione zostan\u0105 oba standardy. Dotychczasow\u0105 strategi\u0105 MicroProfile by\u0142o wybieranie sobie z Jakarta EE tych API, kt\u00f3re wed\u0142ug tw\u00f3rc\u00f3w projektu mia\u0142y by\u0107 najbardziej przydatne dla u\u017cytkownika MP. W wypadku MicroProfile 5.0 by\u0142o to wi\u0119c:<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[{"blockName":"core\/list-item","attrs":[],"innerBlocks":[],"innerHTML":"\n<li>Jakarta Contexts and Dependency Injection (CDI)<\/li>\n","innerContent":["\n<li>Jakarta Contexts and Dependency Injection (CDI)<\/li>\n"]},{"blockName":"core\/list-item","attrs":[],"innerBlocks":[],"innerHTML":"\n<li>Jakarta Annotations (JPA)<\/li>\n","innerContent":["\n<li>Jakarta Annotations (JPA)<\/li>\n"]},{"blockName":"core\/list-item","attrs":[],"innerBlocks":[],"innerHTML":"\n<li>Jakarta RESTful Web Services (JAX-RS)<\/li>\n","innerContent":["\n<li>Jakarta RESTful Web Services (JAX-RS)<\/li>\n"]},{"blockName":"core\/list-item","attrs":[],"innerBlocks":[],"innerHTML":"\n<li>Jakarta JSON Binding (JSON-B)<\/li>\n","innerContent":["\n<li>Jakarta JSON Binding (JSON-B)<\/li>\n"]},{"blockName":"core\/list-item","attrs":[],"innerBlocks":[],"innerHTML":"\n<li>Jakarta JSON Processing (JSON-P)<\/li>\n","innerContent":["\n<li>Jakarta JSON Processing (JSON-P)<\/li>\n"]}],"innerHTML":"\n<ul>\n\n\n\n\n\n\n\n<\/ul>\n","innerContent":["\n<ul>",null,"\n\n",null,"\n\n",null,"\n\n",null,"\n\n",null,"<\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Od wydania MicroProfile 6.0 projekt dokona\u0142 alignementu z Jakarta Core Profile. Oznacza to, \u017ce zamiast na pojedynczych API b\u0119dzie on posiada\u0142 zale\u017cno\u015b\u0107 na pe\u0142nym Profilu, a tranzytywne trafi\u0105 do niego r\u00f3wnie\u017c nast\u0119puj\u0105ce API:<\/p>\n","innerContent":["\n<p>Od wydania MicroProfile 6.0 projekt dokona\u0142 alignementu z Jakarta Core Profile. Oznacza to, \u017ce zamiast na pojedynczych API b\u0119dzie on posiada\u0142 zale\u017cno\u015b\u0107 na pe\u0142nym Profilu, a tranzytywne trafi\u0105 do niego r\u00f3wnie\u017c nast\u0119puj\u0105ce API:<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[{"blockName":"core\/list-item","attrs":[],"innerBlocks":[],"innerHTML":"\n<li>Jakarta RESTful Web Services<\/li>\n","innerContent":["\n<li>Jakarta RESTful Web Services<\/li>\n"]},{"blockName":"core\/list-item","attrs":[],"innerBlocks":[],"innerHTML":"\n<li>Jakarta Interceptors<\/li>\n","innerContent":["\n<li>Jakarta Interceptors<\/li>\n"]}],"innerHTML":"\n<ul>\n\n<\/ul>\n","innerContent":["\n<ul>",null,"\n\n",null,"<\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ze zrozumia\u0142ych powod\u00f3w, minimalna wersja Jakarta EE wspierana przez MicroProfile to teraz Jakarta EE 10.<\/p>\n","innerContent":["\n<p>Ze zrozumia\u0142ych powod\u00f3w, minimalna wersja Jakarta EE wspierana przez MicroProfile to teraz Jakarta EE 10.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Opr\u00f3cz powy\u017cszych, MicroProfile 6.0 to te\u017c zmiany zwi\u0105zane z Observability, wymuszone przez dzia\u0142ania \"podmiot\u00f3w zewn\u0119trznych\". Je\u015bli chodzi o Tracing \u2013 \u015bledzenia poszczeg\u00f3lnych zdarze\u0144 w ramach aplikacji \u2013 organizacj\u0105 zajmuj\u0105c\u0105 si\u0119 tworzeniem standard\u00f3w jest Cloud Native Computing Foundation (w skr\u00f3cie CNCF). Przez lata rozwijane by\u0142o kilka konkurencyjnych projekt\u00f3w, takich jak OpenCensus czy OpenTracing. Ten ostatni trafi\u0142 zreszt\u0105 do MicroProfile jako <strong>MicroProfile OpenTracing API<\/strong>.<\/p>\n","innerContent":["\n<p>Opr\u00f3cz powy\u017cszych, MicroProfile 6.0 to te\u017c zmiany zwi\u0105zane z Observability, wymuszone przez dzia\u0142ania \"podmiot\u00f3w zewn\u0119trznych\". Je\u015bli chodzi o Tracing \u2013 \u015bledzenia poszczeg\u00f3lnych zdarze\u0144 w ramach aplikacji \u2013 organizacj\u0105 zajmuj\u0105c\u0105 si\u0119 tworzeniem standard\u00f3w jest Cloud Native Computing Foundation (w skr\u00f3cie CNCF). Przez lata rozwijane by\u0142o kilka konkurencyjnych projekt\u00f3w, takich jak OpenCensus czy OpenTracing. Ten ostatni trafi\u0142 zreszt\u0105 do MicroProfile jako <strong>MicroProfile OpenTracing API<\/strong>.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>CNCF pocz\u0105tkiem zesz\u0142ego roku zdecydowa\u0142 si\u0119 jednak na porzucenie rozwoju OpenTracingu na rzecz OpenTelemetry, b\u0119d\u0105cego nieco szerszym projektem. W wyniku tego, <strong>MicroProfile OpenTracing API<\/strong> oberwa\u0142o rykoszetem i r\u00f3wnie\u017c przestanie by\u0107 wspierane. Na jego miejsce powsta\u0142o <strong>MicroProfile Telemetry Tracing<\/strong>, implementuj\u0105ce standard Tracingu pochodz\u0105cy OpenTelemetry.<\/p>\n","innerContent":["\n<p>CNCF pocz\u0105tkiem zesz\u0142ego roku zdecydowa\u0142 si\u0119 jednak na porzucenie rozwoju OpenTracingu na rzecz OpenTelemetry, b\u0119d\u0105cego nieco szerszym projektem. W wyniku tego, <strong>MicroProfile OpenTracing API<\/strong> oberwa\u0142o rykoszetem i r\u00f3wnie\u017c przestanie by\u0107 wspierane. Na jego miejsce powsta\u0142o <strong>MicroProfile Telemetry Tracing<\/strong>, implementuj\u0105ce standard Tracingu pochodz\u0105cy OpenTelemetry.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Co istotne, OpenTelemetry wprowadza te\u017c w\u0142asny standard dla metryk, kt\u00f3rego jednak MicroProfile nie zdecydowa\u0142 si\u0119 wspiera\u0107, stawiaj\u0105c na autorskie <strong>MicroProfile Metrics<\/strong>. Prowadzi to do kuriozalnych sytuacji, gdy takie projekty jak np. Quarkus, chc\u0105c w pe\u0142ni wspiera\u0107 standard OpenTelemetry zmuszone s\u0105 porzuca\u0107 niekompatybilne z nim MicroProfile Metrics - wi\u0119cej o sytuacji <a href=\"https:\/\/vived.io\/much-ado-about-observability-jep-making-profiling-easier-and-quarkus-dropping-microprofile-standard\/\">poczytacie tutaj<\/a>. Podejrzewam wi\u0119c, \u017ce to nie koniec zmian i w przysz\u0142o\u015bci czeka nas dalsza ewolucja relacji MicroProfile\/OpenTelemetry.<\/p>\n","innerContent":["\n<p>Co istotne, OpenTelemetry wprowadza te\u017c w\u0142asny standard dla metryk, kt\u00f3rego jednak MicroProfile nie zdecydowa\u0142 si\u0119 wspiera\u0107, stawiaj\u0105c na autorskie <strong>MicroProfile Metrics<\/strong>. Prowadzi to do kuriozalnych sytuacji, gdy takie projekty jak np. Quarkus, chc\u0105c w pe\u0142ni wspiera\u0107 standard OpenTelemetry zmuszone s\u0105 porzuca\u0107 niekompatybilne z nim MicroProfile Metrics - wi\u0119cej o sytuacji <a href=\"https:\/\/vived.io\/much-ado-about-observability-jep-making-profiling-easier-and-quarkus-dropping-microprofile-standard\/\">poczytacie tutaj<\/a>. Podejrzewam wi\u0119c, \u017ce to nie koniec zmian i w przysz\u0142o\u015bci czeka nas dalsza ewolucja relacji MicroProfile\/OpenTelemetry.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":13723,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/DarlingSlimyChimneyswift-size_restricted.gif\" alt=\"\" class=\"wp-image-13723\"\/><figcaption class=\"wp-element-caption\">I w ten spos\u00f3b zrobimy \u0142adn\u0105 klamr\u0119 z Jakarta EE Core Profile <\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/01\/DarlingSlimyChimneyswift-size_restricted.gif\" alt=\"\" class=\"wp-image-13723\"\/><figcaption class=\"wp-element-caption\">I w ten spos\u00f3b zrobimy \u0142adn\u0105 klamr\u0119 z Jakarta EE Core Profile <\/figcaption><\/figure>\n"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/13701","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/comments?post=13701"}],"version-history":[{"count":19,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/13701\/revisions"}],"predecessor-version":[{"id":13763,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/13701\/revisions\/13763"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media\/13730"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=13701"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=13701"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=13701"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}