General Guidance
December 1, 2025 ยท View on GitHub
General Guidance
You can contribute to this project in the following ways:
- Try out the master branch and provide feedback
- File a bug report or propose a feature
- Open a PR for bug fixes or implement requested features
- Give feedback to opened issues/pull requests
- Contribute documentation in the sentry-doc repo
And if you have any questions, please feel free to reach out on Discord.
Develop This Project With Multi-root Workspaces
If you use editors that support VS Code-style multi-root workspaces,
such as VS Code, Cursor...etc., opening the editor with sentry-ruby.code-workspace file will provide a better development experience.
Working in a devcontainer
If you use Dev Containers extension, you can open the project with the devcontainer by running Remote-Containers: Reopen in Container command.
The devcontainer is configured with .devcontainer/.env file, that you need to create:
cp .devcontainer/.env.example .devcontainer/.env
This file defines which specific image and Ruby version will be used to run the code. Edit it whenever you need to use a different image or Ruby version.
Contribute To Individual Gems
- Install the dependencies of a specific gem by running
bundlein it's subdirectory. I.e:cd sentry-sidekiq bundle install - Install any additional dependencies.
sentry-sidekiqassumes you haveredisrunning. - Use
bundle exec raketo run tests.- In
sentry-rails, you can useRAILS_VERSION=versionto specify the Rails version to test against. Default is8.0 - In
sentry-sidekiq, you can useSIDEKIQ_VERSION=versionto specify what version of Sidekiq to install when you runbundle install. Default is7.0
- In
- Use example apps under the
exampleorexamplesfolder to test the change. (Remember to change the DSN first) - To learn more about
sentry-ruby's structure, you can read the Sentry SDK spec
Write Your Sentry Extension
Please read the extension guideline to learn more. Feel free to open an issue if you find anything missing.
Release SDK Gem
Before the Release
- Run the example app(s) of the gem and make sure all the events are reported successfully.
- Update the changelog's latest
Unreleasedtitle with the target version.
Minor-version releases
- Make sure all the new features are documented properly in the changelog. This includes but not limited to:
- Explanation of the feature.
- Sample code for the feature.
- Expected changes on the SDK's behavior and/or on the reported events.
- Some related screenshots.
- Prepare a PR in the sentry-doc repo to update relevant content depending on the changes in the new release.
Major-version releases
In addition to all the steps listed above, you also need to:
- Write a migration guide to
- Outline the major changes done in this release.
- Explain why upgrading is beneficial.
- List all the breaking changes and help users make related changes in their apps.
- Update gem READMEs.
- May need to check related wizard files in the sentry-doc repo.