CiviEvent : display future and past events
The CiviCRM HTML listing URL may help.

By default this displays all current and upcoming events that are active and have been set to public –

/civicrm/event/ical?reset=1&amp;list=1&amp;html=1

You can add parameters to this URL to filter by dates and event types –

This example will display events that start from 1st Jan 2019 -

/civicrm/event/ical?reset=1&amp;list=1&amp;html=1&amp;start=20190101

This example will display events of type conference (type=1 is the ID of event type Conference)-

/civicrm/event/ical?reset=1&amp;list=1&amp;html=1type=1

This example will display events of type conference AND with a start date >= 1st Jan 2019 –

/civicrm/event/ical?reset=1&amp;list=1&amp;html=1&amp;start=20190101&amp;type=1

You can use the end date parameter to display past events, for example, this link will display all events that were held in 2018 -

/civicrm/event/ical?reset=1&amp;list=1&amp;html=1&amp;start=20180101&amp;end=20181231

Downsides without any development –

The title of all the pages will display as Current and Upcoming events even if you are displaying past events. 

You can’t remove/add/reorder the columns.