Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: 'bug'
assignees: ''

---

## Required information

**Operating system:**

* OS name, version
* Additionally, on Linux, Mac OS, Unix, output of: `uname -a`
* Additionally, on Windows, output of: `ver`

**.NET version:**
Output of: `dotnet --version`

**iceoryx2-csharp version:**
E.g. `v0.1.0` or `main` branch

**iceoryx2 native library version:**
E.g. `v0.8.0`

**Detailed log output:**
If applicable, add relevant log output or exception stack traces.

**Observed result or behaviour:**
A minimalistic running code example that reproduces the bug or
a clear and precise description of the observed result.

**Expected result or behaviour:**
What do you expect to happen?

**Conditions where it occurred / Performed steps:**
Describe how one can reproduce the bug.
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: true
contact_links:
- name: iceoryx2 Documentation
url: https://github.com/eclipse-iceoryx/iceoryx2
about: Check the main iceoryx2 documentation for general IPC concepts
- name: iceoryx2-csharp Examples
url: https://github.com/eclipse-iceoryx2/iceoryx2-csharp/tree/main/examples
about: Browse examples for common usage patterns
24 changes: 24 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: 'enhancement'
assignees: ''

---

## Brief feature description

Please describe in a few sentences what should be implemented.

## Detailed information

E.g. a list of pros and cons of different considerations and how iceoryx2-csharp and its users could benefit from it.

## Use case

Describe the use case or scenario where this feature would be helpful.

## Additional context

Add any other context, code examples, or references about the feature request here.
29 changes: 29 additions & 0 deletions .github/ISSUE_TEMPLATE/quality_of_life_improvement.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
name: Quality of Life Improvement
about: A cumbersome API/usage that shall be improved
title: ''
labels: 'enhancement'
assignees: ''

---

## (Code) Example Of Cumbersome API

Please take a moment to describe the specific issues you've encountered with
the current API. You can provide details either in a few sentences or with a
code example to highlight the pain points you've identified.

```csharp
// Example code showing the current cumbersome usage
```

## Improvement Suggestion

We value your input! Please offer your proposed improvement, including a code
example if possible, to illustrate what the enhanced API should look like.
Your insights will help us streamline and enhance the iceoryx2-csharp API for a
better development experience.

```csharp
// Example code showing the proposed improved usage
```
36 changes: 36 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
## Notes for Reviewer
<!-- Items in addition to the checklist below that the reviewer should look for -->

## Pre-Review Checklist for the PR Author

* [ ] Add sensible notes for the reviewer
* [ ] PR title is short, expressive and meaningful
* [ ] Consider switching the PR to a draft (`Convert to draft`)
* as draft PR, the CI will be skipped for pushes
* [ ] Relevant issues are linked in the [References](#references) section
* [ ] Branch follows the naming format (`csharp-iox2-123-short-description`)
* [ ] Commits messages are according to this [guideline][commit-guidelines]
* [ ] Commit messages have the issue ID (`[#123] Add feature description`)
* [ ] Tests have been added/updated for new functionality
* [ ] XML documentation comments added to public APIs
* [ ] Changelog updated [in the unreleased section][changelog] including API breaking changes
* [ ] Assign PR to reviewer
* [ ] All checks have passed

[commit-guidelines]: https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
[changelog]: https://github.com/eclipse-iceoryx/iceoryx2-csharp/blob/main/CHANGELOG.md

## PR Reviewer Reminders

* Commits are properly organized and messages are according to the guideline
* Unit tests have been written for new behavior
* Public API is documented with XML comments
* PR title describes the changes
* Code follows C# conventions (PascalCase for public APIs)
Comment thread
patdhlk marked this conversation as resolved.
* `dotnet format` has been exectued before submitting

## References

<!-- Use either 'Closes #123' or 'Relates to #123' to reference the corresponding issue. -->

Closes # <!-- Add issue number after '#' -->
90 changes: 90 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Changelog

All notable changes to the iceoryx2-csharp bindings will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Features

<!-- New features go here -->

### Bugfixes

<!-- Bug fixes go here -->

### Refactoring

<!-- Code refactoring, internal improvements go here -->

### API Breaking Changes

<!-- Breaking changes that require user action go here -->

---

<!--

## [0.1.0] - Initial Release

Based on iceoryx2 v0.8.0

### Features

- **Core Bindings**
- P/Invoke bindings to iceoryx2 native library (C FFI)
- Support for .NET 8.0 and .NET 9.0
- Cross-platform support (Windows, Linux, macOS)

- **Publish-Subscribe Pattern**
- `Publisher<T>` and `Subscriber<T>` for typed messaging
- Zero-copy message transfer via shared memory
- Support for dynamic payloads

- **Request-Response Pattern**
- `Client<TRequest, TResponse>` and `Server<TRequest, TResponse>` support
- Typed request/response communication

- **Event System**
- `Notifier` and `Listener` for event-based signaling
- `WaitSet` for multiplexed event handling
- `IAsyncEnumerable<T>` support for async event consumption

- **Service Discovery**
- Service discovery APIs for runtime service enumeration

- **Reactive Extensions** (`Iceoryx2.Reactive`)
- `IObservable<T>` integration for reactive programming
- `ObservableWaitSet` for reactive event handling

- **Logging Integration**
- `Microsoft.Extensions.Logging` integration
- Configurable log levels

- **Quality of Service**
- Configurable buffer sizes
- History and subscriber settings

### Examples

- PublishSubscribe - Basic pub/sub pattern
- AsyncPubSub - Async/await pub/sub usage
- Event - Event notification example
- WaitSetMultiplexing - Multiplexed event handling
- WaitSetAsyncEnumerable - Async enumerable events
- ReactiveExample - Reactive extensions usage
- ObservableWaitSet - Observable pattern with WaitSet
- RequestResponse - Request/response pattern
- ServiceDiscovery - Service enumeration
- ComplexDataTypes - Structured data transfer
- Logging - Logging configuration
- QualityOfService - QoS settings

---

[Unreleased]: https://github.com/eclipse-iceoryx2/iceoryx2-csharp/compare/v0.1.0...HEAD
[0.1.0]: https://github.com/eclipse-iceoryx2/iceoryx2-csharp/releases/tag/v0.1.0

-->
39 changes: 39 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Security Policy

This Eclipse Foundation Project adheres to the
[Eclipse Foundation Vulnerability Reporting Policy](https://www.eclipse.org/security/policy/).

## How To Report a Vulnerability

If you think you have found a vulnerability in this repository,
please report it to us through coordinated disclosure.

**Please do not report security vulnerabilities through public issues,
discussions, or change requests.**

Instead, report it using one of the following ways:

* Contact the [Eclipse Foundation Security Team](mailto:security@eclipse-foundation.org)
via email
* Create a [confidential issue](https://gitlab.eclipse.org/security/vulnerability-reports/-/issues/new?issuable_template=new_vulnerability)
in the Eclipse Foundation Vulnerability Reporting Tracker
* Report a [vulnerability](https://github.com/eclipse-iceoryx/iceoryx2-csharp/security/advisories/new)
directly via private vulnerability reporting on GitHub

You can find more information about reporting and disclosure at the
[Eclipse Foundation Security page](https://www.eclipse.org/security/).

Please include as much of the information listed below as you can to help us
better understand and resolve the issue:

* The type of issue (e.g., buffer overflow, SQL injection, or cross-site scripting)
* Affected version(s)
* Impact of the issue, including how an attacker might exploit the issue
* Step-by-step instructions to reproduce the issue
* The location of the affected source code (tag/branch/commit or direct URL)
* Full paths of source file(s) related to the manifestation of the issue
* Configuration required to reproduce the issue
* Log files that are related to this issue (if possible)
* Proof-of-concept or exploit code (if possible)

This information will help us triage your report more quickly.