In Drupal 8 and later, the History module is included in Drupal core. When enabled, the History module records which user has read which content.
This only applies to authenticated users. Entities older than 1 month will always be shown as "read".
There is no UI provided, but history data is exposed to the Views module. You can add history data as a field to show "new" or "updated" node marks. You can also use a filter to only show content that is new or updated.
Issue Queue for 8.x