Skip to content

Commit a52c4d6

Browse files
authored
Merge branch 'master' into jig_wrappers
2 parents b18405f + f57f609 commit a52c4d6

126 files changed

Lines changed: 1605 additions & 1218 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/markdownlint.yml

Lines changed: 13 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -16,71 +16,20 @@ jobs:
1616
runs-on: ubuntu-latest
1717
steps:
1818
- uses: actions/checkout@v7
19-
with:
20-
fetch-depth: 0 # required to resolve base.sha for PR diff comparison
21-
- name: Find changed Markdown files
22-
id: changed-markdown
19+
- name: List tracked Markdown files
20+
id: tracked-markdown
2321
shell: bash
22+
# Lint git-tracked files only. This lints the canonical versioned dirs
23+
# once and skips the `_latest` symlinks (git stores them as single
24+
# symlink entries, so a filesystem glob would double-lint their targets).
25+
# It also excludes generated reference docs, which are gitignored.
2426
run: |
25-
case "${GITHUB_EVENT_NAME}" in
26-
pull_request)
27-
base_sha="${{ github.event.pull_request.base.sha }}"
28-
head_sha="${GITHUB_SHA}"
29-
;;
30-
push)
31-
base_sha="${{ github.event.before }}"
32-
head_sha="${GITHUB_SHA}"
33-
;;
34-
*)
35-
# workflow_dispatch: lints only files changed in the most recent commit, not the full branch
36-
# || true handles initial commits with no parent
37-
base_sha="$(git rev-parse "${GITHUB_SHA}^" 2>/dev/null || true)"
38-
head_sha="${GITHUB_SHA}"
39-
;;
40-
esac
41-
42-
if [[ -z "${base_sha}" || "${base_sha}" =~ ^0+$ ]]; then
43-
base_sha="$(git rev-list --max-parents=0 "${head_sha}")"
44-
fi
45-
46-
git diff --name-only --diff-filter=A "${base_sha}" "${head_sha}" -- '*.md' '*.markdown' > added-markdown-files.txt
47-
git diff --name-only --diff-filter=CMRT "${base_sha}" "${head_sha}" -- '*.md' '*.markdown' > modified-markdown-files.txt
48-
49-
if [[ -s added-markdown-files.txt ]]; then
50-
echo "has_added=true" >> "${GITHUB_OUTPUT}"
51-
{
52-
echo 'added_files<<EOF'
53-
cat added-markdown-files.txt
54-
echo 'EOF'
55-
} >> "${GITHUB_OUTPUT}"
56-
else
57-
echo "has_added=false" >> "${GITHUB_OUTPUT}"
58-
fi
59-
60-
if [[ -s modified-markdown-files.txt ]]; then
61-
echo "has_modified=true" >> "${GITHUB_OUTPUT}"
62-
{
63-
echo 'modified_files<<EOF'
64-
cat modified-markdown-files.txt
65-
echo 'EOF'
66-
} >> "${GITHUB_OUTPUT}"
67-
else
68-
echo "has_modified=false" >> "${GITHUB_OUTPUT}"
69-
fi
70-
71-
- name: No changed Markdown files
72-
if: steps.changed-markdown.outputs.has_added != 'true' && steps.changed-markdown.outputs.has_modified != 'true'
73-
run: echo "No changed Markdown files to lint."
74-
75-
- name: Lint new Markdown files (enforced)
76-
uses: DavidAnson/markdownlint-cli2-action@v23
77-
if: steps.changed-markdown.outputs.has_added == 'true'
78-
with:
79-
globs: ${{ steps.changed-markdown.outputs.added_files }}
80-
81-
- name: Lint modified Markdown files (advisory)
27+
{
28+
echo 'files<<EOF'
29+
git ls-files '*.md' '*.markdown'
30+
echo 'EOF'
31+
} >> "${GITHUB_OUTPUT}"
32+
- name: Lint tracked Markdown files
8233
uses: DavidAnson/markdownlint-cli2-action@v23
83-
if: steps.changed-markdown.outputs.has_modified == 'true'
84-
continue-on-error: true
8534
with:
86-
globs: ${{ steps.changed-markdown.outputs.modified_files }}
35+
globs: ${{ steps.tracked-markdown.outputs.files }}

_data/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../package.json

_includes/jekyll_vitepress/head_end.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
</script>
1313

1414
<script type="module">
15-
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11.15.0/dist/mermaid.esm.min.mjs';
15+
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@{{ site.data.package.dependencies.mermaid }}/dist/mermaid.esm.min.mjs';
1616
mermaid.initialize({ startOnLoad: false });
1717

1818
function renderMermaid() {

docs/_openbolt_5x/release_notes.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,79 @@ title: OpenBolt release notes
55

66
This page documents the history of the OpenBolt 5.x series.
77

8+
## OpenBolt 5.6.0
9+
10+
Released on June 17, 2026
11+
12+
Please check the [GitHub OpenBolt release page](https://github.com/OpenVoxProject/openbolt/releases/tag/5.6.0) for details on new features or bug fixes.
13+
14+
### Security Issues Resolved in 5.6.0
15+
16+
| Identifier | CVSS 3.1 Score | Resolved By |
17+
| :---------------------------------------------------------------- | :------------: | :---------------------------------- |
18+
| [CVE-2026-41316](https://nvd.nist.gov/vuln/detail/CVE-2026-41316) | 8.1 | `pkg:gem/erb@4.0.3.1` |
19+
| [CVE-2026-33637](https://nvd.nist.gov/vuln/detail/CVE-2026-33637) | 6.5 | `pkg:gem/faraday@2.14.2` |
20+
| [CVE-2026-42258](https://nvd.nist.gov/vuln/detail/CVE-2026-42258) | 9.8 | `pkg:gem/net-imap@0.4.24` |
21+
| [CVE-2026-42257](https://nvd.nist.gov/vuln/detail/CVE-2026-42257) | 9.8 | `pkg:gem/net-imap@0.4.24` |
22+
| [CVE-2026-42245](https://nvd.nist.gov/vuln/detail/CVE-2026-42245) | 7.5 | `pkg:gem/net-imap@0.4.24` |
23+
| [CVE-2026-42246](https://nvd.nist.gov/vuln/detail/CVE-2026-42246) | 7.4 | `pkg:gem/net-imap@0.4.24` |
24+
| [CVE-2025-6021](https://nvd.nist.gov/vuln/detail/CVE-2025-6021) | 7.5 | `pkg:github/gnome/libxml2@2.15.3` |
25+
| [CVE-2026-6732](https://nvd.nist.gov/vuln/detail/CVE-2026-6732) | 7.5 | `pkg:github/gnome/libxml2@2.15.3` |
26+
| [CVE-2025-6170](https://nvd.nist.gov/vuln/detail/CVE-2025-6170) | 2.5 | `pkg:github/gnome/libxml2@2.15.3` |
27+
| [CVE-2026-34182](https://nvd.nist.gov/vuln/detail/CVE-2026-34182) | 9.1 | `pkg:github/openssl/openssl@3.0.21` |
28+
| [CVE-2026-45447](https://nvd.nist.gov/vuln/detail/CVE-2026-45447) | 8.8 | `pkg:github/openssl/openssl@3.0.21` |
29+
| [CVE-2026-7383](https://nvd.nist.gov/vuln/detail/CVE-2026-7383) | 8.1 | `pkg:github/openssl/openssl@3.0.21` |
30+
| [CVE-2026-34180](https://nvd.nist.gov/vuln/detail/CVE-2026-34180) | 7.5 | `pkg:github/openssl/openssl@3.0.21` |
31+
| [CVE-2026-45445](https://nvd.nist.gov/vuln/detail/CVE-2026-45445) | 7.5 | `pkg:github/openssl/openssl@3.0.21` |
32+
| [CVE-2026-9076](https://nvd.nist.gov/vuln/detail/CVE-2026-9076) | 7.5 | `pkg:github/openssl/openssl@3.0.21` |
33+
| [CVE-2026-42766](https://nvd.nist.gov/vuln/detail/CVE-2026-42766) | 5.9 | `pkg:github/openssl/openssl@3.0.21` |
34+
| [CVE-2026-42767](https://nvd.nist.gov/vuln/detail/CVE-2026-42767) | 5.9 | `pkg:github/openssl/openssl@3.0.21` |
35+
| [CVE-2026-45446](https://nvd.nist.gov/vuln/detail/CVE-2026-45446) | 4.8 | `pkg:github/openssl/openssl@3.0.21` |
36+
| [CVE-2026-42770](https://nvd.nist.gov/vuln/detail/CVE-2026-42770) | 3.7 | `pkg:github/openssl/openssl@3.0.21` |
37+
838
## OpenBolt 5.5.0
939

1040
Released on April 30, 2026
1141

1242
Please check the [GitHub OpenBolt release page](https://github.com/OpenVoxProject/openbolt/releases/tag/5.5.0) for details on new features or bug fixes.
1343

44+
### Security Issues Resolved in 5.5.0
45+
46+
| Identifier | CVSS 3.1 Score | Resolved By |
47+
| :---------------------------------------------------------------- | :------------: | :---------------------------------- |
48+
| [CVE-2026-35611](https://nvd.nist.gov/vuln/detail/CVE-2026-35611) | 7.5 | `pkg:gem/addressable@2.9.0` |
49+
| [CVE-2026-41493](https://nvd.nist.gov/vuln/detail/CVE-2026-41493) | 7.5 | `pkg:gem/yard@0.9.43` |
50+
| [CVE-2026-27820](https://nvd.nist.gov/vuln/detail/CVE-2026-27820) | 9.8 | `pkg:gem/zlib@3.0.1` |
51+
| [CVE-2026-31789](https://nvd.nist.gov/vuln/detail/CVE-2026-31789) | 9.8 | `pkg:github/openssl/openssl@3.0.20` |
52+
| [CVE-2026-28387](https://nvd.nist.gov/vuln/detail/CVE-2026-28387) | 8.1 | `pkg:github/openssl/openssl@3.0.20` |
53+
| [CVE-2026-31790](https://nvd.nist.gov/vuln/detail/CVE-2026-31790) | 7.5 | `pkg:github/openssl/openssl@3.0.20` |
54+
| [CVE-2026-28388](https://nvd.nist.gov/vuln/detail/CVE-2026-28388) | 7.5 | `pkg:github/openssl/openssl@3.0.20` |
55+
| [CVE-2026-28389](https://nvd.nist.gov/vuln/detail/CVE-2026-28389) | 7.5 | `pkg:github/openssl/openssl@3.0.20` |
56+
| [CVE-2026-28390](https://nvd.nist.gov/vuln/detail/CVE-2026-28390) | 7.5 | `pkg:github/openssl/openssl@3.0.20` |
57+
1458
## OpenBolt 5.4.0
1559

1660
Released on March 4, 2026
1761

1862
Please check the [GitHub OpenBolt release page](https://github.com/OpenVoxProject/openbolt/releases/tag/5.4.0) for details on new features or bug fixes.
1963

64+
### Security Issues Resolved in 5.4.0
65+
66+
| Identifier | CVSS 3.1 Score | Resolved By |
67+
| :---------------------------------------------------------------- | :------------: | :---------------------------------- |
68+
| [CVE-2026-25765](https://nvd.nist.gov/vuln/detail/CVE-2026-25765) | 5.8 | `pkg:gem/faraday@2.14.1` |
69+
| [CVE-2025-24294](https://nvd.nist.gov/vuln/detail/CVE-2025-24294) | 7.5 | `pkg:gem/resolv@0.2.3` |
70+
| [CVE-2025-58767](https://nvd.nist.gov/vuln/detail/CVE-2025-58767) | 5.3 | `pkg:gem/rexml@3.4.4` |
71+
| [CVE-2025-61594](https://nvd.nist.gov/vuln/detail/CVE-2025-61594) | 7.5 | `pkg:gem/uri@0.12.5` |
72+
| [CVE-2025-15467](https://nvd.nist.gov/vuln/detail/CVE-2025-15467) | 8.8 | `pkg:github/openssl/openssl@3.0.19` |
73+
| [CVE-2025-69421](https://nvd.nist.gov/vuln/detail/CVE-2025-69421) | 7.5 | `pkg:github/openssl/openssl@3.0.19` |
74+
| [CVE-2025-69420](https://nvd.nist.gov/vuln/detail/CVE-2025-69420) | 7.5 | `pkg:github/openssl/openssl@3.0.19` |
75+
| [CVE-2025-69419](https://nvd.nist.gov/vuln/detail/CVE-2025-69419) | 7.4 | `pkg:github/openssl/openssl@3.0.19` |
76+
| [CVE-2026-22795](https://nvd.nist.gov/vuln/detail/CVE-2026-22795) | 5.5 | `pkg:github/openssl/openssl@3.0.19` |
77+
| [CVE-2026-22796](https://nvd.nist.gov/vuln/detail/CVE-2026-22796) | 5.3 | `pkg:github/openssl/openssl@3.0.19` |
78+
| [CVE-2025-68160](https://nvd.nist.gov/vuln/detail/CVE-2025-68160) | 4.7 | `pkg:github/openssl/openssl@3.0.19` |
79+
| [CVE-2025-69418](https://nvd.nist.gov/vuln/detail/CVE-2025-69418) | 4.0 | `pkg:github/openssl/openssl@3.0.19` |
80+
2081
## OpenBolt 5.3.0
2182

2283
Released on December 16, 2025

docs/_openvox-server_8x/release_notes.markdown

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,32 @@ title: "OpenVox Server: Release Notes"
44
canonical: "/openvox-server/latest/release_notes.html"
55
---
66

7+
## OpenVox Server 8.14.1
8+
9+
Released 2026-06-24.
10+
11+
This is a bug-fix release of OpenVox Server.
12+
13+
All bug fixes, new features and other changes are provided on the [project's GitHub release page](https://github.com/OpenVoxProject/openvox-server/releases/tag/8.14.1).
14+
15+
## OpenVox Server 8.14.0
16+
17+
{% include alert.html type="note" title="Unreleased" content="Packages for version 8.14.0 were not released due to broken APIs for monitoring service status and performance." %}
18+
19+
This is an enhancement, bug-fix, and security release of OpenVox Server.
20+
21+
All bug fixes, new features and other changes are provided on the [project's GitHub release page](https://github.com/OpenVoxProject/openvox-server/releases/tag/8.14.0).
22+
23+
### Security Issues Resolved in 8.14.0
24+
25+
| Identifier | CVSS 3.1 Score | Resolved By |
26+
| :---------------------------------------------------------------- | :------------: | :---------------------------------------------------- |
27+
| [CVE-2026-2332](https://nvd.nist.gov/vuln/detail/CVE-2026-2332) | 9.1 | `pkg:maven/org.eclipse.jetty/jetty-http@12.1.9` |
28+
| [CVE-2025-11143](https://nvd.nist.gov/vuln/detail/CVE-2025-11143) | 6.5 | `pkg:maven/org.eclipse.jetty/jetty-http@12.1.9` |
29+
| [CVE-2024-6763](https://nvd.nist.gov/vuln/detail/CVE-2024-6763) | 5.3 | `pkg:maven/org.eclipse.jetty/jetty-http@12.1.9` |
30+
| [CVE-2026-54515](https://nvd.nist.gov/vuln/detail/CVE-2026-54515) | 5.3 | `pkg:maven/tools.jackson.core/jackson-databind@3.0.1` |
31+
| [CVE-2026-1225](https://nvd.nist.gov/vuln/detail/CVE-2026-1225) | N/A | `pkg:maven/ch.qos.logback/logback-core@1.5.32` |
32+
733
## OpenVox Server 8.13.0
834

935
Released 2026-05-04.
@@ -24,11 +50,7 @@ java.lang.NoSuchMethodError: 'org.bouncycastle.asn1.ASN1Primitive org.bouncycast
2450
```
2551

2652
Not all files are affected, the error seems to be triggered by specific patterns in
27-
ASN.1 content. See [OpenVoxProject/openvox-server#322][openvox-server-322]
28-
for more details and subscribe for updates on a fix. Recommended workaround is
29-
to downgrade the `openvox-server` package to version 8.12.1.
30-
31-
[openvox-server-322]: https://github.com/OpenVoxProject/openvox-server/issues/322
53+
ASN.1 content. This issue is fixed in version 8.14.1.
3254

3355
## OpenVox Server 8.12.1
3456

docs/_openvox_8x/_environment_conf_settings.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<!-- markdownlint-disable MD041 -->
12
In this version of Puppet, the environment.conf file is only allowed to override five settings:
23

34
- `modulepath`

docs/_openvox_8x/_hiera.yaml_v5.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
``` yaml
1+
<!-- markdownlint-disable MD041 -->
2+
```yaml
23
---
34
version: 5
45
defaults: # Used for any hierarchy level that omits these keys.

docs/_openvox_8x/_hiera_context_object.md

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<!-- markdownlint-disable MD041 -->
12
## The `Puppet::LookupContext` object
23

34
To support caching and other needs, Hiera provides backends a special `Puppet::LookupContext` object, which has several methods you can call for various effects.
@@ -24,7 +25,7 @@ The following methods are available:
2425

2526
### `not_found()`
2627

27-
[method_not]: #notfound
28+
[method_not]: #not_found
2829

2930
Tells Hiera to move on to the next data source. Call this method when your function can't find a value for a given lookup. **This method does not return.**
3031

@@ -44,13 +45,13 @@ In `lookup_key` and `data_dig` backends, you **must** call this method if you wa
4445

4546
### `environment_name()`
4647

47-
[method_env]: #environmentname
48+
[method_env]: #environment_name
4849

4950
Returns the name of the environment whose hiera.yaml called the function. Returns `undef` (in Puppet) or `nil` (in Ruby) if the function was called by the global or module layer.
5051

5152
### `module_name()`
5253

53-
[method_module]: #modulename
54+
[method_module]: #module_name
5455

5556
Returns the name of the module whose hiera.yaml called the function. Returns `undef` (in Puppet) or `nil` (in Ruby) if the function was called by the global or environment layer.
5657

@@ -62,7 +63,9 @@ Caches a value, in a per-data-source private cache; also returns the cached valu
6263

6364
On future lookups in this data source, you can retrieve values with `cached_value(key)`. Cached values are immutable, but you can replace the value for an existing key. Cache keys can be anything valid as a key for a Ruby hash. (Notably, this means you can use `nil` as a key.)
6465

65-
For example, on its first invocation for a given YAML file, the built-in `eyaml_lookup_key` backend reads the whole file and caches it, and then decrypts only the specific value that was requested. On subsequent lookups into that file, it gets the encrypted value from the cache instead of reading the file from disk again. It also caches decrypted values, so that it won't have to decrypt again if the same key is looked up repeatedly.
66+
For example, on its first invocation for a given YAML file, the built-in `eyaml_lookup_key` backend reads the whole file and caches it, and then decrypts only the specific value that was requested.
67+
On subsequent lookups into that file, it gets the encrypted value from the cache instead of reading the file from disk again.
68+
It also caches decrypted values, so that it won't have to decrypt again if the same key is looked up repeatedly.
6669

6770
The cache is also useful for storing session keys or connection objects for backends that access a network service.
6871

@@ -77,39 +80,39 @@ If any inputs to a function change (for example, a path interpolates a local var
7780

7881
### `cache_all(hash)`
7982

80-
[method_cache_all]: #cacheallhash
83+
[method_cache_all]: #cache_allhash
8184

8285
Caches all the key/value pairs from a given hash; returns `undef` (in Puppet) or `nil` (in Ruby).
8386

8487
### `cached_value(key)`
8588

86-
[method_cached]: #cachedvaluekey
89+
[method_cached]: #cached_valuekey
8790

8891
Returns a previously cached value from the per-data-source private cache. Returns `nil` or `undef` if no value with this name has been cached. See [`cache(key, value)`][method_cache] above for more info about how the cache works.
8992

9093
### `cache_has_key(key)`
9194

92-
[method_haskey]: #cachehaskeykey
95+
[method_haskey]: #cache_has_keykey
9396

9497
Checks whether the cache has a value for a given key yet. Returns `true` or `false`.
9598

9699
### `cached_entries()`
97100

98-
[method_allcached]: #cachedentries
101+
[method_allcached]: #cached_entries
99102

100103
Returns everything in the per-data-source cache, as an iterable object. Note that this iterable object isn't a hash; if you want a hash, you can use `Hash($context.all_cached())` (in the Puppet language) or `Hash[context.all_cached()]` (in Ruby).
101104

102105
### `cached_file_data(path) {|content| ...}`
103106

104-
[method_cached_file]: #cachedfiledatapath-content-
107+
[method_cached_file]: #cached_file_datapath-content-
105108

106109
> **Note:** The header above uses Ruby's block syntax. To call this method in the Puppet language, you would use `cached_file_data(path) |content| { ... }`.
107110
108111
For best performance, use this method to read files in Hiera backends.
109112

110113
Returns the content of the specified file, as a string. If an optional block is provided, it passes the content to the block and returns the block's return value. For example, the built-in JSON backend uses a block to parse JSON and return a hash:
111114

112-
``` ruby
115+
```ruby
113116
context.cached_file_data(path) do |content|
114117
begin
115118
JSON.parse(content)

docs/_openvox_8x/_hiera_options_hash.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<!-- markdownlint-disable MD041 -->
12
### The options hash
23

34
Hierarchy levels are configured in [hiera.yaml](./hiera_config_yaml_5.html). When calling a backend function, Hiera passes a modified version of that configuration as a hash.
@@ -6,13 +7,13 @@ The options hash contains the following keys:
67

78
* `path` --- The absolute path to a file on disk. Only present if the user set one of the `path`, `paths`, `glob`, or `globs` settings. Hiera ensures the file exists before passing it to the function.
89

9-
> **Note:** If your backend uses data files, use the context object's [`cached_file_data` method][method_cached_file] to read them.
10+
> **Note:** If your backend uses data files, use the context object's [`cached_file_data` method][method_cached_file] to read them. <!-- markdownlint-disable-line MD052 -->
1011
* `uri` --- A URI that your function can use to locate a data source. Only present if the user set `uri` or `uris`. Hiera doesn't verify the URI before passing it to the function.
1112
* Every key from the hierarchy level's `options` setting. In your documentation, make sure to list any options your backend requires or accepts. Note that the `path` and `uri` keys are reserved.
1213

1314
For example: this hierarchy level in hiera.yaml...
1415

15-
``` yaml
16+
```yaml
1617
- name: "Secret data: per-node, per-datacenter, common"
1718
lookup_key: eyaml_lookup_key # eyaml backend
1819
datadir: data
@@ -27,7 +28,7 @@ For example: this hierarchy level in hiera.yaml...
2728
2829
...would result in several different options hashes (depending on the current node's facts, whether the files exist, etc.), but they would all resemble the following:
2930
30-
``` ruby
31+
```ruby
3132
{
3233
'path' => '/etc/puppetlabs/code/environments/production/data/secrets/nodes/web01.example.com.eyaml',
3334
'pkcs7_private_key' => '/etc/puppetlabs/puppet/eyaml/private_key.pkcs7.pem',

docs/_openvox_8x/_naming_variables.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<!-- markdownlint-disable MD041 -->
12
[qualified_var]: ./lang_variables.html#accessing-out-of-scope-variables
23

34
Variable names begin with a `$` (dollar sign) and are case-sensitive.

0 commit comments

Comments
 (0)