PackageTrack
Sign in Get early access

org.assertj:assertj-core

3.27.7 assertj/assertj

What this package is like to depend on

Last release 7 months ago

24 Jan 2026

Release timing varies

gaps range from 2 weeks to 5 months

Rarely documented

notes for 9 of 81 stable releases

Nothing withdrawn

no release was ever pulled

13 years old

82 releases · first in 2013

3 releases in the last 12 months

see the full history below

Release timeline

82 releases · Mar 2013 to Jan 2026
2014 2016 2018 2020 2022 2024 2026
Release Pre-release

Releases

latest 60 of 82
  1. 4.0.0-M1 09 Mar 2025 pre-release
    Release notes

    🧩 Binary Compatibility

    This release is binary incompatible with the previous major version.

    💥 Breaking Changes

    • Raise required Java version to 17 #3447

    🚫 Deprecated

    • Set since = "3" and forRemoval = true for all deprecations #3762

    Core

    • Deprecate @VisibleForTesting for removal #3755

    ⚡ Improvements

    • Run OpenRewrite Java 17 recipe #3759
    • Add missing module descriptor to assertj-guava, adopt module-only build #3771
    • Centralize maven-enforcer-plugin execution, append configurations

    Core

    • Replace isSealed reflection-based implementation with JDK built-in implementation #3081
    • Replace isRecord reflection-based implementation with JDK built-in implementation #3079
    • Add missing java.sql module dependency
    • Fix typo in TemporalUnitLessThanOffset Javadoc #3783
    • Move script testing to separate module, improve test portability #3785
    • Abort tests when symbolic links cannot be created #3788

    🔨 Dependency Upgrades

    Core

    • Upgrade to Byte Buddy 1.17.1 #3773
    • Upgrade to JUnit BOM 5.12.0 #3779

    ❤️ Contributors

    Thanks to all the contributors who worked on this release:

    @aalmiray @RaphaelJenni @SimonHarte @etrandafir93 @fml2 @Bananeweizen @lobaorn @sormuras

    Open source →
  2. 3.27.7 24 Jan 2026
    Release notes

    🔒 Security

    Core

    🚫 Deprecated

    Core

    • Deprecate XmlStringPrettyFormatter with no replacement

    🐛 Bug Fixes

    Guava

    • Navigation to assertj-core or guava types from assertj-guava Javadoc site has unnecessary header #3478

    🔨 Dependency Upgrades

    Core

    • Upgrade to Byte Buddy 1.18.3
    • Upgrade to JUnit BOM 5.14.1

    Guava

    • Upgrade to Guava 33.5.0-jre
    Open source →
  3. 3.27.6 22 Sep 2025
    Release notes

    🐛 Bug Fixes

    Core

    • Add missing export for org.assertj.core.annotation #3951

    ❤️ Contributors

    Thanks to all the contributors who worked on this release:

    @duponter

    Open source →
  4. 3.27.5 18 Sep 2025
    Release notes

    ⚡ Improvements

    Core

    • ByteBuddy in AssertJ 3.27.4 not compatible with Java 25 #3946

    🔨 Dependency Upgrades

    Core

    • Upgrade to Byte Buddy 1.17.7 #3947
    • Upgrade to JUnit BOM 5.13.4 #3947

    Guava

    • Upgrade to Guava 33.4.8-jre #3947
    Open source →
  5. 3.27.4 07 Aug 2025
    Release notes

    🚫 Deprecated

    Core

    • Deprecate org.assertj.core.annotations.Beta in favor of org.assertj.core.annotation.Beta
    • Deprecate org.assertj.core.util.CanIgnoreReturnValue in favor of org.assertj.core.annotation.CanIgnoreReturnValue
    • Deprecate org.assertj.core.util.CheckReturnValue in favor of org.assertj.core.annotation.CheckReturnValue

    🐛 Bug Fixes

    Core

    • Fix thread-safety in AbstractDateAssert #3874

    ⚡ Improvements

    • Migrate to the Central Publisher Portal, enable snapshot publishing #3881

    Core

    • Annotate fail methods with custom @Contract #3882

    ❤️ Contributors

    Thanks to all the contributors who worked on this release:

    @kelunik

    Open source →
  6. 3.27.3 18 Jan 2025
    Release notes

    💥 Breaking Changes

    Core

    • Revert "Propagate common basetype for the extracting method" #3737

      Details

      The enhancement introduced with #3673 breaks existing code on Kotlin 1.9; therefore, it has been reverted.

      As Spring Boot 3.4 currently supports Kotlin 1.9, we want to keep the same compatibility on AssertJ 3.x, while AssertJ 4.x will require Kotlin 2.x.

      Existing code relying on the changes introduced with #3673 will no longer compile and should be refactored.

    🐛 Bug Fixes

    Core

    • Fix StandardRepresentation regression for unquoted strings #3735

    ⚡ Improvements

    Core

    • Add Class info to class loading strategy failures #3746

    ❤️ Contributors

    Thanks to all the contributors who worked on this release:

    @ccrvincent

    Open source →
  7. 3.27.2 04 Jan 2025
    Release notes

    🐛 Bug Fixes

    Core

    • Restore support for null-valued maps when ignoring fields #3723
    Open source →
  8. 3.27.1 01 Jan 2025
    Release notes

    🚫 Deprecated

    Core

    • Deprecate usingComparatorForFields and remove deprecated assertions from usingComparatorForType documentation #3711
    • Deprecate hasCauseReference(Throwable) from Throwable assertions #3715

    🐛 Bug Fixes

    Core

    • Fix missing introspection for record accessors #3710
    • Honor assertion description in asString()
    • Avoid InputStream manipulation when mark / reset are supported #3713
    • NPE with custom RecursiveComparisonConfiguration on usingRecursiveFieldByFieldElementComparator #3719

    ⚡ Improvements

    • Declare license using SPDX identifier #3718

    ❤️ Contributors

    Thanks to all the contributors who worked on this release:

    @Bananeweizen @jessicant @nith2001

    Open source →
  9. 3.27.0 19 Dec 2024
    Release notes

    💥 Breaking Changes

    Core

    • Propagate common basetype for extracting(Function...) #3673

      Details

      Before this change, extracting(Function...) changed actual to a list of Object instances, even in cases where the resulting objects could have had a more specific common supertype. With this change, the element type of the returned list is narrowed down to the common supertype of the resulting elements, allowing the compiler to accept chained assertions specific to the common supertype.

      However, this can break existing code, like in #3709. Such cases do not justify reverting the change. Therefore, the affected code should be refactored accordingly, given that contains for list assertions already follows the same semantic.

      In addition, this can break existing code based on Kotlin 1.9, like in #3728. In such cases, either upgrade Kotlin to 2.x or upgrade AssertJ to 3.27.3, which restores compatibility with Kotlin 1.9.

    🚫 Deprecated

    Core

    • Deprecate ClassBasedNavigableIterableAssert and ClassBasedNavigableListAssert #3529

    ✨ New Features

    Core

    • Add actual() to access the object under test #3489
    • Add isCompletedWithValueMatchingWithin to CompletableFuture assertions #3506
    • Add completesExceptionallyWithin to CompletableFuture assertions #3597
    • Add inBinary to CharSequence assertions #3600
    • Support for Assertions.byLessThan(Duration) and Assertions.within(Duration) #3486
    • Add standard representation for CharSequence #3617
    • Add predicate descriptions overloads to anyMatch and noneMatch #3639
    • Add doesNotMatch(Predicate) #3684
    • Add usingEquals accepting a BiPredicate and an optional description to provide a custom comparison in assertions #3678

    Guava

    • Add isNotEmpty to Table assertions #3559

    🐛 Bug Fixes

    Core

    • Recursive assertion hasNoNullFields throws NPE with fields of anonymous and local types #3534
    • Fix incorrect mutation of actualElementsGroupedByHashCode in recursive comparison
    • Recursive comparison ignoringFields not working properly with maps #2988
    • Custom representation ignored when describing expected items not in the actual list #3646
    • hasFieldOrPropertyWithValue swallows exceptions thrown by getters, and reports non-existent property instead #3563
    • satisfies() with nested assertions obscures stack trace #2542
    • Recursive comparison fails if ignored fields are not found in expected #3226

    ⚡ Improvements

    Core

    • Report all failing conditions when using satisfies(allOf(Condition...)) #3537
    • Fix Unicode escapes in inUnicode() Javadoc
    • Show error differences if values were compared with equals in recursive comparison #3209
    • Add throwable stacktrace to ShouldNotContainCharSequence
    • Remove unused code and other minor cleanup #3683
    • Simplify comparison strategy isLessThan and isLessThanOrEqualTo in AbstractComparisonStrategy #3694
    • Update AbstractCharSequenceAssert.java reference #3700
    • Include stack trace of internal errors in all/any satisfy assertions

    🔨 Dependency Upgrades

    Core

    • Upgrade to Byte Buddy 1.15.11 #3703
    • Upgrade to JUnit BOM 5.11.4 #3702

    Guava

    • Upgrade to Guava 33.4.0-jre #3705

    ❤️ Contributors

    Thanks to all the contributors who worked on this release:

    @JunHyungJang @mipo256 @vladykin @Marcono1234 @sunaleed @etrandafir93 @FlorianCousin @OlivierCavadenti @jh-instant @patrickuhlmann @IvoHD @alexandra-junghans @fmbenhassine @etrandafir93 @shaikhu @cookieMr @emmanuel-ferdman @mk868

    Open source →
  10. 3.26.3 09 Jul 2024
    Release notes

    🧩 Binary Compatibility

    The release is:

    • Binary compatible with the previous minor version.
    • Binary incompatible with the previous patch version.

    💥 Breaking Changes

    Core

    • Replace assertThat(Temporal) with assertThatTemporal(Temporal) #3519

    🐛 Bug Fixes

    Core

    • Fix Javadoc rendering on FactoryBasedNavigableListAssert::assertThat
    • Allow ComparingNormalizedFields instances to be reused across different assertions #3493

    🔨 Dependency Upgrades

    Core

    • Upgrade to Byte Buddy 1.14.18 #3531
    • Upgrade to JUnit BOM 5.10.3 #3525

    Guava

    • Upgrade to Guava 33.2.1-jre #3499

    ❤️ Contributors

    Thanks to all the contributors who worked on this release:

    @genuss

    Open source →
  11. 3.26.0 26 May 2024

    Nothing published for this version

  12. 3.25.3 04 Feb 2024

    Nothing published for this version

  13. 3.25.2 24 Jan 2024

    Nothing published for this version

  14. 3.25.1 02 Jan 2024

    Nothing published for this version

  15. 3.25.0 31 Dec 2023

    Nothing published for this version

  16. 3.24.2 16 Jan 2023

    Nothing published for this version

  17. 3.24.1 06 Jan 2023

    Nothing published for this version

  18. 3.24.0 05 Jan 2023

    Nothing published for this version

  19. 3.23.1 31 May 2022

    Nothing published for this version

  20. 3.23.0 30 May 2022

    Nothing published for this version

  21. 3.22.0 03 Jan 2022

    Nothing published for this version

  22. 3.21.0 19 Sep 2021

    Nothing published for this version

  23. 3.20.2 20 Jun 2021

    Nothing published for this version

  24. 3.20.1 16 Jun 2021

    Nothing published for this version

  25. 3.20.0 15 Jun 2021

    Nothing published for this version

  26. 3.19.0 24 Jan 2021

    Nothing published for this version

  27. 3.18.1 11 Nov 2020

    Nothing published for this version

  28. 3.18.0 25 Oct 2020

    Nothing published for this version

  29. 3.17.2 05 Sep 2020

    Nothing published for this version

  30. 3.17.1 30 Aug 2020

    Nothing published for this version

  31. 3.17.0 23 Aug 2020

    Nothing published for this version

  32. 3.16.1 08 May 2020

    Nothing published for this version

  33. 3.16.0 05 May 2020

    Nothing published for this version

  34. 3.15.0 28 Jan 2020

    Nothing published for this version

  35. 3.14.0 27 Oct 2019

    Nothing published for this version

  36. 3.13.2 04 Aug 2019

    Nothing published for this version

  37. 3.13.1 29 Jul 2019

    Nothing published for this version

  38. 3.13.0 28 Jul 2019

    Nothing published for this version

  39. 3.12.2 17 Mar 2019

    Nothing published for this version

  40. 3.12.1 28 Feb 2019

    Nothing published for this version

  41. 3.12.0 14 Feb 2019

    Nothing published for this version

  42. 3.11.1 28 Aug 2018

    Nothing published for this version

  43. 3.11.0 15 Aug 2018

    Nothing published for this version

  44. 3.10.0 12 May 2018

    Nothing published for this version

  45. 3.9.1 21 Feb 2018

    Nothing published for this version

  46. 3.9.0 02 Jan 2018

    Nothing published for this version

  47. 3.8.0 21 May 2017

    Nothing published for this version

  48. 3.7.0 07 May 2017

    Nothing published for this version

  49. 3.6.2 21 Jan 2017

    Nothing published for this version

  50. 3.6.1 26 Nov 2016

    Nothing published for this version

  51. 3.6.0 21 Nov 2016

    Nothing published for this version

  52. 3.5.2 16 Jul 2016

    Nothing published for this version

  53. 3.5.1 03 Jul 2016

    Nothing published for this version

  54. 3.5.0 03 Jul 2016

    Nothing published for this version

  55. 3.4.1 09 Apr 2016

    Nothing published for this version

  56. 3.4.0 30 Mar 2016

    Nothing published for this version

  57. 3.3.0 10 Jan 2016

    Nothing published for this version

  58. 3.2.0 21 Sep 2015

    Nothing published for this version

  59. 3.1.0 25 Jun 2015

    Nothing published for this version

  60. 3.0.0 06 Apr 2015

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive