Tags

Tags give the ability to mark specific points in history as being important
  • 2.3.0

    protected Release: 2.3.0 • Derived prepared values, more platforms for Ktor
    Derived prepared values, more platforms for Ktor
    
    ### Suite
    
    - Added `prepared {}.flatMap {}` (!186)
    
    ### Compat: Gradle
    
    - Added `.dir` and `.buildDir` extensions on prepared values to facilitate accessing fields of a Gradle project (!186)
    
    ### Compat: Ktor
    
    - Support all Kotlin Native tier 1 and 2 targets (!188)
    - Support WasmJS (!188)
    
  • 2.2.0

    protected Release: 2.2.0 • Improved test logging, Kotest 6 and TestBalloon 0.7.1
    Improved test logging, Kotest 6 and TestBalloon 0.7.1
    
    ### Suite
    
    - Prepared and shared values now log how long they took to initialize (!177)
    - Finalizers run even when the test is cancelled (e.g. because of a timeout, !177)
    - Added the 'log' function to display information about an intermediate value (16df295b, !180)
    
    ### Kotest runner
    
    - Kotest 6.0.4 support. Note that the Kotest configuration has changed, it now requires configuring KSP (ac719a00)
    - Added support for WASI
    - Removed workaround for Kotest#4077 (#59, !185)
    
    ### TestBallooon runner
    
    - TestBalloon 0.7.1 support
    - Force the dependency on the Kotlin-test library. This may help when TestBalloon doesn't release new versions for new versions of Kotlin (6fbce77c)
    
    ### Dependencies
    
    - Kotlin 2.2.20
    
  • 2.1.2

    protected Release: 2.1.2 • DebugProbes, TestBalloon IntelliJ plugin and JDK 11+ for all runners
    DebugProbes, TestBalloon IntelliJ plugin and JDK 11+ for all runners
    
    ### Suite
    
    - On the JVM, coroutine DebugProbes are enabled automatically to log ongoing coroutines at the end of a test (#45, #87, !172)
    - Added the `@TestEntrypoint` annotation (72ea802d)
    
    ### TestBalloon runner
    
    - The default timeout is now 10s instead of 1m, like the other runners (e17b8ad2)
    - Now compatible with JDK 11+ (previously 17+, 614e9963)
    
    ### Documentation
    
    - Added more features to the highlight section of the home page (e4bb5f82)
    - Simplified the Atrium description (bbe1c05d)
    - Added an [explanation](https://prepared.opensavvy.dev/api-docs/runners/runner-testballoon/index.html) to configure the IntelliJ TestBalloon plugin (5c8b653b)
    
  • 2.1.1

    protected Release: 2.1.1 • New documentation website
    New documentation website
    
    ### Documentation
    
    - Moved the website to https://prepared.opensavvy.dev (!164, !167)
    - Removed the mention to the Best Practices page, which doesn't exist yet (#85, !166)
    
  • 2.1.0

    protected Release: 2.1.0 • checkThrows and stable resource management
    checkThrows and stable resource management
    
    ### Suite
    
    - Warn users that exceptions are printed after finalizers (#81, !150)
    - Added `String.matches(String)` for easier regex matching (a9cb1224, !160)
    - Added `checkThrows` (5e1653e1, !160)
    
    ### Compat: Parameterize
    
    - Support Wasm (!145)
    - Support Parameterize 0.4.0 (Beware: possible binary incompatibilities, !152)
    
    ### Compat: Arrow
    
    - Support WasmJS (!159)
    - Renamed `assertRaises` and `assertRaisesWith` to `checkRaises` (d06de70f, !160)
    
    ### Compat: KotlinX.Datetime
    
    - Deprecated the module (!148)
    
    ### Compat: Filesystem
    
    - Stabilized the resource management APIs (#66, !157)
    
    ### Documentation
    
    - Added copyright headers (!146)
    
    ### Dependencies
    
    - Kotlin 2.2.0
    - Kotest 6.0.0.M4
    - TestBalloon 0.4.0
    
  • 2.0.6

    protected Release: 2.0.6 • Migration to TestBalloon, WASI support
    Migration to TestBalloon, WASI support
    
    ### Suite
    
    - Added support for Wasm WASI when running with TestBalloon (!143)
    
    ### Runner: TestBalloon
    
    - Support all OpenSavvy-supported platforms (!143)
    - All modules are now tested with this runner instead of the Kotest runner (!143)
    
    ### Compat: Arrow
    
    - Removed the `@ExperimentalTraceApi` on `assertRaisesWith` methods (!142)
    
    ### Dependencies
    
    - Kotlin 2.1.21
    - KotlinX.Coroutines 1.10.2
    - KotlinX.Datetime 0.6.2
    - Arrow 2.1.2
    - Gradle TestKit 8.11.1
    - Ktor 3.1.3
    - TestBalloon 0.3.3
    
  • 2.0.5

    protected Release: 2.0.5 • Documentation improvements around test runners
    Documentation improvements around test runners
    
    ### Documentation
    
    - Added TestBalloon to the list of available runners (807fd198, !138)
    - Added a usage example of each test runner in the documentation (0a34377b, !138)
    
  • 2.0.4

    protected Release: 2.0.4 • kotlin.time support
    Experimental support for kotlin.time
    
    ### Suite
    
    - Added '`time.now`' to get the current `kotlin.time.Instant` (#78, !135)
    - Added '`time.clock`' to get the current `kotlin.time.Clock` (#78, !135)
    - Added '`time.set`' and '`time.delayUntil`' to easily control the passage of time (#78, !135)
    
  • 2.0.3

    protected Release: 2.0.3 • TestBalloon support
    Experimental TestBalloon support
    
    ### TestBalloon Runner
    
    TestBalloon is a new test framework for Kotlin that empowers much more lightweight DSLs and promises easier updates.
    In this release, we add experimental support (!134) for the very first TestBalloon release.
    
    Once the TestBalloon IntelliJ plugin is released, TestBalloon will likely become the primary target for Prepared.
    
  • 2.0.2

    protected Release: 2.0.2 • Documentation configuration improvements
    Documentation configuration improvements
    
  • 2.0.1

    protected Release: 2.0.1 • Mention the Atrium assertion library
    Mention the Atrium library in the documentation
    
    ### Documentation
    
    - Mention the Atrium assertion library in the assertion comparison (!127, by Robert Stoll)
    
    ### Dependencies
    
    - Kotlin 2.1.20
    
  • 2.0.0

    protected Release: 2.0.0 • Arrow 2, Ktor 3, Java 11, random and context cleanup
    Arrow 2, Ktor 3, Java 11, random and context cleanup
    
    ## Breaking changes
    
    ### The CoroutineContext becomes part of the test configuration
    
    Replace:
    ```kotlin
    test("Foo", yourCoroutineContext) {
        // your test
    }
    ```
    by:
    ```kotlin
    test("Foo", Context(yourCoroutineContext)) {
        // your test
    }
    ```
    
    ### Random generation
    
    All random generation methods have been moved from package `opensavvy.prepared.suite` to `opensavvy.prepared.suite.random`.
    Users will need to update all imports to these functions, but they are otherwise unchanged (#48, !113).
    
    ## Other changes
    
    ### Runners
    
    - First prototype of the Kotlin Test Initiative runner (!114)
    
    ### Compatibility modules
    
    - Supports Ktor 3 (!109)
    
    ### Documentation
    
    - Fixed documentation of the Truthish library (!111)
    - The documentation website now contains the API reference (!119)
    - The documentation website now contains the News section
    
    ### Dependencies
    
    - Downgraded minimal JDK requirement from 21 to 11 (!123, thanks Dave A.!)
    - Kotlin 2.1.10
    - KotlinX.Coroutines 1.10.1
    - Ktor 3.0.3
    - Arrow 2.0.0
    
  • 2.0.0-rc.1

    protected Release: 2.0.0-rc.1 • Support for Java 11 in all modules
    First release candidate for Prepared 2.0
    
    ### Deployment
    
    - Support Java 11 in all modules (previously Java 21—thanks Dave A.!) (!123)
    
    ### Documentation
    
    - Added the project changelog to the documentation website (73ad1089)
    
    ### Dependencies
    
    - Kotlin 2.1.10 (143f6dd3)
    - KotlinX.Coroutines 1.10.1 (79f5e763, !122)
    - Ktor 3.0.3 (c1f2cd02, !122)
    - Arrow 2.0.0 (c1b3ebb6, !122)
    
  • 2.0.0-alpha.2

    protected Release: 2.0.0-alpha.2 • Test context configuration, documentation improvements
    Test context configuration, documentation improvements
    
    ### Breaking changes
    
    Replace:
    ```kotlin
    test("Foo", yourCoroutineContext) {
        // your test
    }
    ```
    by
    ```kotlin
    test("Foo", Context(yourCoroutineContext)) {
        // your test
    }
    ```
    
    ### Suite
    
    - Removed the 'context' parameter to 'test' and added the Context configuration (#75, !115)
    
    ### Documentation
    
    - Removed the empty 'Best practices' section (!118)
    - The documentation website now contains the reference (!119)
    
    ### Dependencies
    
    - Kotlin 2.1.0
    
  • 2.0.0-alpha.1

    protected Release: 2.0.0-alpha.1 • Ktor 3, random in its own package
    Ktor 3, random in its own package
    
    ### Breaking
    
    - All random management methods have been moved to another package. Other than that, they are unchanged (#48, !113)
    - Ktor 3 support
    
    ### Kotlin Test Initiative
    
    - First prototype of the KTI runner (!114)
    
    ### Documentation
    
    - Fixed documentation of the Truthish library (!111)
    
    ### Dependencies
    
    - Ktor 3.0.1 (!109)
    - KotlinX.Coroutines 1.9.0 (!109)
    
  • 1.5.2

    protected Release: 1.5.2 • Dependency upgrades
    Dependency upgrades
    
    ### Dependencies
    
    - Kotlin 2.0.20
    - KotlinX.Datetime 0.6.1
    - Parameterize 0.3.3
    - Gradle TestKit 8.10.1
    
  • 1.5.1

    protected Release: 1.5.1 • Minor documentation improvements
    Minor documentation improvements
    
    ### Documentation website
    
    - Fix typos (!103)
    - Add missing links (!103)
    
  • 1.5.0

    protected Release: 1.5.0 • Support for Native tier 1 and 2 platforms, enhanced documentation
    Support for Native tier 1 and 2 platforms, enhanced documentation
    
    All tier 1 and 2 Kotlin/Native platforms are now supported for most modules, as well as mingwX64 (tier 3) - (!101).
    
    ### Compat Arrow
    
    - Added a documentation page to the website (7bdf92e5, #47, !102)
    - Simplify the tracing error message on KJS (a398b5fe, !102)
    
    ### Compat filesystem
    
    - Added a documentation page to the website (b6f2beb9, #70, !102)
    
    ### Compat Ktor
    
    - Added a documentation page to the website (7e65ba09, #47, !102)
    - Fixed incoherent sentences in module header (e2dc95d7, !102)
    
    ### Compat Gradle
    
    - Added a documentation page to the website (8cd8283d, #47, !102)
    
  • 1.5.0-rc.1

    protected
    Support for Native tier 1 and 2 platforms, enhanced documentation
    
    All tier 1 and 2 Kotlin/Native platforms are now supported for most modules, as well as mingwX64 (tier 3) - (!101).
    
    ### Compat Arrow
    
    - Added a documentation page to the website (7bdf92e5, #47, !102)
    - Simplify the tracing error message on KJS (a398b5fe, !102)
    
    ### Compat filesystem
    
    - Added a documentation page to the website (b6f2beb9, #70, !102)
    
    ### Compat Ktor
    
    - Added a documentation page to the website (7e65ba09, #47, !102)
    - Fixed incoherent sentences in module header (e2dc95d7, !102)
    
    ### Compat Gradle
    
    - Added a documentation page to the website (8cd8283d, #47, !102)
    
  • 1.4.1

    protected Release: 1.4.1 • Parameterized tests documentation
    Parameterized tests documentation
    
    ### Parameterize compat
    
    - Parameterize 0.3.2 (!99)
    - Add a website page on parameterized testing (!99)
    
    ### Documentation
    
    - Reorganize the features page (857cde84, !99)