Releases: temporalio/sdk-ruby
v0.4.0
Get from RubyGems and read the README
Highlights
SDK is now Beta
Ruby SDK is now in beta and will be GA soon. Being in beta means that APIs are fairly stable and there has been plenty of production usage to confirm the quality and approach. Although no exact timetable is set, it will not be too long before 1.0. Please use the SDK and give feedback to help us get to GA faster.
Workflow Replayer
Temporalio::Worker::WorkflowReplayer
is now available to replay workflow histories. This is an important utility to be able to test that new workflow code is safe to run against existing histories. Using this with debug_mode=true
is a common way to debug and step through past executions to see what exact lines of code were executed.
MUSL Support
Linux MUSL x64 gems are now published for each release. This allows users to use Alpine-based images/containers to run the SDK.
Update-with-Start and Signal-with-start
The client now supports signal_with_start_workflow
, start_update_with_start_workflow
, and execute_update_with_start_workflow
. As of this writing, update with start is not yet GA, but it will be soon.
OpenTelemetry Tracing
Temporalio::Contrib::OpenTelemetry
module is now present that contains a TracingInterceptor
class that can be set on clients for enabling OpenTelemetry tracing, and a Workflow
module with with_completed_span
/completed_span
helpers. See the README section on OpenTelemetry for more details.
Specific Changes
2025-01-23 - 17cb2b5 - Fix typo in README example (#202)
2025-01-24 - c79cc61 - Workflow replayer support (#204)
2025-01-27 - 2115ff7 - Workflow and activity instance access from context (#207)
2025-02-03 - fb1305e - Add CI job for docs site (#212)
2025-02-05 - 880b63c - Add request for feedback to README (#214)
2025-02-06 - 5b34e03 - Downgrade minimum protobuf version needed to 3.25 (#213)
2025-02-06 - c32e808 - MUSL support (#216)
2025-02-11 - 319fe2e - Update and signal with start (#201)
2025-02-11 - 7162d3e - Worker client replacement and activity client access (#219)
2025-02-12 - 66d68ea - Search attributes and UI port on dev server (#220)
2025-02-19 - e7f19b9 - Reserve certain prefixes (#221)
2025-02-20 - 5d692ab - User metadata (#223)
2025-03-17 - 6b4631a - Use RawValue for built-in query response (#231)
2025-03-17 - be309d1 - Support HTTP protocol for OTel metrics (#230)
2025-03-21 - 6218c1f - Simple nightly benchmark (#235)
2025-03-27 - 7f746cf - OpenTelemetry tracing support (#234)
2025-04-09 - 89945c2 - Buffered metric support (#240)
2025-04-15 - 125e51a - Update Core (with changes needed) and update version to 0.4.0 (#245)
2025-04-15 - 5af1ad4 - Support parentless OTel workflow spans (#244)
2025-04-15 - 90d90bd - Support unsafe IO/io_wait inside workflows (#243)
2025-04-17 - 71af6d6 - Expose root execution info and update cargo deps (#247)
2025-04-18 - c52c5fe - Custom histogram metric buckets (#249)
v0.3.0
Get from RubyGems and read the README
Highlights
Workflow Support
This release contains full support for workflows, now making the Ruby SDK a full-featured SDK. All major features of workflows are present. See the README for details on how to write workflows.
Schedule Support
Full support for creating and managing schedules has been added.
💥BREAKING CHANGE: Activity Definition Base Class Change
In the last alpha release in 0.2.0, activities had to extend Temporalio::Activity
. This has changed to Temporalio::Activity::Definition
to be more in line with workflows.
💥BREAKING CHANGE: Ruby 3.1 No Longer Supported
Only Ruby 3.2+ is supported now (with tests confirming 3.4 support). Many uses of Struct
s have been changed to Data
along with this change.
Specific Changes
2024-10-21 - 67741fc - RPC cancellation support (#174)
2024-11-04 - ecaab5c - Support for schedules (#175)
2024-11-12 - 4599b85 - Metric meter support (#177)
2025-01-14 - 4512224 - Workflow support (#183)
2025-01-15 - a9034b8 - Drop Ruby 3.1, support Ruby 3.4 (#194)
2025-01-17 - 350951a - Dynamic activities (#198)
2025-01-21 - bbd6842 - Update core, update release version to 0.3.0 (#199)
2025-01-21 - ef62a52 - Cloud test and support for updating API keys and RPC metadata (#197)
2025-01-22 - eabdfe8 - Remove Ractor expectations (#200)
v0.2.0
Get from RubyGems and read the README
Highlights
Client and Activity Worker support
This is the initial release since a refresh of the project. This includes client support and support for running activities. See the README for more information on how to use.
Specific Changes
2024-07-12 - c896498 - Reset repository
2024-07-12 - fd0bfe0 - Add LICENSE and README
2024-08-09 - 5d17d1d - Scaffolding and bare-bones client (#155)
2024-09-05 - ff47b2e - More client features (#157)
2024-09-13 - 83bea60 - More client work (#159)
2024-10-17 - dd0da03 - Activity support (#161)
2024-10-18 - cde31d9 - Update version to not mark gem as prerelease and add source gem (#173)
2024-10-18 - f49e5a3 - Support for building gems and prepare release (#171)
v0.1.1 (alpha)
Get it from Ruby Gems.
See the README for an overview.
Highlights
- Include RBS files in bundled Gems. Should hopefully fix #134.
- Make sure
ld
build flag-Wl,-undefined,dynamic_lookup
is always present on OSX. This fixes a build issue causingUndefined symbols for architecture arm64
errors if Ruby was built with XCode 14+.
The following features from previous releases are also included:
- A Temporal client capable of starting, signaling, querying and terminating workflows
- Activity-only workers for running Ruby activities
- Data Converters for encoding/decoding payloads
- Supports for Linux x64 and ARM (glibc >= 2.31), and OSX x64 and ARM (aka. M1/M2)
Note that this release does not include support for developping workflows in Ruby. Development for Workflow Workers is ongoing and will be included in a future release (no ETA at this moment).
v0.1.0 (alpha)
Get it from Ruby Gems.
See the README for an overview.
Highlights
- TLS/mTLS is now supported!
- Added support for activity interceptors
The following features from previous releases are also included:
- A Temporal client capable of starting, signaling, querying and terminating workflows
- Activity-only workers for running Ruby activities
- Data Converters for encoding/decoding payloads
- Supports for Linux x64 and ARM (glibc >= 2.31), and OSX x64 and ARM (aka. M1/M2)
Note that this release does not include support for developping workflows in Ruby. Development for Workflow Workers is ongoing and will be included in a future release (no ETA at this moment).
v0.0.2 (alpha)
Activity Worker
This release includes:
- A framework for defining Activities
- An Activity Worker that allows you to process Activities
- Rename of the
Temporal
namespace toTemporalio
(inline with other SDKs)
This release does not include (these will be available in the upcoming releases):
- mTLS support for Temporal Client
- Interceptors for Activity Worker
- Workflow worker
Please refer to the README for instructions on how to use it.
v0.0.1 (alpha)
Initial release
This release includes:
- A Temporal Client based on the Core SDK for interacting with Temporal Server and specific workflows
- Data Converters for encoding/decoding payloads
- Support for macOS x64, macOS ARM, Linux x64 and Linux ARM
This release does not include (these will be available in the upcoming releases):
- mTLS support for Temporal Client
- Activity worker
- Workflow worker
Please refer to the README for instructions on how to use it.