Skip to content

release: Version 0.1.0#5

Merged
impatient0 merged 2 commits intomainfrom
develop
Oct 27, 2025
Merged

release: Version 0.1.0#5
impatient0 merged 2 commits intomainfrom
develop

Conversation

@impatient0
Copy link
Owner

Summary

This pull request marks the first official release of the A-Zero project, version 0.1.0. It merges the stabilized develop branch into main, establishing a baseline version of the framework that includes foundational tooling and a robust development process.

This release encompasses all work completed to date and serves as the official starting point for future development.

Features Included in v0.1.0

  • Data Ingestion Module (a0-data-ingestor):

    • Introduces a standalone CLI tool for downloading historical K-line (candle) data from the Binance API.
    • Supports specifying a symbol, timeframe, and start date.
    • Outputs data to a standardized CSV format, ready for backtesting.
  • Robust Development Process:

    • CI Workflow: Implemented a GitHub Actions workflow to automatically build and test the project on every PR and push to develop and main, ensuring code quality and stability.
    • Project Structure: Established a multi-module Maven project with clear separation of concerns.
    • Open Core Model: Formalized the architecture to distinguish between the open-source framework and private strategy implementations.

This release lays the groundwork for the core backtesting engine and future trading capabilities. Merging this PR will publish the first stable, tagged version of the A-Zero project.

impatient0 and others added 2 commits October 27, 2025 12:08
* feat: scaffold the ci workflow

- Define run conditions, job name and base image

* feat: complete the ci workflow

- Define the job steps:
    1. Checkout code
    2. Set up JDK
    3. Build, test and package

* docs: update the docs to include CI

- Add a brief overview of the workflow to README.md
- Add a more detailed description of CI process to ARCHITECTURE.md

---------

Co-authored-by: Pepe Ronin <ivanpetrovskiy98@gmail.com>
* build: bootstrap the project with initial config

- Set up basic root POM
- Configure .gitignore

* feat(data-ingestor): set up data ingestor module

- Create a0-data-ingestor module
- Set up dependencies & build

* feat(data-ingestor): create initial CLI tool implementation

- Implement the DataIngestor class
- Add Lombok dependency for more concise logging

* test(data-ingestor): add basic unit tests for data ingestor

- Create a constructor that is accessible from the outside for mock injection
- Implement a basic unit test verifying a success scenario

* fix(data-ingestor): replace deprecated methods

- Define CSV header through CSVFormat instead of the deprecated .withHeader() method

* fix(data-ingestor): fix file cleanup on API failures

- Implement "write and rename" pattern to avoid race condition with file creation and API call

* test(data-ingestor): add tests for failure scenarios

- Implement tests covering unsuccessful scenarios: API errors, file write errors, empty API response

* test(data-ingestor): add test verifying temp file cleanup

- Create test verifying that temporary file is cleaned up on API failure
- Add readable names to tests via `@DisplayName`

* build(data-ingestor): configure transformers to handle overlapping resources

- Exclude redundant resources via filters
- Process specialized resources like manifests and licenses with dedicated transformers

* chore: update .gitignore

- Now ignoring dependency-reduced-pom.xml generated by Shade plugin

* docs(data-ingestor): create README.md

- Add a README providing detailed module overview and usage instructions

* docs: update README.md and ARCHITECTURE.md

- Reflect the data-ingestor module status change in ARCHITECTURE.md
- Update project roadmap and "Getting Started" in README.md

---------

Co-authored-by: Pepe Ronin <ivanpetrovskiy98@gmail.com>
@impatient0 impatient0 merged commit ad359d8 into main Oct 27, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant