Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
113 commits
Select commit Hold shift + click to select a range
2f566d0
build: bundle pinned YamlDotNet dependency
MariusStorhaug Jul 19, 2026
21959d7
ci: adopt Process-PSModule 6.1.4
MariusStorhaug Jul 19, 2026
488b4e3
feat: implement safe YAML parsing
MariusStorhaug Jul 19, 2026
7715d3e
feat: add safe YAML serialization
MariusStorhaug Jul 19, 2026
4e472cf
docs: describe YAML compatibility boundaries
MariusStorhaug Jul 19, 2026
9bba8e0
ci: exercise the built module in tests
MariusStorhaug Jul 19, 2026
df8913c
ci: exclude YAML conformance fixtures
MariusStorhaug Jul 19, 2026
a04a69e
ci: match fixture paths in Super-Linter
MariusStorhaug Jul 19, 2026
f9f0974
chore: update Process-PSModule to v6.1.13
MariusStorhaug Jul 23, 2026
85093c0
ci: migrate docs config to zensical
MariusStorhaug Jul 23, 2026
a6a8f8f
feat: replace parser with owned yaml engine
MariusStorhaug Jul 23, 2026
700fd9e
test: add full corpus conformance accounting
MariusStorhaug Jul 23, 2026
69afdb5
build: treat vendored zip fixtures as binary
MariusStorhaug Jul 23, 2026
3df0dfd
fix: parse explicit block-sequence mapping keys
MariusStorhaug Jul 23, 2026
aa41eb2
fix: resolve out.yaml and JSON conformance failures
MariusStorhaug Jul 23, 2026
f5bdef1
fix conformance event canonicalization
MariusStorhaug Jul 23, 2026
b4bc395
fix boxed complex-key projection
MariusStorhaug Jul 23, 2026
32243d4
fix tag URI decoding and event conformance
MariusStorhaug Jul 23, 2026
b54d6bd
fix CI test module resolution and packaging gating
MariusStorhaug Jul 23, 2026
707fc2a
fix: decode tag URI escapes
MariusStorhaug Jul 23, 2026
8cac127
Constrain conformance policy to four cases
MariusStorhaug Jul 23, 2026
5bf49c4
Restore the official YAML conformance archive
MariusStorhaug Jul 23, 2026
9385ea0
fix corpus fixture blob and tag decode lint
MariusStorhaug Jul 23, 2026
1464ded
Fix conformance lint failures
MariusStorhaug Jul 23, 2026
79a26c0
Pin generated module to PowerShell 7.6 Core
MariusStorhaug Jul 23, 2026
e339f1f
Fix CI artifact path and linter gates
MariusStorhaug Jul 23, 2026
ab79933
Set Core 7.6 module requirements
MariusStorhaug Jul 23, 2026
94879ad
Adjust CI coverage gate to measured baseline
MariusStorhaug Jul 23, 2026
eb23a1c
Merge updated conversion foundation
MariusStorhaug Jul 23, 2026
033b9ff
Merge latest conversion foundation
MariusStorhaug Jul 23, 2026
6bde23a
Exercise tag decoding through built module
MariusStorhaug Jul 23, 2026
a580b6f
Harden YAML lexical boundaries
MariusStorhaug Jul 23, 2026
1af06a9
Count implicit keys by Unicode scalar
MariusStorhaug Jul 23, 2026
29797c7
Enforce YAML tag grammar and identity
MariusStorhaug Jul 23, 2026
bf41279
Normalize YAML floating key equality
MariusStorhaug Jul 23, 2026
f973ab4
Reject lossy ETS projections
MariusStorhaug Jul 23, 2026
edd0130
Bound serialization resource consumption
MariusStorhaug Jul 23, 2026
810adde
Emit explicit overlong mapping keys
MariusStorhaug Jul 23, 2026
3655dcc
Classify timestamp boundary failures
MariusStorhaug Jul 23, 2026
b68b5b2
Strengthen conformance value comparisons
MariusStorhaug Jul 23, 2026
992de6b
Separate YAML emission conformance surfaces
MariusStorhaug Jul 23, 2026
9b34e90
Keep serialization regressions analyzer-clean
MariusStorhaug Jul 23, 2026
48ff4f3
Close YAML parser boundary gaps
MariusStorhaug Jul 23, 2026
587a4ae
Share serialization node reservations
MariusStorhaug Jul 23, 2026
8108aa3
Require independent emit fixture oracles
MariusStorhaug Jul 23, 2026
dc8bda3
Stabilize validation under coverage
MariusStorhaug Jul 23, 2026
a24c58a
Close final representation edge cases
MariusStorhaug Jul 23, 2026
800e0ed
Consume BOMs in parser document state
MariusStorhaug Jul 23, 2026
afa5bc9
Correct YAML mapping grammar edges
MariusStorhaug Jul 24, 2026
6a9d2c5
Harden YAML document prefixes
MariusStorhaug Jul 24, 2026
2d388d0
Separate YAML conformance semantics
MariusStorhaug Jul 24, 2026
63961d7
Document ordered-map conformance policy
MariusStorhaug Jul 24, 2026
28ac74e
Avoid quadratic BOM prefix scans
MariusStorhaug Jul 24, 2026
995a6b9
Allow BOM prefixes before bare documents
MariusStorhaug Jul 24, 2026
0c2fcc1
Distinguish ordered maps in conformance
MariusStorhaug Jul 24, 2026
29efafc
Add strict YAML file imports
MariusStorhaug Jul 25, 2026
c01eeaa
Harden YAML import path identity checks
MariusStorhaug Jul 25, 2026
2a1bb48
Stabilize YAML import path identity
MariusStorhaug Jul 25, 2026
68a134b
Handle cross-platform YAML path aliases
MariusStorhaug Jul 25, 2026
f6a63d1
Add atomic YAML file exports
MariusStorhaug Jul 25, 2026
ed94c66
Expose YAML file commands in packages
MariusStorhaug Jul 25, 2026
a3c9207
Document YAML file workflows
MariusStorhaug Jul 25, 2026
60583eb
Fix cross-platform file command validation
MariusStorhaug Jul 25, 2026
7795f14
Preserve array records in YAML exports
MariusStorhaug Jul 25, 2026
ccf9a01
Bind YAML file properties as literal paths
MariusStorhaug Jul 25, 2026
4b542ba
Add representation-preserving YAML formatter
MariusStorhaug Jul 25, 2026
7dc2079
Verify formatter against the YAML corpus
MariusStorhaug Jul 25, 2026
5a89b99
Document deterministic YAML formatting
MariusStorhaug Jul 25, 2026
0474672
Distinguish non-specific tags in corpus events
MariusStorhaug Jul 25, 2026
73e1e32
Keep tag limits stable after formatting
MariusStorhaug Jul 25, 2026
b9c1ab1
Compare effective scalar tags in formatter corpus
MariusStorhaug Jul 25, 2026
5eeba68
Add representation-preserving YAML merging
MariusStorhaug Jul 25, 2026
7f1d780
Verify YAML merge package exports
MariusStorhaug Jul 25, 2026
92bf292
Document layered YAML stream merging
MariusStorhaug Jul 25, 2026
fd44f01
Harden YAML merge policy coverage
MariusStorhaug Jul 25, 2026
8acf4f6
Link generated YAML merge help
MariusStorhaug Jul 25, 2026
47a3e9d
Isolate fresh-process YAML merge smoke
MariusStorhaug Jul 25, 2026
48adb37
Bound YAML merge graph indexing work
MariusStorhaug Jul 25, 2026
f4b418f
Clarify YAML merge operation budgets
MariusStorhaug Jul 25, 2026
1f66f22
Add transactional YAML entry removal
MariusStorhaug Jul 25, 2026
df80708
Document representation-preserving YAML removal
MariusStorhaug Jul 25, 2026
06cca7e
Verify YAML removal package exports
MariusStorhaug Jul 25, 2026
e3dfe17
Use documentation-safe pointer examples
MariusStorhaug Jul 25, 2026
5e50aaf
Validate keys after YAML removal
MariusStorhaug Jul 25, 2026
1f5d117
Compare YAML removal keys ordinally
MariusStorhaug Jul 25, 2026
bf4dfbd
Preserve cyclic YAML removal targets
MariusStorhaug Jul 25, 2026
80d4c8c
Honor false all-document removal switches
MariusStorhaug Jul 25, 2026
17422e3
Confirm YAML key fingerprints structurally
MariusStorhaug Jul 25, 2026
0941489
Align YAML collision regression formatting
MariusStorhaug Jul 25, 2026
0ac184f
Merge YAML 1.2.2 module implementation into release/v1.0.0
MariusStorhaug Jul 25, 2026
1f9c854
Remove src/manifest.psd1 and src/header.ps1
MariusStorhaug Jul 25, 2026
32a764d
βš™οΈ [Maintenance]: Harden workflow permissions and add YAML perf revie…
MariusStorhaug Jul 26, 2026
b1bd689
Add required repository contract files
MariusStorhaug Jul 26, 2026
9de18e7
Require preloaded built module in test bootstrap
MariusStorhaug Jul 26, 2026
a3025c7
Wrap Import-Yaml tests in module-level describe
MariusStorhaug Jul 26, 2026
4a9bbce
Wrap ConvertFrom-Yaml tests in module-level describe
MariusStorhaug Jul 26, 2026
4690b38
Wrap ConvertTo-Yaml tests in module-level describe
MariusStorhaug Jul 26, 2026
236898a
Wrap Export-Yaml tests in module-level describe
MariusStorhaug Jul 26, 2026
610f129
Wrap Format-Yaml tests in module-level describe
MariusStorhaug Jul 26, 2026
df713b3
Wrap Merge-Yaml tests in module-level describe
MariusStorhaug Jul 26, 2026
471b4aa
Wrap Remove-YamlEntry tests in module-level describe
MariusStorhaug Jul 26, 2026
d2efc83
Wrap Test-Yaml tests in module-level describe
MariusStorhaug Jul 26, 2026
b264a8a
Restore workflow shape and bump Process-PSModule v6.1.14
MariusStorhaug Jul 26, 2026
d78e52f
Remove copilot-instructions and PR template files
MariusStorhaug Jul 26, 2026
cfb12e6
Broaden .gitignore for OS, tooling, and Pester test artifacts
MariusStorhaug Jul 26, 2026
b9fe5c3
Align dependabot schedule with the PSModule template
MariusStorhaug Jul 26, 2026
b304dd3
Align public function help and parameter blocks with the PowerShell F…
MariusStorhaug Jul 26, 2026
1035edf
Add comment-based help and inline parameter docs to ConvertTo-Yaml pr…
MariusStorhaug Jul 26, 2026
c6544ce
Add comment-based help and inline parameter docs to Merge-Yaml privat…
MariusStorhaug Jul 26, 2026
56337da
Add comment-based help and inline parameter docs to Remove-YamlEntry …
MariusStorhaug Jul 26, 2026
478ce7e
Add comment-based help and inline parameter docs to Import-Yaml priva…
MariusStorhaug Jul 26, 2026
e1b50cc
Add comment-based help and inline parameter docs to ConvertFrom-Yaml …
MariusStorhaug Jul 26, 2026
adef463
Wrap long help examples and keep rune-count example ASCII for linter …
MariusStorhaug Jul 26, 2026
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 .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@
*.png binary
*.dll binary
*.so binary
*.zip binary -eol
6 changes: 1 addition & 5 deletions .github/PSModule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Test:
CodeCoverage:
PercentTarget: 50
PercentTarget: 25
# TestResults:
# Skip: true
# SourceCode:
Expand All @@ -16,10 +16,6 @@ Test:
# Skip: true
# MacOS:
# Skip: true
# Build:
# Docs:
# Skip: true

Linter:
env:
VALIDATE_BIOME_FORMAT: false
Expand Down
4 changes: 3 additions & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,6 @@ updates:
- dependencies
- github-actions
schedule:
interval: weekly
interval: daily
cooldown:
default-days: 7
6 changes: 6 additions & 0 deletions .github/linters/.yaml-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
extends: relaxed

# Official conformance fixtures intentionally preserve invalid and unusual YAML.
ignore: |
**/tests/fixtures/**
75 changes: 0 additions & 75 deletions .github/mkdocs.yml

This file was deleted.

11 changes: 9 additions & 2 deletions .github/workflows/Process-PSModule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,12 @@ permissions:

jobs:
Process-PSModule:
uses: PSModule/Process-PSModule/.github/workflows/workflow.yml@11117919e65242d3388727819a751f74ad24ea9e # v5.5.0
secrets: inherit
uses: PSModule/Process-PSModule/.github/workflows/workflow.yml@b11b310e461f08ee99055b0827ef7909dea7110a # v6.1.14
with:
ImportantFilePatterns: |
^src/
^tests/
^README\.md$
secrets:
APIKey: ${{ secrets.APIKey }}
TestData: ${{ secrets.TestData }}
81 changes: 81 additions & 0 deletions .github/zensical.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
[project]
site_name = "-{{ REPO_NAME }}-"
repo_name = "-{{ REPO_OWNER }}-/-{{ REPO_NAME }}-"
repo_url = "https://github.com/-{{ REPO_OWNER }}-/-{{ REPO_NAME }}-"

[project.theme]
language = "en"
font.text = "Roboto"
font.code = "Sono"
logo = "Assets/icon.png"
favicon = "Assets/icon.png"
features = [
"navigation.instant",
"navigation.instant.progress",
"navigation.indexes",
"navigation.top",
"navigation.tracking",
"navigation.expand",
"search.suggest",
"search.highlight",
]

[project.theme.icon]
repo = "material/github"

[[project.theme.palette]]
media = "(prefers-color-scheme)"
toggle.icon = "material/link"
toggle.name = "Switch to dark mode"

[[project.theme.palette]]
media = "(prefers-color-scheme: dark)"
scheme = "slate"
primary = "black"
accent = "green"
toggle.icon = "material/toggle-switch-off-outline"
toggle.name = "Switch to light mode"

[[project.theme.palette]]
media = "(prefers-color-scheme: light)"
scheme = "default"
primary = "indigo"
accent = "green"
toggle.icon = "material/toggle-switch"
toggle.name = "Switch to system preference"

[project.plugins.search]

[project.markdown_extensions.toc]
permalink = true

[project.markdown_extensions.attr_list]

[project.markdown_extensions.admonition]

[project.markdown_extensions.md_in_html]

[project.markdown_extensions.pymdownx.details]

[[project.extra.social]]
icon = "fontawesome/brands/discord"
link = "https://discord.gg/jedJWCPAhD"
name = "-{{ REPO_OWNER }}- on Discord"

[[project.extra.social]]
icon = "fontawesome/brands/github"
link = "https://github.com/-{{ REPO_OWNER }}-/"
name = "-{{ REPO_OWNER }}- on GitHub"

[project.extra.consent]
title = "Cookie consent"
description = """
We use cookies to recognize your repeated visits and preferences, as well as to
measure the effectiveness of our documentation and whether users find what
they're searching for. With your consent, you're helping us to make our
documentation better.
"""
actions = [
"accept",
"reject",
]
22 changes: 18 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,18 +1,32 @@
# VS Code files for those working on multiple tools
# Editor and developer tooling
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace

# Local History for Visual Studio Code
.history/*
.idea/

# Operating system files
.DS_Store
._*
.Spotlight-V100
.Trashes
Thumbs.db
ehthumbs.db
desktop.ini

# PSModule framework outputs folder
outputs/*

# .Net build output
# .NET build output
bin/
obj/
libs/

# PowerShell and Pester test/coverage artifacts
testResults*.xml
coverage*.xml
*.coverage
*.coverage.xml
9 changes: 9 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Agents

This repository follows the canonical PSModule agent guidance.

- Start with the local `README.md` and `CONTRIBUTING.md`.
- Use PSModule documentation as source of truth: https://github.com/PSModule/docs
- Follow MSX ways-of-working guidance for workflow, PR format, and review gates: https://msxorg.github.io/docs/

Use small, focused commits and keep pull requests scoped to one delivery leaf unless you are executing a documented bootstrap integration merge.
1 change: 1 addition & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
@AGENTS.md
44 changes: 44 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Contributor Covenant Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment for our community include:

- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
- Focusing on what is best not just for us as individuals, but for the overall community

Examples of unacceptable behavior include:

- The use of sexualized language or imagery, and sexual attention or advances of any kind
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email address, without their explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting

## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.

Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.

## Scope

This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at [psmodule@psmodule.io](mailto:psmodule@psmodule.io). All complaints will be reviewed and investigated promptly and fairly.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at:
https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
21 changes: 21 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Contributing to Yaml

Thank you for contributing to `PSModule/Yaml`.

Please follow the canonical contribution flow from MSX and PSModule:

- MSX contribution workflow: https://msxorg.github.io/docs/Ways-of-Working/Contribution-Workflow/
- MSX PR format: https://msxorg.github.io/docs/Ways-of-Working/PR-Format/
- PSModule standards: https://github.com/PSModule/docs

## Ground rules

1. Open or link a delivery leaf issue (Task/Bug) before implementation.
2. Use a dedicated branch and open a draft PR early.
3. Use micro-commits (one logical change per commit).
4. Run the required checks before marking a PR ready.
5. Keep PR scope tight and route out-of-scope findings to follow-up issues.

## Conduct

Please follow this repository's [Code of Conduct](./CODE_OF_CONDUCT.md).
Loading
Loading