A list of upgrades applied to V2 "under the hood" is added below:
Support for new & complex Strategies
Spool V1: Spool V1 suffered when it came to the ability to include new Strategies due to limitations with the implementation of a new Strategy.
Spool V2: Spool V2 is much more robust when it comes to the implementation of new and complex Strategies, the limitations for the implementation of a given Strategy have also been significantly reduced.
Support for customized Entry & Exit conditions
Spool V1: The core infrastructure of Spool V1 did not support conditions on Entry and Exit of a Smart Vault
Spool V2: Spool V2 launches with the implementation of "Guards and Actions", both are public facing features (detailed here: Vault Gating, Vault Actions) which allow Vault Creators to set conditions for Entry & Exit for a given Smart Vault. On top of setting these conditions, custom requirements can easily be developed and implemented
Support for multi-stage DoHardWorks
Spool V1: DoHardWorks were synchronous, this meant that every Strategy had to comply with DoHardWork requirements as well as every Strategy had to get its respective DoHardWork called in the same block, a costly and inefficient implementation
Spool V2: Spool V2 supports Asynchronous DoHardWork Function Calls, allowing every Strategy to be "DoHardWorked" when desired. The Asynchronous Implementation allows for more composability when it comes to which Strategies can be included in the Spool Ecosystem as well as higher operational efficiency and lower cost-overhead for the DAO