elastic / package-spec

EPR package specifications
Other
17 stars 70 forks source link

[Change Proposal] Make version optional in package manifests #723

Open jsoriano opened 6 months ago

jsoriano commented 6 months ago

Proposal

Make version optional in package manifests.

Why?

In the vast majority of cases (if not all) version is redundant with the latest version in the changelog. Package developers are forced to manually keep these values coherent. This has been reported as a common papercut for contributions in packages, specially for external contributors.

How?

We would make version optional in package manifest for backwards compatibility, and maybe remove it in a following major. In the cases where the version is not set in the manifest, the version of the package would be just the version at the top of the changelog (assuming it is correctly ordered). elastic-package could maybe add the version to the manifest in built packages in case it helps on package publication, discovery and so on.

We need to assess the changes needed in package spec, elastic package, package registry and fleet.

Take also into account the use cases of the -next suffix.

Related issues

jlind23 commented 5 months ago

@jsoriano Shall we ping more packages developers here in order to get feedbacks?

jsoriano commented 5 months ago

@jsoriano Shall we ping more packages developers here in order to get feedbacks?

This issue comes from direct feedback from package developers, and the initial idea would be to make it optional, so if there is some case that requires both versions as now, it will be still supported.

Once we have all the pieces to make it optional, I agree with broadening the discussion about removing it in a potential v4.