Download Latest Version 6.58.0.0 source code.zip (20.1 MB)
Email in envelope

Get an email when there's a new version of http4k

Home / 6.57.2.0
Name Modified Size InfoDownloads / Week
Parent folder
6.57.2.0 source code.tar.gz 2026-08-10 16.4 MB
6.57.2.0 source code.zip 2026-08-10 20.0 MB
README.md 2026-08-10 5.3 kB
Totals: 3 Items   36.4 MB 0

Distribution notice - from 1 October 2026, Maven Central receives http4k releases approximately quarterly. maven.http4k.org continues on the normal 1-2 week cadence. Both channels are supported. Background and current status: DISTRIBUTION.md (github.com)

Changelog:

  • http4k-*: Upgrade versions
  • http4k-connect-amazon-iot: [New module!] AWS IoT Core control plane, covering the Jobs operations (CreateJob, DescribeJob, DescribeJobExecution, ListJobExecutionsForThing, CancelJob, DeleteJob), the stream operations devices pull files over MQTT from (CreateStream, DescribeStream, ListStreams, UpdateStream, DeleteStream) and DescribeEndpoint.
  • http4k-connect-amazon-iot-fake: [New module!] AWS IoT Core control plane fake, backed by a Storage<StoredJob> and a Storage<StoredStream>.
  • http4k-connect-amazon-iotjobsdataplane: [New module!] AWS IoT Jobs Data Plane client - the device side of Jobs - supporting GetPendingJobExecutions, DescribeJobExecution (including $next), StartNextPendingJobExecution and UpdateJobExecution. It signs as iot-jobs-data against the account's data.jobs.iot.<region>.amazonaws.com endpoint.
  • http4k-connect-amazon-iotjobsdataplane-fake: [New module!] AWS IoT Jobs Data Plane fake. Takes the same Storage<StoredJob> as FakeIot, so one store passed to both gives the control plane and the device API a single jobs state.
  • http4k-connect-amazon-dynamodb: [Fix] ConditionalCheckFailed.Message is now read from the message field DynamoDB actually sends (lower-cased, as on its other error bodies), so deserialising a real conditional-write failure no longer throws instead of returning the Item the caller asked for. DynamoDB Local spells it Message, so both are accepted. The property keeps its name, so existing callers compile; the fake now emits the same spelling as AWS.
  • http4k-connect-amazon-sqs: SQSMessage gains systemAttributes (the Attributes map SQS reports on a received message); SentMessage and SendMessageBatchResultEntry gain the previously-dropped MD5OfMessageSystemAttributes; ReceiveMessage gains MessageSystemAttributeNames, the selector which supersedes the deprecated AttributeNames. The attribute names SQS uses are available as MessageSystemAttributeName, and MessageFieldsDto.toSqs() is now public so the checksums can be computed outside the module. All new fields are defaulted, and each type keeps its previous primary constructor as a secondary, so existing bytecode still links (only the synthetic copy of a data class unavoidably changes shape).
  • http4k-connect-amazon-sqs-fake: [Fix] A send no longer drops its FIFO fields: MessageGroupId, MessageDeduplicationId and MessageSystemAttributes are recorded alongside the SenderId, SentTimestamp and (on a .fifo queue) SequenceNumber SQS itself populates, and ReceiveMessage reports them in Attributes, honouring the request's selection. A .fifo queue now deduplicates as SQS does: repeating a MessageDeduplicationId within 5 minutes of the accepted send succeeds and reports the original MessageId/SequenceNumber without enqueueing again - but with the checksums of the request just received, since SQS digests what it was sent even when it deduplicates it away. FakeSQS gains defaulted deduplication, queueConfig and clock constructor parameters.
  • http4k-connect-amazon-dynamodb-fake: [Fix] attribute_type(#a, :t) - the only form real DynamoDB accepts, with the type passed as an expression attribute value - now parses, resolved through the request's ExpressionAttributeValues. It previously failed to parse (escaping as a 500 on UpdateItem), so conditions written for the real service could not run against the fake. The bare-name form (attribute_type(a, S)), which the fake has always accepted and real DynamoDB rejects, still parses.
  • http4k-connect-amazon-dynamodb-fake: [Fix] An expression naming an undefined #name or :value (or a malformed attribute_type operand) is now reported as the 400 ValidationException the real service answers with, instead of escaping as a 500 - by the conditional writes (PutItem/UpdateItem/DeleteItem/TransactWriteItems) as well as Scan/Query. As at DynamoDB it is a request error, checked before the expression is evaluated, so AND/OR short-circuiting cannot hide it - and it stays distinct from the ConditionalCheckFailedException a condition which resolved and came out false still produces.
  • http4k-connect-amazon-dynamodb-fake: [Fix] PutItem, UpdateItem, DeleteItem and BatchWriteItem now serialise their read-modify-write on the table storage - the monitor TransactWriteItems already synchronises on - so two concurrent writes to the same table can no longer both read the pre-write table and have the loser overwrite the winner.
  • http4k-connect-amazon-cognito: Added AdminSetUserMFAPreference and SetUserMFAPreference actions (with SMSMfaSettingsType/SoftwareTokenMfaSettingsType/EmailMfaSettingsType/WebAuthnMfaSettingsType models), so a user's MFA factors can be enabled and a preferred factor chosen. The fake supports both.
Source: README.md, updated 2026-08-10