- 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)
- 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. The upgrade path is to remove this config line and let Kiba use the more modernKiba::StreamingRunner
, which is the default anyway since Kiba v3.0.0 (see #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 has been added for formatting & linting the codebase.
- New:
Kiba.run(job)
can now (instead of a job parameter) take a block to define the job. See #94 for more details.
- Support for Ruby 2.7+ #93. Special thanks to @eregon and @mame for their input.
- Breaking: the
kiba
command line is deprecated to encourage usingKiba.parse
API. See #81 and release notes for details & migration path. - Kiba now defaults to
StreamingRunner
(backward compatible & more powerful engine) #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.
- Transform's
close
can now yield rows. This is useful to write "aggregating transforms", such as sorting, grouping etc. See #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 - thanks @envygeeks for the report.
Please review the release notes if you plan to use the StreamingRunner.
- New (opt-in) StreamingRunner allows class transforms to generate more than one row. See #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 for more information.
close
becomes optional in destinations.- Bumping to 1.0.0 since Kiba is in wide production use.
- 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)
- Add
pre_process
block support
- Initial release