chore: release packages - #115
Open
github-actions[bot] wants to merge 1 commit into
Open
Conversation
github-actions
Bot
force-pushed
the
changeset-release/main
branch
2 times, most recently
from
September 6, 2026 15:36
a55c7af to
98360de
Compare
github-actions
Bot
requested review from
jyjy1229
and removed request for
ririro93
September 6, 2026 15:36
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
September 7, 2026 08:26
98360de to
0bd288c
Compare
github-actions
Bot
requested review from
ririro93
and removed request for
jyjy1229
September 7, 2026 08:26
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
September 8, 2026 05:56
0bd288c to
4be98aa
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@channel.io/app-sdk-core@0.24.0
Minor Changes
494c902: Replace the
getExchangeableItemsoutput withexchangeableItems, which carries the variants anorder item can be exchanged for. The previous
itemsonly listed which order items wereexchangeable, so there was no way to learn the
variantIdthatrequestExchangeOrder'safterExchangeItemsrequires — the exchange flow could not be implemented from the contract alone.Each variant carries its
additionalAmount, human-readableoptions, and stock:stockQuantityisleft unset when a variant does not track inventory, so
0(sold out) stays distinguishable fromunlimited, with
useInventorytelling the two apart.itemsis removed rather than kept alongside: no app implements commercegetExchangeableItemsineither production or exp, and no task calls it, so nothing consumes the field today.
OrderClaimabilitygains four reason fields —nonCancelableReason,nonReturnableReason,nonExchangeableReason,nonShippingAddressChangeableReason. The booleans alone cannot explainwhy a claim is unavailable, which malls do report and tasks need in order to tell the customer.
Commerce and order extensions share the type, so both
getOrdersoutputs carry them.3e4e4b1: Widen the commerce order contract with fields malls already return but the contract could not
carry —
payment.taxAmount, itemsku/taxLines/unfulfilledQuantity/requiresShipping/sellingplan, and order
adminUrl/note/display statuses/billingAddress/shippingLines/transactions/metafields/customAttributes.OrderTransactionexists so cash-on-delivery and deferred paymentcan be told apart, which
payment.methodsalone cannot express.OrderClaimability's four booleans now carry explicit presence. A proto3 plain bool cannot tellfalsefrom unset, so JSON serialization dropped everyfalseand an item that allowed no claimat all was emitted as
claimability: {}, contradicting the schema that advertises those fields asrequired. Generated field types change from
boolto an optional boolean, so code that buildsOrderClaimabilitythrough struct literals needs updating; accessors are unchanged.65d4196: Stop dropping order-contract fields whose zero value is a real value. protojson omits a field
without presence when it holds the zero value, so fields the contract declares as required went
missing in common situations —
claimson an order with no claims,shippingAmounton freeshipping,
success: falseon a failed action. The declaration and the wire format disagreed, andconsumers read
undefinedwhere the contract promised a value.Given presence so the value is emitted (still required) — zero and
falseare real values here:CommerceResultBody.successOrderPayment.totalAmount/itemsAmount/shippingAmount/discountAmount/requireRefundBankAccountCommerceOrderItem.amountCommerceExchangeableVariant.additionalAmountThe Go types change from
float64/boolto*float64/*bool, so an app that fills these mustset them through a pointer. Leaving one unset omits the key exactly as before.
Dropped from required — these are repeated fields, and protobuf does not allow
optionalonthem, so an empty list is indistinguishable from an absent one:
Order.claims/Order.fulfillmentsOrderPayment.methodsOperationOptions.required/OperationOptions.optionalThe last two are shared by the
orderandcommerceextensions, so both contracts change.Patch Changes
0ff5a85: Export Go aliases for the commerce order value types added alongside the widened order contract —
TaxLine,Attribute,ShippingLine,Transaction, andMetafield. Their generated code livesunder an internal package, so without an alias an app could see the fields in the schema but had no
way to construct the values.
A test walks the proto descriptors reachable from the order contract and fails when one of those
messages has no alias in the commerce package, so adding a message without exporting it is caught
rather than discovered by the first app that needs the value.
2862b3d: Add the optional numeric
errorCodefield toMessagingSendResultso messaging apps can return astable failure reason from
onMediumMessageCreated. The runtime can persist the code on the failedChannel message and pass it to
getMediumMessageErrorReasonfor a safe user-facing explanation.@channel.io/app-sdk@0.24.0
Patch Changes
@channel.io/app-sdk-server@0.24.0
Patch Changes
@channel.io/app-sdk-wam@0.24.0
Patch Changes
@basic-example/server@0.0.16
Patch Changes
@basic-example/wam@0.0.16
Patch Changes
@calendar-example/server@0.0.16
Patch Changes
@calendar-example/wam@0.0.16
Patch Changes
@tutorial-example/server@0.0.14
Patch Changes
@tutorial-example/wam@0.0.14
Patch Changes