All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
StringCheck — fluent string assertions (length, contains, starts/ends with, regex, case-insensitive)NumberCheck — numeric assertions with tolerance (isCloseTo, isBetween, isPositive)BooleanCheck — isTrue, isFalseCollectionCheck — size, contains, exact ordering, predicate matchingMapCheck — key/entry containment, dot-path navigation for nested mapsOptionalCheck — isPresent, isEmpty, hasValueFutureCheck — completesWithin, hasValueFileCheck — exists, extension, content diff, directory assertions (isDirectoryContaining, hasDirectoryContentMatching)InputStreamCheck — content assertions on streamsObjectCheck — generic isNull, isNotNull, isInstanceOfComparableCheck — generic comparable assertionsInstantCheck — before/after, closeTo with tolerance, past/futureLocalDateCheck — year/month/day, weekday/weekend, leap yearLocalDateTimeCheck — date + time component assertionsDurationCheck — positive/negative, comparisons, millis/seconds/hoursZonedDateTimeCheck — zone-aware assertions, hasZone, isCloseTo, date/instant extractorsOffsetDateTimeCheck — hasOffset, temporal comparisons, extractorsThrowableCheck — message assertions, cause chain traversal, root cause extractionhasSuppressed, hasSuppressedCount, suppressedException(index)BigDecimalCheck — scale, precision, isEqualByComparingTo (ignores scale), isCloseTo with toleranceBigIntegerCheck — isEven, isOdd, isProbablePrime, hasBitLengthUuidCheck — isNil, isVersion4, hasVersion, string extractorByteArrayCheck — startsWith, toHex, toBase64 extractorsSealedClassCheck — isSealed, permits, permitsExactly, permitted subclass extractorsIterableCheck — lazy iteration support for non-Collection iterablesArrayCheck — object array assertions with sorting, predicate matchingIntArrayCheck, LongArrayCheck, DoubleArrayCheck — primitive array assertions with type-specific predicatesStreamCheck — stream assertions with lazy materialization, first() and toList() extractorsMultilineCheck — line count, first/last line, line-matching patterns, diff on failureEnumCheck — name, ordinal, isOneOf, isNoneOfUriCheck — scheme, host, port, path, query param, fragment assertions with extractorsCsvCheck — row/column count, header validation, content diffMatchResultCheck — regex capture group assertions (by index and name) via StringCheck.matchesAndCapturesExecutionCheck — completesWithin, doesNotThrow, throwsInstanceOf (subclass matching), throwsExactly (exact type), measured time extractionDiff engine — LCS-based line diff with compact format for error messagesCheckFactory — zero-boilerplate custom extension via assertThat(value, MyCheck::new)FailureHandler — custom messages (checkWithMessage) and contextual messages (checkWithContext)SoftChecks — collect all failures, report together (assertAll(softly -> { ... }))@WithSoftChecks JUnit 5 extension (in realitycheck-junit5)RealityAssertions — assertThat() aliases for migration from AssertJ/Truthsatisfies(Predicate, String), matches(Predicate), and satisfies(Consumer) on base Check interfaceisAtLeast(T), isAtMost(T), isIn(T, T) aliases on NumberCheck and ComparableCheck.idea/liveTemplates/RealityCheck.xml) — at, ct, ctb, ca, ctjscripts/migrate.sh) for bulk import replacement from AssertJ/Truthrealitycheck-json — JSON validation, dot-path queries, structural diff (requires Jackson)realitycheck-xml — XML well-formedness, XPath assertions (JDK only)realitycheck-yaml — YAML validation, dot-path queries (requires SnakeYAML)realitycheck-snapshot — golden-file snapshot testing with diff on mismatchrealitycheck-bom — version alignment BOMassertThat() aliases added to SoftChecks alongside existing checkThat() methodsassertWithMessage() and assertWithContext() added to RealityAssertionsLegacy single-module release (pre-rewrite).