Amb l’alliberament de la versió 3.10.0 del Framework Canigó s’assoleix un dels objectius que es persegueix des de CS Canigó consistent en proporcionar als desenvolupadors d’aplicacions un framework amb les últimes versions suportades de Java i Spring, a més de permetre nous paradigmes de programació.
Actualització de tecnologies base
JDK 21
Al setembre de 2023 Oracle va publicar la versió 21 de Java, una versió LTS amb la política de dos anys de cicle de suport. Podeu consultar la documentació d’aquesta versió, així com les Release Notes, mitjançant el següent enllaç: https://www.oracle.com/java/technologies/javase/21-relnotes.html
Des de CS Canigó, s’ha evolucionat el Framework Canigó perquè passi a treballar amb JDK 21 nativament.
Spring 6.2.15
Spring Framework ofereix un model complet de programació i configuració per a solucions empresarials basades en Java. Podeu consultar el llistat de canvis relacionats amb la versió 6.2 de Spring mitjançant el següent enllaç: https://github.com/spring-projects/spring-framework/wiki/What's-New-in-Spring-Framework-6.x#whats-new-in-version-62.
Spring Boot 3.5.9
Spring Boot, igual que Canigó, proporciona eines pel desenvolupament fàcil d’aplicacions empresarials minimitzant la configuració necessària. Podeu consultar el llistat de canvis relacionats amb la versió 3.5 de Spring Boot mitjançant el següent enllaç: https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.5-Release-Notes
Spring Security 6.5.7
S’ha actualitzat Spring Security de la versió 6.1.3 a la 6.5.7, que inclou millores en la gestió d’autenticació, autorització i noves funcionalitats de seguretat. Podeu consultar les novetats mitjançant el següent enllaç: https://docs.spring.io/spring-security/reference/whats-new.html
Hibernate 6.6.39.Final
S’ha actualitzat Hibernate de la versió 5.6.7.Final a la 6.6.39.Final. Hibernate 6 introdueix canvis importants en el mapping d’entitats i en els dialectes de bases de dades. Alguns dels canvis principals:
- Els dialectes s’han simplificat:
MySQL8Dialect→MySQLDialect,Oracle12cDialect→OracleDialect. - Canvis en algunes APIs internes de mapping i tipus.
- Millor suport per a les funcionalitats de JPA 3.1.
SpringDoc OpenAPI (Swagger)
S’ha migrat de Springfox Swagger2 3.0.0 a springdoc-openapi-starter-webmvc-ui 2.8.4. Això comporta
la migració de les anotacions de Swagger 2 (io.swagger.annotations) a OpenAPI 3 (io.swagger.v3.oas.annotations)
i la substitució de la configuració basada en Docket per la configuració nativa de SpringDoc.
Per a més detalls sobre la migració d’anotacions i configuració, consulteu la guia de migració: Actualització Canigó 3.8 a Canigó 3.10.
QueryDSL 6.11
S’ha actualitzat QueryDSL de la versió 5.0.0 a la 6.11, que proporciona millor compatibilitat amb Jakarta Persistence i Hibernate 6.
Dependències principals
| Dependència | Canigó 3.8 | Canigó 3.10 |
|---|---|---|
| Java (OpenJDK) | 17 | 21 |
| Spring Framework | 6.1.1 | 6.2.15 |
| Spring Boot | 3.1.4 | 3.5.9 |
| Spring Security | 6.1.3 | 6.5.7 |
| Hibernate | 5.6.7.Final | 6.6.39.Final |
| Jackson | 2.13.2 | 2.21.0 |
| JUnit Jupiter | 5.10.1 | 5.14.2 |
| Mockito | 5.7.0 | 5.21.0 |
| QueryDSL | 5.0.0 | 6.11 |
| Log4j | 2.22.2 | 2.25.3 |
| MongoDB drivers | 4.6.0/5.0.0 | 5.5.2 |
| Swagger/OpenAPI | Springfox 3.0.0 | SpringDoc 2.8.4 |
Es poden veure totes les dependències i canvis en el següent enllaç: Dependències externes Canigó 3.10.0.
Com crear aplicacions amb Canigó 3.10
Per a crear aplicacions amb Canigó 3.10 (CS Canigó) s’utilitza l’arquetip Maven versió 1.0.3. No cal fer servir cap plugin extern, ja que l’arquetip està creat d’una manera agnòstica i conté les bases necessàries.
Per a més informació, consulteu la notícia sobre el nou arquetip.
Com migrar a Canigó 3.10 des de Canigó 3.8
Per a poder passar una aplicació de Canigó 3.8 a Canigó 3.10 podeu seguir els passos descrits a
Actualització Canigó 3.8 a Canigó 3.10.
Per qualsevol dubte relatiu a aquesta nova versió del Framework Canigó us podeu adreçar a
CS Canigó al servei CAN del JIRA CSTD o enviant un
correu electrònic a la bústia del CS Canigó.