Thank you for your interest in contributing the Hiero SDK for C++!
We appreciate your interest in helping us and the rest of our community. We welcome bug reports, feature requests, and code contributions.
Jump To:
Browse open, unassigned issues to find one that matches your skill level:
| Skill Level | Description | Prerequisite |
|---|---|---|
| Good First Issue | Step-by-step tasks for newcomers | None |
| Beginner | Small improvements with some exploration | 2 completed Good First Issues |
| Intermediate | Multi-file changes with design decisions | 3 completed Beginner Issues |
| Advanced | Architecture and design-heavy work | 3 completed Intermediate Issues |
Look for issues with the status: ready for dev label — these are ready to be worked on.
To claim an issue, comment on it with:
/assign
The bot will automatically:
- Verify you meet the skill-level prerequisites
- Assign you to the issue
- Update the issue labels
- Post a welcome message
If you don't meet the prerequisites, the bot will show your progress and link to issues you can work on first.
Once assigned, follow the Issue Workflow Guide to:
- Fork the repository and create a branch
- Make your changes
- Sign your commits (
-s -S) - Open a pull request
Note:
- The SDK is released under the Apache 2.0 License. Any code you submit will be released under this license.
- Pull requests cannot be merged without signed commits. See the Signing Guide.
NOTE: If you intend to implement a feature request, please submit the feature request before working on any code changes and ask to get assigned.
- Visit C++ SDK Issue
- Verify the Feature Request is not already proposed.
- Click 'New Issue' and click the Feature Request template. Ensure the New Feature or Feature Enhancements label is attached.
Open an issue with the following:
- A short, descriptive title. Other community members should be able to understand the nature of the issue by reading this title.
- A detailed description of the proposed feature. Explain why you believe it should be added to the SDK. Illustrative example code may also be provided to help explain how the feature should work.
- Markdown formatting as appropriate to make the request easier to read.
- If you plan to implement this feature yourself, please let us know that you'd like the issue to be assigned to you.
It's possible the bug is already fixed. We will do our utmost to maintain backwards compatibility between patch version releases, so that you can be confident that your application will continue to work as expected with the newer version.
- Visit C++ SDK Issue Page
⚠️ Check the Bug is not Already Reported. If it is, comment to confirm you are also experiencing this bug.- Click 'New Issue' and choose the
Bug Reporttemplate
Ensure the bug label is attached.
Please ensure that your bug report contains the following:
- A short, descriptive title. Other community members should be able to understand the nature of the issue by reading this title.
- A succinct, detailed description of the problem you're experiencing. This should include:
- Expected behavior of the SDK and the actual behavior exhibited.
- Any details of your application development environment that may be relevant.
- If applicable, the exception stack-trace.
- If you are able to create one, include a Minimal Working Example that reproduces the issue.
- Markdown formatting as appropriate to make the report easier to read; for example use code blocks when pasting a code snippet or exception stack-trace.
Prepare a new git tag and push it to origin.
Add a new git tag using the following command in terminal where v0.3.0 is the name of the newly added tag:
git tag -s v0.3.0
Then execute:
git push origin v0.3.0
It will populate the newly added tag in origin.
Open Hiero C++ SDK and search for Create a new release link.
Select tag v0.3.0 from the dropdown list. Enter the Release title to be same as the release number which is been
prepared (for example: v0.3.0).
It's a good decision to tap directly on button Generate release notes to get an automatically generated notes which
can be used as a basis.
This section should be filled with all of the issues which have been completed and merged into main branch. Use the
emoji ➡️ followed by a description in plain English for each over-arching new feature and a bug fix.
This section should list all of the newly added examples. Each of them should represent a link to the implementation ( for example: TransferTokensExample.cpp ). It's a good idea also to add prefix with ➡️ before each line.
Section to write any kind of important notes. For example, if there are any files which are not included in the build and should not be used, then it's better all of them to be listed here.
Here should be listed all of the Pull Requests (PRs) which are part of the release. Use the following format
(pull-request-title) by (@author) in (#link)
We welcome blog posts about the C++ SDK
For example:
- Documenting New Releases and Functionality
- Documenting Contributor Activity
- Documenting Development Use-cases