Roadmap
This page outlines the planned features and improvements for jGuard.
Current Release: 0.4.0​
The 0.4.0 release focuses on developer experience and third-party library support:
- ✅ Audit mode improvements: Accumulates all denials and prints suggested policy at shutdown
- ✅ Test-specific policies:
src/test/jguard/for test-only permissions - ✅ Embedded external policies: Ship policies for dependencies in your JAR (
src/main/jguard/) - ✅ Multi-directory overrides: Comma-separated paths in
-Djguard.policy.override - ✅ Gradle clean task: Properly cleans compiled policy directories
- ✅ Policy discovery debug logging: Enable with
-Djguard.log.level=debug
Previous Release: 0.3.x​
The 0.3.x releases focused on expanded capabilities and native library support:
- ✅ New capabilities:
process.exec,fs.hardlink,crypto.provider,runtime.exit,runtime.shutdown_hook - ✅ Trusted module mechanism for native libraries (PyTorch, etc.)
- ✅ Contextual keywords for flexible package naming
- ✅ Bootstrap JAR caching with content-hash invalidation
- ✅ Improved Gradle plugin with incremental builds
- ✅ Global policy support for unnamed modules
Previous Release: 0.2.0​
The 0.2.0 release focused on production readiness:
- ✅ Multi-module support
- ✅ External policies with grant/deny
- ✅ Legacy library support
- ✅ CLI tools
- ✅ Policy hot reload
- ✅ Compiler enhancements
Future Releases​
0.5.0 (Planned)​
Focus: Runtime capabilities and observability
-
New Capabilities
jmx.monitor— JMX/MXBean access for monitoringruntime.stack_trace— Stack trace access for diagnosticsnetwork.socket_options— Extended TCP socket optionsfs.symlink— Symbolic link creation
-
Metrics and Monitoring
- Prometheus/Micrometer integration
- Violation counters and histograms
- Policy evaluation timing
-
Logging Improvements
- Structured logging (JSON format)
- Log correlation IDs
- Configurable log destinations
-
IDE Integration
- IntelliJ IDEA plugin for policy editing
- Syntax highlighting and validation
- Quick fixes for common issues
0.6.0 (Planned)​
Focus: Advanced policy features
-
Policy Inheritance
- Base policies for common patterns
- Policy composition and extension
-
Runtime Policy API
- Programmatic policy queries
- Dynamic capability checks
-
Conditional Capabilities
- Time-based restrictions
- Environment-based grants
-
Path Variables
- Runtime variable substitution (
${env:VAR},${sys:prop}) - Portable policies across environments
- Runtime variable substitution (
1.0.0 (Future)​
Focus: Stability and long-term support
- API stability guarantees
- Long-term support commitment
- Comprehensive migration guides
- Performance optimizations
Feature Requests​
Have an idea for jGuard? We'd love to hear it!
Contributing​
Interested in implementing a roadmap item? See our Contributing Guide.