Projeto eCosif 02/2026
ecosif-masterdata (API Java) – versão: 0.7.01.202601280
Notas de Versão e Impacto
| versão documento | data | responsável |
| 0.7.01.202601280 | 20/02/2026 | José Augusto de Lima Pereira |
Índice
ecosif-masterdata — Release Notes e Impacto na Execução 3
1. Resumo executivo 3
2. Novidades e melhorias (release notes para o cliente) 3
2.1 Segurança e stack 3
2.2 Funcionalidades 4
2.3 Documentação e operação 4
3. Mudanças que afetam a execução do serviço 5
3.1 Variáveis de ambiente — ação obrigatória 5
3.2 Context path e API Gateway 6
3.3 Docker e imagem 7
3.4 Dependência local (ecosif-database) 7
4. Checklist de atualização (0.6.00.x → 0.7.01.x) 7
ecosif-masterdata — Release Notes e Impacto na Execução
Versão anterior: 0.6.00.x
Versão atual: 0.7.01.x
Este documento descreve as alterações entre a versão 0.6.00.x e a versão 0.7.01.x, em formato de release notes para o cliente, e as mudanças que afetam a execução e a operação do serviço.
1. Resumo executivo
| Aspecto | 0.6.00.x (antes) | 0.7.01.x (atual) |
|---|---|---|
| Versão | 0.6.00.202503251 | 0.7.01.202601280 |
| Java | 11 | 17 |
| Spring Boot | 2.4.2 | 2.7.18 |
| JWT | JJWT 0.9.1 | JJWT 0.11.5 (HMAC 256 bits) |
| Documentação API | Swagger 2.9.2 / Springfox | SpringDoc OpenAPI 3.0 |
| Variáveis de ambiente | Nomes em minúsculas (ecosif_*) |
Nomes em MAIÚSCULAS (POSTGRES_*, ECOSIF_*) |
| Biblioteca partilhada | ecosif-database 0.6.00.202503251 | ecosif-database 0.7.01.202512010 |
A atualização exige reconfigurar as variáveis de ambiente e garantir que o context path (ex.: /ecosif-masterdata) esteja alinhado com o API Gateway.
2. Novidades e melhorias (release notes para o cliente)
2.1 Segurança e stack
- Migração para Java 17 e Spring Boot 2.7.18: atualização de runtime e framework para versões com suporte de longo prazo e correções de segurança.
- JWT (JJWT 0.11.5): validação de tokens com HMAC SHA-256; mesma chave (
AUTH_TOKEN_SECRET) que o ecosif-auth. - Dockerfile de produção: imagem multi-stage com Amazon Corretto 17, utilizador não-root e health check no Actuator.
- OAuth2 desativável: quando o client id está vazio, o fluxo OAuth2 não é registrado (comportamento alinhado ao ecosif-auth).
2.2 Funcionalidades
- Endpoint GET /user: permite refresh de token e consulta do utilizador autenticado.
- Criação automática de saldos iniciais: ao criar empresa (com dados extras), são criados automaticamente registos em
ct_plsaldos. - Configurações automáticas na criação de empresa: criação automática de
QuotaCalculationConfiguration,FundSettingseCompanyOptions; correção deuseDocumentemCompanyOptions. - Complemento CNPJ na criação de filial: definição do complemento CNPJ na criação automática de filial.
- Endpoint para verificar existência de lançamentos por dia: novo recurso para consulta de lançamentos por dia (integração com relatórios e validações).
- Endpoint de logs Docker (administrativo): recurso opcional para consulta de logs de contentores (uso interno/admin).
- Melhorias no processo de criação e exclusão de empresas: correções em
BranchController,CompanyControllere exclusão de empresa; campos obrigatórios na criação complementar de empresa; estruturação para padrão corporativo. - Código CVM: suporte a campo CVM (já presente em 0.6.00.x; mantido e alinhado ao modelo de dados).
- Documentação OpenAPI 3.0: substituição do Swagger 2 / Springfox por SpringDoc; documentação em
/swagger-ui.htmle especificação em/v3/api-docs. - Tratamento global de exceções:
GlobalExceptionHandlerpara respostas de erro padronizadas.
2.3 Documentação e operação
- Documentação reorganizada: pasta
docs/com documentos por público (technical, operational, functional) e listagem de endpoints (docs/endpoints/). - Guia AWS (ECS + API Gateway): documento específico para implantação na Amazon (
docs/aws-ecs-api-gateway.md). - Scripts de apoio:
scripts/run-dev.shpara ambiente de desenvolvimento escripts/test-login-and-api.shpara testes de login e chamadas à API. - Logback: arquivo
logback-spring.xmlpara configuração de logs (formato default/json conforme variável).
3. Mudanças que afetam a execução do serviço
3.1 Variáveis de ambiente — ação obrigatória
Os nomes das variáveis passaram de minúsculas para MAIÚSCULAS. O arquivo env.template (formato antigo) foi removido; a configuração deve usar as variáveis abaixo.
Tabela de equivalência (0.6.00.x → 0.7.01.x):
| 0.6.00.x (antigo) | 0.7.01.x (atual) | Observação |
|---|---|---|
ecosif_port |
ECOSIF_MASTERDATA_PORT |
Porta HTTP do serviço (ex.: 8080 ou 8081). |
ecosif_context |
SERVER_SERVLET_CONTEXT_PATH |
Path da aplicação (ex.: /ecosif-masterdata para API Gateway). |
ecosif_db_server |
POSTGRES_HOST |
Host do PostgreSQL. |
ecosif_db_port |
POSTGRES_PORT |
Porta do PostgreSQL (ex.: 5432). |
ecosif_db_login |
POSTGRES_DB |
Nome da base de dados. |
ecosif_db_user |
POSTGRES_USER |
Utilizador do banco (ex.: ecosif_masterdata). |
ecosif_db_password |
POSTGRES_PASSWORD |
Senha (usar repositório de segredos). |
hibertenate_mode |
HIBERNATE_DDL_AUTO |
Em produção use validate; schema segue a lib ecosif-database. |
ecosif_flyway |
(Flyway desativado por padrão no YAML) | Se precisar de migrações, configurar via override. |
auth_token_secret |
AUTH_TOKEN_SECRET |
Chave JWT (igual à do ecosif-auth). |
token_expiration |
TOKEN_EXPIRATION |
Tempo de vida do token em ms (ex.: 86400000). |
ecosif_cors |
ECOSIF_CORS |
Origens CORS permitidas (ex.: https://app.ecosif.banco.com.br). |
auth2_clientid |
AUTH2_CLIENT_ID |
OAuth2 Google (opcional); se vazio, OAuth2 fica desativado. |
auth2_secret |
AUTH2_SECRET |
OAuth2 Google (opcional). |
ecosif_logshow |
ECOSIF_LOGSHOW |
Exibir SQL nos logs (ex.: false em prod). |
ecosif_logmode_* |
ECOSIF_LOGMODE_ROOT, ECOSIF_LOGMODE_SPRING, etc. |
Níveis de log. |
log_format |
LOG_FORMAT |
Nome do logback: default, json ou spring. |
swagger_enabled |
(removido) | SpringDoc está sempre disponível. |
Variáveis de pool HikariCP: na versão atual estão com valores fixos no application.yml; não é necessário configurar ecosif_hk_*.
AWS S3 (se usar): AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION, AWS_S3_BUCKET — manter conforme documentação operacional.
3.2 Context path e API Gateway
- Na versão 0.6.00.x o path podia ser
/ou outro viaecosif_context. - Na versão 0.7.01.x, para integrar com um API Gateway único (ex.:
https://app.ecosif.banco.com.br/ecosif-masterdata), é obrigatório definir: SERVER_SERVLET_CONTEXT_PATH=/ecosif-masterdata- O health check passa a ser:
/ecosif-masterdata/actuator/health(ou o path que configurou). - Exemplos de endpoints:
- User:
https://<domínio>/ecosif-masterdata/api/user - Swagger UI:
https://<domínio>/ecosif-masterdata/swagger-ui.html - OpenAPI JSON:
https://<domínio>/ecosif-masterdata/v3/api-docs
3.3 Docker e imagem
- Imagem base: Amazon Corretto 17 (em vez de 11).
- Entrypoint: o contentor usa
conf/entrypoint-simple.sh; não utiliza o antigoenv.templatedentro da imagem. - Porta: configurável via ECOSIF_MASTERDATA_PORT (ex.: 8080 ou 8081).
- Health check: no Dockerfile o health check usa o path do Actuator; em ambiente com context path, o ALB/API Gateway deve usar
/<context-path>/actuator/health(ex.:/ecosif-masterdata/actuator/health).
3.4 Dependência local (ecosif-database)
- O build da aplicação requer o JAR ecosif-database-0.7.01.202512010.jar (ou versão compatível indicada no
pom.xml) na pastalibs/. - Em ambiente de build (CI/CD ou Docker build), essa dependência deve estar disponível; em runtime apenas o JAR da aplicação é necessário.
4. Checklist de atualização (0.6.00.x → 0.7.01.x)
- [ ] Variáveis de ambiente: substituir todas as variáveis antigas (minúsculas) pelas novas (MAIÚSCULAS) na task definition, docker-compose ou arquivo de configuração.
- [ ] Context path: definir
SERVER_SERVLET_CONTEXT_PATH=/ecosif-masterdata(ou o path acordado) se o serviço for exposto via API Gateway. - [ ] Health check: atualizar o path para
/ecosif-masterdata/actuator/health(ou o path correspondente) no ALB, API Gateway ou orquestrador. - [ ] CORS: confirmar que
ECOSIF_CORScontém a URL exata do frontend (ex.:https://app.ecosif.banco.com.br). - [ ] JWT: a mesma
AUTH_TOKEN_SECRETdeve ser usada no ecosif-auth e no ecosif-masterdata (e nos demais serviços que validam o JWT). - [ ] Runtime: garantir que o ambiente de execução (host, ECS, Kubernetes) usa Java 17 (ou a imagem Docker Corretto 17 fornecida).
- [ ] Documentação: após o deploy, validar acesso a
/ecosif-masterdata/swagger-ui.htmle/ecosif-masterdata/actuator/healthconforme o context path configurado.