What problem does your feature solve?
Spec shaking v2 brings a significant improvement to contract spec generation. Enabling this by default will ensure WASMs are built in a consistent and minimized way.
Spec shaking v2 also requires users to build with a supported build tool like the Stellar CLI to perform the spec filtering step.
What would you like to see?
Protocol 26
- Spec shaking v2 remains opt-in via the
experimental_spec_shaking_v2 feature flag
- Building WASMs without the CLI and with the
experimental_spec_shaking_v2 feature flag results in a build error
- Building WASMs without the CLI and without
experimental_spec_shaking_v2 feature flag results in a compiler warning that users should migrate to using a supported build tool like the CLI.
- All known issues are addressed and patched
Protocol 27
experimental_spec_shaking_v2 becomes a default feature, enabling spec shaking v2 by default
- Developers can still use spec shaking v1 if they don't depend on
soroban-sdk as a transitive dependency and disable default features
Protocol 28
experimental_spec_shaking_v2 is removed, SDK always builds with spec shaking v2
What alternatives are there?
- For protocol 27, we can opt to add a
disable_spec_shaking_v2 feature, that makes it easier to disable if a transitive dependency uses default features.
What problem does your feature solve?
Spec shaking v2 brings a significant improvement to contract spec generation. Enabling this by default will ensure WASMs are built in a consistent and minimized way.
Spec shaking v2 also requires users to build with a supported build tool like the Stellar CLI to perform the spec filtering step.
What would you like to see?
Protocol 26
experimental_spec_shaking_v2feature flagexperimental_spec_shaking_v2feature flag results in a build errorexperimental_spec_shaking_v2feature flag results in a compiler warning that users should migrate to using a supported build tool like the CLI.Protocol 27
experimental_spec_shaking_v2becomes a default feature, enabling spec shaking v2 by defaultsoroban-sdkas a transitive dependency and disable default featuresProtocol 28
experimental_spec_shaking_v2is removed, SDK always builds with spec shaking v2What alternatives are there?
disable_spec_shaking_v2feature, that makes it easier to disable if a transitive dependency uses default features.