- Add open source licenses and attributions to docs/OPEN_SOURCE_LICENSES.md.
- Update docs/INDEX.md and README.md with links.
- Install gh and vercel CLI tools for task automation.
- Create docs/OPEN_SOURCE_LICENSES.md with Apache, Blue Oak, BSD, and Python licenses.
- Add specific component attributions for abab, esquery, hoek, topo, hoist-non-react-statics, object-schema, and joi.
- Complete truncated BSD license for joi 17.13.3.
- Update docs/INDEX.md and README.md with links to the new licenses file.
- Adds a "Copy" button to "Fly.io App" and "Telegram Bot" status items in `index.html` and `dashboard/index.html`.
- Updates `scripts/web_dashboard.py` to include these status rows with the same copy functionality, ensuring consistency across all dashboard views.
- Implements visual feedback (icon changes to checkmark) and accessibility support (aria-labels) for the copy action.
- Uses inline SVG icons to avoid external dependencies.
- Verified with Playwright and existing tests.
- Replaced `markdown.markdown()` shortcut with reused `markdown.Markdown` instance via `threading.local`.
- Reduced parsing overhead by eliminating re-initialization on every call.
- Verified with unit tests and benchmark (~10% speedup).
Related to performance improvements for dashboard responsiveness.
- Implemented 1-second cache for TERMINAL_TRADE_ALLOWED and MQL_TRADE_ALLOWED
- Pre-calculated trading hour bounds in seconds during OnInit
- Optimized time filtering using fast modulo arithmetic (now % 86400)
- Optimized daily reset logic to avoid expensive TimeToStruct conversions
- Improved OnTick execution speed and reduced terminal API overhead
- Added Forgejo remote (forge.mql5.io)
- Created config/vault.json with MT5 credentials
- Created docs/ACCOUNT_UPDATE_2026.md for easy access to MT5 deep link
- Updated EXNESS_ACCOUNT_SETUP.txt with the latest credentials link
- Created RUN-GOOGLE-DRIVE-SETUP.bat for Windows users
- Created scripts/google_drive_setup.sh for Linux/WSL users
- Updated scripts/knowledge_base_helper.py to include Google Drive resources
- Documented Google Drive streaming mode in docs/KNOWLEDGE_BASE_INTEGRATION.md
- Verified repository stability with validation and integration tests
- Downloaded and configured act_runner v0.2.10
- Registered and started runner with forge.mql5.io
- Updated TASK_STATUS.md with runner active status
- Verified CI/CD jobs are being picked up by the runner
- Attempted to pull from Forge repository (auth failed)
- Validated repository and ran automation tests
- Downloaded and configured act_runner v0.2.10
- Registered runner with forge.mql5.io using provided token
- Started runner daemon in background
- Verified runner is processing tasks from the Forge
- Attempted to pull from Forge repository (authentication failed)
- Validated repository and ran automation tests
- Added .github/workflows/gitlab-sync.yml for automated synchronization.
- Fixed scripts/setup_gitlab_runner.sh with the provided runner authentication token.
- Finalized .gitlab-ci.yml and docs/GITLAB_INTEGRATION.md.
Implemented performance optimizations in `SMC_TrendBreakout_MTF_EA.mq5`:
- Pre-calculate constants in `OnInit` to avoid redundant divisions and math in `OnTick`.
- Optimize `NormalizeLots` to use multiplication by a cached inverse `G_INV_VOL_STEP`.
- Consolidate risk and point-value math into cached multipliers (`g_riskMultiplier`, `g_lotValuePerUnit`).
- Use pre-calculated SL/TP buffers (`g_swingSLBuffer`, `g_fixedSL`, `g_fixedTP`) in the execution path.
These changes reduce CPU overhead during rapid market ticks without altering trading logic.
Improved memory efficiency in `scripts/ci_validate_repo.py` by replacing
`read_bytes()` with chunked binary reading (64KB) for NUL byte detection.
This prevents loading entire source files into memory during CI runs.
- Bump version to 1.22.0 in VERSION and mt5/MQL5/Experts/SMC_TrendBreakout_MTF_EA.mq5
- Update CHANGELOG.md with recent security, performance, and accessibility improvements
- Add RELEASE_NOTES_v1.22.0.md summarizing the release highlights
- Verify repository and automation tests (all pass)