Skip to content

Releases: temporalio/sdk-ruby

v0.4.0

21 Apr 13:05
c52c5fe
Compare
Choose a tag to compare

⚠️ THIS IS A BETA RELEASE AND COMPATIBILITY MAY NOT BE MAINTAINED

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

22 Jan 14:12
eabdfe8
Compare
Choose a tag to compare

⚠️ THIS IS AN ALPHA RELEASE AND COMPATIBILITY MAY NOT BE MAINTAINED

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 Structs 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

18 Oct 17:38
cde31d9
Compare
Choose a tag to compare

⚠️ THIS IS AN ALPHA RELEASE AND COMPATIBILITY WILL NOT BE MAINTAINED

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)

28 Mar 15:45
cc665f0
Compare
Choose a tag to compare
v0.1.1 (alpha) Pre-release
Pre-release

⚠️ THIS IS AN ALPHA RELEASE — COMPATIBILITY WILL NOT BE MAINTAINED

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 causing Undefined 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)

23 Mar 20:56
4556c0f
Compare
Choose a tag to compare
v0.1.0 (alpha) Pre-release
Pre-release

⚠️ THIS IS AN ALPHA RELEASE — COMPATIBILITY WILL NOT BE MAINTAINED

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)

05 Jan 00:02
Compare
Choose a tag to compare
v0.0.2 (alpha) Pre-release
Pre-release

⚠️ THIS IS AN EARLY RELEASE AND COMPATIBILITY WILL NOT BE MAINTAINED

Activity Worker

This release includes:

  • A framework for defining Activities
  • An Activity Worker that allows you to process Activities
  • Rename of the Temporal namespace to Temporalio (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)

18 Nov 19:11
Compare
Choose a tag to compare
v0.0.1 (alpha) Pre-release
Pre-release

⚠️ THIS IS AN EARLY RELEASE AND COMPATIBILITY WILL NOT BE MAINTAINED

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.