Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
f2e6a1d
fix: Attach release files in release please (#1636)
salvar3nga Feb 27, 2025
bc7571e
fix: continue to upload assets job even if npm publish step fails (#1…
salvar3nga Mar 4, 2025
bd554e7
fix: Build entire project and attach distribution to build output (#1…
salvar3nga Mar 5, 2025
81801cc
fix: rename releases_created into release_created for release_please_…
salvar3nga Mar 5, 2025
43e1504
chore(main): release 0.38.1 (#1637)
github-actions[bot] Mar 5, 2025
54acfbc
doc: Add licence information to README (#1642)
noraeb Mar 17, 2025
a00a8f5
ref: extract tab menu from layout (#1631)
trusz Mar 20, 2025
70397a9
Remove Unused GH Actions (#1649)
trusz Mar 21, 2025
3847944
fix: Fix handle activate editor (#1651)
clepski Mar 28, 2025
ff699e3
fix: modify start script to clear snowpack cache (#1654)
salvar3nga Apr 3, 2025
f9f5e45
fix: update deprecated ubuntu image in pr-preview workflow (#1665)
noraeb Apr 16, 2025
5476bd0
fix: change pattern definition of tIDNaming to non-whitespace charact…
noraeb Apr 24, 2025
a22a165
doc: Add edit API diagram (#1671)
clepski Apr 24, 2025
fffd1a7
feat: add commit lint to OpenSCD (#1676)
salvar3nga Apr 30, 2025
ffeb42b
ci: change ubuntu runner in pr preview action (#1677)
noraeb May 6, 2025
c850088
feat: remove communication from the substation editor and use oscd-pu…
noraeb May 7, 2025
135480a
ci: update versioning in release-please config (#1678)
noraeb May 8, 2025
26f6900
feat: add subscriber later binding plugin (#1664)
noraeb May 13, 2025
da8324e
feat: move gse smv between connectedAPs (#1680)
noraeb May 16, 2025
15b2872
fix: Move menu item content outside drawer (#1683)
clepski May 28, 2025
dd6e550
chore(main): release 0.39.0 (#1652)
github-actions[bot] May 28, 2025
bfd43ba
fix(communication-plugin): Offer only valid connected aps as move tar…
clepski Jun 17, 2025
0d4cf82
Merge remote-tracking branch 'upstream/main' into chore/sync-with-ups…
clepski Jun 18, 2025
075cae0
chore: Fixes after merge
clepski Jun 18, 2025
c190e7d
chore: Remove import
clepski Jun 18, 2025
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
1 change: 1 addition & 0 deletions .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
npx --no -- commitlint --edit $1
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"packages/openscd": "0.37.0",
"packages/core": "0.1.4",
".": "0.38.0"
".": "0.39.0"
}
29 changes: 29 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,34 @@
# Changelog

## [0.39.0](https://github.com/openscd/open-scd/compare/v0.38.1...v0.39.0) (2025-05-28)


### Features

* add commit lint to OpenSCD ([#1676](https://github.com/openscd/open-scd/issues/1676)) ([fffd1a7](https://github.com/openscd/open-scd/commit/fffd1a766f175044f78f34b0d833079dba34e085))
* add subscriber later binding plugin ([#1664](https://github.com/openscd/open-scd/issues/1664)) ([26f6900](https://github.com/openscd/open-scd/commit/26f690007cb5e7fe42b22f7fc46f18035d934008))
* move gse smv between connectedAPs ([#1680](https://github.com/openscd/open-scd/issues/1680)) ([da8324e](https://github.com/openscd/open-scd/commit/da8324e08483a3b45dc7436d7c2e22381fa3c9e8))
* remove communication from the substation editor and use oscd-publisher plugin ([#1650](https://github.com/openscd/open-scd/issues/1650)) ([c850088](https://github.com/openscd/open-scd/commit/c8500880bfdffd87cf014a5ad1d9fcef89a5ba41))


### Bug Fixes

* change pattern definition of tIDNaming to non-whitespace characters ([#1670](https://github.com/openscd/open-scd/issues/1670)) ([5476bd0](https://github.com/openscd/open-scd/commit/5476bd08711ae94341802db0636dcfd0e231cd41))
* Fix handle activate editor ([#1651](https://github.com/openscd/open-scd/issues/1651)) ([3847944](https://github.com/openscd/open-scd/commit/384794420292a9e5192eac937d907238a6113120))
* modify start script to clear snowpack cache ([#1654](https://github.com/openscd/open-scd/issues/1654)) ([ff699e3](https://github.com/openscd/open-scd/commit/ff699e357442593f07bf9665473b1fbc499606b0))
* Move menu item content outside drawer ([#1683](https://github.com/openscd/open-scd/issues/1683)) ([15b2872](https://github.com/openscd/open-scd/commit/15b287240a015ab49590d6a4ab094f9180a16917))
* update deprecated ubuntu image in pr-preview workflow ([#1665](https://github.com/openscd/open-scd/issues/1665)) ([f9f5e45](https://github.com/openscd/open-scd/commit/f9f5e450dee98fe3c5192f50d8ecb302be666705))

## [0.38.1](https://github.com/openscd/open-scd/compare/v0.38.0...v0.38.1) (2025-03-05)


### Bug Fixes

* Attach release files in release please ([#1636](https://github.com/openscd/open-scd/issues/1636)) ([f2e6a1d](https://github.com/openscd/open-scd/commit/f2e6a1d8b8fc49b03c75e94dfeed565eeb1bda2f))
* Build entire project and attach distribution to build output ([#1639](https://github.com/openscd/open-scd/issues/1639)) ([bd554e7](https://github.com/openscd/open-scd/commit/bd554e72f308a3c6e60f4ee1d98fa4884fc5d8f8))
* continue to upload assets job even if npm publish step fails ([#1638](https://github.com/openscd/open-scd/issues/1638)) ([bc7571e](https://github.com/openscd/open-scd/commit/bc7571e8351d2a1770e19c58eabf91404cf1726e))
* rename releases_created into release_created for release_please_action@V4 ([#1641](https://github.com/openscd/open-scd/issues/1641)) ([81801cc](https://github.com/openscd/open-scd/commit/81801cc776311ff996c512ea2f441b2b9cc5e2cd))

## [0.38.0](https://github.com/openscd/open-scd/compare/v0.37.1...v0.38.0) (2025-02-26)


Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,4 @@ A high-level overview of how it’s organized will help you know where to look f

## CC-EULA license

Some of the files in this repository are subject to the CC-EULA License. Please check the [disclaimer](./packages/openscd/public/xml/Disclaimer.md) to to see what his means
Some of the files in this repository are subject to the CC-EULA License. Please check the [disclaimer](./packages/openscd/public/xml/Disclaimer.md) to to see what his means.
3 changes: 3 additions & 0 deletions commitlint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module.exports = {
extends: ['@commitlint/config-conventional']
};
Binary file added docs/core-api/edit-api-flow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions docs/core-api/edit-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

Open SCD offers an API for editing the scd document which can be used with [Html Custom Events](https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent). The main Open SCD components listens to events of the type `oscd-edit-v2`, applies the changes to the `doc` and updates the `editCount` property.

![EditApiFlow](./edit-api-flow.png)

The edits to the `doc` will be done in place, e.g. the `doc` changes but will keep the same reference. If your plugin needs to react to changes in the doc, you should listen to changes in the `editCount` property.

## Event factory
Expand Down
78 changes: 78 additions & 0 deletions docs/how-to/commiting.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# 📝 Commit Message Guidelines

## Purpose

To maintain a clean, readable, and automated commit history, we enforce the [Conventional Commits ↗](https://www.conventionalcommits.org/en/v1.0.0/) specification across this repository.

All commits **must** follow the format described below. Commits that do not comply will be automatically rejected by our Git hooks.

---

## 📋 Commit Format

```
<type>(<scope>): <subject>
```

- `type`: the kind of change you're committing.
- `scope`: the specific part of the codebase affected (optional but encouraged).
- `subject`: a brief description of the change.

---
## ✏️ Examples

Good examples:
```
feat(core): add authentication module
fix(openSCD): resolve login redirect bug
docs: update contributing guidelines
chore: update eslint config
```

Bad examples (these would be rejected):
```
"fix bug"
"updated stuff"
"small changes"
```

---
## 🔖 Some of the allowed Types

⚠️ Disclaimer: For a full list please visit the [conventional commits ↗](https://www.conventionalcommits.org/en/v1.0.0/) page

| Type | Purpose |
|------------|-----------------------------------------------------------|
| feat | A new feature |
| fix | A bug fix |
| docs | Documentation only changes |
| style | Changes that do not affect meaning (formatting, etc.) |
| refactor | Code change that neither fixes a bug nor adds a feature |
| perf | A code change that improves performance |
| test | Adding or correcting tests |
| chore | Maintenance tasks (build process, tooling, dependencies) |

---

## 🧠 Additional Notes

- The commit hook will automatically validate your message.
- If your commit is rejected, edit your message and try again.
- For complex changes, you can add a longer body after the subject, separated by a blank line.

Example:
```
feat(core): support new user roles

This adds support for multiple user role types in the core module. Also refactors the existing permission system to be more scalable.
```

---

# ✅ Quick Checklist Before Committing

- [ ] Is my commit message following the format?
- [ ] Is the type correct (`feat`, `fix`, `chore`, etc.)?
- [ ] Did I specify the correct scope (`core`, `openSCD`, `distribution`, etc...) if applicable?
- [ ] Is the message short, clear, and imperative?

36 changes: 36 additions & 0 deletions docs/how-to/release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Release Process

This document outlines the steps involved in the release process for the OpenSCD project.

## Automated Release Workflow

The release process is automated using GitHub Actions and the `release-please` workflow. Below is an overview of the steps:

1. **Triggering the Workflow**:
- The workflow is triggered on a push to the `main` branch.

2. **Release Creation**:
- The `googleapis/release-please-action` is used to create a new release. It determines the version bump (major, minor, or patch) based on conventional commits.

3. **NPM Publication**:
- When a release is created, the `packages/core` package is published to the NPM registry.

4. **Build Assets**:
- The workflow creates zipped and tarred build assets from the `packages/distribution/build/`, that are attached to the GitHub release.

## Manual Steps - Verify the Release
- After the workflow completes, a pull request (PR) is automatically opened with the relevant changes.
- Review the PR to ensure the correct version and assets are included.
- Once verified, merge the PR to finalise the release.

## Notes

- The release process relies on conventional commits to determine versioning. Ensure commit messages follow the [Conventional Commits](https://www.conventionalcommits.org/) specification or read more [here](./commiting.md).

## Versioning Strategy

- The version in the root `package.json` represents the official release version of the distribution. This version is also reflected in `packages/distribution/manifest.json`.
- The version in `packages/core/package.json` is used to publish the `core` package to the NPM registry.
- The version in `packages/openscd/package.json` is used to manage the versioning of the `openscd` package.
- These versions are updated automatically by the `release-please` action during the release process. Version numbers are updated automatically based on conventional commits.

22 changes: 3 additions & 19 deletions docs/plug-ins.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,14 +61,6 @@ implemented in these plugins.
> https://openscd.github.io/plugins/src/editors/GooseSubscriberDataBinding.js
> ```

### Subscriber Later Binding (GOOSE)

> <kbd>✅ Official</kbd> | <kbd>Editor</kbd> | by [OpenSCD](https://github.com/openscd) | [Repository](https://github.com/openscd/open-scd/)
>
> ```
> https://openscd.github.io/plugins/src/editors/GooseSubscriberLaterBinding.js
> ```

### Subscriber Message Binding (SMV)

> <kbd>✅ Official</kbd> | <kbd>Editor</kbd> | by [OpenSCD](https://github.com/openscd) | [Repository](https://github.com/openscd/open-scd/)
Expand All @@ -85,14 +77,6 @@ implemented in these plugins.
> https://openscd.github.io/plugins/src/editors/SMVSubscriberDataBinding.js
> ```

### Subscriber Later Binding (SMV)

> <kbd>✅ Official</kbd> | <kbd>Editor</kbd> | by [OpenSCD](https://github.com/openscd) | [Repository](https://github.com/openscd/open-scd/)
>
> ```
> https://openscd.github.io/plugins/src/editors/SMVSubscriberLaterBinding.js
> ```

### Communication

> <kbd>✅ Official</kbd> | <kbd>Editor</kbd> | by [OpenSCD](https://github.com/openscd) | [Repository](https://github.com/openscd/open-scd/)
Expand All @@ -119,10 +103,10 @@ implemented in these plugins.

### Publisher

> <kbd>✅ Official</kbd> | <kbd>Editor</kbd> | by [OpenSCD](https://github.com/openscd) | [Repository](https://github.com/openscd/open-scd/)
>
> <kbd>✅ Official</kbd> | <kbd>Editor</kbd> | by [OpenSCD](https://github.com/openscd) | [Repository](https://github.com/openscd/oscd-publisher/)
>
> ```
> https://openscd.github.io/plugins/src/editors/Publisher.js
> https://openscd.github.io/external-plugins/oscd-publisher/oscd-publisher.js
> ```

### Cleanup
Expand Down
Loading