{"id":115312,"date":"2024-04-25T09:22:49","date_gmt":"2024-04-25T07:22:49","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/dostupna-javascript-platforma-node-js-22-0-0"},"modified":"2024-04-25T09:22:49","modified_gmt":"2024-04-25T07:22:49","slug":"dostupna-javascript-platforma-node-js-22-0-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/dostupna-javascript-platforma-node-js-22-0-0","title":{"rendered":"Dost\u0119pna jest platforma JavaScript Node.js 22.0.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Wydano Node.js 22.0, platform\u0119 do uruchamiania aplikacji sieciowych w j\u0119zyku JavaScript. Node.js 22.0 nale\u017cy do ga\u0142\u0119zi z d\u0142ugoterminowym wsparciem, lecz ten status zostanie przyznany dopiero w pa\u017adzierniku, po przeprowadzeniu stabilizacji. Wsparcie dla Node.js 22.x b\u0119dzie prowadzone do 30 kwietnia 2027 roku. Utrzymanie poprzedniej ga\u0142\u0119zi LTS Node.js 20.x potrwa do kwietnia 2026 roku, a wcze\u015bniejszej ga\u0142\u0119zi LTS 18.x do kwietnia 2025 roku. Utrzymanie po\u015bredniej ga\u0142\u0119zi Node.js 21.x zostanie zako\u0144czone 1 czerwca 2024 roku.        <\/p>\n<p>Zaimplementowano wywo\u0142ania systemowe waitid (oczekiwanie na zmian\u0119 stanu procesu), pinsyscall (do przekazywania informacji o punkcie wej\u015bcia execve w celu ochrony przed exploitami ROP), getthrname i setthrname (uzyskiwanie i ustalanie nazwy w\u0105tku).  <\/p>\n<ul>\n<li class=\"l\"> Silnik V8 zosta\u0142 zaktualizowany do wersji 12.4, u\u017cywanego w Chromium 124. W\u015br\u00f3d zmian w por\u00f3wnaniu do ga\u0142\u0119zi Node.js 21, w kt\u00f3rej u\u017cywano silnika V8 11.8, wyr\u00f3\u017cnia si\u0119:\n<ul>\n<li class=\"l\"> Wsparcie dla rozszerzenia WasmGC, kt\u00f3re upraszcza portowanie program\u00f3w do WebAssembly, napisanych w j\u0119zykach programowania korzystaj\u0105cych z garbage collectora (Kotlin, PHP, Java itd.). WasmGC dodaje nowe typy struktur i tablic, dla kt\u00f3rych mo\u017ce by\u0107 stosowane nieliniowe przydzielanie pami\u0119ci.\n<li class=\"l\"> Wsparcie dla metody Array.fromAsync(), kt\u00f3ra w trybie asynchronicznym zwraca nowy egzemplarz obiektu Array, skopiowanego z obiekt\u00f3w przypominaj\u0105cych tablice, kt\u00f3re s\u0105 iterowalne (iterable) lub asynchronicznie iterowalne (async iterable).\n<li class=\"l\"> Wsparcie dla metod pracy z iteratorami, takich jak .map, .filter, .find, .take, .drop, .forEach i .reduce.\n<li class=\"l\"> Wsparcie dla obiektu Set, kt\u00f3ry definiuje kolekcj\u0119 warto\u015bci i oferuje metody do realizacji typowych operacji na zbiorach, takich jak przeci\u0119cia, unie, r\u00f3\u017cnice i dope\u0142nienia.        <\/ul>\n<li class=\"l\"> Domy\u015blnie w\u0142\u0105czono optymalizuj\u0105cy kompilator JIT Maglev, kt\u00f3ry ma na celu szybk\u0105 generacj\u0119 wysokowydajnego kodu maszynowego dla intensywnie u\u017cywanego kodu JavaScript. W\u0142\u0105czenie Maglev pozwala na zauwa\u017calne przyspieszenie dzia\u0142ania kr\u00f3tkotrwa\u0142ych aplikacji CLI, kt\u00f3re nie wykonuj\u0105 d\u0142ugotrwa\u0142ych operacji; na przyk\u0142ad czas trwania testu Jetstream skraca si\u0119 o 7,5%, a testu Speedometer o 5%.\n<li class=\"l\"> Przyspieszono prac\u0119 z potokami poprzez zwi\u0119kszenie warto\u015bci opcji highWaterMark z 16 KB do 65 KB (okre\u015bla limit, do kt\u00f3rego wykonywana jest buforowanie zapisu). Zmiana ta powoduje zwi\u0119kszenie zu\u017cycia pami\u0119ci, wi\u0119c aplikacjom zaprojektowanym do pracy z ograniczon\u0105 ilo\u015bci\u0105 RAM, mo\u017ce by\u0107 konieczne przywr\u00f3cenie wcze\u015bniejszej warto\u015bci za pomoc\u0105 wywo\u0142ania setDefaultHighWaterMark().\n<li class=\"l\"> Wydajno\u015b\u0107 API fetch() i test runnera zosta\u0142a zwi\u0119kszona dzi\u0119ki poprawie efektywno\u015bci tworzenia instancji AbortSignal. Udoskonalono wydajno\u015b\u0107 API zwi\u0105zanych z synchroniczn\u0105 prac\u0105 z systemami plik\u00f3w.\n<li class=\"l\"> Dostarczono eksperymentaln\u0105 mo\u017cliwo\u015b\u0107 u\u017cycia wywo\u0142ania &#171;require()&#187; do \u0142adowania modu\u0142\u00f3w JavaScript ESM (Modu\u0142y ECMAScript) w trybie synchronicznym. Modu\u0142y ESM s\u0105 stosowane w przegl\u0105darkach i zast\u0119puj\u0105 modu\u0142y CommonJS charakterystyczne dla Node.js. Aby za\u0142adowa\u0107 modu\u0142 ESM za pomoc\u0105 &#171;require()&#187;, musi on by\u0107 uruchamiany w trybie synchronicznym (bez await na najwy\u017cszym poziomie). Wsparcie jest w\u0142\u0105czane poprzez flag\u0119 &#171;&#8212;experimental-require-module&#187;.\n<li class=\"l\"> Dodano eksperymentaln\u0105 mo\u017cliwo\u015b\u0107 uruchamiania skrypt\u00f3w zdefiniowanych w pliku package.json za pomoc\u0105 polecenia &#171;&#8212;run &lt;script-in-package-json&gt;&#187;.\n<li class=\"l\"> Polecenie &#171;node &#8212;watch&#187; zosta\u0142o przeniesione do kategorii stabilnych, wdra\u017caj\u0105c tryb obserwacji, kt\u00f3ry zapewnia automatyczne ponowne uruchamianie procesu przy zmianie importowanego pliku (na przyk\u0142ad, gdy uruchomimy &#171;node &#8212;watch index.js&#187;, proces zostanie automatycznie ponownie uruchomiony po zmianie index.js).\n<li class=\"l\"> Stabilizowano wbudowan\u0105 implementacj\u0119 API WebSocket, co umo\u017cliwia korzystanie z WebSocket w trybie klienta bez instalowania dodatkowych zale\u017cno\u015bci.\n<li class=\"l\"> Dodano cz\u0119\u015bciow\u0105 obs\u0142ug\u0119 API Navigator.\n<li class=\"l\"> W API Webstreams dodano wsparcie formatu kompresji deflate-raw.\n<li class=\"l\"> W module node:fsmodule dodano funkcje glob i globSync do dopasowywania \u015bcie\u017cek plik\u00f3w wed\u0142ug wzoru.\n<li class=\"l\"> Udoskonalono obs\u0142ug\u0119 niew\u0142a\u015bciwie skonfigurowanych stos\u00f3w IPv6. Zrealizowano algorytm Happy Eyeballs dla szybkiego powrotu w przypadku problem\u00f3w z IPv6.\n<li class=\"l\"> Og\u0142oszono dezaktualizacj\u0119 API util.\n<li class=\"l\"> Zaktualizowano wersje zale\u017cno\u015bci: npm 10.5.1, libuv 1.48.0, simdutf 5.2.3, c-ares 1.28.1, zlib 1.3.0.1-motley-24c07df, simdjson do 3.8.0, ada 2.7.7 oraz undici 6.6.0.    <\/ul>\n<p>Platforma Node.js mo\u017ce by\u0107 wykorzystana zar\u00f3wno do serwerowego wsparcia prac Web-aplikacji, jak i do tworzenia zwyk\u0142ych klientskich oraz serwerowych program\u00f3w sieciowych. Dla rozszerzenia funkcjonalno\u015bci aplikacji do Node.js przygotowano du\u017c\u0105 kolekcj\u0119 modu\u0142\u00f3w, w kt\u00f3rej mo\u017cna znale\u017a\u0107 modu\u0142y z realizacj\u0105  <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pl\/server\/\"   title=\"serwer\u00f3w\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1550\">serwer\u00f3w<\/a> klient\u00f3w HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, modu\u0142y do integracji z r\u00f3\u017cnymi frameworkami webowymi, obs\u0142ugiwacze WebSocket i Ajax, konektory do baz danych (MySQL, PostgreSQL, SQLite, MongoDB), silniki szablon\u00f3w, silniki CSS, realizacje algorytm\u00f3w kryptograficznych oraz system\u00f3w autoryzacji (OAuth), parsery XML.    <\/p>\n<p> Aby obs\u0142u\u017cy\u0107 du\u017c\u0105 liczb\u0119 r\u00f3wnoleg\u0142ych \u017c\u0105da\u0144, Node.js wykorzystuje asynchroniczny model uruchamiania kodu, oparty na przetwarzaniu zdarze\u0144 w trybie nieblokuj\u0105cym oraz definiowaniu callback\u00f3w. W ramach mno\u017cenia po\u0142\u0105cze\u0144 wspierane s\u0105 takie metody jak epoll, kqueue, \/dev\/poll i select. Do mno\u017cenia po\u0142\u0105cze\u0144 u\u017cywana jest biblioteka libuv, kt\u00f3ra jest nak\u0142adk\u0105 na libev w systemach Unix oraz na IOCP w Windows. Do tworzenia puli w\u0105tk\u00f3w wykorzystana jest biblioteka libeio, a do wykonywania zapyta\u0144 DNS w trybie nieblokuj\u0105cym zintegrowano c-ares. Wszystkie wywo\u0142ania systemowe, kt\u00f3re powoduj\u0105 blokowanie, s\u0105 wykonywane wewn\u0105trz puli w\u0105tk\u00f3w, a nast\u0119pnie, tak jak obs\u0142uga sygna\u0142\u00f3w, przekazuj\u0105 wyniki swojej pracy z powrotem przez bezimienny kana\u0142 (pipe).     <\/p>\n<p>Wykonanie kodu JavaScript zapewniane jest poprzez wykorzystanie silnika V8 opracowanego przez firm\u0119 Google (dodatkowo Microsoft rozwija wariant Node.js z silnikiem Chakra-Core). Zasadniczo Node.js przypomina frameworki Perl AnyEvent, Ruby Event Machine, Python Twisted oraz implementacj\u0119 zdarze\u0144 w Tcl, jednak p\u0119tla przetwarzania zdarze\u0144 (event loop) w Node.js jest ukryta przed programist\u0105 i przypomina przetwarzanie zdarze\u0144 w aplikacji webowej dzia\u0142aj\u0105cej w przegl\u0105darce.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=61067\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 22.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript. Node.js 22.0 \u043e\u0442\u043d\u0435\u0441\u0451\u043d \u043a \u0432\u0435\u0442\u043a\u0430\u043c \u0441 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0441\u0440\u043e\u043a\u043e\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438, \u043d\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u043a\u0442\u044f\u0431\u0440\u0435, \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Node.js 22.x \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0434\u043e 30 \u0430\u043f\u0440\u0435\u043b\u044f 2027 \u0433\u043e\u0434\u0430. \u0421\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 LTS-\u0432\u0435\u0442\u043a\u0438 Node.js 20.x \u043f\u0440\u043e\u0434\u043b\u0438\u0442\u0441\u044f \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2026 \u0433\u043e\u0434\u0430, \u0430 \u043f\u043e\u0437\u0430\u043f\u0440\u043e\u0448\u043b\u043e\u0439 LTS-\u0432\u0435\u0442\u043a\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-115312","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 22.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/news\/dostupna-javascript-platforma-node-js-22-0-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u0430 JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Node.js 22.0.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 22.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/dostupna-javascript-platforma-node-js-22-0-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-04-25T07:22:49+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-04-25T07:22:49+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Dost\u0119pna platforma JavaScript Node.js 22.0.0 | ProHoster","description":"Wydany zosta\u0142 Node.js 22.0, platforma do uruchamiania aplikacji sieciowych w j\u0119zyku JavaScript.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/dostupna-javascript-platforma-node-js-22-0-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u0430 JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Node.js 22.0.0 | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 22.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/dostupna-javascript-platforma-node-js-22-0-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-04-25T07:22:49+00:00","article:modified_time":"2024-04-25T07:22:49+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"115312","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-09 17:21:17","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-22 23:06:19","updated":"2026-02-09 17:21:17","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/115312","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=115312"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/115312\/revisions"}],"predecessor-version":[{"id":158794,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/115312\/revisions\/158794"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=115312"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=115312"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=115312"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}