(no major updates with WS2019) SP1 introduced Dynamic Memory for Hyper-V. Dynamic Memory is a feature that lets Hyper-V balance memory automatically among running virtual machines. This feature adjusts the amount of memory available to the virtual machines in response to the needs of the virtual machine, based on values that you specify resulting in higher virtual machine consolidation ratios.
New in WS 2012 R2 is the support for Linux guest - supported Linux operating systems with updated integration services take advantage of Dynamic Memory the same way as virtual machines running Windows Server.
In Server 2012 / R2 Dynamic Memory has the following configuration item, minimum memory that lets Hyper-V reclaim the unused memory from the virtual machines (resulting in increased virtual machine consolidation numbers, especially in VDI environments where many vims can be idle).
Server 2012 also introduced Hyper-V Smart Paging - if a virtual machine has a smaller amount of memory than its startup memory and it is restarted, Hyper-V needs additional memory to restart the machine. Due to host memory pressure or virtual machines states, Hyper-V may not always have additional memory available potentially causing sporadic virtual machine restarts. Smart paging uses disk resources as additional, temporary memory when more memory is required to restart a virtual machine.
Additionally with Server 2012 / R2, you can change the maximum memory amount and apply that change while the virtual machine is running.