All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- New Examples: Added comprehensive usage examples
c2004_monorepo_demo.py: Large monorepo analysis (21 connect-* modules)ci_cd_integration.py: CI/CD pipeline integration patterns (GitHub Actions, GitLab CI)webhook_notifications.py: Slack, Teams, Discord notifications
- c2004 Integration: Tested and verified with c2004 project at
/home/tom/github/maskservice/c2004 - Enhanced wup.yaml Generation:
wup initnow generates config with:- Metadata header (version, generation date)
- Documentation links (PyPI, GitHub, README)
- Dependencies info (wup version, wupbro optional)
- wupbro section comments with install/run instructions
- Quick start guide in comments
- Configuration Assistant (
wup assistant): Interactive shell assistant for wup.yaml- Auto-detects framework (FastAPI, Flask, Django, Express)
- Auto-detects services from project structure
- Guided setup for services, watch paths, TestQL, web dashboard
- Validation and intelligent suggestions
- Quick mode:
wup assistant --quick --template fastapi
- Fast Anomaly Detection: Alternatives to Playwright for YAML/config monitoring
- Hash-based detection (~1ms per file)
- YAML structure analysis (keys, types, nesting)
- Python AST diff for API changes
- Configure via
anomaly_detection:in wup.yaml
- Browser Notifications (wupbro): Real-time notifications for regression events
- 7 notification types: REGRESSION_NEW, REGRESSION_DIFF, STATUS_TRANSITION, PASS_RECOVERY, ANOMALY_NEW, VISUAL_DIFF_NEW, HEALTH_CHANGE
- Configurable per-type with cooldown and service filtering
- Server-Sent Events (SSE) for instant delivery
- Native Browser Notifications API integration
- Dashboard UI for configuration
- Notification System (wupbro backend):
POST /notifications/subscribe- Create subscriptionGET /notifications/stream- SSE endpoint for real-time notificationsPUT /notifications/subscriptions/{id}- Update configPOST /notifications/test- Send test notification- NotificationManager with event detection and cooldown
- Documentation Suite: Comprehensive docs in
docs/directorydocs/WUP_ASSISTANT.md- Configuration assistant guidedocs/ANOMALY_DETECTION.md- Fast anomaly detection methodsdocs/NOTIFICATIONS.md- Browser notifications setupdocs/TESTQL_INTEGRATION.md- TestQL integration guide
- Package Rename: wup-web → wupbro (dashboard package)
- Renamed folder and all references
- Updated CLI command from
wup-webtowupbro - Updated documentation and environment variables
- Updated README.md with new examples
- Update README.md
- Update uv.lock
- Update README.md
- Update SUMD.md
- Update SUMR.md
- Update project/README.md
- Update project/context.md
- Update app.doql.less
- Update examples/c2004_monorepo_demo.py
- Update examples/testql_demo.py
- Update examples/testql_integration.py
- Update project/analysis.toon.yaml
- Update project/calls.mmd
- Update project/calls.png
- Update project/calls.toon.yaml
- Update project/calls.yaml
- Update project/compact_flow.mmd
- ... and 20 more files
- Update README.md
- Update wup/testql_watcher.py
- Update README.md
- Update uv.lock
- Update README.md
- Update SUMD.md
- Update SUMR.md
- Update project/README.md
- Update project/context.md
- Update app.doql.less
- Update project/analysis.toon.yaml
- Update project/calls.mmd
- Update project/calls.png
- Update project/calls.toon.yaml
- Update project/calls.yaml
- Update project/compact_flow.mmd
- Update project/compact_flow.png
- Update project/duplication.toon.yaml
- Update project/evolution.toon.yaml
- ... and 14 more files
- Update README.md
- Update uv.lock
- Update README.md
- Update SUMD.md
- Update SUMR.md
- Update project/README.md
- Update project/context.md
- Update wup-web/README.md
- Update tests/test_web_client.py
- Update .wup-web/events.jsonl
- Update app.doql.less
- Update project/analysis.toon.yaml
- Update project/calls.mmd
- Update project/calls.png
- Update project/calls.toon.yaml
- Update project/calls.yaml
- Update project/compact_flow.mmd
- Update project/compact_flow.png
- Update project/duplication.toon.yaml
- ... and 31 more files
- Update README.md
- Update tests/test_testql_watcher.py
- Update tests/test_wup.py
- Update examples/testql_integration.py
- Update examples/visual_diff_demo.py
- Update uv.lock
- Update wup/config.py
- Update README.md
- Update uv.lock
- Update wup/cli.py
- Update wup/config.py
- Update wup/models/config.py
- Update wup/testql_watcher.py
- Update wup/visual_diff.py
- Update README.md
- Update uv.lock
- Update README.md
- Update SUMD.md
- Update SUMR.md
- Update docs/1.md
- Update docs/2.md
- Update docs/3.md
- Update project/README.md
- Update project/context.md
- Update app.doql.less
- Update project/analysis.toon.yaml
- Update project/calls.mmd
- Update project/calls.png
- Update project/calls.toon.yaml
- Update project/calls.yaml
- Update project/compact_flow.mmd
- Update project/compact_flow.png
- Update project/duplication.toon.yaml
- Update project/evolution.toon.yaml
- ... and 9 more files
- Update README.md
- Update tests/test_testql_watcher.py
- Update uv.lock
- Update wup/core.py
- Update wup/testql_watcher.py
- Update README.md
- Update SUMD.md
- Update SUMR.md
- Update project/README.md
- Update project/context.md
- Update testql-scenarios/generated-cli-tests.testql.toon.yaml
- Update testql-scenarios/generated-from-pytests.testql.toon.yaml
- Update tests/test_testql_watcher.py
- Update app.doql.less
- Update project.sh
- Update project/analysis.toon.yaml
- Update project/calls.mmd
- Update project/calls.png
- Update project/calls.toon.yaml
- Update project/calls.yaml
- Update project/compact_flow.mmd
- Update project/compact_flow.png
- Update project/duplication.toon.yaml
- ... and 12 more files
- Update README.md
- Update tests/test_e2e.py
- Update tests/test_testql_watcher.py
- Update tests/test_wup.py
- Update wup/config.py
- Update wup/core.py
- Update wup/models/config.py
- Update wup/testql_watcher.py
- Update README.md
- Update examples/fastapi-app/README.md
- Update examples/flask-app/README.md
- Update tests/test_e2e.py
- Update examples/fastapi-app/Dockerfile
- Update examples/fastapi-app/app/init.py
- Update examples/fastapi-app/app/users/init.py
- Update examples/fastapi-app/app/users/routes.py
- Update examples/fastapi-app/main.py
- Update examples/fastapi-app/requirements.txt
- Update examples/fastapi-app/wup.yaml
- Update examples/flask-app/Dockerfile
- Update examples/flask-app/app/init.py
- Update examples/flask-app/app/auth/init.py
- ... and 21 more files
- Update README.md
- Update tests/test_wup.py
- Update wup.yaml
- Update wup/core.py
- Update CHANGELOG.md
- Update README.md
- Update testql-deps.json
- Update VERSION
- Update wup.yaml
- Update wup.yaml.example
- Update wup/init.py
- Update wup/cli.py
- Update wup/config.py
- Update wup/core.py
- Update wup/dependency_mapper.py
- Update wup/models/config.py
- Update wup/testql_discovery.py
- Service Coincidence Detection: Added automatic detection of related services (e.g., shell <-> web)
- Auto-detection for Services: Made service paths optional - WUP auto-detects files by service name
- Service Type Classification: Added
typefield to services (web/shell/auto) for coincidence detection - Coincidence Detection Methods: Added
detect_service_coincidences()and_services_share_domain()to WupWatcher
- ServiceConfig: Made
rootandpathsoptional, addedtypefield - Config Loader: Updated to handle optional service fields and type classification
- Infer Service: Enhanced to auto-detect service files when paths are empty
- Simplified Configuration: Service config no longer requires manual path mapping
- Updated wup.yaml.example with simplified service configuration examples
- Updated README with auto-detection and coincidence detection documentation
- TestQL Endpoint Discovery: Added automatic endpoint discovery from TestQL scenario files
- testql_discovery Module: New module to extract API endpoints from .testql.toon.yaml files
- CLI Command: Added
wup testql-endpointscommand to discover and map endpoints from TestQL scenarios - DependencyMapper Integration: Added
build_from_testql_scenarios()method to build dependency maps from TestQL - Configuration: Added
endpoint_discoveryfield to TestQLConfig for controlling automatic discovery
- DependencyMapper: Added import for TestQLEndpointDiscovery
- TestQLConfig: Added
endpoint_discoveryboolean field (default: true) - Config Loader: Updated to load
endpoint_discoveryfrom wup.yaml
- Updated wup.yaml.example with endpoint_discovery configuration
- Updated README with testql-endpoints command usage
- Update README.md
- Update CHANGELOG.md
- Update README.md
- Update docs/2.md
- Update docs/3.md
- Update tests/test_testql_watcher.py
- Update tests/test_wup.py
- Update VERSION
- Update wup.yaml.example
- Update wup/init.py
- Update wup/cli.py
- Update wup/config.py
- Update wup/core.py
- Update wup/models/init.py
- Update wup/models/config.py
- Update wup/testql_watcher.py
- Configuration System: Added
wup.yamlconfiguration file support for declarative project setup - Config Models: Added dataclasses for
WupConfig,ServiceConfig,WatchConfig,TestStrategyConfig,TestQLConfig, andNotifyConfig - Config Loader: Added
load_config(),save_config(), andget_default_config()functions for configuration management - CLI Init Command: Added
wup initcommand to generate defaultwup.yamlconfiguration files - Service Configuration: Support for per-service test strategies including scope and endpoint limits
- Watch Configuration: Configurable watch paths and exclude patterns with glob support
- Test Strategy Configuration: Global quick and detail test strategies with debounce, queue, and timeout settings
- TestQL Integration: TestQL-specific configuration including scenario directory and extra args
- Notification Configuration: Per-service notification settings for HTTP and file-based notifications
- Core Watcher: Refactored
WupWatcherto accept and useWupConfiginstead of hardcoded paths - TestQL Watcher: Updated
TestQLWatcherto acceptWupConfigand use configuration values - CLI Commands: Updated all CLI commands to load and use
wup.yamlconfiguration - Service Inference: Enhanced service inference to use configured service paths
- Path Building: Added
build_watched_paths()method to construct watch paths from configuration - Status Command: Enhanced
wup statusto display configuration details alongside dependency map
- Added
pyyaml>=6.0.0for YAML configuration file support
- Update README.md
- Update wup/testql_watcher.py
- Update README.md
- Update wup/core.py
- Update README.md
- Update README.md
- Update docs/1.md
- Update docs/TESTQL_INTEGRATION.md
- Update tests/test_wup.py
- Update .gitignore
- Update deps.json
- Update examples/testql_demo.py
- Update examples/testql_integration.py
- Update wup/init.py
- Update wup/cli.py
- Update wup/core.py
- Update wup/dependency_mapper.py
- Update CHANGELOG.md
- Update README.md
- Update tests/test_wup.py
- Update .gitignore
- Update .idea/.gitignore
- Update VERSION
- Update wup/init.py
- Update wup/core.py
- Update README.md
- Update tests/test_wup.py
- Update policy_blocked.csv
- Update progress.txt
- Update publish.py
- Update publish.txt
- Update pypi_pronounceable.csv
- Update waf/init.py
- Update wup/init.py
- Update wup/core.py
- Update README.md
- Update progress.txt
- Update pypi_pronounceable.csv
- Update README.md
- Update tests/test_waf.py
- Update drug/init.py
- Update progress.txt
- Update publish.txt
- Update pypi_pronounceable.csv
- Update waf/init.py
- Update waf/core.py
- Update README.md
- Update .idea/inspectionProfiles/Project_Default.xml
- Update .idea/inspectionProfiles/profiles_settings.xml
- Update .idea/misc.xml
- Update .idea/modules.xml
- Update .idea/py.iml
- Update .idea/vcs.xml
- Update progress.txt
- Update publish.py
- Update publish.txt
- Update pypi.py
- ... and 1 more files
- Update README.md
- Update tests/test_drug.py
- Update .env.example
- Update .idea/.gitignore
- Update drug/init.py
- Update drug/core.py