As for now it is necessary to set axis_y/y2_min if zerobased is false, because without setting axis_y/y2_min it would render the area/gradient the way like it was before the changes in https://github.com/naver/billboard.js/commit/a47a8290b59c579610ba1ffdd4a3916a8f975a71.
This changes seem to negatively affect the rendering of the area/bar columns.
The code in the jsfiddle example below renders the chart like this:

data1 is bound to y-axis and data2 is bound to y2-axis.
axis_y/y2_min is set to -1000 and axis_y/y2_max is set to 1000.
Before the commit the chart would be rendered like this:

As you can see in the first picture, it doesn't really make sense to render the bars from axis_y2_min to the value of the column. It should render like in the second picture from 0 to the value of the column.
In this case, it should always start rendering area/bar from 0 to the column value.
I modified your example from https://github.com/naver/billboard.js/issues/1302#issuecomment-608390067 in [this](https://jsfiddle.net/michkami/don7bqts/) fiddle, and as you can see, it starts to draw the area from axis_y_min to the value of the column, which is wrong in my opinion.
Woultn't it make more sense to make the rendering of the area/bar independent from axis_y/y2_min?
If zerobased is true, it works properly, as long as axis_y/y2_min is not set. If zerobased is false, wouldn't it be possible to scale the column values from the rendered axis_y/y2_min and axis_y/y2_max?
Like in this example from 1900 to 3000.

Thanks for the report. Side-effect caused by #1304 and needs to be reverted.
:tada: This issue has been resolved in version 1.12.4 :tada:
The release is available on:
Your semantic-release bot :package::rocket: