Event + year archives only show first month

I get a 404 message when trying to view a year archive (e.g. mysite.com/events/2014/) and there are no events in January but there are some in the rest of the year.

I have had a look at the build_query_args function (in class_eab_collection.php) and it looks like a simple logic bug. The var_dumped wp_query shows that it is only looking at the first month of the year, not the whole thing:

SELECT SQL_CALC_FOUND_ROWS  wp_posts.* FROM wp_posts  INNER JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id )  INNER JOIN wp_postmeta AS mt1 ON ( wp_posts.ID = mt1.post_id )  INNER JOIN wp_postmeta AS mt2 ON ( wp_posts.ID = mt2.post_id ) JOIN wp_postmeta AS eab_meta ON (wp_posts.ID = eab_meta.post_id) WHERE 1=1  AND wp_posts.post_type = 'incsub_event' AND ((wp_posts.post_status = 'publish' OR wp_posts.post_status = 'recurrent')) AND (
  ( wp_postmeta.meta_key = 'incsub_event_start' AND CAST(wp_postmeta.meta_value AS DATETIME) < '2015-02-01 00:00' )
  ( mt1.meta_key = 'incsub_event_end' AND CAST(mt1.meta_value AS DATETIME) >= '2015-01-01 00:00' )
  ( mt2.meta_key = 'incsub_event_status' AND CAST(mt2.meta_value AS CHAR) NOT IN ('closed','expired') )
) AND eab_meta.meta_key='incsub_event_start' GROUP BY wp_posts.ID ORDER BY eab_meta.meta_value ASC LIMIT 0, 500

To fix this I changed line 108 to:

if ($start_month < 12 && isset( $args['event_monthnum'] ) ) {

which just checks to see if we are on a month archive before setting the end date as + 1 month (event_monthnum isn't set on year archives). I understand that this will probably need adjusting for the calendar view.

I also noticed that is_year and is_month always return false so they could perhaps be set at the same time.

Tested on WordPress 4.1, 4.0 plugin 1.8. I have also played around with a blank install.