Releases: devlooped/WhatsApp
v1.0.0
What's Changed
✨ Implemented enhancements
- Render formatted JSON in development by @kzu in #292
- Log non-matching verification tokens in registration by @kzu in #297
- Default to typing on process too by @kzu in #300
- Improve speed of idempotency checks by using HybridCache by @kzu in #301
- Simplify webhook by introducing Task-based processor by @kzu in #302
- Improve URL paths for sub-commands by @kzu in #305
- Speed-up initial webhook response times by going lazy init by @kzu in #306
- Align better with OTEL messaging conventions by @kzu in #310
- Add support for contacts' formatted name by @kzu in #312
- Allow inspecting the originating JSON for a message by @kzu in #303
- Allow invoking the processing behavior directly via HTTP POST by @kzu in #304
- Allow dev processing event grid as webhook subscription by @kzu in #307
🐛 Fixed bugs
- Preserve relaxed JSON encoding by @kzu in #293
- Fix generation of JSON serialization for FlowToken by @kzu in #298
Full Changelog: v0.9.0...v1.0.0
Sponsors
The following sponsors made this release possible: @clarius, @MFB-Technologies-Inc, @sandrock, @drivenet, @Keflon, @tbolon, @kfrancis, @unoplatform, @rbnswartz, @jfoshee, @Mrxx99, @eajhnsn1, @davidjenni, @Jonathan-Hickey, @akunzai, @KenBonny, @SimonCropp, @agileworks-eu, @arsdragonfly, @vezel-dev, @ChilliCream, @4OTC, @v-limo, @DominicSchell, @jwendl, @adalon, @Eule02, @torutek, @mccaffers, @christoh, @ADS-Fund.
Thanks 💜
v1.0.0-rc.15
Build with latest .NET10 SDK to fix C# extension members completions
Full Changelog: v1.0.0-rc.14...v1.0.0-rc.15
Sponsors
The following sponsors made this release possible: @clarius, @MFB-Technologies-Inc, @drivenet, @Keflon, @tbolon, @kfrancis, @unoplatform, @rbnswartz, @jfoshee, @Mrxx99, @eajhnsn1, @davidjenni, @Jonathan-Hickey, @akunzai, @KenBonny, @SimonCropp, @agileworks-eu, @arsdragonfly, @vezel-dev, @ChilliCream, @4OTC, @v-limo, @DominicSchell, @jwendl, @adalon, @Eule02, @henkmartijn, @torutek, @mccaffers.
Thanks 💜
v1.0.0-rc.14
What's Changed
✨ Implemented enhancements
- Render formatted JSON in development by @kzu in #292
- Log non-matching verification tokens in registration by @kzu in #297
- Default to typing on process too by @kzu in #300
- Improve speed of idempotency checks by using HybridCache by @kzu in #301
- Simplify webhook by introducing Task-based processor by @kzu in #302
- Improve URL paths for sub-commands by @kzu in #305
- Speed-up initial webhook response times by going lazy init by @kzu in #306
- Align better with OTEL messaging conventions by @kzu in #310
- Add support for contacts' formatted name by @kzu in #312
🐛 Fixed bugs
- Preserve relaxed JSON encoding by @kzu in #293
- Fix generation of JSON serialization for FlowToken by @kzu in #298
📝 Documentation updates
🔨 Other
- Allow inspecting the originating JSON for a message by @kzu in #303
- Allow invoking the processing behavior directly via HTTP POST by @kzu in #304
- Allow dev processing event grid as webhook subscription by @kzu in #307
Full Changelog: v0.9.0...v1.0.0-rc.14
Sponsors
The following sponsors made this release possible: @clarius, @MFB-Technologies-Inc, @drivenet, @Keflon, @tbolon, @kfrancis, @unoplatform, @rbnswartz, @jfoshee, @Mrxx99, @eajhnsn1, @davidjenni, @Jonathan-Hickey, @akunzai, @KenBonny, @SimonCropp, @agileworks-eu, @arsdragonfly, @vezel-dev, @ChilliCream, @4OTC, @v-limo, @jordansjones, @DominicSchell, @jwendl, @adalon, @Eule02, @torutek, @mccaffers, @alexwiese.
Thanks 💜
v0.9.0
What's Changed
✨ Implemented enhancements
- Add support for flow data encryption/decryption by @kzu in #276
- Make flow encryption more flexible, reply ping by @kzu in #277
- Add support for interactive flows by @kzu in #281
- Add polymorphic serialization for flow messages by @kzu in #287
🐛 Fixed bugs
- Fix condition for considering message a flow encrypted message by @kzu in #278
- In development, run in a separate thread from webhook by @kzu in #289
🔨 Other
- Add responses to JsonContext serialization options by @kzu in #284
- Annotate flow responses as polymorphic of IMessage by @kzu in #285
- Rename selection(text, value) > selection(id, title) by @kzu in #286
- Flow sample and tests tweaks by @kzu in #288
- Refactor flows endpoint processing by @kzu in #291
Full Changelog: v0.8.1...v0.9.0
v0.8.1
v0.8.0
v0.7.1
What's Changed
📝 Documentation updates
- Remove mention of AGPLv3: we're now trying OSMF+MIT
Full Changelog: v0.7.0...v0.7.1
v0.7.0
What's Changed
✨ Implemented enhancements
- Add missing overloads for three button interactive replies by @kzu in #216
- Upgrade contacts message type to allow multiple contacts by @kzu in #220
- Allow 3 button responses that can also not be replies by @kzu in #225
- Add missing Send extension methods for IMessage by @kzu in #226
- Restore init-only Text in response message by @kzu in #227
- Added support for call to action responses by @adalon in #228
- Minor CallToAction cleanup by @kzu in #230
- Model ConversationId as an extension property instead by @kzu in #233
- Allow creating dynamic responses via a provided delegate by @kzu in #234
- Generalize interactive button to support lists selection too by @kzu in #235
- Allow polymorphic serialization for anonymous responses by @kzu in #236
- Add service id telemetry information by @kzu in #239
📝 Documentation updates
🔨 Other
- Delete unused storage handler by @kzu in #229
- Organize extension methods into proper extensions by @kzu in #231
Full Changelog: v0.6.0...v0.7.0
v0.6.0
What's Changed
✨ Implemented enhancements
- Don't store service reactions in conversation storage by @kzu in #200
- Allow service to force JSON/YAML markup rendering on CLI by @kzu in #206
- Add extension methods for more intuitive config of messages by @kzu in #207
- Ensure we never send react/resply to WhatsApp for ConsoleOnly by @kzu in #209
🐛 Fixed bugs
📝 Documentation updates
- Add a sample showcasing how to render to console by @kzu in #201
- Don't timeout on dev when replying to console by @kzu in #202
🔨 Other
- Long client console timeout by @kzu in #204
- Further simplify message config and CLI extensions by @kzu in #208
Full Changelog: v0.5.0...v0.6.0
v0.5.0
What's Changed
✨ Implemented enhancements
- Add idempotency to both whatsapp functions by @kzu in #13
- Throw on failed HTTP requests to WhatsApp by @kzu in #17
- Fetch all WhatsApp numbers from a contact by @kzu in #23
- Add support for optional address, name and url of location by @kzu in #24
- Fix typo in SendAsync, add ReplyAsync and message-based overloads by @kzu in #25
- Add first-class support for unsupported messages by @kzu in #29
- Add reaction message support, improve type safety by @kzu in #35
- Allow registering the WhatsApp handler separately by @kzu in #45
- Add overloads of Reply and Send with interactive buttons by @kzu in #47
- Normalize user's numbers automatically on every payload by @kzu in #48
- Add media content resolving to a media reference by @kzu in #55
- A document attachment should be considered media by @kzu in #56
- Return message identifier from send/reply by @kzu in #57
- Introduce pipeline of handlers by @kzu in #60
- Make handlers receive multiple messages instead of one by @kzu in #62
- Make JSON serialization context public for persistence scenarios by @kzu in #64
- Refactor UseWhatsApp > AddWhatsApp for IServiceCollection by @kzu in #65
- Add OpenTelemetry support by @kzu in #66
- Add an AsBuilder extension method for improved discoverability by @kzu in #72
- Merge use storage feature/capability into main by @kzu in #90
- Make usability extension methods public by @kzu in #103
- Generalize the former reengage as a general solution by @kzu in #101
- Rename Text to Reply as a message extension by @kzu in #104
- Add CancellationToken parameter consistently to all WhatsAppClientExtensions by @kzu in #102
- Rename To/From to Service/User by @kzu in #105
- When logging errors, also log payload by @kzu in #131
- Improve feature filter naming to avoid potential collisions by @kzu in #133
- Add WhatsApp CLI by @kzu in #145
- Add missing MessageType.Response by @kzu in #147
- Move MarkRead to just before invoking the pipeline by @kzu in #150
- Add missing Caption property to image and video content by @kzu in #155
- Allow pipeline handlers to send messages too by @kzu in #157
- Make sure we don't lose config in CLI by @kzu in #160
- Remove all loggers from the default host by @kzu in #161
- Improve rendering of person heads by @kzu in #162
- Wrap agent text at 80 chars for easier reading by @kzu in #163
- Add CLI options to avoid interactive prompts by @kzu in #164
- Allow message and content extensibility via AdditionalProperties by @kzu in #165
- Simplify by reusing M.E.AI AdditionalProperties by @kzu in #166
- Allow server-side to send formatted responses to console by @kzu in #171
- Allow configuring progress reactions in key built-in stages by @kzu in #172
- Allow flexible mark as read behavior for content messages by @kzu in #173
- Add support for pluggable async message processing strategies by @kzu in #176
- Add typing indicator support during webhook or process by @kzu in #179
- Typing indicators imply marking message read by @kzu in #180
- Add public API for typing indicators by @kzu in #181
- Render typing status in console too by @kzu in #182
- Allow updating messages in storage by @kzu in #183
- Make conversation window configurable via options by @kzu in #184
- Add a way to skip a handler in the pipeline by @kzu in #185
- Provide seamless continuity between CLI and WhatsApp by @kzu in #186
- Rename handlers Empty > Stop, Skip > Continue by @kzu in #187
- Allow clearing the CLI without restarting the app by @kzu in #190
- Don't reset typing status indicator on reactions by @kzu in #191
- Allow setting emoji column for render via message text by @kzu in #192
- Attempt to infer code blocks in more cases by @kzu in #193
- Allow alternative text for console consumption and console-only messages by @kzu in #194
- Set methods for setting console-only text and processing by @kzu in #195
- Improve CLI rendering of head, remove paddings, etc. by @kzu in #196
- Switch to CTS-based typing progress, align with WhatsApp indicator by @kzu in #197
🐛 Fixed bugs
- JQ dependency should exclude contentFiles by @kzu in #38
- Switch to IActionResult to fix callback registration by @kzu in #52
- Fix NRE when marking message read by @kzu in #58
- Add JQ to top-level app too by @kzu in #67
- Fix hang on main handler registration, cleanup sample handler by @kzu in #115
- Rename all records Service/User properties by @kzu in #139
- Massive timeout increase to aid local debugging by @kzu in #167
📝 Documentation updates
- Clarify license in readme for commercial use by @kzu in #12
- Add documentation and improve sample by @kzu in #19
- Document queue/table usage by @kzu in #20
- Add missing readme from package by @kzu in #21
- +Mᐁ includes by @kzu in #22
- +Mᐁ includes by @kzu in #26
- Allow sponsorships to imply commercial licensing by @kzu in #30
- Add screenshot showcase for impact by @kzu in #31
- Minor doc comment fix on options format for numbers by @kzu in #53
- Fix CLI image which is now in main branch by @kzu in #146
- Update readme with latest API changes by @kzu in #149
- Add concrete example of an ignoring messages pipeline by @kzu in #151
🔨 Other
- Minor tweaks to logging and test message by @kzu in #14
- Order enums alphabetically by @kzu in #18
- Logging fixes for local runs by @kzu in #36
- Bump tracing for functions by @kzu in #37
- Cleanup unnecessary usings by @kzu in #46
- Shorten name of extensions class by @kzu in #61
- Add full WhatsAppSuffix for clarity by @kzu in #63
- The sample is being deployed to a windows host by @kzu in #68
- Use func azure deploy by @kzu in #69
- Add missing local settings file by @kzu in #70
- Not using the distributed table storage package at all by @kzu in #71
- Make empty handler public by @kzu in #75
- Remove unnecessary ServiceDefaults project by @kzu in #82
- Place the fill attribute on the root node by @kzu in https://github.com/devlooped/WhatsApp/p...