Giter Club home page Giter Club logo

Comments (4)

asl avatar asl commented on June 28, 2024

Another important point is versioning. Is there any policy here? E.g. LLVM breaks downstream always :) However, dot releases are assumed to be API and ABI compatible, they are for regression fixes only.

from p4c.

fruffy avatar fruffy commented on June 28, 2024

We tried to inform and ping downstream users about breaking changes. But the engagement was simply too low and keeping changes back because of an unknown user base was not ultimately not practical. It led to a lot of stagnation.

I do like the Boost approach where they maintain a changelog and tag breaking changes. This way you can quickly identify which changes could cause problems.

We can do this with a label for now. This way we can also retroactively tag breaking changes. We can also introduce an issue template which suggests "Instructions For Breaking Changes" as a header. This way we do not forget to document these changes... :)

Another important point is versioning. Is there any policy here?

We do not have a real version policy yet, we currently only have automated monthly releases and a version pegged to the current version of the P4 specification.

from p4c.

vlstill avatar vlstill commented on June 28, 2024

We tried to inform and ping downstream users about breaking changes. But the engagement was simply too low and keeping changes back because of an unknown user base was not ultimately not practical. It led to a lot of stagnation.

Sure, my whole point was to allow for breaking changes, but acknowledge them and make it easier (if possible) to migrate.

We can do this with a label for now. This way we can also retroactively tag breaking changes.

I like that. A label on the PR + description in the PR itself sounds good enough to me. Ideally we would include info in the changelog for each release so people who use releases would see them.

Another important point is versioning. Is there any policy here?

We do not have a real version policy yet, we currently only have automated monthly releases and a version pegged to the current version of the P4 specification.

Personally I have no strong feelings about versioning... we don't use the version when updating our downstream anyway.

from p4c.

fruffy avatar fruffy commented on June 28, 2024

I like that. A label on the PR + description in the PR itself sounds good enough to me. Ideally we would include info in the changelog for each release so people who use releases would see them.

I created a PR for this: #4692

from p4c.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.