{"id":10121,"date":"2025-12-18T16:05:53","date_gmt":"2025-12-18T19:05:53","guid":{"rendered":"https:\/\/www.fernandoquadro.com.br\/html\/?p=10121"},"modified":"2025-12-18T16:16:32","modified_gmt":"2025-12-18T19:16:32","slug":"geoserver-3-o-que-vem-por-ai","status":"publish","type":"post","link":"https:\/\/www.fernandoquadro.com.br\/html\/2025\/12\/18\/geoserver-3-o-que-vem-por-ai\/","title":{"rendered":"GeoServer 3: O que vem por a\u00ed?"},"content":{"rendered":"<p><strong>Prezado leitor,<\/strong><\/p>\n<p>\nCaso voc\u00ea ainda n\u00e3o tenha acompanhado as \u00faltimas novidades do projeto, no primeiro semestre de 2026 a equipe do GeoServer ir\u00e1 disponibilizar a <strong>vers\u00e3o 3.0<\/strong>. <\/p>\n<p>Mais do que uma simples mudan\u00e7a de numera\u00e7\u00e3o, essa nova vers\u00e3o representa uma <strong>atualiza\u00e7\u00e3o tecnol\u00f3gica profunda<\/strong>, essencial para garantir a evolu\u00e7\u00e3o, a seguran\u00e7a e a sustentabilidade do GeoServer nos pr\u00f3ximos anos.\n<\/p>\n<p>\nA proposta do GeoServer 3 \u00e9 transformar a forma como voc\u00ea interage com dados geoespaciais, tornando a plataforma <strong>mais r\u00e1pida, mais intuitiva e mais segura<\/strong>, tanto para administradores quanto para desenvolvedores e usu\u00e1rios finais.\n<\/p>\n<p>\n<strong>A principal motiva\u00e7\u00e3o<\/strong> por tr\u00e1s do GeoServer 3 \u00e9 a atualiza\u00e7\u00e3o do <strong>Spring Framework<\/strong>, que evolui da vers\u00e3o <strong>5.3 para a vers\u00e3o 6<\/strong>. <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2025\/12\/spring5-6.png\" alt=\"Evolu\u00e7\u00e3o do Spring Framework do 5 para o 6\" width=\"803\" height=\"321\" class=\"aligncenter size-full wp-image-10126\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2025\/12\/spring5-6.png 803w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2025\/12\/spring5-6-300x120.png 300w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2025\/12\/spring5-6-768x307.png 768w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2025\/12\/spring5-6-600x240.png 600w\" sizes=\"auto, (max-width: 803px) 100vw, 803px\" \/><\/p>\n<p>A ado\u00e7\u00e3o de uma vers\u00e3o atual e compat\u00edvel desse framework web \u00e9 um fator cr\u00edtico para a <strong>seguran\u00e7a<\/strong> e a <strong>manutenibilidade<\/strong> do GeoServer.\n<\/p>\n<p>\nA atualiza\u00e7\u00e3o do Spring Framework traz uma s\u00e9rie de consequ\u00eancias t\u00e9cnicas importantes:\n<\/p>\n<ul>\n<li>\n\t\tO ambiente do servidor de aplica\u00e7\u00f5es passa de <strong>Java Enterprise Edition (Java EE)<\/strong> para<br \/>\n\t\t<strong>Jakarta Enterprise Edition<\/strong>, fornecido pelas vers\u00f5es mais recentes do<br \/>\n\t\t<strong>Tomcat 10<\/strong> e <strong>Jetty 12<\/strong>.\n\t<\/li>\n<li>\n\t\tO ambiente de execu\u00e7\u00e3o Java evolui de <strong>Java 11<\/strong> para <strong>Java 17<\/strong>. Essa mudan\u00e7a exige a substitui\u00e7\u00e3o do mecanismo de processamento de imagens <strong>Java Advanced Imaging (JAI)<\/strong> pelo <strong>ImageN<\/strong>.\n\t<\/li>\n<li>\n\t\tO sistema de seguran\u00e7a \u00e9 atualizado para o <strong>Spring Security 6<\/strong>, o que demanda a<br \/>\n\t\treescrita dos m\u00f3dulos existentes de <strong>OAuth2<\/strong> e <strong>OpenID Connect<\/strong>.\n\t<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2025\/12\/milestores_gs3.png\" alt=\"Milestones do GeoServer 3\" width=\"1596\" height=\"382\" class=\"aligncenter size-full wp-image-10123\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2025\/12\/milestores_gs3.png 1596w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2025\/12\/milestores_gs3-300x72.png 300w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2025\/12\/milestores_gs3-1024x245.png 1024w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2025\/12\/milestores_gs3-768x184.png 768w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2025\/12\/milestores_gs3-1536x368.png 1536w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2025\/12\/milestores_gs3-600x144.png 600w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2025\/12\/milestores_gs3-945x226.png 945w\" sizes=\"auto, (max-width: 1596px) 100vw, 1596px\" \/><\/p>\n<p>\nPara viabilizar essas mudan\u00e7as estruturais, o projeto foi organizado em <strong>tr\u00eas grandes marcos (milestones)<\/strong>:\n<\/p>\n<h3>Milestone 1: Prepara\u00e7\u00e3o<\/h3>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2025\/12\/gs3-milestone1.png\" alt=\"\" width=\"517\" height=\"417\" class=\"aligncenter size-full wp-image-10138\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2025\/12\/gs3-milestone1.png 517w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2025\/12\/gs3-milestone1-300x242.png 300w\" sizes=\"auto, (max-width: 517px) 100vw, 517px\" \/><br \/>\n<\/center><\/p>\n<p>\nEste marco concentrou a maior parte do trabalho, antecipando tudo o que fosse poss\u00edvel antes da migra\u00e7\u00e3o efetiva para o Spring Framework 6.\n<\/p>\n<p>\nEntre as principais atividades realizadas est\u00e3o:\n<\/p>\n<ul>\n<li>Grandes atualiza\u00e7\u00f5es na biblioteca de interface do usu\u00e1rio <strong>Wicket<\/strong>;<\/li>\n<li>Substitui\u00e7\u00e3o do mecanismo de processamento de imagens;<\/li>\n<li>Atualiza\u00e7\u00e3o do ambiente de execu\u00e7\u00e3o para <strong>Java 17<\/strong>.<\/li>\n<\/ul>\n<p>\nEssas altera\u00e7\u00f5es foram feitas de forma independente do Spring Framework e da migra\u00e7\u00e3o para o ambiente Jakarta EE, reduzindo riscos na fase seguinte.\n<\/p>\n<p>\nOutro ponto de destaque foi a substitui\u00e7\u00e3o do antigo suporte a OAuth2 por um novo m\u00f3dulo <strong>OAuth2 OpenID Connect<\/strong>, j\u00e1 dispon\u00edvel para testes com provedores como <strong>Google<\/strong>, <strong>GitHub<\/strong>, <strong>Microsoft Azure<\/strong> e <strong>Keycloak<\/strong>. <\/p>\n<p>Um avan\u00e7o importante foi a integra\u00e7\u00e3o testada com o Keycloak por meio de cont\u00eaineres de teste, abrindo caminho para o suporte oficial dessa extens\u00e3o no futuro.\n<\/p>\n<p>\nEssas entregas j\u00e1 est\u00e3o dispon\u00edveis a partir da vers\u00e3o <strong>GeoServer 2.28.x<\/strong>, lan\u00e7ada em setembro.\n<\/p>\n<h3>Milestone 2: Migra\u00e7\u00e3o<\/h3>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2025\/12\/gs3-milestone2.png\" alt=\"\" width=\"466\" height=\"409\" class=\"aligncenter size-full wp-image-10139\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2025\/12\/gs3-milestone2.png 466w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2025\/12\/gs3-milestone2-300x263.png 300w\" sizes=\"auto, (max-width: 466px) 100vw, 466px\" \/><br \/>\n<\/center><\/p>\n<p>\nO <strong>Spring Framework 5.3<\/strong>, utilizado at\u00e9 ent\u00e3o pelo GeoServer, atingiu o fim de seu ciclo de vida em agosto de 2023, o que tornou essa etapa de migra\u00e7\u00e3o especialmente urgente.\n<\/p>\n<p>\nA migra\u00e7\u00e3o para o <strong>Spring Framework 6<\/strong> exigiu uma coordena\u00e7\u00e3o cuidadosa envolvendo <strong>nove bases de c\u00f3digo<\/strong>. Para garantir consist\u00eancia e estabilidade, foi necess\u00e1rio um per\u00edodo de <strong>&#8220;congelamento de c\u00f3digo&#8221;<\/strong> enquanto as atualiza\u00e7\u00f5es eram realizadas.\n<\/p>\n<p>\nEsse congelamento impactou diretamente projetos fundamentais do ecossistema, como: <strong>ImageIO, JAI, ImageN, GeoTools, GeoWebCache, GeoServer, GeoFence, GeoServer ACL, MapFish Print<\/strong> e o <strong>Cloud Native GeoServer<\/strong>.\n<\/p>\n<p>\nDado o n\u00edvel de impacto, a prioridade foi manter essa fase o mais curta poss\u00edvel. Ao final desse marco, o aplicativo principal do GeoServer j\u00e1 p\u00f4de ser executado e testado localmente utilizando o <strong>Jetty<\/strong>, incluindo m\u00f3dulos que ainda passam por ajustes finais, como o GeoFence.\n<\/p>\n<p>\nEssa etapa foi conclu\u00edda <strong>ainda em 2025<\/strong>.\n<\/p>\n<h3>Milestone 3: Entrega<\/h3>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2025\/12\/gs3-milestone3.png\" alt=\"\" width=\"500\" height=\"409\" class=\"aligncenter size-full wp-image-10140\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2025\/12\/gs3-milestone3.png 500w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2025\/12\/gs3-milestone3-300x245.png 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><br \/>\n<\/center><\/p>\n<p>\nCom os projetos principais atualizados e o encerramento do congelamento de c\u00f3digo, iniciou-se a fase de <strong>testes de integra\u00e7\u00e3o<\/strong> com aplica\u00e7\u00f5es downstream e m\u00f3dulos da comunidade.\n<\/p>\n<p>\nUma atividade estrat\u00e9gica deste marco \u00e9 a <strong>refatora\u00e7\u00e3o da interface do usu\u00e1rio<\/strong>, permitindo que os servi\u00e7os <strong>OGC API<\/strong> sejam integrados como parte nativa da experi\u00eancia do GeoServer.\n<\/p>\n<p>\nTamb\u00e9m est\u00e1 previsto um <strong>refresh visual<\/strong> do tema da aplica\u00e7\u00e3o, acompanhado da atualiza\u00e7\u00e3o das imagens de tela e da documenta\u00e7\u00e3o durante o ciclo de testes.\n<\/p>\n<p>\nO encerramento deste marco culminar\u00e1 no lan\u00e7amento oficial do <strong>GeoServer 3.0<\/strong>, previsto para <strong>mar\u00e7o de 2026<\/strong>.\n<\/p>\n<p>\nEsse plano de trabalho foi cuidadosamente definido para minimizar impactos na comunidade do GeoServer, reduzindo ao m\u00e1ximo o per\u00edodo em que o c\u00f3digo-fonte permanece congelado durante o processo de atualiza\u00e7\u00e3o.\n<\/p>\n<p>Fonte: <a href=\"https:\/\/docs.google.com\/document\/d\/1iCqob2R5Zcs9liODq2UGGiOUQhFWQJrjZCJxBVUP5Q4\/edit?tab=t.0\" target=\"_blank\">GS3 Project Plan<\/a><\/p>\n<p><strong>E voc\u00ea?<\/strong> J\u00e1 estava por dentro de todas essas novidades do GeoServer 3.0?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Prezado leitor, Caso voc\u00ea ainda n\u00e3o tenha acompanhado as \u00faltimas novidades do projeto, no primeiro semestre de 2026 a equipe do GeoServer ir\u00e1 disponibilizar a vers\u00e3o 3.0. Mais do que uma simples mudan\u00e7a de numera\u00e7\u00e3o, essa nova vers\u00e3o representa uma&#8230; <a class=\"more-link\" href=\"https:\/\/www.fernandoquadro.com.br\/html\/2025\/12\/18\/geoserver-3-o-que-vem-por-ai\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":275,"featured_media":10135,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[208],"class_list":["post-10121","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gis","tag-geoserver"],"_links":{"self":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/10121","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/users\/275"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/comments?post=10121"}],"version-history":[{"count":18,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/10121\/revisions"}],"predecessor-version":[{"id":10145,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/10121\/revisions\/10145"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media\/10135"}],"wp:attachment":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media?parent=10121"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/categories?post=10121"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/tags?post=10121"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}