Skip to content

Conversation

@vossmjp
Copy link
Contributor

@vossmjp vossmjp commented Oct 3, 2025

Description

Added a table to VERSIONING.md to track abi changes by release.

Fixes # - issue number(s) if exists

Type of change

Choose one or multiple, leave empty if none of the other choices apply

Add a respective label(s) to PR if you have permissions

  • bug fix - change that fixes an issue
  • new feature - change that adds functionality
  • tests - change in tests
  • infrastructure - change in infrastructure and CI
  • documentation - documentation update

Tests

  • added - required for new features and some bug fixes
  • not needed

Documentation

  • updated in # - add PR number
  • needs to be updated
  • not needed

Breaks backward compatibility

  • Yes
  • No
  • Unknown

Notify the following users

List users with @ to send notifications

Other information

@icfaust
Copy link

icfaust commented Oct 4, 2025

It would be cool if you guys added some sort of ABI check like we do in oneDAL such that the VERSIONING.md must be modified upon ABI changes.

@vossmjp
Copy link
Contributor Author

vossmjp commented Oct 6, 2025

@icfaust That's a good idea, we'll look into that.

VERSIONING.md Outdated
| 2021.7.0 | 12.7 | Oct 2022 | [Release Notes](https://www.intel.com/content/www/us/en/developer/articles/release-notes/intel-oneapi-threading-building-blocks-release-notes.html#inpage-nav-11) | - | - |
| 2021.6.0 | 12.6 | Sep 2022 | [Release Notes](https://www.intel.com/content/www/us/en/developer/articles/release-notes/intel-oneapi-threading-building-blocks-release-notes.html#inpage-nav-12) | - | - |
| 2021.5.0 | 12.5 | Dec 2021 | [Release Notes](https://www.intel.com/content/www/us/en/developer/articles/release-notes/intel-oneapi-threading-building-blocks-release-notes.html#inpage-nav-13) | - | - |
| 2021.4.0 | 12.4 | Oct 2021 | [Release Notes](https://www.intel.com/content/www/us/en/developer/articles/release-notes/intel-oneapi-threading-building-blocks-release-notes.html#inpage-nav-14) | notify_waiters | - |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For those versions where only the RN link is provided - does it mean there were NO API changes at all? If it is not the case, then we need to list API changes for ALL versions.
I see that for the latest versions API changes are listed.

Copy link
Contributor

@aleksei-fedotov aleksei-fedotov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately, neither reading in raw, nor in rich text format appeals to me. In rich text format there is lots of details that are hard follow. In raw format - the alignment is confusing.

I suggest rewriting it using different format. How about the list of lists?

For example, writing something like:

* **October 2025**

  | Library version | Binary version |
  |:---------------:|:--------------:|
  | 2022.3.0        | 12.17          |

  API/ABI Changes
  * New API: [task_arena enqueue and wait_for specific task_group](https://github.com/uxlfoundation/oneTBB/tree/master/rfcs/proposed/task_arena_waiting)
  * New API: [custom asserion handler support](https://github.com/uxlfoundation/oneTBB/tree/master/rfcs/supported/assertion_handler)
    * New ABI: `set/get_assertion_handler`
  * New API: [preview of dynamic task graph](https://github.com/uxlfoundation/oneTBB/tree/master/rfcs/proposed/task_group_dynamic_dependencies)
    * New ABI: `current_task_ptr`
    * Notes: ....
  * New ABI
  * ...

gives:

Alternatively, it seems like blank characters can be used to make columns have certain width. But in this case, horizontal scrolling is not convenient because the scroll bar appears at the very bottom of the table, which again can make it hard to in case the table becomes long.


## API and ABI changes by release

| Library Version | Binary Version | Date | Release Notes | API Changes | ABI Changes | Notes |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest clarifying that "Binary Version (Linux)".

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or "runtime interface version".

@akukanov
Copy link
Contributor

akukanov commented Oct 8, 2025

I suggest rewriting it using different format. How about the list of lists?

Markdown is knowingly bad for tables, except simplest ones. But the list of lists would be almost like the regular changelog, just for a subset of changes.

I would suggest moving the table out of Versioning.md into a separate file, perhaps in RST.
Another option is to make an "embedded" HTML table.


| Library Version | Binary Version | Date | Release Notes | API Changes | ABI Changes | Notes |
|---------|--------|------|---------------|-------------|-------------|-------|
| 2022.3.0 | 12.17 | Oct 2025 | *Release Notes TBD* | [task_arena enqueue and wait_for specific task_group](https://github.com/uxlfoundation/oneTBB/tree/master/rfcs/proposed/task_arena_waiting), [custom assertion handler support](https://github.com/uxlfoundation/oneTBB/tree/master/rfcs/supported/assertion_handler), [preview of dynamic task graph](https://github.com/uxlfoundation/oneTBB/tree/master/rfcs/proposed/task_group_dynamic_dependencies) | set/get_assertion_handler, current_task_ptr | set/get_assertion_handler symbols are used by custom assertion handler support, current_task_ptr is used by preview of task_group dependencies |
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Links to the release notes are being de-synchronized when a new release is added since they are counted from top. Perhaps the link could go to something stable, like github markdown release notes where release number is actually part of the link https://github.com/uxlfoundation/oneTBB/blob/master/RELEASE_NOTES.md#onetbb-20222-release-notes

Also 2022.3.0 now has the release notes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants