app update from upstream