Skip to content

0.23.0

Choose a tag to compare

@github-actions github-actions released this 29 Oct 03:44
· 3 commits to main since this release

Synced to flipcash2-protobuf-api@6de4f9ad,
picking up #160,
#161,
#162 and
#163. activity.v1,
chat.v1, event.v1, paymentrequest.v1 and push.v1 moved.

This release makes a public group's minimum balances editable, announces payment request changes
on the chat event stream, links feed payments to the payment request they paid, and adds a test
push. Upgrading breaks source in Swift only, not the wire. One enum gained cases, appended at the
end, so no existing value moved.

Breaking

  • activity.v1.DirectlySentCryptoNotificationMetadata.boosted_reaction and
    ReceivedCryptoNotificationMetadata.boosted_reaction (field 3 in both) moved into a new
    oneof context, next to requested_payment. Swift loses hasBoostedReaction and
    clearBoostedReaction on both; switch on context instead. Kotlin keeps hasBoostedReaction()
    and gains getContextCase().
  • chat.v1.MetadataUpdate's kind oneof gains rules_changed (field 8). An exhaustive switch
    over the Swift oneof, or a when over Kotlin's KindCase without an else, needs a case for
    it before it compiles.

Added

  • activity.v1.RequestedPayment, with chat_id and payment_request_id, set as
    requested_payment (oneof field 4) on both notification metadata messages above when the
    payment paid a share of a payment request. It records what the payment was for and is not kept
    up to date: the request may have closed, and fetching it may be denied.
  • chat.v1.EditChatRequest.rules (field 6), the group's rules in full. Only a public group created
    with a listener minimum balance can be edited, and only its listener and speaker
    MinimumBalanceRequirement amounts may change; the proto docs list the limits.
  • EditChatResponse.Result cases INVALID_RULES = 7 and RULES_NOT_SATISFIED = 8, both
    appended.
  • chat.v1.MetadataUpdate.RulesChanged, carrying new_rules in full, sent on every rules edit.
  • event.v1.ChatUpdate.payment_request_updates (field 10), a
    paymentrequest.v1.PaymentRequestUpdateBatch. Like reaction updates, it is best effort and not
    part of the gap-detected event log.
  • paymentrequest.v1.PaymentRequestUpdate: a request whole when it is created (created), then
    each change as Updates at the version it produced, made of SharePaymentUpdate and
    StatusUpdate. The proto docs give the apply rules: ignore a version already held, apply the
    next one, and refetch on a gap or on an update the client cannot apply. Expiry is never
    announced.
  • push.v1.Push.SendTestPush, with SendTestPushRequest and SendTestPushResponse. It sends a
    fixed notification to every device the caller registered a token for.

Changed

  • A public group's Metadata.rules can now change after creation. A member who no longer
    satisfies the new listener rules stays a member but cannot speak until they do.
  • Payment request changes are announced in real time. Until now the docs told clients to refetch
    a request to see payments and closes land; refetching is now only for reconciling a missed
    update.

Unchanged

Nothing was renumbered. No service, RPC, field or enum case was removed. Apart from the oneof
move above, no field changed type or number.