Skip to content

build/qg-xxx: обновлены зависимости проекта#294

Merged
d-r-q merged 22 commits intomasterfrom
qg-xxx/update-deps
Mar 3, 2026
Merged

build/qg-xxx: обновлены зависимости проекта#294
d-r-q merged 22 commits intomasterfrom
qg-xxx/update-deps

Conversation

@d-r-q
Copy link
Copy Markdown
Member

@d-r-q d-r-q commented Mar 3, 2026

  1. Spring Boot 3.5.6 -> 4.0.3
  2. Kotlin 2.2.10 -> 2.3.10
  3. Gradle 9.1.0 - 9.3.1

d-r-q added 22 commits March 2, 2026 16:10
Ранее ZonedDateTime передавался напрямую в VEvent, из-за чего ical4j нормализовывал время через Instant и свои tz-правила (с устаревшей базой - +06 вместо +07) и писал.
Что приводило к сдвигу на −1 час.

Плюс при парсинге событий он так же использовал свою базу с +06.

Для фикса пришлось:
1. руками формировать VEvent с корректными локальной датой-временем и таймзоной (чтобы при сериализации, ical не терял час)
2. добавить в календарь секцию VTimeZone сформиорванную на базе актальных на данный момент правил, чтобы при парсинге ical использовал её и так же не трял час.
…ng явно проставили нуллабельность в АПИ и по умолчанию оно стало not null в результате чего сигнатура части АПИ поменялась.

В частности:

1. CrudRepository.save(e: E): E : nullable -> not-nullable
2. PasswordEncoder.encode(plainPassword: ChartSequence): String? : platform -> explicitly nullable
3. WebMvcConfigurer.addArgumentResolvers(argumentResolvers: MutableList<HandlerMethodArgumentResolver) : nullable -> not-nullable
4. MultiValueMap<K, V>.fromSingleValue(Map<K, V> map): MultiValueMap : nullable -> not-null
5. AppicationContext.getBean(clazz: Class<T>): T : nullable - not-null
6. ServerProperties.port: Int? : platform -> explicitly nullable
…еездом автогонфигураций в отдельные модули/пакеты
Так как в 4-ом буте без него не выполняется автоконфигурация/запуск Flyway
5.* с Spring Boot 4 (и, видимо какой-то версией Groovy) NPE-шился каким-то непонятным образом
Потому как Spring Boot переехал на неё, а самая актальная на данный момент версия WireMock - нет, и они бинарно не совместимы - без этого WireMock валится с:

Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.NoSuchMethodError: 'org.eclipse.jetty.util.component.Environment org.eclipse.jetty.util.component.Environment.ensure(java.lang.String)' [in thread "main @coroutine#3"]
	at org.eclipse.jetty.ee10.servlet.ServletContextHandler.<clinit>(ServletContextHandler.java:135)
…опытке отправить mulitipart/file-data запрос более 10 МБ

В Spring Boot 4 интеграция с OAuth2-клиентом стала триггерить в этом случае SizeLimitExceededException:

org.apache.tomcat.util.http.fileupload.impl.SizeLimitExceededException: the request was rejected because its size (10485956) exceeds the configured maximum (10485760)
	at org.apache.tomcat.util.http.fileupload.impl.FileItemIteratorImpl$1.raiseError(FileItemIteratorImpl.java:171)
	at org.apache.tomcat.util.http.fileupload.util.LimitedInputStream.checkLimit(LimitedInputStream.java:64)
	at org.apache.tomcat.util.http.fileupload.util.LimitedInputStream.read(LimitedInputStream.java:160)
	at org.apache.tomcat.util.http.fileupload.MultipartStream$ItemInputStream.makeAvailable(MultipartStream.java:263)
	at org.apache.tomcat.util.http.fileupload.MultipartStream$ItemInputStream.read(MultipartStream.java:328)
	at java.base/java.io.FilterInputStream.read(FilterInputStream.java:119)
	at org.apache.tomcat.util.http.fileupload.util.LimitedInputStream.read(LimitedInputStream.java:157)
	at java.base/java.io.FilterInputStream.read(FilterInputStream.java:95)
	at org.apache.tomcat.util.http.fileupload.util.Streams.copy(Streams.java:119)
	at org.apache.tomcat.util.http.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:468)
	at org.apache.catalina.connector.Request.parseParts(Request.java:2576)
	at org.apache.catalina.connector.Request.doParseParameters(Request.java:2927)
	at org.apache.catalina.connector.Request.parseParameters(Request.java:2864)
	at org.apache.catalina.connector.Request.getParameterNames(Request.java:1122)
	at org.apache.catalina.connector.Request.getParameterMap(Request.java:1107)
	at org.apache.catalina.connector.RequestFacade.getParameterMap(RequestFacade.java:170)
	at jakarta.servlet.ServletRequestWrapper.getParameterMap(ServletRequestWrapper.java:169)
	at org.springframework.security.web.firewall.StrictHttpFirewall$StrictFirewalledRequest.getParameterMap(StrictHttpFirewall.java:788)
	at jakarta.servlet.ServletRequestWrapper.getParameterMap(ServletRequestWrapper.java:169)
	at jakarta.servlet.ServletRequestWrapper.getParameterMap(ServletRequestWrapper.java:169)
	at org.springframework.security.oauth2.client.web.OAuth2AuthorizationCodeGrantFilter.matchesAuthorizationResponse(OAuth2AuthorizationCodeGrantFilter.java:187)
…ветствующий Spring Boot Starter

Не связано с переездом на SB 4 - валидация и раньше де-факто не работала
…rdEncoder-ом в тестах

Без этого SB ругался:

WARN  o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with an AuthenticationProvider bean. UserDetailsService beans will not be used by Spring Security for automatically configuring username/password login. Consider removing the AuthenticationProvider bean. Alternatively, consider using the UserDetailsService in a manually instantiated DaoAuthenticationProvider. If the current configuration is intentional, to turn off this warning, increase the logging level of 'org.springframework.security.config.annotation.authentication.configuration.InitializeUserDetailsBeanManagerConfigurer' to ERROR

Не связано с миграцией на SB 4
Так как он проще в отладке и чуть быстрее
@d-r-q d-r-q enabled auto-merge March 3, 2026 09:47
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 3, 2026

Unit Test Results

  74 files    74 suites   2m 11s ⏱️
251 tests 251 ✔️ 0 💤 0
260 runs  260 ✔️ 0 💤 0

Results for commit 1455473.

@d-r-q d-r-q merged commit 8f098ff into master Mar 3, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant