{"id":53001,"date":"2019-11-21T00:00:00","date_gmt":"2019-11-20T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/reliz-19-3-0-virtualnoj-mashiny-graalvm-i-realizatsij-python-javascript-ruby-i-r-na-eyo-osnove"},"modified":"2020-02-18T14:00:50","modified_gmt":"2020-02-18T11:00:50","slug":"reliz-19-3-0-virtualnoj-mashiny-graalvm-i-realizatsij-python-javascript-ruby-i-r-na-eyo-osnove","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-19-3-0-virtualnoj-mashiny-graalvm-i-realizatsij-python-javascript-ruby-i-r-na-eyo-osnove","title":{"rendered":"Lan\u00e7amento 19.3.0 da m\u00e1quina virtual GraalVM e implementa\u00e7\u00f5es de Python, JavaScript, Ruby e R baseadas nela","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Oracle <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/oracle\/graal\/releases\/tag\/vm-19.3.0\">publicou<\/a><\/noindex> lan\u00e7amento de m\u00e1quina virtual universal <noindex><a rel=\"nofollow\" href=\"https:\/\/www.graalvm.org\/\">GraalVM 19.3.0<\/a><\/noindex>, suportando a execu\u00e7\u00e3o de aplicativos em JavaScript (Node.js), Python, Ruby, R, em qualquer linguagem para JVM (Java, Scala, Clojure, Kotlin) e linguagens para as quais pode ser gerado c\u00f3digo de bit LLVM (C, C++, Rust). A vers\u00e3o 19.3 \u00e9 classificada como uma vers\u00e3o de suporte a longo prazo (LTS) e <noindex><a rel=\"nofollow\" href=\"https:\/\/www.graalvm.org\/docs\/release-notes\/19_3\/\">\u00e9 not\u00e1vel<\/a><\/noindex> com suporte <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=49336\">JDK 11<\/a><\/noindex>, incluindo a capacidade de compilar c\u00f3digo Java em arquivos execut\u00e1veis (GraalVM Native Image). O c\u00f3digo do projeto <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/oracle\/graal\/\">\u00e9 distribu\u00eddo<\/a><\/noindex> sob licen\u00e7a GPLv2. Novas vers\u00f5es das implementa\u00e7\u00f5es de linguagens Python, JavaScript, Ruby e R utilizando GraalVM foram lan\u00e7adas simultaneamente \u2014  <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/graalvm\/graalpython\/\">GraalPython<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/graalvm\/graaljs\/\">GraalJS<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/oracle\/truffleruby\/\">TruffleRuby<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/oracle\/fastr\/\">FastR<\/a><\/noindex>. <\/p>\n<p>GraalVM <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=48472\">fornece<\/a><\/noindex> Compilador JIT que pode executar ao vivo na JVM qualquer c\u00f3digo de linguagem de script, incluindo JavaScript, Ruby, Python e R, e tamb\u00e9m permite a execu\u00e7\u00e3o de c\u00f3digo nativo na JVM, convertido em c\u00f3digo de bit LLVM. O conjunto de ferramentas fornecido pela GraalVM inclui um depurador independente de linguagens, sistema de perfilagem e analisador de distribui\u00e7\u00e3o de mem\u00f3ria. A GraalVM permite a cria\u00e7\u00e3o de aplicativos combinados com componentes em diferentes linguagens, permitindo acessar objetos e arrays a partir de c\u00f3digo em outras linguagens. Para as linguagens baseadas em JVM, h\u00e1 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.graalvm.org\/docs\/reference-manual\/aot-compilation\/\">a possibilidade<\/a><\/noindex> a cria\u00e7\u00e3o de arquivos execut\u00e1veis compilados em c\u00f3digo de m\u00e1quina que podem ser executados diretamente com consumo m\u00ednimo de mem\u00f3ria (gerenciamento de mem\u00f3ria e threads \u00e9 implementado atrav\u00e9s da conex\u00e3o com o framework <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/oracle\/graal\/tree\/master\/substratevm\">Substrate VM<\/a><\/noindex>).<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/graalvm\/graaljs\/blob\/master\/CHANGELOG.md\">Mudan\u00e7as no GraalJS<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> Compatibilidade garantida com Node.js 12.10.0;\n<li class=\"l\"> Propriedades globais e fun\u00e7\u00f5es n\u00e3o padr\u00e3o desativadas por padr\u00e3o:<br \/>\n       global (substitu\u00eddo por globalThis; uma configura\u00e7\u00e3o js.global-property \u00e9 fornecida para reverter), performance (js.performance), print e printErr (js.print);<\/p>\n<li class=\"l\"> Implementados o Promise.allSettled e a proposta de coalesc\u00eancia nula, dispon\u00edveis no modo ECMAScript 2020 (\u2014js.ecmascript-version=2020);\n<li class=\"l\"> Depend\u00eancias do ICU4J atualizadas para 64.2, ASM para 7.1.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/graalvm\/graalpython\/blob\/master\/CHANGELOG.md#version-1930\">Mudan\u00e7as<\/a><\/noindex> no GraalPython:<\/p>\n<ul>\n<li class=\"l\"> Adicionadas as fun\u00e7\u00f5es de controle gc.{enable,disable,isenabled}, implementados charmap_build, sys.hexversion e _lzma;\n<li class=\"l\"> Biblioteca padr\u00e3o do Python atualizada para 3.7.8;\n<li class=\"l\"> Suporte adicionado para NumPy 1.16.4 e Pandas 0.25.0;\n<li class=\"l\"> Suporte adicionado para timeit;\n<li class=\"l\">  socket.socket foi atualizado para permitir a execu\u00e7\u00e3o de \u2018graalpython -m http.server\u2019 e o carregamento de recursos http n\u00e3o criptografados (sem TLS);\n<li class=\"l\"> Corrigidos problemas relacionados \u00e0 impress\u00e3o de objetos pandas.DataFrame,<br \/>\n    processamento incorreto de tuplas em bytes.startswith,<br \/>\n    atribui\u00e7\u00f5es desestruturantes de iteradores e uso de dict.__contains__ para dicion\u00e1rios;<\/p>\n<li class=\"l\"> Suporte adicionado para ast.PyCF_ONLY_AST, que <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/graalvm\/graalpython\/issues\/53\">permitiu<\/a><\/noindex> garantir o funcionamento do pytest;\n<li class=\"l\"> Adicionada <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/graalvm\/graalpython\/issues\/85\">suporte<\/a><\/noindex> PEP 498 (interpola\u00e7\u00e3o de strings em literais);\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/graalvm\/graalpython\/issues\/43\">o operador de sequ\u00eancia opcional<\/a><\/noindex>  a flag \u2018\u2014python.EmulateJython\u2019 permite a importa\u00e7\u00e3o de classes JVM usando a sintaxe normal de importa\u00e7\u00e3o do Python e captura de exce\u00e7\u00f5es JVM a partir do c\u00f3digo Python;\n<li class=\"l\">  Melhorada a performance do parser, cache de exce\u00e7\u00f5es,<br \/>\n      acesso a objetos Python a partir do c\u00f3digo JVM. Melhorados os resultados em testes de desempenho para c\u00f3digo Python e extens\u00f5es nativas (a execu\u00e7\u00e3o de extens\u00f5es nativas sobre LLVM implica que o bitcode LLVM \u00e9 passado para o GraalVM para compila\u00e7\u00e3o JIT).\n<\/ul>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/oracle\/truffleruby\/releases\/tag\/vm-19.3.0\">Mudan\u00e7as<\/a><\/noindex> em TruffleRuby:<\/p>\n<ul>\n<li class=\"l\"> Para compilar extens\u00f5es nativas, agora \u00e9 aplicado um conjunto de ferramentas LLVM embutido, que cria tanto c\u00f3digo nativo quanto bitcode. Isso significa que mais extens\u00f5es nativas devem compilar por padr\u00e3o, resolvendo a maioria dos problemas relacionados \u00e0 vincula\u00e7\u00e3o;\n<li class=\"l\"> Instala\u00e7\u00e3o separada do LLVM para instala\u00e7\u00e3o de extens\u00f5es nativas no TruffleRuby;\n<li class=\"l\"> Para instala\u00e7\u00e3o de extens\u00f5es C++ no TruffleRuby, n\u00e3o \u00e9 mais necess\u00e1rio instalar libc++ e libc++abi;\n<li class=\"l\">    Licen\u00e7a atualizada para EPL 2.0\/GPL 2.0\/LGPL 2.1, assim como no recente JRuby;\n<li class=\"l\"> Suporte adicionado para argumentos opcionais em GC.stat;\n<li class=\"l\"> M\u00e9todo Kernel#load com wrapper implementado e Kernel#spawn com :chdir;\n<li class=\"l\"> Adicionado rb_str_drop_bytes, not\u00e1vel por ser utilizado pelo OpenSSL;\n<li class=\"l\">    Inclu\u00eddos extens\u00f5es de gemas pr\u00e9-instaladas necess\u00e1rias para rails new no Rails 6;\n<li class=\"l\"> Para compilar extens\u00f5es nativas, foram utilizados flags como no MRI;\n<li class=\"l\"> Realizadas otimiza\u00e7\u00f5es de desempenho e redu\u00e7\u00e3o no consumo de mem\u00f3ria.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/oracle\/fastr\/releases\/tag\/vm-19.3.0\">Mudan\u00e7as<\/a><\/noindex> em FastR:<\/p>\n<ul>\n<li class=\"l\"> Garantida compatibilidade com R 3.6.1;\n<li class=\"l\"> Adicionado suporte preliminar para execu\u00e7\u00e3o de extens\u00f5es nativas baseadas em LLVM. Ao construir pacotes nativos, o FastR \u00e9 configurado para usar o conjunto de ferramentas LLVM embutido no GraalVM. Os arquivos bin\u00e1rios resultantes conter\u00e3o tanto c\u00f3digo nativo quanto LLVM bitcode.\n<p>Pacotes pr\u00e9-instalados tamb\u00e9m s\u00e3o constru\u00eddos dessa forma.<br \/>\n FastR carrega e executa c\u00f3digo nativo de extens\u00f5es por padr\u00e3o, mas quando executado com a op\u00e7\u00e3o \u2018\u2014R.BackEnd=llvm\u2019, ir\u00e1 utilizar bytecode. O backend LLVM pode ser usado seletivamente para alguns pacotes R, especificando \u2018\u2014R.BackEndLLVM=pkg1,pkg2\u2019. Em caso de problemas na instala\u00e7\u00e3o de pacotes, \u00e9 poss\u00edvel reverter tudo, chamando fastr.setToolchain(\u2018native\u2019) ou editando manualmente o arquivo $FASTR_HOME\/etc\/Makeconf;<\/p>\n<li class=\"l\"> Nesta vers\u00e3o, o FastR \u00e9 entregue sem as bibliotecas GCC runtime;\n<li class=\"l\"> Corrigidas vazamentos de mem\u00f3ria;\n<li class=\"l\"> Corrigidos problemas ao lidar com grandes vetores (&gt;1GB);\n<li class=\"l\"> O grepRaw foi implementado, mas apenas para fixed=T.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51906\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0432\u044b\u043f\u0443\u0441\u043a \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b GraalVM 19.3.0, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0435\u0439 \u0437\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 JavaScript (Node.js), Python, Ruby, R, \u043b\u044e\u0431\u044b\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 \u0434\u043b\u044f JVM (Java, Scala, Clojure, Kotlin) \u0438 \u044f\u0437\u044b\u043a\u0430\u0445, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0436\u0435\u0442 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0431\u0438\u0442\u043a\u043e\u0434 LLVM (C, C++, Rust). \u0412\u0435\u0442\u043a\u0430 19.3 \u043e\u0442\u043d\u0435\u0441\u0435\u043d\u0430 \u043a \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u0432\u044b\u043f\u0443\u0441\u043a\u043e\u0432 \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 (LTS) \u0438 \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 JDK 11, \u0432 \u0442\u043e\u043c [&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-53001","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0432\u044b\u043f\u0443\u0441\u043a \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b\" \/>\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\/pt\/blog\/news\/reliz-19-3-0-virtualnoj-mashiny-graalvm-i-realizatsij-python-javascript-ruby-i-r-na-eyo-osnove\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\u0420\u0435\u043b\u0438\u0437 19.3.0 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b GraalVM \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 Python, JavaScript, Ruby \u0438 R \u043d\u0430 \u0435\u0451 \u043e\u0441\u043d\u043e\u0432\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0432\u044b\u043f\u0443\u0441\u043a \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-19-3-0-virtualnoj-mashiny-graalvm-i-realizatsij-python-javascript-ruby-i-r-na-eyo-osnove\" \/>\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=\"2019-11-20T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:00:50+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\udd47Lan\u00e7amento da vers\u00e3o 19.3.0 da m\u00e1quina virtual GraalVM e implementa\u00e7\u00f5es de Python, JavaScript, Ruby e R com base nela | ProHoster","description":"A Oracle lan\u00e7ou uma nova vers\u00e3o da m\u00e1quina virtual universal.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-19-3-0-virtualnoj-mashiny-graalvm-i-realizatsij-python-javascript-ruby-i-r-na-eyo-osnove","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\u0420\u0435\u043b\u0438\u0437 19.3.0 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b GraalVM \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 Python, JavaScript, Ruby \u0438 R \u043d\u0430 \u0435\u0451 \u043e\u0441\u043d\u043e\u0432\u0435 | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0432\u044b\u043f\u0443\u0441\u043a \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-19-3-0-virtualnoj-mashiny-graalvm-i-realizatsij-python-javascript-ruby-i-r-na-eyo-osnove","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":"2019-11-20T21:00:00+00:00","article:modified_time":"2020-02-18T11:00:50+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"53001","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":null,"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-01-24 05:41:27","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:33:28","updated":"2026-01-24 05:41:27","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/53001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=53001"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/53001\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=53001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=53001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=53001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}