{"url":"https://api.github.com/repos/stlab/stlab/releases/76414308","assets_url":"https://api.github.com/repos/stlab/stlab/releases/76414308/assets","upload_url":"https://uploads.github.com/repos/stlab/stlab/releases/76414308/assets{?name,label}","html_url":"https://github.com/stlab/stlab/releases/tag/v1.7.0","id":76414308,"author":{"login":"sean-parent","id":2279724,"node_id":"MDQ6VXNlcjIyNzk3MjQ=","avatar_url":"https://avatars.githubusercontent.com/u/2279724?v=4","gravatar_id":"","url":"https://api.github.com/users/sean-parent","html_url":"https://github.com/sean-parent","followers_url":"https://api.github.com/users/sean-parent/followers","following_url":"https://api.github.com/users/sean-parent/following{/other_user}","gists_url":"https://api.github.com/users/sean-parent/gists{/gist_id}","starred_url":"https://api.github.com/users/sean-parent/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sean-parent/subscriptions","organizations_url":"https://api.github.com/users/sean-parent/orgs","repos_url":"https://api.github.com/users/sean-parent/repos","events_url":"https://api.github.com/users/sean-parent/events{/privacy}","received_events_url":"https://api.github.com/users/sean-parent/received_events","type":"User","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAiB0YM4Ejf1k","tag_name":"v1.7.0","target_commitish":"main","name":"1.7.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2022-09-06T22:25:30Z","updated_at":"2022-09-06T22:29:27Z","published_at":"2022-09-06T22:29:27Z","assets":[],"tarball_url":"https://api.github.com/repos/stlab/stlab/tarball/v1.7.0","zipball_url":"https://api.github.com/repos/stlab/stlab/zipball/v1.7.0","body":"This release was created to address a number of issues.\r\n- Building the library now requires a CMake step to generate a configuration file. Prior versions of the library were self-configuring but that was causing issues when headers were included in different compilation units compiled with different options.\r\n- **When using `default_executor` a call to `pre_exit()` is required prior to exiting main or invoking `std::exit()`.** It is not necessary if using `std::quick_exit()`. This allows the executor to shut down so canceled and detached tasks do not run concurrently with exit.\r\n- `blocking_get()` and associated functions have been renamed `await()`\r\n- A new operation `invoke_waiting()` was added to hint the portable `default_executor` when a task is waiting for some condition.\r\n- The `await()` does not attempt to steal tasks from the portable `default_executor` and instead will spin up additional threads (to a limit) to avoid deadlocking.\r\n\r\nSee more details in [changes.md](https://github.com/stlab/libraries/blob/main/CHANGES.md).","reactions":{"url":"https://api.github.com/repos/stlab/stlab/releases/76414308/reactions","total_count":5,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":5,"rocket":0,"eyes":0}}