### 1.0.0 (2019-03-15) * Released first major version. * Now uses `ScreenRecorder` as top level module. `FFMPEG` is not directly exposed anymore. * The recording modes are now available through `ScreenRecorder::Desktop` and `ScreenRecorder::Window` classes to make the usage (parameters) simpler. * Method parameters are now keywords instead of an `opts` Hash. This means at least Ruby 2.0.0 is required. * `framerate:` is now to be passed through the `advanced` Hash. ### 1.0.0.beta13 (2019-03-15) * Gem will now be renamed to `screen-recorder`. Please refer to Issue [#45](https://github.com/kapoorlakshya/screen-recorder/issues/45) for more information. ### 1.0.0.beta12 (2019-03-12) * Reverted post install message as `screen_recorder` is already taken. ### 1.0.0.beta11 (2019-03-12) * Recording FPS (`framerate`) is defaulted to 15.0. * Gem will soon be renamed to `screen_recorder`. Please refer to Issue [#45](https://github.com/kapoorlakshya/screen-recorder/issues/45) for more information. ### 1.0.0.beta10 (2019-02-05) * Fixed an edge case in Microsoft Windows specific implementation of `WindowTitles#fetch` where processes with mismatching names and window titles, such as process `"Calculator.exe"` with window title `"CicMarshalWnd"`, were omitted ([#35](https://github.com/kapoorlakshya/screen-recorder/issues/35)). This fix also prints a warning when this mismatch occurs. * Fixed bug in Linux specific `WindowTitles#fetch` implementation where the filter by application name logic was removed. This filter is required on Linux here because `wmctrl` returns all open window titles unlike Microsoft Windows where `taskmgr` allows us get window titles by process name. * On Linux, you are now required to provide the `input` as `"desktop"` or a display number, such as `":0.0"`. Run `echo $DISPLAY` to check your display number. * QOL improvements - Type checking of inputs, spec cleanup, added more tests, and fixed rubocop warnings. ### 1.0.0.beta9 (2019-01-22) * :warning: `FFMPEG::RecordingRegions` is now `FFMPEG::WindowTitles`, so the module name is true to the function it provides. * Added support for for a user given path via `FFMPEG#ffmpeg_binary=()`. * Removed Bundler version requirement from gemspec to support all versions. * Implement `#discard` (alias `#delete`) to discard the video file. Useful when your test passes and you want to get rid of the video file. ### 1.0.0.beta8 (2019-01-03) * Fix a bug where the gem was incorrectly configured to be required as `ffmpeg/screenrecorder` instead of `screen-recorder`. * `ScreenRecorder#start` now returns the IO process object in case the user has a use case for it. * `RecordingRegion#fetch` now logs a warning that `x11grab` for Linux does not supporting window recording. * :warning: Parameter `infile` is now `input` to make it more intuitive. ### 1.0.0.beta7 (2018-12-23) * Fix bug in RecorderOptions where an incorrect object was referenced to read the user provided options. ### 1.0.0.beta6 (2018-12-3) * Stopping the screenrecorder now prints the failure reason given by the ffmpeg binary when `#stop` fails (Issue #7). * Log file is now defaulted to `ffmpeg.log` instead of redirecting to nul. * `log_level` now defaults to `Logger::ERROR` instead of `Logger::INFO`. ### 1.0.0.beta5 (2018-11-26) * `Screenrecorder` class is now `ScreenRecorder`. * Add support for Linux. * Now an exception raised if the gem fails to find `ffmpeg`. * Fix a bug where a file named `nul` was created instead of directing the output to `NUL`. * Fix a bug where `RecordingRegions#window_titles` was not returning anything because of missing return keyword.