Commit Graph

55754 Commits

Author SHA1 Message Date
Andy Wilkinson 381706fe33 Merge branch '3.5.x'
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run CodeQL Analysis / run-analysis (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
Closes gh-46255
2025-07-02 20:31:49 +01:00
Andy Wilkinson 3f4c870a13 Merge branch '3.4.x' into 3.5.x
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:24], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run CodeQL Analysis / run-analysis (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
Closes gh-46254
2025-07-02 20:31:39 +01:00
Andy Wilkinson 808d2e58b7 Merge pull request #46252 from PiyalAhmed
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:24], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run CodeQL Analysis / run-analysis (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
* gh-46252:
  Remove unnecessary semicolons from Gradle build scripts

Closes gh-46252
2025-07-02 20:31:32 +01:00
Piyal Ahmed 8fb3010942 Remove unnecessary semicolons from Gradle build scripts
Signed-off-by: Piyal Ahmed <piya.salamence@gmail.com>

See gh-46252
2025-07-02 20:31:01 +01:00
Andy Wilkinson d49b37a6b5 Merge pull request #45310 from blancqua
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run CodeQL Analysis / run-analysis (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
* gh-45310:
  Polish "Add @ServiceConnection support for MongoDBAtlasLocalContainer"
  Add @ServiceConnection support for MongoDBAtlasLocalContainer

Closes gh-45310
2025-07-02 15:46:47 +01:00
Andy Wilkinson f8dbcef977 Polish "Add @ServiceConnection support for MongoDBAtlasLocalContainer"
See gh-45310
2025-07-02 15:41:38 +01:00
Wouter Blancquaert aa06c0d02a Add @ServiceConnection support for MongoDBAtlasLocalContainer
Signed-off-by: Wouter Blancquaert <wouter@blancquaert.org>

See gh-45310
2025-07-02 15:06:47 +01:00
Andy Wilkinson 887b064de6 Try to stabilize KotlinPluginActionIntegrationTests
See gh-46238
2025-07-02 14:52:07 +01:00
Andy Wilkinson d25132185e Merge pull request #46007 from doumdoum
* gh-46007:
  Polish "Add @MeterTag support to existing @Timed and @Counted support"
  Add @MeterTag support to existing @Timed and @Counted support

Closes gh-46007
2025-07-02 14:44:00 +01:00
Andy Wilkinson 88f4af7577 Polish "Add @MeterTag support to existing @Timed and @Counted support"
See gh-46007
2025-07-02 14:38:55 +01:00
Dominique Villard 8b04ace139 Add @MeterTag support to existing @Timed and @Counted support
Signed-off-by: Dominique Villard <dominique.villard@doctolib.com>

See gh-46007
2025-07-02 13:57:21 +01:00
Andy Wilkinson a59cf66555 Merge pull request #44354 from quaff
* gh-44354:
  Polish "Introduce TestSliceTestContextBootstrapper for test slices"
  Introduce TestSliceTestContextBootstrapper for test slices

Closes gh-44354
2025-07-02 13:49:11 +01:00
Andy Wilkinson 53464f22e7 Polish "Introduce TestSliceTestContextBootstrapper for test slices"
See gh-44354
2025-07-02 13:25:16 +01:00
Yanming Zhou a42ba82fea Introduce TestSliceTestContextBootstrapper for test slices
Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>

See gh-44354
2025-07-02 13:24:59 +01:00
Andy Wilkinson 8bb5c2704c Merge pull request #46249 from quaff
* gh-46249:
  Polishing Javadoc of QuartzDataSourceScriptDatabaseInitializer

Closes gh-46249
2025-07-02 13:12:48 +01:00
Yanming Zhou 01ffdc8a02 Polishing Javadoc of QuartzDataSourceScriptDatabaseInitializer
Align with other `DataSourceScriptDatabaseInitializer`s

Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>

See gh-46249
2025-07-02 13:12:16 +01:00
Andy Wilkinson 2b9a60fd2d Merge pull request #46238 from sdeleuze
* gh-46238:
  Upgrade to Kotlin 2.2.0

Closes gh-46238
2025-07-02 13:11:07 +01:00
Sébastien Deleuze a48e5baf2f Upgrade to Kotlin 2.2.0
This commit leverages Kotlin 2.2 which is expected to be the
new baseline for Spring Boot 4.0, so API and language
versions are upgraded to KOTLIN_2_2 as well.

It also enables the -Xannotation-default-target=param-property
compiler flag, mainly for test purpose, in order to avoid the
related warnings and to use what will likely be the default in
an upcoming Kotlin version short term. For more details see
https://youtrack.jetbrains.com/issue/KT-73255.

KotlinPlatformJvmPlugin was a class from an old KMP plugin,
deprecated for a long time and now removed. So its usage in
PluginClasspathGradleBuild has been removed as well.

Signed-off-by: Sébastien Deleuze <sdeleuze@users.noreply.github.com>

See gh-46238
2025-07-02 13:10:32 +01:00
Andy Wilkinson 95ba9812a2 Merge pull request #45302 from nosan
* gh-45302:
  Polish "Add support for multiple TaskDecorator beans"
  Add support for multiple TaskDecorator beans

Closes gh-45302
2025-07-02 12:29:22 +01:00
Andy Wilkinson e61ab7e0cd Polish "Add support for multiple TaskDecorator beans"
See gh-45302
2025-07-02 12:01:07 +01:00
Dmytro Nosan fff816d056 Add support for multiple TaskDecorator beans
Previously, only a single TaskDecorator bean, if unique, was applied
to the auto-configured TaskExecutor or Scheduler. With this change,
if multiple TaskDecorator beans are defined, they will be combined
into a `CompositeTaskDecorator` and applied accordingly.

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>

See gh-45302
2025-07-02 11:55:57 +01:00
Andy Wilkinson ac2656d312 Merge branch '3.5.x'
Closes gh-46248
2025-07-02 11:25:20 +01:00
Andy Wilkinson 1b7244b983 Merge branch '3.4.x' into 3.5.x
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:24], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run CodeQL Analysis / run-analysis (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
Closes gh-46247
2025-07-02 11:22:40 +01:00
Andy Wilkinson d38079cfbb Merge pull request #46228 from benelog
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:24], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run CodeQL Analysis / run-analysis (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
* gh-46228:
  Polish "Fix description of spring.batch.job.enabled"
  Fix description of spring.batch.job.enabled

Closes gh-46228
2025-07-02 11:22:16 +01:00
Andy Wilkinson 7c14ac0bc4 Polish "Fix description of spring.batch.job.enabled"
See gh-46228
2025-07-02 11:21:55 +01:00
Sanghyuk Jung 5a69bfb403 Fix description of spring.batch.job.enabled
Signed-off-by: Sanghyuk Jung <sanghyuk.jung@navercorp.com>

See gh-46228
2025-07-02 11:21:55 +01:00
Andy Wilkinson ce9ffd17fd Make Integration DataSource init back off without s-b-sql
Previously, the DataSource initialization would back off without
spring-boot-jdbc but spring-boot-sql was a required dependency.
Without spring-boot-sql, a failure would occur due to the absence
of OnDatabaseInitializationCondition.

This commit updates the auto-configuration so that spring-boot-sql
is now an optional dependency and DataSource initialization
backs off in its absence.

Closes gh-46244
2025-07-02 10:47:12 +01:00
Andy Wilkinson a52d5538ee Make Quartz DataSource init back off without spring-boot-jdbc
Previously, setting spring.quartz.job-store-type to jdbc assumed that
spring-boot-jdbc was on the classpath. If it was not, the context
would fail to refresh as DataSourceScriptDatabaseInitializer was not
available.

This commit updates the auto-configuration so that the DataSource
initialization will back off when spring-boot-jdbc is absent. This
allows an app to use Quartz without spring-boot-jdbc and
spring-boot-sql. This remains true even when using the JDBC job
store as long as something else has created the DataSource and
initialized its schema to contain the tables that Quartz requires.

Closes gh-46243
2025-07-02 10:47:12 +01:00
Phillip Webb 5db3cacde8 Create spring-boot-autoconfigure-classic module
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:24], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:17], map[id:windows-latest name:Windows]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:21], map[id:windows-latest name:Windows]) (push) Waiting to run Details
Run CodeQL Analysis / run-analysis (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Waiting to run Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run Details
Closes gh-46233
2025-07-01 12:31:13 +01:00
Phillip Webb 77176c0c60 Provide better configuration properties binding exception message
Update `ConfigurationPropertiesBeanRegistrar` to provide the name
of the bean and the type when failures occur.

Closes gh-46232
2025-07-01 12:31:13 +01:00
Andy Wilkinson 73db54c82b Make BytesEncoder back off without an Encoding bean
Closes gh-46153
2025-07-01 12:31:13 +01:00
Andy Wilkinson e01826035d Order BatchAutoConfiguration after DataSourceAutoConfiguration
Prior to the restructuring, this ordering was in place, but not
directly. BatchAutoConfiguration was ordered after
HibernateJpaAutoConfiguration which, in turn, was ordered after
DataSourceAutoConfiguration. This works as all of the
auto-configuration was in the same module.

Following the restructuring, HibernateJpaAutoConfiguration may not be
on the classpath. When it's absent, it's ordering is also lost which
means that BatchAutoConfiguration won't be ordered after
DataSourceAutoConfiguation with spring-boot-hibernate isn't present.

This commit adds explicit after ordering to BatchAutoConfiguration.
This ensures consistent ordering, with or without the JPA
auto-config.

See gh-46071
2025-07-01 12:31:12 +01:00
Phillip Webb 06917abbcb Align reactive auto-configuration names
Rename a few reactive auto-configuration and related classes for better
consistency.

Closes gh-46156
2025-07-01 12:31:12 +01:00
Phillip Webb 3ca1e91cde Create spring-boot-health module
Closes gh-46155
2025-07-01 12:31:12 +01:00
Phillip Webb 3ecbbce773 Order endpoint properties alphabetically
Closes gh-46227
2025-07-01 12:31:11 +01:00
Phillip Webb b19403c9fc Add EndpointObjectMapper supported types method
Closes gh-45876
2025-07-01 12:31:11 +01:00
Phillip Webb 95b3c367ce Restructure autoconfigure packages
Restructure modules packages so that all auto-configuration is
organized under single top-level autoconfigure package.

See gh-46071

Co-authored-by: Andy Wilkinson <andy.wilkinson@broadcom.com>
2025-07-01 12:31:11 +01:00
Phillip Webb 3fb4b1883a Create spring-boot-hibernate module
Closes gh-46154
2025-07-01 12:31:11 +01:00
Andy Wilkinson f90a5986e5 Remove most deprecated APIs that were due for removal in 4.0
Support for rest controller, controler, and servlet endpoints has
been kept for now.

Closes gh-45600
2025-07-01 12:31:10 +01:00
Andy Wilkinson 76719a4e28 Move remaining integration tests out of actuator-autoconfigure-all
See gh-46071
2025-07-01 12:31:10 +01:00
Andy Wilkinson 9860168d3e Move some tests out of actuator-autoconfigure-all
See gh-46071
2025-07-01 12:31:10 +01:00
Phillip Webb e74718553b Move management web security concerns to spring-security module
Closes gh-46133
2025-07-01 12:31:10 +01:00
Andy Wilkinson 299ed11f9c Minimize what remains of actuator-autoconfigure-all
See gh-46071
2025-07-01 12:31:10 +01:00
Andy Wilkinson 93d3ead813 Move code from docker-compose-all into relevant modules
See gh-46071
2025-07-01 12:31:09 +01:00
Andy Wilkinson ccb7cb3005 Move code out of testcontainers-all into relevant modules
See gh-46071
2025-07-01 12:31:09 +01:00
Andy Wilkinson 18bde1852f Create spring-boot-tracing module
See gh-46153
2025-07-01 12:31:09 +01:00
Andy Wilkinson 7875aaa308 Create spring-boot-cloudfoundry module
Closes gh-46152
2025-07-01 12:03:10 +01:00
Phillip Webb 98506c666d Introduce ObservationHandlerGroup interface
Add a new `ObservationHandlerGroup` interface that allows grouping
logic to be implemented by the metrics and tracing modules. This
update removes the need for `ObservabilityAutoConfiguration`.

Closes gh-45746
2025-07-01 12:03:09 +01:00
Andy Wilkinson 2f837eebc7 Move SSL auto-configuration out of actuator-autoconfigure-all
See gh-46071
2025-07-01 12:03:08 +01:00
Andy Wilkinson eb4498d788 Remove spring-boot-autoconfigure-all
See gh-46071
2025-07-01 12:03:07 +01:00