Skip to content

Commit d115ad9

Browse files
authored
Update CONTRIBUTING.md
1 parent 1fce514 commit d115ad9

File tree

1 file changed

+43
-39
lines changed

1 file changed

+43
-39
lines changed

CONTRIBUTING.md

Lines changed: 43 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,25 @@
22

33
:tada: First off, thanks for taking the time to contribute! :+1:
44

5-
## How Can I Contribute?
5+
## How can I contribute?
66

7-
### Reporting Bugs
7+
### Reporting bugs
88

9-
If you found a bug or an unexpected behevior then please create a [new issue](https://github.com/camunda/feel-scala/issues). Before creating an issue, make sure that there is no issue yet. Any information you provide in the issue, helps to solve it.
9+
If you found a bug or unexpected behavior, please create a [new issue](https://github.com/camunda/feel-scala/issues). Before you create an issue, please make sure that there is no issue yet. Any information you provide on the issue would be helpful to solve it.
1010

11-
### Suggesting Enhancements
11+
### Suggesting enhancements
1212

13-
If you have an idea how to improve the project then please create a [new issue](https://github.com/camunda/feel-scala/issues). Describe your idea and the motivation behind it. In order to speed up the process, think about providing a pull request.
13+
If you have an idea of how to improve the project, please create a [new issue](https://github.com/camunda/feel-scala/issues). Describe your idea and the motivation behind it. To speed up the process, think about providing a pull request.
1414

15-
### Improving Documentation
15+
### Providing pull requests
1616

17-
If you see a way to improve the documentation (e.g. provide additional or missing information) then please open a new pull request which contains your changes. Use the link on the page to edit it.
18-
19-
### Providing Pull Requests
20-
21-
You want to provide a bug fix or an inprovement? Great! :tada:
17+
Do you want to provide a bug fix or an inprovement? Great! :tada:
2218

2319
Before opening a pull request, make sure that there is a related issue. The issue helps to confirm that the behavior is unexpected, or the idea of the improvement is valid. (Following the rule "Talk, then code")
2420

2521
In order to verify that you don't break anything, you should build the whole project and run all tests. This also apply the code formatting.
2622

27-
## Building the Project from Source
23+
## Building the project from source
2824

2925
You can build the project with [Maven](http://maven.apache.org).
3026

@@ -40,31 +36,13 @@ Build the JAR files with
4036
mvn install
4137
```
4238

43-
## Building the Documentation
44-
45-
The documentation is located in the `/docs` folder. It is built with [Docusaurus](https://v2.docusaurus.io/)
46-
47-
For development, use the following command (build + serve + auto-reload):
48-
```
49-
npm run start
50-
```
51-
52-
The documentation is published using GitHub actions.
53-
54-
## Building a new Release
55-
56-
> [!NOTE]
57-
> Only for Camunda developers.
58-
59-
Open the Camunda Slack channel [#ask-dmn-feel](https://camunda.slack.com/archives/C01QYD808A3). Click on the bookmark "Release FEEL-Scala" and follow the instructions. 🏗️
60-
6139
## Styleguides
6240

63-
### Source Code
41+
### Source code
6442

6543
Scala code is formatted using [Scalafmt](https://scalameta.org/scalafmt/). The formatting is integrated in the build process.
6644

67-
### Git Commit Messages
45+
### Git commit messages
6846

6947
Commit messages should follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary) format.
7048

@@ -86,13 +64,14 @@ Available commit types:
8664
* `docs` - changes in the documentation, readme, etc.
8765
* `style` - apply code styles
8866
* `build` - changes to the build (e.g. to Maven's `pom.xml`)
89-
* `ci` - changes to the CI (e.g. to GitHub related configs)
67+
* `ci` - changes to the CI (e.g. to GitHub-related configs)
9068

91-
## Public API and Backwards Compatibility
69+
## Public API and backward compatibility
9270

93-
Changes to the following code and concepts are considered breaking changes in the sense of semantic versioning. That means, if you want to make such a change, this must result in a new major version of this library. For any such change, both teams maintaining this codebase (Zeebe and Runtime) must be informed and accept the change. This allows us to make sure both teams will be able to work with a new major release and no team gets "locked out".
71+
The FEEL engine is integrated into Camunda 7 and Camunda 8. It's important to keep the public API stable and stay backward compatible to avoid breaking the integration in Camunda 7/8 or the userspace (i.e. the application that uses FEEL expressions).
9472

95-
* The API of the following classes must remain binary backwards compatible
73+
Concrete:
74+
* The API of the following classes must remain binary backward compatible
9675
* Any class in a package namespace that does not contain `impl`, especially
9776
* `FeelEngine`
9877
* The custom function mechanism
@@ -102,7 +81,32 @@ Changes to the following code and concepts are considered breaking changes in th
10281
* Ability to compile and evaluate expressions at once
10382
* Expression evaluation
10483
* Input and return type handling of expressions, e.g. the returned type of an expression should not change
105-
* The result of an expression unless it is a clear bug with respect to the FEEL specification
84+
* The result of an expression unless it is a clear bug according to the DMN specification
10685
* Supported environments
107-
* Minimal Java version: 8 (Runtime team)
108-
* Java 11 (Zeebe team)
86+
* Minimal Java version: 11 (Camunda 7)
87+
* Java 21 (Camunda 8)
88+
89+
Technically:
90+
* The binary backward compatibility is validated using the [clirr-maven-plugin](https://www.mojohaus.org/clirr-maven-plugin/)
91+
* The engine behavior is verified by the unit tests
92+
* The supported environments are checked via GibHub actions
93+
94+
Any change or violation of the above must be accepted by the maintainers of Camunda 7 and Camunda 8 to avoid that a team/product getting "locked out".
95+
96+
## Building the documentation
97+
98+
The documentation is located in the `/docs` folder. It is built with [Docusaurus](https://v2.docusaurus.io/)
99+
100+
For development, use the following command (build + serve + auto-reload):
101+
```
102+
npm run start
103+
```
104+
105+
The documentation is published using GitHub actions.
106+
107+
## Building a new release
108+
109+
> [!NOTE]
110+
> Only for Camunda developers.
111+
112+
Open the Camunda Slack channel [#ask-dmn-feel](https://camunda.slack.com/archives/C01QYD808A3). Click on the bookmark "Release FEEL-Scala" and follow the instructions. 🏗️

0 commit comments

Comments
 (0)