Skip to content

Changelog — page 32

New features, improvements, and fixes in the Fluxzero SDK.

GitHub

1.74.0 (2026-02-02)

Features
  • IdentityProvider: add name-based ID generation (GitHub)
GitHub

1.73.0 (2026-01-28)

Features
  • TestFixture: add option for incremental schedule time advancement (GitHub)

    Introduce a fixture setting to control whether time advances stepwise through intermediate schedule deadlines or jumps directly to the target timestamp.

    Incremental advancement remains the default for realistic handling of recurring and rescheduled schedules. Add tests covering both modes.

GitHub

1.72.1 (2026-01-28)

Bug Fixes
  • CachingAggregateRepository: change error to info level for cache update failures (GitHub)

    There are legitimate situations where the cached aggregate does not contain the last received event, even when it originates from the current client, e.g., after a cache eviction followed by a load while the event is being appended.

Code Refactoring
  • split: optimize path splitting for search (GitHub)

    Also remove memoization.

GitHub

1.72.0 (2026-01-26)

Code Refactoring
  • handling: rename TimeParameterResolver to TimestampParameterResolver and improve behavior (GitHub)
GitHub

1.71.0 (2026-01-25)

Features
  • add TimeParameterResolver for Instant and Clock injection in handlers (GitHub)

    - Introduced `TimeParameterResolver` to resolve `Instant` and `Clock` parameters in message handlers.
    - Added tests for `Instant` and `Clock` parameter injection.

Tests
  • web: add test for `@​ServeStatic` without additional config (GitHub)
GitHub

1.70.0 (2026-01-23)

Code Refactoring
  • @​ServeStatic: ensure default web path `/` if no `@​Path` is present (GitHub)
GitHub

1.69.0 (2026-01-18)

Code Refactoring
  • reflection: remove isBridge check in method inclusion logic (GitHub)

    Doesn't work in combination with kotlin 2.3

GitHub

1.68.1 (2026-01-12)

Bug Fixes
  • websocket: extend ping timeout duration to 15 seconds (GitHub)
Changes
  • Revert "feat(aggregate): commit aggregates asynchronously, waiting for all commits to complete before processing next messages" (GitHub)

    This reverts commit ec330c5c06ccd82a0b3a98bd599f3f5b708d144e.

    Reverting this because this can lead to very high read counts in a very short timespan, which can cause client pings to time out, leading to a cascade of issues. Once the Fluxzero runtime reduces the number of message batches returned in parallel, the expectation is that pings will be timely answered again.

GitHub

1.68.0 (2026-01-10)

Code Refactoring
  • publish changelog again (GitHub)
GitHub

1.67.0 (2026-01-10)

No commits were found for this release.

GitHub

1.66.0 (2026-01-10)

Code Refactoring
  • publish changelog again (GitHub)
GitHub

1.65.0 (2026-01-10)

Code Refactoring
  • publish changelog again (GitHub)
GitHub

1.64.1 (2026-01-09)

Bug Fixes
  • websocket: abort with error code 1011 when going away after pinging the runtime failed (GitHub)

    1006 is not a valid code to send.

GitHub

1.64.0 (2026-01-05)

Features
  • stateful: support replacement of the current stateful instance (GitHub)

    Replacement will store the new instance and delete the old one. Returning a collection of handlers that does not contain the current one will also delete the current handler.

GitHub

1.63.0 (2026-01-04)

Features
  • proxy: add CORS handling with preflight support (GitHub)

    Implemented CORS handling including preflight requests. Added configuration for allowed domains via `FLUXZERO_CORS_DOMAINS` and dynamic header application based on origin validation.

  • search: clarify behavior of `@​SearchExclude` and `@​SearchInclude` (GitHub)

    Updated javadoc to specify that `@​SearchExclude` applies to nested types as well unless explicitly overridden by `@​SearchInclude`.

Code Refactoring
  • proxy: implement JWKS rate-limiting for key resolution (GitHub)

    Introduced rate-limiting to prevent frequent fetch requests. Enhanced logging for JWKS fetch operations and improved error handling with robust key-refresh mechanisms.

GitHub

1.62.0 (2026-01-02)

Features
  • test-fixture: allow resolving expired schedules by payload class (GitHub)

    Support passing a Class to whenScheduleExpires() and givenExpiredSchedules() to resolve the first matching future schedule by payload type and fast-forward time to its deadline. Throw IllegalStateException when no matching schedule is found, and ignore duplicate Class arguments in givenExpiredSchedules().

Bug Fixes
  • test-fixture: ensure JSON-file payloads are parsed correctly (GitHub)
  • test-fixture: update `andThen` method to return `Given<?>` (GitHub)

    This fixes tests in kotlin that use `andThen`.

GitHub

1.61.2 (2025-12-31)

Dependency updates
  • bump io.jooby:jooby from 4.0.12 to 4.0.13 (GitHub)

    io.jooby:jooby: 4.0.12 -> 4.0.13 changelog

  • bump ch.qos.logback:logback-classic from 1.5.22 to 1.5.23 (GitHub)

    ch.qos.logback:logback-classic: 1.5.22 -> 1.5.23 changelog

Changes
  • dep: Switch to at.yawk.lz4 community fork because org.lz4 is no longer maintained (GitHub)
GitHub

1.61.1 (2025-12-21)

Bug Fixes
  • entity: check `@​Apply` compatibility more robustly (GitHub)
GitHub

1.61.0 (2025-12-20)

Features
  • entity: validate `@​Apply` compatibility during legality checks (GitHub)

    Fluxzero now verifies that at least one `@​Apply` method is compatible with the current entity state.

    Compatibility is determined structurally from the `@​Apply` method signature,
    with explicit opt-outs via Entity<T>, nullable aggregate parameters, or
    `@​Apply(ignoreCompatibilityCheck = true)`.

    This behavior is enabled by default and can be disabled using the
    `fluxzero.assert.legal.apply-compatibility` property.

GitHub

1.60.0 (2025-12-20)

Features
  • testing: process due schedules before target time when advancing time (GitHub)

    When advancing time in tests, schedules that fire before the target timestamp are now handled recursively before completing the final time jump.

    Time is advanced in steps rather than a single jump, ensuring that intermediate schedules are processed in order. If handling those schedules triggers additional schedules that are due before the target timestamp, they are fired as well.

    This allows tests to simulate real-world scheduling behavior more accurately.


© 2026 Fluxzero