{"id":111020,"date":"2023-10-21T15:10:15","date_gmt":"2023-10-21T13:10:15","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/dostupna-servernaya-javascript-platforma-node-js-21-0"},"modified":"2026-02-15T22:30:51","modified_gmt":"2026-02-15T20:30:51","slug":"dostupna-servernaya-javascript-platforma-node-js-21-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-21-0","title":{"rendered":"Dost\u0119pna jest serwerowa platforma JavaScript Node.js 21.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Wydano Node.js 21.0, platform\u0119 do uruchamiania aplikacji sieciowych w JavaScript. Wsparcie dla wersji Node.js 21.0 b\u0119dzie trwa\u0142o przez 6 miesi\u0119cy. W najbli\u017cszych dniach zako\u0144czona zostanie stabilizacja wersji Node.js 20, kt\u00f3ra otrzyma status LTS i b\u0119dzie wspierana do kwietnia 2026 r. Wsparcie dla poprzedniej wersji LTS Node.js 18.0 potrwa do wrze\u015bnia 2025 r., a dla wersji 16.0 do kwietnia 2024 r.         <\/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\"> Og\u0142oszono stabilne API Fetch, s\u0142u\u017c\u0105ce do pobierania zasob\u00f3w przez sie\u0107, co upraszcza pisanie uniwersalnego kodu JavaScript, nadaj\u0105cego si\u0119 do pracy po stronie serwera i klienta. Implementacja opiera si\u0119 na kodzie klienta HTTP\/1.1 undici i jest maksymalnie zbli\u017cona do podobnego API, oferowanego w przegl\u0105darkach. API zawiera metod\u0119 fetch() oraz obiekty Headers, Request i Response, reprezentuj\u0105ce nag\u0142\u00f3wki HTTP, zapytanie i odpowied\u017a.          const res = await fetch('https:\/\/nodejs.org\/api\/documentation.json');     if (res.ok) {       const data = await res.json();       console.log(data);     }\n<li class=\"l\"> Z Stabilizowano wsparcie API WebStreams, kt\u00f3re umo\u017cliwia dost\u0119p do strumieni danych pobranych przez sie\u0107. API pozwala na dodawanie w\u0142asnych handler\u00f3w, kt\u00f3re dzia\u0142aj\u0105 z danymi w miar\u0119 ich przychodzenia, nie czekaj\u0105c na pe\u0142ne za\u0142adowanie pliku. W Node.js dost\u0119pne s\u0105 takie obiekty jak ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream i DecompressionStream.\n<li class=\"l\"> Dodano eksperymentaln\u0105 implementacj\u0119 klienta WebSocket, <a href=\"https:\/\/prohoster.info\/pl\/ssl-sertifikat\/rapidssl-wildcard\/\"  data-wpil-monitor-id=\"3323\">kompatybiln\u0105 z przegl\u0105darkami<\/a>. Aby w\u0142\u0105czy\u0107 wsparcie dla WebSocket, przewidziano flag\u0119 '\u2014experimental-websocket'.\n<li class=\"l\"> Dodano eksperymentalny tryb domy\u015blny u\u017cycia implementacji modu\u0142\u00f3w JavaScript ESM (ECMAScript Modules, stosowane w modu\u0142ach dla przegl\u0105darek) zamiast CommonJS (specyficzne dla Node.js). Zmiana nie dotyczy modu\u0142\u00f3w, kt\u00f3rych format jest wyra\u017anie okre\u015blony przez pole 'type' w package.json, zdefiniowane przez flag\u0119 '\u2014input-type' lub oczywiste z rozszerzenia pliku (.mjs dla ESM, .cjs dla CommonJS). Modu\u0142y, kt\u00f3re nie s\u0105 wyra\u017anie okre\u015blone jako CommonJS (na przyk\u0142ad maj\u0105 rozszerzenie '.js'), b\u0119d\u0105 traktowane jako modu\u0142y ESM przy w\u0142\u0105czonym nowym trybie. Aby aktywowa\u0107 nowe ustawienia modu\u0142\u00f3w, zaproponowano flag\u0119 '\u2014experimental-default-type'.\n<li class=\"l\"> Silnik V8 zosta\u0142 zaktualizowany do wersji 11.8, u\u017cywanej w Chromium 118, w kt\u00f3rej wprowadzono wsparcie dla metody ArrayBuffer.prototype.transfer, mo\u017cliwo\u015bci grupowania tablic (metoda groupBy) oraz instrukcji WebAssembly do obs\u0142ugi sta\u0142ych (i32.add, i32.sub, i32.mul, i64.add, i64.sub i i64.mul).\n<li class=\"l\"> Wsparcie dla globalPreload zosta\u0142o zako\u0144czone, zamiast tego do konfiguracji modu\u0142\u00f3w nale\u017cy u\u017cywa\u0107 wywo\u0142a\u0144 register i initialize.\n<li class=\"l\"> Do funkcji fs.writeFile dodano opcj\u0119 'flush' do wymuszenia zrzutu danych na no\u015bnik po ka\u017cdej operacji zapisu.\n<li class=\"l\"> Zwi\u0119kszona wydajno\u015b\u0107 kodu zwi\u0105zanym z analiz\u0105 URL, API fetch, strumieniami, node:fs oraz HTTP.\n<li class=\"l\"> Dodano globalny obiekt navigator. Na przyk\u0142ad, aby uzyska\u0107 dane o liczbie rdzeni CPU, mo\u017cna u\u017cy\u0107 w\u0142a\u015bciwo\u015bci navigator.hardwareConcurrency.\n<li class=\"l\"> W parametrze '\u2014test' dodano wsparcie dla wzorc\u00f3w glob do wyboru uruchamianych test\u00f3w (na przyk\u0142ad, mo\u017cna poda\u0107 '\u2014test **\/*.test.js').\n<li class=\"l\"> Zaktualizowane zosta\u0142y pakietowy mened\u017cer npm 10.2.0 oraz parser llhttp 9.1.2.\n<li class=\"l\"> Wsparcie dla Visual Studio 2019 oraz wersji macOS starszych ni\u017c 11.0 zosta\u0142o zako\u0144czone.         <\/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=\"1675\">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 zapyta\u0144, Node.js wykorzystuje asynchroniczny model uruchamiania kodu oparty na przetwarzaniu zdarze\u0144 w trybie non-blocking oraz definiowaniu callback\u00f3w. Wsparcie dla multiplexing po\u0142\u0105cze\u0144 obejmuje takie metody jak epoll, kqueue, \/dev\/poll i select. Do multiplexing po\u0142\u0105cze\u0144 u\u017cywana jest biblioteka libuv, kt\u00f3ra jest dodatkow\u0105 warstw\u0105 nad libev w systemach Unix oraz nad IOCP w Windows. Do tworzenia puli w\u0105tk\u00f3w (thread pool) wykorzystana jest biblioteka libeio, a do wykonywania zapyta\u0144 DNS w trybie non-blocking zintegrowano c-ares. Wszystkie wywo\u0142ania systemowe, kt\u00f3re powoduj\u0105 blokowanie, s\u0105 realizowane w obr\u0119bie puli w\u0105tk\u00f3w, a nast\u0119pnie, podobnie jak obs\u0142uga sygna\u0142\u00f3w, przekazuj\u0105 wyniki swojej pracy z powrotem przez niestrunn\u0105 rynn\u0119 (pipe). Wykonanie kodu JavaScript zapewnia stworzony przez firm\u0119 Google silnik V8 (dodatkowo Microsoft rozwija wersj\u0119 Node.js z silnikiem Chakra-Core).        <\/p>\n<p>Zasadniczo Node.js przypomina frameworki Perl AnyEvent, Ruby Event Machine, Python Twisted oraz implementacj\u0119 zdarze\u0144 w Tcl, ale p\u0119tla obs\u0142ugi zdarze\u0144 (event loop) w Node.js jest ukryta przed deweloperem i przypomina obs\u0142ug\u0119 zdarze\u0144 w aplikacji webowej dzia\u0142aj\u0105cej w przegl\u0105darce. Podczas pisania aplikacji dla Node.js nale\u017cy uwzgl\u0119dni\u0107 specyfik\u0119 programowania opartego na zdarzeniach, na przyk\u0142ad zamiast wykonywa\u0107 &#171;var result = db.query(&#171;select..&#187;);&#187; z oczekiwaniem na zako\u0144czenie pracy i dalszym przetwarzaniem wynik\u00f3w, w Node.js stosuje si\u0119 zasad\u0119 asynchronicznego wykonania, t.j. kod przekszta\u0142ca si\u0119 w &#171;db.query(&#171;select..&#187;, function (result) {przetwarzanie wyniku});&#187;, przy czym kontrola natychmiast przechodzi do kolejnego kodu, a wynik zapytania b\u0119dzie przetwarzany w miar\u0119 nap\u0142ywu danych.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=59969\">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 21.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. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432\u0435\u0442\u043a\u0438 Node.js 21.0 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 6 \u043c\u0435\u0441\u044f\u0446\u0435\u0432. \u0412 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0438\u0435 \u0434\u043d\u0438 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430 \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u0435\u0442\u043a\u0438 Node.js 20, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u0441\u0442\u0430\u0442\u0443\u0441 LTS \u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2026 \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 18.0 \u043f\u0440\u043e\u0434\u043b\u0438\u0442\u0441\u044f \u0434\u043e \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 2025 \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-111020","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 21.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. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432\u0435\u0442\u043a\u0438 Node.js 21.0 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 6 \u043c\u0435\u0441\u044f\u0446\u0435\u0432.\" \/>\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-servernaya-javascript-platforma-node-js-21-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 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Node.js 21.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 21.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. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432\u0435\u0442\u043a\u0438 Node.js 21.0 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 6 \u043c\u0435\u0441\u044f\u0446\u0435\u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-21-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=\"2023-10-21T13:10:15+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-02-15T20:30:51+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 serwerowa platforma JavaScript Node.js 21.0 | ProHoster","description":"Wydanie Node.js 21.0, platformy do uruchamiania aplikacji sieciowych w j\u0119zyku JavaScript, mia\u0142o miejsce. Wsparcie dla ga\u0142\u0119zi Node.js 21.0 b\u0119dzie \u015bwiadczone przez 6 miesi\u0119cy.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-21-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 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Node.js 21.0 | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 Node.js 21.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. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432\u0435\u0442\u043a\u0438 Node.js 21.0 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 6 \u043c\u0435\u0441\u044f\u0446\u0435\u0432.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/dostupna-servernaya-javascript-platforma-node-js-21-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":"2023-10-21T13:10:15+00:00","article:modified_time":"2026-02-15T20:30:51+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"111020","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-02-09 16:51:22","updated":"2026-02-15 20:30:51","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\/111020","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=111020"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/111020\/revisions"}],"predecessor-version":[{"id":161187,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/111020\/revisions\/161187"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=111020"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=111020"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=111020"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}