Release v0.30.17 - "Tactical Tiger"
Release Date: December 03, 2025
Features
- Add Rust zero_angle for long-range zeroing (1000+ yards)
- Replace tests/generated/ with new AI-generated tests
- Add SAAMI spec sheet export for wildcat cartridges (MBA-98) MBA-98
- Add dead code detection using pgvector semantic search
- Add duplicate code detection to semantic search client
- Add multi-project code indexer with Rust support
- Improve exclusion pattern matching with fnmatch
- Add CLI args to scanner for local testing
- Integrate pgvector semantic search into code scanner
- Add incremental checkpoint saving for test generation
- Add rejection tracking to prevent regenerating failed tests
- Add multi-stage quality gate for AI test generation
- Integrate semantic search for finding similar tests
- Add HTTP search server for test orchestrator integration
- Add standalone indexer script for MCP code search
- Add test generator system with git stash workflow and server sync docs
- Add daily/weekly scanner modules with JIRA sync and email reporting
- Add AI code scanner agent with vLLM integration
- Replace Amazon PA-API with Canopy API for product search
- Add recoil calculation API endpoint
Bug Fixes
- Skip tests using legacy Python solver with known zero_angle issues
- Add execute permissions to code scanner cron scripts
- Guard against division by zero in form_factor.py
- Guard against division by zero in 4DOF similarity calculation
- Add division-by-zero guards in bullet_analyzer.py (MBA-229) MBA-229
- Raise exception when zero_angle fails instead of returning 0.0
- Use NaN instead of -999 for trajectory failures in zero_angle
- Create individual JIRA tickets instead of summary tickets
- Handle string type for avg_complexity in semantic search context formatting
- Add conditional imports to all mcp-server modules for direct execution
- Use conditional imports for multi_indexer to support direct execution
- Improve JSON output reliability for code scanner
- Scanner path handling for native vs Docker execution
- Handle absolute paths in scanner tools read_file
- Write test files to generated/ dir during PR creation
- Correct R² assertion in drag synthesis test
- Add disk cleanup step to GitHub Actions workflow
- Re-enable test_bc_segments_interpolation test
- Restore proper Poetry config for full dependency resolution
- Add functions-framework to poetry.lock, bump to v0.30.16
- Add gunicorn dependency for Cloud Run deployment
- Cache test file contents before git stash to prevent loss
- Update .gitignore to allow test files in tests/ directory
- Make run_indexer.py self-contained without relative imports
- Repair context_builder.py syntax and improve file I/O handling in prompts
- Skip test_bc_segments_interpolation due to pre-existing Rust backend issue
- Resolve torch and google-cloud-secret-manager dependency issues
- Implement rifle weight-based recoil multiplier
- Refactor duplicate code and remove duplicate import
- Update version references to 0.30.11
- Move Canopy API key from hardcoded value to environment variable
- Register Amazon affiliate products API endpoint (MBA-164) MBA-164
Documentation
- Fix coordinate system documentation to reflect standard ballistics convention
Chores
- Bump version to 0.30.17
- Replace vLLM references with llama.cpp across code-scanner
- Update submodule, release notes, and llama.cpp migration
- Bump version to 0.30.14 and update ballistics-engine to v0.13.7
- Switch to Ollama with gpt-oss:120b for test generation
- Remove '15-20x performance' marketing text from health endpoint and docs
- Bump version to 0.30.13
- Update ballistics_rust to use ballistics-engine v0.13.3
- Bump version to 0.30.12
- Bump version to 0.30.11
- Bump version to 0.30.7 for MBA-164 recoil calculator deployment MBA-164
Other
- Add generated ML tests and update Ollama documentation (#7)
- Add weekly download report Cloud Function
- hotfix: Remove duplicate products_bp registration causing startup crash (MBA-164)
← All Releases