Releases: Accenture/MethodAtlas
MethodAtlas 3.3.0
Changelog
All notable changes to MethodAtlas are documented in this file.
The format follows Keep a Changelog
and this project adheres to Semantic Versioning.
[3.3.0] — 2026-05-20
Bug Fixes
- Replace parser-tree visitors with token-stream scanners
- Use BufferedTokenStream for fill()/get()/size() access
- Reorder lexer rules so single-char whitespace is skipped
- Satisfy PMD complexity and StringBuilder size warnings
- Add /* default */ marker to package-private unquote helper
- Correct java pluginId mapping and reduce saveAllChanges NPath
Features
- Add SAP ABAP and COBOL test discovery modules
- Scope source write-back to Java/C# with explicit diagnostics
MethodAtlas 3.2.0
Changelog
All notable changes to MethodAtlas are documented in this file.
The format follows Keep a Changelog
and this project adheres to Semantic Versioning.
[3.2.0] — 2026-05-19
Bug Fixes
- Resolve build warnings and add Python script integrity check
- Resolve PMD and Javadoc warnings in PowerShell plugin
- Resolve SpotBugs and PMD warnings in Python plugin
- Replace volatile boolean errors with AtomicBoolean
- Replace @value with @code for non-constant DEFAULT_POOL_SIZE
Documentation
- Document Go, Python, and PowerShell discovery plugins in MkDocs
- Add Go, Python, and PowerShell to hero and feature list
- Add parser-internals reference page and fix C# tag-reading docs
Features
- Add Go, Python, and PowerShell test discovery modules
Refactoring
- Replace regex parsers with professional AST/ANTLR4 implementations
MethodAtlas 3.1.1
Changelog
All notable changes to MethodAtlas are documented in this file.
The format follows Keep a Changelog
and this project adheres to Semantic Versioning.
[3.1.1] — 2026-05-19
Bug Fixes
- Incorrect link to repository
- Gui chapter moved to another section
- Repair scheduled PIT and SpotBugs failures introduced in ac9b4c4
- Resolve PMD violations and Eclipse Buildship CycloneDX conflict
- Repair Eclipse Buildship CycloneDX Gradle 9 incompatibility
- Extend CycloneDX pre-realization fix to root project
- Remove redundant @SuppressWarnings(unchecked) from updateOverrideYaml
Features
- Complete PDF handbook
MethodAtlas 3.1.0
Changelog
All notable changes to MethodAtlas are documented in this file.
The format follows Keep a Changelog
and this project adheres to Semantic Versioning.
[3.1.0] — 2026-05-02
Bug Fixes
- Resolve Eclipse Java Problem warnings (serialVersionUID, unused imports/fields)
- Add jackson-dataformat-yaml compile dependency for AuditWriter
- Editor pane vertical space and YAML compile dependency
- Suppress getActiveProfile() from JSON; rename dist scripts to methodatlas-gui
- 1-arg AiSuggestionEngineImpl constructor must call 1-arg factory
- Replace fileMode with filePermissions for Gradle 9 compat; add OSS governance files
- Widen visibility of root-package types for command subpackage
- Resolve all PMD violations across main, dotnet, and gui modules
- Fix six residual GUI violations and allow commented empty catches
- Unexpected end tag in javadoc
- Generate CycloneDX SBOM from root direct task
Build
- Centralise PMD config in root subprojects block
Features
- Add desktop GUI module (Swing + FlatLaf + RSyntaxTextArea)
- AI progress panel, rate-limit notification, per-plugin file masks
- Staged save workflow, audit trail, AI profiles, and UX improvements
- Enforce 10% min width for scan pane; tag editor takes natural height
- Merge CLI and GUI into one distribution; drop dead code in TagEditorPanel
Refactoring
- Split MethodAtlasApp into command-handler classes
MethodAtlas 3.0.3
Changelog
All notable changes to MethodAtlas are documented in this file.
The format follows Keep a Changelog
and this project adheres to Semantic Versioning.
[3.0.3] — 2026-04-30
Documentation
- Correct Java-only language claims across documentation
MethodAtlas 3.0.2
Changelog
All notable changes to MethodAtlas are documented in this file.
The format follows Keep a Changelog
and this project adheres to Semantic Versioning.
[3.0.2] — 2026-04-30
Bug Fixes
- Replace placeholder to prevent HTML stripping in GitHub
- Incorrect relative link
- Resolve all pmdMain violations
- Update overview.html for post-refactoring package layout
- Resolve AvoidInstantiatingObjectsInLoops and UncommentedEmptyConstructor
- Survive parse errors, report file/line, extend grammar
- Update visitor for usingTypeName grammar refactor
- Support expression-body constructors (=> expr;)
- Allow contextual keywords as identifiers in all name positions
- Handle nested braces in interpolated strings; tolerate null positional args
- Comprehensive C# grammar fixes for TelegramBot codebase
- Replace IDENTIFIER Unicode ranges with ANTLR4 property escapes
- Fix BOM skip, interpolated strings and constructor initializer
- Missing import
- Ignore node_modules and package-lock.json to prevent :dirty version
CI/CD
- Deploy Pages only on release tags
- Add explicit Node.js setup to workflows for TypeScript plugin
Documentation
- Fix stale Javadoc references after package restructuring
- Update all documentation for testAnnotations → testMarkers rename
- Add discovery-plugins.md with per-language marker reference
- Add migration guide for 2.x → 3.x upgrade path
- Document C# parser scope and grammar limitations
Features
- Establish ServiceLoader SPI for extensible test discovery
- Implement full C# test discovery and source patching plugin
- TypeScript/JavaScript test discovery plugin
- User-guide (in PDF) from the existing MD documentation
Miscellaneous
- Image - scanning finding in GitHub
Performance
- Lazy-start worker pool – spawn Node.js only on first scan request
- Defer Node.js detection until a TS/JS file is actually found
Refactoring
- Introduce api, discovery.jvm, and emit sub-packages
- Generalise TestDiscoveryConfig for multi-language plugin support
Tests
- Add comprehensive JUnit tests for untested core classes
MethodAtlas 2.2.0
Changelog
All notable changes to MethodAtlas are documented in this file.
The format follows Keep a Changelog
and this project adheres to Semantic Versioning.
[2.2.0] — 2026-04-27
Bug Fixes
- Always compare display_name, normalize null to empty string
- Fix file paths and enrich finding messages for GitHub Code Scanning
- Enrich all findings with full decision-making context
- Resolve NPathComplexity, AppendCharacterWithChar, and InsufficientStringBufferDeclaration warnings
- Correct AiMethodSuggestion argument order in placebo SARIF tests
- Use isBlank() for title selection in GitHubAnnotationsEmitter
Documentation
- Synchronize display_name documentation with actual output
- Add three missing pages to mkdocs nav
Features
- Detect display_name changes in delta report
- Detect and report @DisplayName("") as a security finding
- Add -emit-source-root flag for multi-root and monorepo scanning
- Add dedicated security-test/placebo rule for high interaction-score findings
Tests
- Fill JaCoCo gaps across DeltaEmitter and existing emitter tests
MethodAtlas 2.1.1
Changelog
All notable changes to MethodAtlas are documented in this file.
The format follows Keep a Changelog
and this project adheres to Semantic Versioning.
[2.1.1] — 2026-04-26
Bug Fixes
- Guard against null return from Path.getFileName()
[2.1.0] — 2026-04-26
Bug Fixes
- Update MethodAtlasAppManualTest for ai_interaction_score column
- Resolve all PMD and SpotBugs violations
- Address remaining PMD/SpotBugs violations
- Reference pitest task by name in check.dependsOn
- Correct GitHubAnnotationsEmitter drift test assumptions
- Resolve three PMD violations
- Remove continue-on-error from reusable workflow job in pages.yml
- Suppress EmptyControlStatement false positive on JUnit 5 detection branch
- Use enum literal for CycloneDX schemaVersion to avoid Gradle 10 breakage
- Create build/reports before redirecting MethodAtlas SARIF output
- Correct egothor/methodatlas URLs to Accenture/MethodAtlas
- Add models: read permission for GitHub Models inference API
- Grant models: read in pages.yml caller for reusable workflow
- Reduce token footprint and add retries for GitHub Models free tier
- Retry HTTP 429 rate-limit responses instead of failing immediately
- Replace dark-blue node fill with readable light indigo in diagrams
- Resolve PMD violations in HttpSupport.postJson
- Add required comments to empty catch blocks per Google Java Style
- Resolve AvoidDuplicateLiterals and AvoidLiteralsInIfCondition in SarifEmitter
- Add -include-non-security to SARIF structural tests
- Use /chat/completions path for GITHUB_MODELS, XAI, and MISTRAL providers
- Treat Retry-After: 0 as missing and fall back to default 60s wait
- Preserve @DisplayName when display_name column absent from CSV
- Resolve PMD and Error Prone violations introduced by apply-tags-from-csv
- Fix remaining PMD violations from apply-tags-from-csv
- Fix compilation errors in MethodAtlasAppApplyTagsFromCsvTest
- Resolve three test failures
CI/CD
- Add reusable methodatlas-analysis.yml workflow; call from pages.yml
Documentation
- Publish PIT report to Pages; document OWASP, SBOM, self-analysis
- Clarify OWASP runs only on demand when NVD_API_KEY is set
- Document JUnit 4 / TestNG auto-detection in cli-reference, why-methodatlas, README
- Add Concepts, CI/CD guides, and Regulated Deployment sections
- Add D5 security-teams guide, D6 release gating, D2 Azure DevOps
- Add D7 monorepo guide, D8 custom taxonomy, D9 remediation guide
- Add troubleshooting, air-gapped deployment, SOC 2, data governance, ASVS mapping
- Restructure navigation into eight audience-oriented tabs
- Fix seven factual and structural issues found in multi-perspective review
- Fix reviewer suggestions plus README and source-accuracy audit
- Replace text diagrams with Mermaid diagrams
- Document backward-compatible display_name column behaviour
- Add apply-tags-from-csv to SDLC integration table and remediation guide
- Broaden test-inventory feature blurb to JUnit 4 and TestNG
- Comprehensive documentation audit — 12 issues resolved
Features
- Add Azure OpenAI provider and restructure AI documentation
- Add human classification override file support
- Add -diff flag to compare two scan outputs
- Add -security-only output filter
- Add ai_interaction_score field to detect placebo tests
- Add -ai-cache flag to skip API calls for unchanged classes
- Add -github-annotations mode for inline PR feedback
- Add Tag vs AI security classification drift detector (#17)
- Add ArchUnit layer rules (#8) and PIT mutation gate (#9)
- Add Groq as a supported AI provider
- Add xAI, GitHub Models, Mistral providers; document AI brand mapping
- Auto-detect JUnit 4 and TestNG frameworks per file
- Make security-only filtering the default for SARIF output
- Add override-file input to reusable workflow
- Add enterprise-grade remote override support to reusable workflow
- Cache AI classifications between runs to eliminate redundant API calls
- Add -apply-tags-from-csv mode for human-reviewed annotation write-back
Tests
- Add @tag("security") annotations and improve JUnit test quality
MethodAtlas 2.0.0
Changelog
All notable changes to MethodAtlas are documented in this file.
The format follows Keep a Changelog
and this project adheres to Semantic Versioning.
[2.0.0] — 2026-04-22
Bug Fixes
- Package application as fat JAR and fix distribution contents
- Exclude duplicate multi-release module descriptors from fatJar
- Resolve PMD violations in AnnotationInspector, MethodAtlasApp, OutputEmitter
- Resolve 4 of 5 remaining PMD violations in MethodAtlasApp
- Merge META-INF/services SPI files in fatJar to avoid duplicate entry conflict
- Align jackson-yaml version to 2.21.1 and fix isJUnitTest for qualified annotation names
- Resolve all PMD warnings introduced since b73faf4
- Correct off-by-one comma in OutputEmitterTest null-suggestion CSV assertion
- Remove Confidence.DEFAULT from spotbugs config
- Resolve all 37 Error Prone warnings that blocked compilation
- Skip OWASP and MethodAtlas steps when secrets are absent
- Replace h2 with h1 in overview.html to satisfy doclint HTML sequence check
- Correct broken MkDocs links in compliance.md and usage-modes/api-ai.md
- Pin CycloneDX output to build/reports/bom.json
- Locate bom.json dynamically instead of hardcoding path
- Update SBOM path to build/reports/cyclonedx/bom.json
Build
- Support any JDK 21+ instead of pinning to JDK 21
CI/CD
- Add GitHub Actions workflows for release distribution and GitHub Pages
- Add quality gate to Gitea CI and both release workflows
- Implement full professional quality suite (all ideas A1–F2)
- Remove non-AI MethodAtlas self-analysis from Code Scanning upload
- Enable MethodAtlas AI self-analysis when OPENROUTER_API_KEY is set
Documentation
- Explain deterministic AST discovery vs AI classification
- Document manual AI workflow in README
- Document SARIF, YAML config, -test-annotation, and -apply-tags
- Enterprise README, apply-tags caveat, SarifEmitter PMD warnings
- Add CI/CD environment setup guide
- Add overview.html and copyright footer
- Replace tile landing page with MkDocs Material site
- Redesign home page and expand documentation structure
- Remove horizontal rules, split long pages into subpages
- Document data scope — only test source files are submitted to AI providers
Features
- Add @tag reporting and CSV/plain output
- Add AI-based security suggestion engine and CLI integration
- Restrict AI tagging to parser-discovered test methods
- Implement manual AI workflow for offline AI enrichment
- Pre-create empty response files during manual prepare phase
- Separate workdir/responsedir in prepare phase; support multiple file suffixes
- Configurable test annotations, scan metadata output, extract DEFAULT_MODEL constant
- Add AI confidence scoring and split documentation
- Use path-derived file stems for manual AI workflow
- Add -apply-tags mode to write AI annotations to source files
- Add -content-hash flag for per-class SHA-256 fingerprints
License
-
- (c) 2026 Accenture
Miscellaneous
- Logo
- Fix PMD warnings and improve code quality
- Rename license temporarily
- Restore canonical LICENSE filename
- Remove duplicate imports
Refactoring
- Decompose MethodAtlasApp, harden build, fix compiler warnings
- Extract CliArgs, CliConfig, ManualMode to dedicated classes
- Replace fatJar with standard application distribution layout
Tests
- Add missing unit tests and upgrade all test quality to professional standard
- Add AnthropicClientTest to fix 0% JaCoCo coverage on AnthropicClient
- Improve branch coverage for applyYamlAiConfig, processFile, processFileForPrepare, resolveTaxonomyInfo
Upgrade
- Gradle 9.4.0