Skip to content

Latest commit

 

History

History
173 lines (117 loc) · 7 KB

File metadata and controls

173 lines (117 loc) · 7 KB

Contributing to the Hiero SDK for C++

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:

Code Contributions

Finding an Issue

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.

Getting Assigned

To claim an issue, comment on it with:

/assign

The bot will automatically:

  1. Verify you meet the skill-level prerequisites
  2. Assign you to the issue
  3. Update the issue labels
  4. 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.

Submitting Your Work

Once assigned, follow the Issue Workflow Guide to:

  1. Fork the repository and create a branch
  2. Make your changes
  3. Sign your commits (-s -S)
  4. 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.

Feature Requests

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.

  1. Visit C++ SDK Issue
  2. Verify the Feature Request is not already proposed.
  3. Click 'New Issue' and click the Feature Request template. Ensure the New Feature or Feature Enhancements label is attached.

Submitting a Feature Request

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.

Bug Reports

⚠️ Ensure you are using the latest release of the SDK.

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.

  1. Visit C++ SDK Issue Page
  2. ⚠️ Check the Bug is not Already Reported. If it is, comment to confirm you are also experiencing this bug.
  3. Click 'New Issue' and choose the Bug Report template

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.

Release New Version

Step 1 - Populate New Tag

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.

Step 2 - Draft Release in GitHub

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).

Step 3 - Notes

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.

What's New

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.

Examples

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.

Notes

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.

Added

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)

Blog Posts

We welcome blog posts about the C++ SDK

For example:

  • Documenting New Releases and Functionality
  • Documenting Contributor Activity
  • Documenting Development Use-cases

Guide on How to Create Blog Posts