Merge branches 'sh/core', 'sh/io-overhaul' and 'sh/urgent' into sh-latest