Changes.md

Summary

Maintainability
Test Coverage
4.0.0
-----

- Breaking: Ruby 2.4 (EOL since 2020-03-31) is not officially supported anymore.
- CI changes: moving from Travis CI (EOL) to GitHub actions. The Windows CI has been removed for now (see [#97](https://github.com/thbar/kiba/pull/97))
- Breaking: if your jobs use Kiba's "legacy runner" via `config :kiba, runner: Kiba::Runner`, be aware that this legacy runner has been removed in [#96](https://github.com/thbar/kiba/pull/96). The upgrade path is to remove this config line and let Kiba use the more modern `Kiba::StreamingRunner`, which is the default anyway since Kiba v3.0.0 (see [#83](https://github.com/thbar/kiba/pull/83) for context) and is normally fully backward-compatible.
- Cleanup: in Kiba v3, the `kiba` shell command had been deprecated and replaced by a simple stub printing a warning to STDERR. It is now removed for good.
- [StandardRB](https://github.com/testdouble/standard) has been added for formatting & linting the codebase.

3.6.0
-----

- New: `Kiba.run(job)` can now (instead of a job parameter) take a block to define the job. See [#94](https://github.com/thbar/kiba/pull/94) for more details.

3.5.0
-----

- Support for Ruby 2.7+ [#93](https://github.com/thbar/kiba/pull/93). Special thanks to @eregon and @mame for their input.

3.0.0
-----

- Breaking: the `kiba` command line is deprecated to encourage using `Kiba.parse` API. See [#81](https://github.com/thbar/kiba/pull/81) and release notes for details & migration path.
- Kiba now defaults to `StreamingRunner` (backward compatible & more powerful engine) [#83](https://github.com/thbar/kiba/pull/83).
- Kiba now officially supports MRI Ruby 2.4+ (although 2.3 will still work for now), JRuby 9.2+ or TruffleRuby.
- You may get warnings with Ruby 2.7 and errors with Ruby 2.8+. See [#85] for status on Ruby 3 keyword arguments support.

2.5.0
-----

- Transform's `close` can now yield rows. This is useful to write "aggregating transforms", such as sorting, grouping etc. See [#57](https://github.com/thbar/kiba/pull/57) for more background & explanations.
- Kiba now requires MRI Ruby 2.3+, JRuby 9.1+ or TruffleRuby.
- Fix incorrect error message when calling `transform nil` ([#73](https://github.com/thbar/kiba/pull/73]) - thanks @envygeeks for the report.

2.0.0
-----

Please review the [release notes](https://github.com/thbar/kiba/releases/tag/v2.0.0) if you plan to use the StreamingRunner.

- New (opt-in) StreamingRunner allows class transforms to generate more than one row. See [#44](https://github.com/thbar/kiba/pull/44) for rationale & how to activate.
- Potentially breaking change if you were using the internal class `Kiba::Parser` directly: ETL jobs parsing has been modified to improve the isolation between the evaluation scope and the Kiba classes. See [#46](https://github.com/thbar/kiba/pull/46) for more information.

1.0.0
-----

- `close` becomes optional in destinations.
- Bumping to 1.0.0 since Kiba is in wide production use.

0.6.1
-----

- Bugfix: make sure files generated by `pre_process` can safely be read from constructor of sources [#16]. Thanks @bcherrington for catching this.
- Internal refactoring of processing engine (should not affect regular use)

0.6.0
-----

- Add `pre_process` block support

0.5.0
-----

- Initial release