Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
2b197c6
feat: migrate to Rust 1.88 and edition 2024
avrabe Jul 28, 2025
e6ce3e4
fix(ci): update workflows for Rust 1.88 and resolve timeout issues
avrabe Jul 28, 2025
c36f1b1
feat: implement MCP resources and prompts macro support
avrabe Jul 28, 2025
d3dee05
feat: add auto-detection for resources and prompts capabilities
avrabe Jul 28, 2025
7f8a8bc
test: add comprehensive tests for new macro functionality
avrabe Jul 28, 2025
8b50b5a
test: add advanced macro feature validation tests
avrabe Jul 28, 2025
eaf8ffd
test: add performance, security, and full integration tests
avrabe Jul 28, 2025
94aed88
chore: add .claude directory to .gitignore
avrabe Jul 28, 2025
6e7af2d
docs: add comprehensive MCP.io-style documentation structure
avrabe Jul 28, 2025
c72c475
fix(edition-2024): wrap unsafe environment variable operations in tes…
avrabe Jul 28, 2025
13251c9
style(macros): fix clippy warnings in macro generation code
avrabe Jul 28, 2025
b3c7f29
feat(test-isolation): update tests to use unique app names and paths
avrabe Jul 28, 2025
27c4c92
fix(tests): fix macro usage and format string warnings
avrabe Jul 29, 2025
139ba37
feat(tests): add working macro validation tests
avrabe Jul 29, 2025
880efb4
fix(auth): fix cross-platform temp directory test
avrabe Jul 29, 2025
6c2323c
fix(tests): fix security_tests.rs and improve test patterns
avrabe Jul 29, 2025
93135dc
fix(tests): fix mcp_prompt_tests.rs and mcp_resource_tests.rs
avrabe Jul 29, 2025
44c5c7c
fix(tests): fix parameter_validation_tests.rs
avrabe Jul 29, 2025
da0b51f
fix(tests): fix macro_tests.rs server capabilities assertion
avrabe Jul 29, 2025
3f6b35f
fix(tests): fix integration_tests.rs server capabilities assertion
avrabe Jul 29, 2025
9a216a5
fix(tests): fix all remaining test files - now 138 tests passing
avrabe Jul 29, 2025
e649a64
fix(fmt): apply cargo fmt to fix formatting issues
avrabe Jul 29, 2025
6535305
fix(clippy): fix clippy warnings in test files
avrabe Jul 29, 2025
0586148
fix(clippy): add allow dead_code to prevent clippy warnings
avrabe Jul 30, 2025
10624d2
fix(clippy): resolve all clippy warnings in test files
avrabe Jul 30, 2025
a7ed92a
fix(fmt): apply cargo fmt formatting fixes for PR validation
avrabe Jul 30, 2025
05c482f
chore: bump version to 0.7.0
avrabe Jul 30, 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
4 changes: 3 additions & 1 deletion .claude/settings.local.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@
"Bash(grep:*)",
"Bash(gh pr checks:*)",
"Bash(find:*)",
"Bash(cargo:*)"
"Bash(cargo:*)",
"WebFetch(domain:doc.rust-lang.org)",
"WebFetch(domain:forge.rust-lang.org)"
],
"deny": []
}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/code-coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
uses: actions/checkout@v4

- name: Setup Rust
uses: dtolnay/rust-toolchain@1.85
uses: dtolnay/rust-toolchain@1.88
with:
components: llvm-tools-preview

Expand All @@ -55,9 +55,9 @@ jobs:
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-coverage-1.85-${{ hashFiles('**/Cargo.lock', 'rust-toolchain.toml') }}
key: ${{ runner.os }}-cargo-coverage-1.88-${{ hashFiles('**/Cargo.lock', 'rust-toolchain.toml') }}
restore-keys: |
${{ runner.os }}-cargo-coverage-1.85-
${{ runner.os }}-cargo-coverage-1.88-
${{ runner.os }}-cargo-

- name: Generate code coverage
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ jobs:
uses: actions/checkout@v4

- name: Setup Rust
uses: dtolnay/rust-toolchain@1.85
uses: dtolnay/rust-toolchain@1.88

- name: Clean stale artifacts
run: |
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/external-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
uses: actions/checkout@v4

- name: Setup Rust
uses: dtolnay/rust-toolchain@1.85
uses: dtolnay/rust-toolchain@1.88

- name: Setup Python
uses: actions/setup-python@v5
Expand All @@ -66,9 +66,9 @@ jobs:
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-external-release-1.85-${{ hashFiles('**/Cargo.lock', 'rust-toolchain.toml') }}
key: ${{ runner.os }}-cargo-external-release-1.88-${{ hashFiles('**/Cargo.lock', 'rust-toolchain.toml') }}
restore-keys: |
${{ runner.os }}-cargo-external-1.85-
${{ runner.os }}-cargo-external-1.88-
${{ runner.os }}-cargo-

- name: Cache Python dependencies
Expand Down Expand Up @@ -167,7 +167,7 @@ jobs:
uses: actions/checkout@v4

- name: Setup Rust
uses: dtolnay/rust-toolchain@1.85
uses: dtolnay/rust-toolchain@1.88

- name: Setup Python
uses: actions/setup-python@v5
Expand Down Expand Up @@ -205,7 +205,7 @@ jobs:
uses: actions/checkout@v4

- name: Setup Rust
uses: dtolnay/rust-toolchain@1.85
uses: dtolnay/rust-toolchain@1.88

- name: Build validation tools
run: cargo build --package pulseengine-mcp-external-validation --features "proptest,fuzzing" --release
Expand Down Expand Up @@ -241,7 +241,7 @@ jobs:
uses: actions/checkout@v4

- name: Setup Rust
uses: dtolnay/rust-toolchain@1.85
uses: dtolnay/rust-toolchain@1.88

- name: Run cargo audit
run: |
Expand Down Expand Up @@ -270,7 +270,7 @@ jobs:
uses: actions/checkout@v4

- name: Setup Rust
uses: dtolnay/rust-toolchain@1.85
uses: dtolnay/rust-toolchain@1.88

- name: Run benchmarks
run: |
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/pr-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
uses: actions/checkout@v4

- name: Setup Rust
uses: dtolnay/rust-toolchain@1.85
uses: dtolnay/rust-toolchain@1.88
with:
components: rustfmt, clippy

Expand All @@ -68,9 +68,9 @@ jobs:
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-pr-release-1.85-${{ hashFiles('**/Cargo.lock', 'rust-toolchain.toml') }}
key: ${{ runner.os }}-cargo-pr-release-1.88-${{ hashFiles('**/Cargo.lock', 'rust-toolchain.toml') }}
restore-keys: |
${{ runner.os }}-cargo-pr-1.82-
${{ runner.os }}-cargo-pr-1.88-
${{ runner.os }}-cargo-

- name: Check formatting
Expand Down Expand Up @@ -121,7 +121,7 @@ jobs:
uses: actions/checkout@v4

- name: Setup Rust
uses: dtolnay/rust-toolchain@1.85
uses: dtolnay/rust-toolchain@1.88

- name: Setup Python
uses: actions/setup-python@v5
Expand Down Expand Up @@ -159,7 +159,7 @@ jobs:
uses: actions/checkout@v4

- name: Setup Rust
uses: dtolnay/rust-toolchain@1.85
uses: dtolnay/rust-toolchain@1.88

- name: Test validation tool CLI
run: |
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,4 @@ cobertura.xml
lcov.info
lcov-*.info
coverage-summary.txt
/target/llvm-cov/
/target/llvm-cov/.claude/
25 changes: 13 additions & 12 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

28 changes: 14 additions & 14 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ members = [
resolver = "2"

[workspace.package]
version = "0.6.0"
rust-version = "1.85"
edition = "2021"
version = "0.7.0"
rust-version = "1.88"
edition = "2024"
license = "MIT OR Apache-2.0"
authors = ["PulseEngine Contributors"]
repository = "https://github.com/pulseengine/mcp"
Expand Down Expand Up @@ -101,17 +101,17 @@ assert_matches = "1.5"
serde_yaml = "0.9"

# Framework internal dependencies (published versions)
pulseengine-mcp-protocol = { version = "0.6.0", path = "mcp-protocol" }
pulseengine-mcp-logging = { version = "0.6.0", path = "mcp-logging" }
pulseengine-mcp-auth = { version = "0.6.0", path = "mcp-auth" }
pulseengine-mcp-security = { version = "0.6.0", path = "mcp-security" }
pulseengine-mcp-monitoring = { version = "0.6.0", path = "mcp-monitoring" }
pulseengine-mcp-transport = { version = "0.6.0", path = "mcp-transport" }
pulseengine-mcp-cli = { version = "0.6.0", path = "mcp-cli" }
pulseengine-mcp-cli-derive = { version = "0.6.0", path = "mcp-cli-derive" }
pulseengine-mcp-server = { version = "0.6.0", path = "mcp-server" }
pulseengine-mcp-macros = { version = "0.6.0", path = "mcp-macros" }
pulseengine-mcp-external-validation = { version = "0.6.0", path = "mcp-external-validation" }
pulseengine-mcp-protocol = { version = "0.7.0", path = "mcp-protocol" }
pulseengine-mcp-logging = { version = "0.7.0", path = "mcp-logging" }
pulseengine-mcp-auth = { version = "0.7.0", path = "mcp-auth" }
pulseengine-mcp-security = { version = "0.7.0", path = "mcp-security" }
pulseengine-mcp-monitoring = { version = "0.7.0", path = "mcp-monitoring" }
pulseengine-mcp-transport = { version = "0.7.0", path = "mcp-transport" }
pulseengine-mcp-cli = { version = "0.7.0", path = "mcp-cli" }
pulseengine-mcp-cli-derive = { version = "0.7.0", path = "mcp-cli-derive" }
pulseengine-mcp-server = { version = "0.7.0", path = "mcp-server" }
pulseengine-mcp-macros = { version = "0.7.0", path = "mcp-macros" }
pulseengine-mcp-external-validation = { version = "0.7.0", path = "mcp-external-validation" }

[profile.release]
opt-level = "s"
Expand Down
Loading
Loading