[Dashboard] Add saved object version for collapsible sections (#222450)

Closes https://github.com/elastic/kibana/issues/222437

## Summary

Rather than [dynamically adding `sections` to V2 of the dashboard saved
object](https://github.com/elastic/kibana/pull/220877/files#diff-98ad8ac0d2638b4dbc8ca6476730a22566c9e3d35fc92d32030a2d7eaf4159a7R82-R85),
this PR adds a V3 saved object instead in order to add this new key (and
removes it from V2) - this allows V2 saved objects to be properly
updated to the new version.

**Steps to reproduce:**
1. Start an ES server + Kibana on a version **before** collapsible
sections merged
2. Download sample data on that same server
3. Launch a second Kibana from `main` on top of the same ES server
started in step 1
4. Try to add a collapsible section on this new Kibana
5. You will hit an error when trying to save the dashboard 🔥

**Steps to test this fix:**
1. Follow steps 1 and 2 from the reproduction steps above
2. Launch a second Kibana from **this PR** on top of the same ES server
started in step 1
3. Try to add a collapsible section on this new Kibana
4. You should be able to save your dashboard this time! 🎉 

### Before


https://github.com/user-attachments/assets/e2af0f8b-cabb-4a56-86b3-36a6120cd91f

### After


https://github.com/user-attachments/assets/480d7054-27aa-4661-8279-43bd761eaf44




### Checklist

- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
This commit is contained in:
Hannah Mudge 2025-06-05 11:37:50 -06:00 committed by GitHub
parent 2564d6de38
commit 2ec8ca00b4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 114 additions and 40 deletions

View file

@ -923,6 +923,7 @@
}
},
"dashboard": {
"dynamic": false,
"properties": {
"controlGroupInput": {
"properties": {