Skip to content
Peter Keeler edited this page Feb 11, 2021 · 11 revisions

Documentation

OS Notes

In this guide, gradle commands all begin with ./gradlew. That will work on OSX and Linux, but in Windows you will need to run gradlew.bat instead of the gradlew shell script. Just try it without the ./. Everything else should work the same on any OS except where otherwise noted.

Paths in this guide are specified as forward slashes (/), but of course on Windows you may need to use backslashes (\) instead.

Versioning

Arbitrader uses a three segment x.y.z style versioning scheme. SNAPSHOT versions are fluid and can have additional changes added to them until a higher version is created.

Currently there is no fixed method for version bumps since the project is still in early stages of development. It does generally follow some guidelines which are inspired by Semantic Versioning but do not follow it exactly.

The x is a major version. There is no expectation that a later major version is backwards compatible with an earlier one. Major version 0 is to be considered a development version without a formal release schedule and without strict adherence to versioning standards.

The y is a minor version. It typically gets incremented when a large new feature is added.

The z is a bugfix version. It typically gets incremented for minor changes, bug fixes, and other backwards compatible changes.

After Version 0

When Arbitrader gets to major version 1 and higher, the project will adopt a more formal versioning and release cycle. Rather than Semantic Versioning, which is intended for APIs, it is more likely that we will have a release cadence (e.g. once per quarter) where we tag a release off of the master branch with the next non-SNAPSHOT minor version number. Major versions would be incremented on the release cycle when non-compatible changes are included, and bugfixes could be released outside of the release cycle as needed.

Table of Contents

  1. Using Arbitrader
  2. Recommended Configurations
  3. Runtime Controls
  4. Adding New Exchanges
  5. Development Guide
  6. Using XChange SNAPSHOTs