Skip to content

r1.1 M3 release#55

Closed
benhepworth wants to merge 3 commits intocamaraproject:mainfrom
cablelabs:M3-release
Closed

r1.1 M3 release#55
benhepworth wants to merge 3 commits intocamaraproject:mainfrom
cablelabs:M3-release

Conversation

@benhepworth
Copy link
Contributor

What type of PR is this?

Add one of the following kinds:

  • subproject management

What this PR does / why we need it:

M3 release - v0.1.0 of SessionInsights

Which issue(s) this PR fixes:

Fixes #54

Fixes #

Special notes for reviewers:

Changelog input

 release-note

Additional documentation

This section can be blank.

docs

@benhepworth benhepworth self-assigned this Jul 2, 2025
@benhepworth benhepworth requested review from a team, Kevsy and maheshc01 as code owners July 2, 2025 22:23
@benhepworth benhepworth marked this pull request as draft July 2, 2025 22:23
CHANGELOG.md Outdated

## Table of Contents

- [v0.1.0 - Initial contribution](#v010---initial-contribution) (Fall25 public release)
Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

thanks @hdamker - draft PR updated to align with Changelog guidelines

@tanjadegroot
Copy link

The release PR needs to update all files containing the API version, not only the changelog:
README.md, the API yaml, the test files, the API-Readiness-Checklist, etc.
@Kevsy this triggered the "not ready" statement in the TSC minutes
If the team thinks they will be able to make it - our current deadline for finishing all the pre-release creations is July 31
if the team can have a full release PR next week including all updates needed as listed in the camaraproject/ReleaseManagement#261 then you will be OK for Fall25

@benhepworth benhepworth marked this pull request as ready for review July 17, 2025 16:49
@benhepworth
Copy link
Contributor Author

thanks @tanjadegroot - I was waiting for the last PR to be merged (which happened this morning). I have updated this PR now to include everything. Will you take another look when you have a minute? I think I have everything for Fall 25 now in this PR. Thanks!

@tanjadegroot
Copy link

Hi Ben, thanks !
yes will do ! please be aware that the reviews are happening in the order: stable, initial updates, initial new APIs. but I will quickly run the automated review check to give initial feedback.
The automated review needs to be followed by a manual review, which may then come a bit later.

@tanjadegroot
Copy link

tanjadegroot commented Jul 18, 2025

Please see the automated review results here: some issues need to be fixed.
See here: camaraproject/ReleaseManagement#261
manual review finalization still to be done

@@ -1,7 +1,7 @@
openapi: 3.0.3
info:
title: Session Insights API
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
title: Session Insights API
title: Session Insights

@Kevsy
Copy link
Contributor

Kevsy commented Jul 18, 2025

HI @benhepworth - I would normally be happy to contribute the required changes to the PR as a codeowner, but as the PR comes from a branch outside CAMARA I don't have the write access to do so. Best I can do is the suggestion above which fixes one critical error (only certain code blocks within the proximity of the change can be 'suggested' in this way).

BTW you'll find the text to fix the critical 'Authorization Template' issue here:
https://github.com/camaraproject/IdentityAndConsentManagement/blob/main/documentation/CAMARA-API-access-and-user-consent.md#mandatory-template-for-infodescription-in-camara-api-specs

Copy link

@tanjadegroot tanjadegroot left a comment

Choose a reason for hiding this comment

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

Review of the API-Readiness-Checklist only.

Needs updates

| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | Comm. release nr |
| 3 | Guidelines from ICM applied | O | M | M | M | tbd | ICM release nr |
| 4 | API versioning convention applied | M | M | M | M | tbd | |
| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r1.1](https://github.com/camaraproject/SessionInsights/releases/tag/r1.1) |

Choose a reason for hiding this comment

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

Suggested change
| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r1.1](https://github.com/camaraproject/SessionInsights/releases/tag/r1.1) |
| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.2](https://github.com/camaraproject/Commonalities/releases/tag/r3.2) |

| 3 | Guidelines from ICM applied | O | M | M | M | tbd | ICM release nr |
| 4 | API versioning convention applied | M | M | M | M | tbd | |
| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r1.1](https://github.com/camaraproject/SessionInsights/releases/tag/r1.1) |
| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r1.1](https://github.com/camaraproject/SessionInsights/releases/tag/r1.1) |

Choose a reason for hiding this comment

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

Suggested change
| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r1.1](https://github.com/camaraproject/SessionInsights/releases/tag/r1.1) |
| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.2](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.2) |

| 4 | API versioning convention applied | M | M | M | M | tbd | |
| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r1.1](https://github.com/camaraproject/SessionInsights/releases/tag/r1.1) |
| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r1.1](https://github.com/camaraproject/SessionInsights/releases/tag/r1.1) |
| 4 | API versioning convention applied | M | M | M | M | Y | |

Choose a reason for hiding this comment

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

Suggested change
| 4 | API versioning convention applied | M | M | M | M | Y | |
| 4 | API versioning convention applied | M | M | M | M | Y | 0.1.0-rc.1 |

| 10 | API release numbering convention applied | M | M | M | M | Y | |
| 11 | Change log updated | M | M | M | M | Y | [/CHANGELOG.md](/CHANGELOG.md) |
| 12 | Previous public release was certified | O | O | O | M | N | |
| 13 | API description (for marketing) | O | O | M | M | Y | [wiki link](https://lf-camaraproject.atlassian.net/wiki/spaces/CAM/pages/94011619/SessionInsights) |

Choose a reason for hiding this comment

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

Suggested change
| 13 | API description (for marketing) | O | O | M | M | Y | [wiki link](https://lf-camaraproject.atlassian.net/wiki/spaces/CAM/pages/94011619/SessionInsights) |
| 13 | API description (for marketing) | O | O | M | M | Y | [wiki link](https://lf-camaraproject.atlassian.net/wiki/spaces/CAM/pages/90538343/ConnectivityInsights+Session+Insights+API+description) |

Copy link

@tanjadegroot tanjadegroot left a comment

Choose a reason for hiding this comment

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

next set of review comments.

**Initial contribution of Session Insights API definition, including initial documentation, linting, test cases, and OpenAPI spec.**

- API definition **with inline documentation**:
- OpenAPI [YAML spec file](https://github.com/camaraproject/SessionInsights/blob/r1.1/main/code/API_definitions/session-insights.yaml)

Choose a reason for hiding this comment

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

Suggested change
- OpenAPI [YAML spec file](https://github.com/camaraproject/SessionInsights/blob/r1.1/main/code/API_definitions/session-insights.yaml)
- OpenAPI [YAML spec file](https://github.com/camaraproject/SessionInsights/blob/r1.1/code/API_definitions/session-insights.yaml)

- @benhepworth did most of the work on this initial release
- @kevsy helped out and co-authored several PRs and participated in PR reviews
- This "release" is only tagged to document the history of the API, it is not intended to be used by implementors or API customers
- It was originally an implementation by the CableLabs team, and is now maintained by the Camara Project

Choose a reason for hiding this comment

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

Suggested change
- It was originally an implementation by the CableLabs team, and is now maintained by the Camara Project
- It was originally an implementation by the CableLabs team, and is now maintained by the CAMARA Project

Choose a reason for hiding this comment

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

line 10: the concept of API "family" is deprecated --> In this paragraph, change both "Connectivity Insights API family" and "Connectivity Insights API" to "Connectivity Insights API group".

line 64: Camara --> CAMARA

Choose a reason for hiding this comment

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

lines 77 / 78: should the tags section not have "Session Insights" and the description related to that ?

Choose a reason for hiding this comment

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

some comments to better understand the API:

In the info.description field:

  • instead of "network operator", use "API provider".

  • I am confused between:

    • the parameter SessionId (schema defined line 312)
    • the id property of the SessionBase object (line 354)
    • the applicationSessionId also a property of the SessionBase object (line 358)
      they have very little or no description and I also do not see it clarified elsewhere, maybe one is more intented as a name ? If we need all of these ids, what is the relation between them (if any), and what is their purpose
  • some info is missing on the cardinality of object relation:

    • 1 device, multiple applications ?
    • application, 1 application-profile ?
    • 1 application, multiple sessions ?
    • 1 session, ... ?
  • the Authorization and Authentication section: how is the link made between this section on device and the actual APIs ? extend the section with some info about this

  • same for the next error code section

  • the term KPIs and KPI metrics seem to be used interchangeably - preferably pick only one

  • change "existing Application Profile" to "selected Application Profile" (from the list of available profiles obtained with the GET application-profiles API) - can be more explicity described in the info.description section

  • line 24: change "Application Profile Integration" to "Use of Application Profiles API"

  • RCA abbreviation not to be used - use "event indicating the problem cause" or something

  • line 33: what is WMM ? no abbreviations

Choose a reason for hiding this comment

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

This API uses implicit notifications and e.g. the sink and sink credentials definitions should be aligned to the Event Guide - https://github.com/camaraproject/Commonalities/blob/r3.2/documentation/CAMARA-API-Event-Subscription-and-Notification-Guide.md

for detailed help on alignment please seealso the wiki: Commonalities r3.2 alignment please check (see https://lf-camaraproject.atlassian.net/wiki/spaces/CAM/pages/132218881/Analysis+of+Commonalities+0.6.0-rc.1+changes, e.g. for subscription APIs:

  • including add sink pattern and specific 400 - INVALID_SINK error
  • Update types property of SubscriptionRequest to allow more than one event type per subscription (optional)
  • Update types property of SubscriptionRequest to use SubscriptionEventType schema (enum of defined types)
  • 3.2 subscription-started event (optional event)
  • 3.3 subscription-updated event (optional event)
  • 3.4 subscription-ends --> subscription-ended (event name change)

Copy link

@tanjadegroot tanjadegroot left a comment

Choose a reason for hiding this comment

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

main issue: security sections are missing in the API yaml file

Choose a reason for hiding this comment

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

The error definitions are missing the examples section in the content.application/json part
please see: https://github.com/camaraproject/Commonalities/blob/r3.2/artifacts/CAMARA_common.yaml
line 236 and after

Choose a reason for hiding this comment

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

the security aspects are missing from the API - securitySchemes in

  • paths
  • components section
  • on the sink (aligned to Commonalities)

Copy link

@tanjadegroot tanjadegroot left a comment

Choose a reason for hiding this comment

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

The README.md file should be updated

  • in the release section, un-comment the applicable line to indicate the pre-release and add its release link
  • change "network operator" to "API provider"
  • the "service" to "session"

Overall documentation (including description fields in yaml) can be more elaborate to help API users.

@tanjadegroot
Copy link

Hi Team,
Given the above review comments, Release Management recommends doing an alpha release outside the Fall25 meta-release, and prepare the public release for Spring26.

this means

  • updating the API release tracker with the label camara-spring26
  • create technical PRs to address the comments (and you can re-use or close this PR)
  • you can request an alpha release review anytime (if you want) also outside the meat-release cycle once ready.

Please provide your feedback here latest tomorrow noon CET as officially M3 is closed by EOB today.

@Kevsy
Copy link
Contributor

Kevsy commented Aug 1, 2025

Thanks @tanjadegroot - given the significant refactoring required to achieve compliance with commonalities and ICM, it will not be feasible to achieve these for M3. So I will proceed to update the tracker to reflect the Spring 26 target.

@tanjadegroot
Copy link

Thanks @tanjadegroot - given the significant refactoring required to achieve compliance with commonalities and ICM, it will not be feasible to achieve these for M3. So I will proceed to update the tracker to reflect the Spring 26 target.

Many thanks, @kevin.

@tanjadegroot
Copy link

Hi Team, any plans for the Spring26 participation ?
thanks !

@benhepworth
Copy link
Contributor Author

will be releasing via the new release process soon...closing this PR

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.

Create release PR for Fall25 M3

4 participants