Skip to content

v0.5.0

Choose a tag to compare

@kzu kzu released this 26 Jun 14:36
· 129 commits to main since this release

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 #83
  • Converted WhatsApp.sln into the new .slnx format by @adalon in #84
  • Refactored handlers to return async enum responses by @adalon in #74
  • Added UseConversation feature/capability by @adalon in #91
  • Minor renames and doc fixes by @kzu in #93
  • Add dogfooding section to readme by @kzu in #99
  • Improved the conversation handling to fully filter data in the backend by @adalon in #98
  • Keep delegating if storage or conversation were not used by @adalon in #116
  • Misc changes for improving the conversation support by @adalon in #124
  • Disable inherntly flaky media resolving test by @kzu in #138
  • Added the ability of receiving/sending messages from the a debug console by @adalon in #143
  • Add end to end integration test for feature flags and storage by @kzu in #144
  • Fix naming of parameters to match uniform usage in the API by @kzu in #148
  • Revamp and simplify conversation management by @kzu in #153
  • Improved interactive console renderings by @kzu in #158
  • Update readme.md with CLI from main command by @kzu in #168
  • Don't warn on hosting issues (like missing docker) by @kzu in #169
  • Flag messages coming from the console for pipeline by @kzu in #170
  • Detect and render code blocks within text output in CLI by @kzu in #188

Full Changelog: v1.0.0-alpha...v0.5.0