Releases: faluapp/falu-dotnet
Releases · faluapp/falu-dotnet
0.10.0
Breaking:
- Batch messages limit for messages is 1,000 (1k) not 10,000 (10k).
- Rename
CreateAsync(...)
toSend*Async(...)
andCreateBatchAsync(...)
toSendBatchAsync(...)
inMessagesServiceClient
. - New request and response parameters for sending messages.
What's Changed
- API Version 2022-01-01 in #55. See API upgrades for more.
Full Changelog: 0.9.0...0.10.0
0.9.0
What's Changed
- .NET 6 support in #45
- Multi-target (.NET6, .NET5 and netstandard2.0) in #49
- Automatically retry rate-limited requests in #35
- Remove
IConfiguration
support in #36 - Remove
IHttpClientBuilder
action in #37 - Replace
IOptions
withIOptionsSnapshot
in #38
New Contributors
- @KennethM768 made their first contribution in #35
Full Changelog: 0.8.0...0.9.0
API 2021-09-03
This SDK now uses API version 2021-09-03.
Other changes:
- Minor namespace re-organization for core types.
- Options for Approving/Declining PaymentAuthorizations.
- No longer reference
System.Text.Encodings.Web
package directly. *Service
types have been renamed to*ServiceClient
. For example,MessagesService
becomesMessagesServiceClient
.- Better handling of data put in the request query.
0.7.0
Breaking Changes
- Change
BasicListOptions
and inheriting types fromclass
torecord
types. - Change
RangeFilteringOptions<T>
fromsealed class
toreadonly struct
hence making it's properties immutable after creation. - Removed
Format
inWebhookEndpointPatchModel
instead useWebhookEndpointCreateRequest.Format
available only during creation. - Renames:
ContinuationToken
inBasicListOptions
becomesToken
.EvaluationModelCreate
becomesEvaluationCreateRequest
.MessageStreamCreateModel
becomesMessageStreamCreateRequest
.PaymentRefundRequest
becomesPaymentRefundCreateRequest
.PaymentRequest
becomesPaymentCreateRequest
.PaymentRequestMpesa
becomesPaymentCreateRequestMpesa
.TransferReversalRequest
becomesTransferReversalCreateRequest
.TransferRequest
becomesTransferCreateRequest
.TransferRequestMpesa
becomesTransferCreateRequestMpesa
.TransferRequestMpesaToCustomer
becomesTransferCreateRequestMpesaToCustomer
.TransferRequestMpesaToBusiness
becomesTransferCreateRequestMpesaToBusiness
.
New
- Support for
FileUploads
andFileUploadLinks
(file_upload
andfile_upload_link
objects in the API). - Added generic version of
FaluClient
hence allowing making changes to suit scenarios. - Added
Reason
toPaymentAuthorization
. - Support for archiving and unarchiing of message streams.
- Listing:
- Support for listing recursively. Use the
ListRecursivelyAsync(...)
methods in supported services. - Listing events uses
EventsListOptions
which supports filterting by type. - Listing message streams uses
MessageStreamsListOptions
. - Listing message templates uses
MessageTemplatesListOptions
. - Listing webhook endpoints uses
WebhookEndpointsListOptions
.
- Support for listing recursively. Use the
Fixes
- Registered instance of
HttpClient
renamed toFaluClient
. - Marked the
Live
member in theRequestOptions
as nullable. RequestOptions
should be created when null. Ensures check for idempotency.- Added
Url
andTraceId
in theFaluError
0.6.0
Breaking Changes
PaymentReversals
becomePaymentRefunds
.PaymentBalances
becomeMoneyBalances
and they get their own service accessible viaFaluClient.MoneyBalances
.- IdempotencyKey is set on all
POST
andPATCH
requests if it is not provided, as a best practice. This is also meant to aid with automatic retries.
New
- Automatic retries are now supported with 2 retries in addition to the first try. The configuration can be done via
FaluClientOptions.Retries
e.g.services.AddFaluClient("sk_test_123", o => o.Retries = 1);
- Support for adding application information with each request configurable
FaluClientOptions.Application
e.g.services.AddFaluClient("sk_test_123", o => o.Application = new ApplicationInformation { Name = "My 3rd Patry Service", })
. This is recommended for 3rd party plugins and services that extend the functionality offered by Falu. FaluClientOptions
can be setup up usingIConfiguration
instances e.g.services.AddFaluClient(configuration.GetSection("FaluClient"))
see integration guide.- Validation of
MessageTemplate
s useobject
and notIDictionary<string, object>
for both request and response. However, you should still use an object and not an array or other primitive types.
Fixed
PaymentAuthorizationModelPatchModel
previously ignored when callingApproveAsync(...)
orDeclineAsync(...)
in PaymentAuthorizationsService is now optional and respected when provided.
0.5.2
This release removes support for Tags
in objects. Tags
have since been deprecated and removed on the API server.
0.5.1
New:
- Added missing filtering options in list operations such as filtering by status.
- Nullable support
Other Changes:
- Deprecated
Tags
in favour ofMetadata
. Phone
andPassword
are optional when creating an evaluation.