Changelog of _schema-version
LukasHeimann opened this issue · 4 comments
Description
Hi everyone,
I'm wondering if there is a changelog regarding what (new) features are supported starting with which _schema-version
of my mta descriptor. It's hard to find out which version is current, and even harder to know what the benefits of updating are.
E.g. https://github.com/cloudfoundry-incubator/multiapps-controller/wiki/Module-Hooks#hook-modeling mentions 3.3 (the latest supported version) to support 4 hooks, but it seems like with #856 a bunch of new hooks were implemented. Do I need to use a higher version? Where is this documented?
The linked help documents are also not very useful:
- https://www.sap.com/documents/2016/06/e2f618e4-757c-0010-82c7-eda71af511fa.html was last updated in 2017 and doesn't mention much about
_schema-version
- https://help.sap.com/viewer/825270ffffe74d9f988a0f0066ad59f0/CF/en-US/f2b5e04971914e638bc406f554386226.html is really sparse as well.
- https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/c4f0d850b6ba46089a76d53ab805c9e6.html (the link from this project's readme) is dead.
Please help me to find out which versions should be used and under which conditions I should consider updating the version in my project.
Kind regards
Lukas
Hi Lucas,
Yes, the v3 specification is not yet released publicly and the document has been with UA for quite some time.
Until we finish the review (& corrections), here is the list of features which v3 brings:
- alternative access for required properties ~{requires/property}
- support for "requires" element in resources
- optional | active resources
- cross-mta configurations
- list element for requires (building multiple config entries in an array on deploy time)
- externalised service configurations. & content files for build
- rules for overwriting structured data
- properties & parameters metadata (optional, overwritable, sensitive)
- yaml tag !sensitive
- v3 allows multiple modules to reference the same binary in the MTA package
- type element for modules & resources
- deployed-after element for modules
- module hooks
- escaping of \${placeholders}
The only breaking change compared to v2 I am aware of is that the "provides" elements no longer have implicitly set "public: true" - which has the notion that the configurations provided in those elements are not exposed by default.
We'll update this issue with a link when we release the public v3 spec document.
Thank you for providing this list, this helps to understand a lot of stuff that was being copied around from project to project better!
I'm a bit confused, though, I thought deployed-after
has been a feature since ~2018... There is still no official documentation?
So I'd still vote for a changelog (for which we can keep this open), but you can also close this issue if you want.
This is a good example - the feature was released quite some time ago and it has it's dedicated documentation. We also have an example for it.
What's missing is the log of changes to the mta specification and the last version of the specification it self. While having this document public will greatly ease the consumption of multiapps, it's not bound only to this project - The MTA spec is a doc with which multiple tools are synchronising e.g. the cloud mta build tool . Some changes in the spec translate to features in only some of the tools, and others are there only to guarantee that all tools will work with one and the same descriptor.
I plan to keep this issue open until we can link the publicly released v3 specification document here.
MTA V3 spec: https://www.sap.com/documents/2021/09/66d96898-fa7d-0010-bca6-c68f7e60039b.html
The recommended MTA spec version to use is 3.x
Spec version 2.x is still supported but there is no active development for it.