# Changelog

This changelog is generated automatically from [GitHub Releases](https://github.com/sim-tools/sim-tools/releases).


# v1.3.0

*2026-06-24* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/1.3.0)


## v1.3.0

Bug fix for [DistributionRegistry](reference/time_dependent.DistributionRegistry.html#sim_tools.time_dependent.DistributionRegistry), new documentation with `great-docs`, and code formatting and linting with `ruff`.


### Added

- Add `great-docs` documentation site. This included changes to user guide, with switch from `.ipynb` to `.qmd`.
- Add `ruff` and `great-docs` to environment.
- Add `dev` to `pyproject.toml` and use in CI/CD.
- Add `CONTRIBUTING.md`.
- Add GitHub action to lint code.


### Changed

- Formated and linted with `ruff format` and `ruff check --fix`.


### Fixed

- Fixed [NSPPThinning](reference/time_dependent.NSPPThinning.html#sim_tools.time_dependent.NSPPThinning) bug when used with [DistributionRegistry](reference/time_dependent.DistributionRegistry.html#sim_tools.time_dependent.DistributionRegistry) (wasn't assigning random seed) - and add regression tests for this bug.


# v1.2.0

*2026-06-04* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v1.2.0)

Bug fixes for [DistributionRegistry](reference/time_dependent.DistributionRegistry.html#sim_tools.time_dependent.DistributionRegistry) and [DiscreteEmpirical](reference/distributions.DiscreteEmpirical.html#sim_tools.distributions.DiscreteEmpirical), and tests for [DistributionRegistry](reference/time_dependent.DistributionRegistry.html#sim_tools.time_dependent.DistributionRegistry).


### Added

- Add tests for [DistributionRegistry](reference/time_dependent.DistributionRegistry.html#sim_tools.time_dependent.DistributionRegistry).


### Fixed

- Add [NSPPThinning](reference/time_dependent.NSPPThinning.html#sim_tools.time_dependent.NSPPThinning) to [DistributionRegistry](reference/time_dependent.DistributionRegistry.html#sim_tools.time_dependent.DistributionRegistry) (as it was missing).
- [CombinationDistribution](reference/distributions.CombinationDistribution.html#sim_tools.distributions.CombinationDistribution) now allows distributions to be be passed either as positional arguments (original behaviour) or via the `dists` keyword argument (new behaviour). This fixes it for [DistributionRegistry](reference/time_dependent.DistributionRegistry.html#sim_tools.time_dependent.DistributionRegistry), which requires keyword form for creating instances.
- Amended random seed assignment in [DistributionRegistry](reference/time_dependent.DistributionRegistry.html#sim_tools.time_dependent.DistributionRegistry), which fixes it so it can now work with [TruncatedDistribution](reference/distributions.TruncatedDistribution.html#sim_tools.distributions.TruncatedDistribution), [CombinationDistribution](reference/distributions.CombinationDistribution.html#sim_tools.distributions.CombinationDistribution), [FixedDistribution](reference/distributions.FixedDistribution.html#sim_tools.distributions.FixedDistribution) and [NSPPThinning](reference/time_dependent.NSPPThinning.html#sim_tools.time_dependent.NSPPThinning) (as none of these require `random_seed`).
- [DiscreteEmpirical](reference/distributions.DiscreteEmpirical.html#sim_tools.distributions.DiscreteEmpirical) fixed to work with different inputs (as for index or series, it would fail to run [sample()](reference/distributions.Beta.html#sim_tools.distributions.Beta.sample) without a specified `size=` argument).


# v1.1.0

*2026-04-29* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v1.1.0)

Add support for nested dictionaries in [DistributionRegistry](reference/time_dependent.DistributionRegistry.html#sim_tools.time_dependent.DistributionRegistry).


### Added

- [DistributionRegistry](reference/time_dependent.DistributionRegistry.html#sim_tools.time_dependent.DistributionRegistry) now accepts dictionaries from a nested configuration, and can return these in the nested structure if set `preserve_structure=True`.


# v1.0.4

*2026-04-25* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v1.0.4)

Fix to [NSPPThinning](reference/time_dependent.NSPPThinning.html#sim_tools.time_dependent.NSPPThinning) sampling approach.


### Fixed

- [NSPPThinning.sample()](reference/time_dependent.NSPPThinning.html#sim_tools.time_dependent.NSPPThinning.sample) fixed so that `t` falls into the the time interval where the candidate arrival will occur. This allows the correct acceptance probability to be used. Prior to this fix t was occuring in the *current* time interval.


### Changed

- **NSPPThinning** now pre-computes the acceptance probabilities on initialisation. This is means that there are no repeated calculations (divisions) during a simulation run and lookup via `numpy` rather than `pandas`.
- **NSPPThinning** now validates the `data` parameter: is it a `DataFrame (`TypeError`), does it contain the correct columns (`ValueError`), and is it empty/have more than 1 row (`ValueEror\`) .


# v1.0.3

*2026-01-21* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v1.0.3)


### Changed

- Switched to trusted publishing for PyPI
- Migrated repository from tommonks personal to sim-tools organisation
- Updated package URLS.


# v1.0.2a

*2026-01-21* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v1.0.2a)


## Fixed

- Bump patch number.


# v1.0.2

*2026-01-21* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v1.0.2)


### Fixed

- **Publish to PyPI**: Github action to publish to pypi modified to use release/v1 (prior version was sunsetted).


# v1.0.1

*2026-01-07* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v1.0.1)


### Fixed

- **Type Hinting and Pylance Support**: Adjusted type hinting within `[@register](https://github.com/register)` decorator to enable display of docstrings, hover hints and argument suggestions.


# v1.0.0

*2025-11-04* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v1.0.0)


## v1.0.0

v1.0.0 centres on **multi-metric support** - [confidence_interval_method](reference/output_analysis.confidence_interval_method.html#sim_tools.output_analysis.confidence_interval_method) and [ReplicationsAlgorithm](reference/output_analysis.ReplicationsAlgorithm.html#sim_tools.output_analysis.ReplicationsAlgorithm) can now analyse multiple metrics at once, driving changes to syntax (explicit `metrics` argument), adapter formats, defaults, docs, plotting, and tests to support the new capability.


### Added

- **Multi-metric support:** Both [confidence_interval_method](reference/output_analysis.confidence_interval_method.html#sim_tools.output_analysis.confidence_interval_method) and [ReplicationsAlgorithm](reference/output_analysis.ReplicationsAlgorithm.html#sim_tools.output_analysis.ReplicationsAlgorithm) can now process multiple metrics at once. Algorithm now requires explicit `metrics argument` and new adapter format (⚠ breaking change).
- **Plot improvement:** [plotly_confidence_interval_method](reference/output_analysis.plotly_confidence_interval_method.html#sim_tools.output_analysis.plotly_confidence_interval_method) now uses shaded confidence intervals (dashed still available).
- **Documentation:** Add a dedicated page on [confidence_interval_method](reference/output_analysis.confidence_interval_method.html#sim_tools.output_analysis.confidence_interval_method).
- **Testing:** New tests added following multiple metrics changes.


### Changed

- **Defaults:** The default for `desired_precision` in [confidence_interval_method](reference/output_analysis.confidence_interval_method.html#sim_tools.output_analysis.confidence_interval_method) is now 0.1 (was 0.05) for consistency with [ReplicationsAlgorithm](reference/output_analysis.ReplicationsAlgorithm.html#sim_tools.output_analysis.ReplicationsAlgorithm).
- **Protocols:** Updated [ReplicationsAlgorithmModelAdapter](reference/output_analysis.ReplicationsAlgorithmModelAdapter.html#sim_tools.output_analysis.ReplicationsAlgorithmModelAdapter) and add [AlgorithmObserver](reference/output_analysis.AlgorithmObserver.html#sim_tools.output_analysis.AlgorithmObserver) to accommodate the new required format (more complex than [ReplicationObserver](reference/output_analysis.ReplicationObserver.html#sim_tools.output_analysis.ReplicationObserver)).
- **Documentation:** Updated the algorithm documentation for the new syntax (e.g. new treat-sim adapter), and moved `treat-sim` description to its own page to avoid repetition.
- **Docstrings:** Improvements in `output_analysis.py`.
- **Testing:** Amended to work with new syntax/logic of replications methods.
- **Linting:** Linting several files.


### Fixed

- **Algorithm:** Now adjusts result if solution was found within initial replications.


# v0.10.0

*2025-08-06* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v0.10.0)


### Added

- Add `sort` argument to [DistributionRegistry.create_batch()](reference/time_dependent.DistributionRegistry.html#sim_tools.time_dependent.DistributionRegistry.create_batch) for dict inputs, ensuring deterministic results if the config key order changes.
- Add `_validate_and_create()` to [DistributionRegistry](reference/time_dependent.DistributionRegistry.html#sim_tools.time_dependent.DistributionRegistry) which checks that the distribution configurations are dictionaries with only two keys: "class_name" and "params".
- Add tests for the new `sort` argument and `_validate_and_create()` method.


### Changed

- Some linting of `_validation.py`, `time_dependent.py`, `distributions.py` and `trace.py`.


# v0.9.1

*2025-08-01* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v0.9.1)


### Added

- Add unit tests for all distributions which check it uses the base class, data types and sample size are correct, that the sample mean looks right, and that the random seed is working. Some similar tests existed, but they did not cover all distributions.
- Add some specific tests for [Lognormal](reference/distributions.Lognormal.html#sim_tools.distributions.Lognormal) and [DiscreteEmpirical](reference/distributions.DiscreteEmpirical.html#sim_tools.distributions.DiscreteEmpirical).
- Add back tests for all distributions (which check that new samples are equal to those generated previously, when random seed controlled).


### Changed

- Adjusted docstrings to use a more consistent NumPy style.
- Some linting of `distributions.py`.


### Fixed

- [DiscreteEmpirical](reference/distributions.DiscreteEmpirical.html#sim_tools.distributions.DiscreteEmpirical) - now allows any type of data to be included. For example, str, as well as numeric value.


# v0.9.0

*2025-04-21* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v0.9.0)


### Added

- [distributions.DistributionRegistry](reference/time_dependent.DistributionRegistry.html#sim_tools.time_dependent.DistributionRegistry) - for batch creation of standard distributions from a dictionary or list.  
- DOCS: [DistributionRegistry](reference/time_dependent.DistributionRegistry.html#sim_tools.time_dependent.DistributionRegistry) explanation and examples including use of JSON to store configs.
- [distributions.spawn_seeds](reference/distributions.spawn_seeds.html#sim_tools.distributions.spawn_seeds) function to support creation of PRNG streams.
- [Hyperexponential](reference/distributions.Hyperexponential.html#sim_tools.distributions.Hyperexponential) - A continuous probability distribution that is a mixture (weighted sum) of exponential distributions. It has a higher coefficient of variation than a single exponential distribution, making it useful for modeling highly variable processes or heavy-tailed phenomena.
- [RawContinuousEmpirical](reference/distributions.RawContinuousEmpirical.html#sim_tools.distributions.RawContinuousEmpirical) - A distribution that performs linear interpolation between data points according to the algorithm described in Law & Kelton's "Simulation Modeling and Analysis".
- `sim_tools._validation`: internal module that contains common validation routines for `sim_tools` functions and classes. [\#33](https://github.com/sim-tools/sim-tools/issues/33)
- All distribution classes updated to include validation of input parameters. [\#33](https://github.com/sim-tools/sim-tools/issues/33)
- DOCS: Dedicated page for using empirical distributions.


### Changed

- [Distribution](reference/distributions.Distribution.html#sim_tools.distributions.Distribution) changed from abstract base class to `Protocol`. All inheritance removed from concrete classes. [\#37](https://github.com/sim-tools/sim-tools/issues/37)  
- Added [__repr__()](reference/time_dependent.NSPPThinning.html#sim_tools.time_dependent.NSPPThinning.__repr__) to all distribution classes.
- DOCS: improved docstrings for all distribution classes
- BREAKING: `Discrete` -\> [DiscreteEmpirical](reference/distributions.DiscreteEmpirical.html#sim_tools.distributions.DiscreteEmpirical)
- BREAKING: `RawEmpirical` -\> [RawDiscreteEmpirical](reference/distributions.RawDiscreteEmpirical.html#sim_tools.distributions.RawDiscreteEmpirical)
- BREAKING: `ContinuousEmpirical` -\> GroupedContinuousEmpirical\`. To clarify the purpose of the empirical distribution
- BREAKING: [NSPPThinning](reference/time_dependent.NSPPThinning.html#sim_tools.time_dependent.NSPPThinning): class now only requires "mean_iat" column in `data`. Acceptance/rejection calculated using \\iat\_{min} / iat(t)\\


### Fixed

- [Gamma](reference/distributions.Gamma.html#sim_tools.distributions.Gamma) fix of the calculation of the mean based on alpha and beta.
- [GroupedContinuousEmpirical](reference/distributions.GroupedContinuousEmpirical.html#sim_tools.distributions.GroupedContinuousEmpirical): silent bug when `u` selects the first group. Interpolation did not work correctly and sampled out of range. This now been handled by logic pre-sample.
- [NSPPThinning](reference/time_dependent.NSPPThinning.html#sim_tools.time_dependent.NSPPThinning): removed redundant outer loop from sampling.


# v0.8.0

*2025-03-17* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v0.8.0a)


### Added

- Add `simpy` and `treat-sim` to the environment, as these were required in the notebooks in `docs/`.
- Add `nbqa` and `pylint` to the environment for linting, plus a relevant files `lint.sh` and `.pylintrc`.
- Add tests for `output_analysis` functions (functional, unit and back tests).
- Add validation of parameters in [ReplicationsAlgorithm](reference/output_analysis.ReplicationsAlgorithm.html#sim_tools.output_analysis.ReplicationsAlgorithm).
- Add validation of data type in [OnlineStatistics](reference/output_analysis.OnlineStatistics.html#sim_tools.output_analysis.OnlineStatistics).


### Changed

- Simplified distribution value type tests to a single test where possible using `pytest.mark.parametrize`.
- Linted `.py` and `.ipynb` files using `pylint` (most addressed, some remain unresolved).
- Provided advice on tests, building docs and linting in the `README.md`.
- `00_front_page.md` now just imported `README.md` (reducing duplication, and keping it up-to-date).


### Removed

- Removed duplicate `sw21_tutorial.ipynb`.


### Fixed

- Within [confidence_interval_method](reference/output_analysis.confidence_interval_method.html#sim_tools.output_analysis.confidence_interval_method), convert data provided to [OnlineStatistics](reference/output_analysis.OnlineStatistics.html#sim_tools.output_analysis.OnlineStatistics) to `np.array` so that it is actually used to update the class (when before, it was not, as it was a list).


# v0.8.0

*2025-03-17* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v0.8.0)


### Added

- Add `simpy` and `treat-sim` to the environment, as these were required in the notebooks in `docs/`.
- Add `nbqa` and `pylint` to the environment for linting, plus a relevant files `lint.sh` and `.pylintrc`.
- Add tests for `output_analysis` functions (functional, unit and back tests).
- Add validation of parameters in [ReplicationsAlgorithm](reference/output_analysis.ReplicationsAlgorithm.html#sim_tools.output_analysis.ReplicationsAlgorithm).
- Add validation of data type in [OnlineStatistics](reference/output_analysis.OnlineStatistics.html#sim_tools.output_analysis.OnlineStatistics).


### Changed

- Simplified distribution value type tests to a single test where possible using `pytest.mark.parametrize`.
- Linted `.py` and `.ipynb` files using `pylint` (most addressed, some remain unresolved).
- Provided advice on tests, building docs and linting in the `README.md`.
- `00_front_page.md` now just imported `README.md` (reducing duplication, and keping it up-to-date).


### Removed

- Removed duplicate `sw21_tutorial.ipynb`.


### Fixed

- Within [confidence_interval_method](reference/output_analysis.confidence_interval_method.html#sim_tools.output_analysis.confidence_interval_method), convert data provided to [OnlineStatistics](reference/output_analysis.OnlineStatistics.html#sim_tools.output_analysis.OnlineStatistics) to `np.array` so that it is actually used to update the class (when before, it was not, as it was a list).


# v0.7.1

*2025-02-10* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v0.7.1)


### Fixed

- Patched [ReplicationsAlgorithm](reference/output_analysis.ReplicationsAlgorithm.html#sim_tools.output_analysis.ReplicationsAlgorithm) look ahead will now correctly use `_klimit()` to calculate extra no. replications to run.


# v0.7.0

*2025-02-07* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v0.7.0)


### Added

- `output_analysis` module - focussed at the moment on selecting the number of replications
- [ReplicationsAlgorithm](reference/output_analysis.ReplicationsAlgorithm.html#sim_tools.output_analysis.ReplicationsAlgorithm) that implements the automated approach to selecting the number of replications for a single performance measures.
- [ReplicationsAlgorithmModelAdapter](reference/output_analysis.ReplicationsAlgorithmModelAdapter.html#sim_tools.output_analysis.ReplicationsAlgorithmModelAdapter) - a `Protocol` to adapt any model to work with with [ReplicationsAlgorithm](reference/output_analysis.ReplicationsAlgorithm.html#sim_tools.output_analysis.ReplicationsAlgorithm)
- [confidence_interval_method](reference/output_analysis.confidence_interval_method.html#sim_tools.output_analysis.confidence_interval_method) - select the number of replication using the classical confidence interval method
- [plotly_confidence_interval_method](reference/output_analysis.plotly_confidence_interval_method.html#sim_tools.output_analysis.plotly_confidence_interval_method) - visualise the confidence interval method using plotly.
- [ReplicationObserver](reference/output_analysis.ReplicationObserver.html#sim_tools.output_analysis.ReplicationObserver) a `Protocol` for observering the replications algorithm
- [ReplicationTabulizer](reference/output_analysis.ReplicationTabulizer.html#sim_tools.output_analysis.ReplicationTabulizer) record replications algorithm in a pandas dataframe.
- Documentation for [ReplicationsAlgorithm](reference/output_analysis.ReplicationsAlgorithm.html#sim_tools.output_analysis.ReplicationsAlgorithm)


### Updated

- `sim-tools` dev conda environment now pip installs local python package in editable model.


# v0.6.1

*2024-07-30* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v0.6.1)


### Fixed

- BUILD: added `rich` library.


### Removed

- BUILD: `scipy` Dependency


# v0.6.0

*2024-07-29* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v0.6.0)


### Added

- Added [nspp_plot](reference/time_dependent.nspp_plot.html#sim_tools.time_dependent.nspp_plot) and [nspp_simulation](reference/time_dependent.nspp_simulation.html#sim_tools.time_dependent.nspp_simulation) functions to `time_dependent` module.
- DOCS: added [nspp_plot](reference/time_dependent.nspp_plot.html#sim_tools.time_dependent.nspp_plot) and [nspp_simulation](reference/time_dependent.nspp_simulation.html#sim_tools.time_dependent.nspp_simulation) examples to time dependent notebook
- DOCS: simple trace notebook


### Changed

- BREAKING: to prototype trace functionality. config name -\> class breaks with v0.5.0


### Fixed

- THINNING: patched compatibility of thinning algorithm to work with numpy \>= v2. `np.Inf` -\> `np.inf`


# v0.5.0

*2024-06-21* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v0.5.0)


### Added

- EXPERIMENTAL: added [trace](reference/trace.Traceable.html#sim_tools.trace.Traceable.trace) module with [Traceable](reference/trace.Traceable.html#sim_tools.trace.Traceable) class for colour coding output from different processes and tracking individual patients.


### Fixed

- DIST: fix to [NSPPThinning](reference/time_dependent.NSPPThinning.html#sim_tools.time_dependent.NSPPThinning) sampling to pre-calcualte mean IAT to ensure that correct exponential mean is used.
- DIST: normal distribution uses minimum value instead of resampling on negative value.


# v0.4.0

*2024-04-17* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v0.4.0)


## Changes

- BUILD: Dropped legacy `setuptools` and migrated package build to `hatch`
- BUILD: Removed `setup.py`, `requirements.txt` and `MANIFEST` in favour of `pyproject.toml`


# v0.3.3

*2024-02-07* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v0.3.3)


## PATCH:

- PATCH: `distributions.Discrete` was not returning numpy arrays.


# v0.3.2

*2024-02-06* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v0.3.2)


## PATCH:

- Update Github action to publish to pypi. Use setuptools instead of build


# v0.3.1

*2024-02-06* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v0.3.1)


## PATCH:

- PYPI has deprecated username and password. PYPI Publish Github action no works with API Token


# v0.3.0

*2024-02-06* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v0.3.0)


## Changes:

- Distributions classes now have python type hints.
- Added distributions and time dependent arrivals via thinning example notebooks.
- Added `datasets` module and function to load example NSPP dataset.
- Distributions added
  - Erlang (mean and stdev parameters)
  - ErlangK (k and theta parameters)
  - Poisson
  - Beta
  - Gamma
  - Weibull
  - PearsonV
  - PearsonVI
  - Discrete (values and observed frequency parameters)
  - ContinuousEmpirical (linear interpolation between groups)
  - RawEmpirical (resample with replacement from individual X's)
  - TruncatedDistribution (arbitrary truncation of any distribution)
- Added sim_tools.time_dependent module that contains [NSPPThinning](reference/time_dependent.NSPPThinning.html#sim_tools.time_dependent.NSPPThinning) class for modelling time dependent arrival processes.
- Updated test suite for distributions and thinning
- Basic Jupyterbook of documentation.


# v0.2.1

*2023-11-23* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v0.2.1)


## Changes


### Patches

- Modified Setup tools to avoid numpy import error on build.
- Updated github action to use up to date actions.


# v0.2.0

*2023-11-23* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v0.2.0)

- Added `sim_tools.distribution` module. This contains classes representing popular sampling distributions for Discrete-event simulation. All classes encapsulate a `numpy.random.Generator` object, a random seed, and the parameters of a sampling distribution.

- Python has been updated, tested, and patched for 3.10 and 3.11 as well as numpy 1.20+

- Minor linting and code formatting improvement.


# v0.1.4

*2021-07-05* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v0.1.4)

v0.1.3 broke `ovs.indifference_zone` due to name change of function (imported but not used). This dependency has been removed.


# v.0.1.3

*2021-07-05* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v0.1.3)

fix for spelling mistake in `ovs.toy_models` functions that create sequences of Gaussian models. guassian -\> gaussian


# v0.1.2

*2021-03-17* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v0.1.2)

Minor updates to SW21 tutorial sim_tools.ovs.toy_model.ManualOptimiser updated. .sigmas -\> vars


# v0.1.1

*2021-02-21* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v0.1.1)

Cleaned up readme.md Badge links for OVS to Google Colab. Citation information.


# v0.1.0

*2021-02-20* · [GitHub](https://github.com/sim-tools/sim-tools/releases/tag/v0.1.0)

Initial release.
