Coder Social home page Coder Social logo

Versioning about vectorious HOT 9 CLOSED

mateogianolio avatar mateogianolio commented on May 12, 2024
Versioning

from vectorious.

Comments (9)

metabench avatar metabench commented on May 12, 2024

After 1.0.9 could come 1.0.10.

Your suggestion looks good, but I have another suggestion. I think an intermediate point between what we have at the moment and your suggested 2.0.0 is a version that's using typed arrays and more optimized JavaScript, but still does not use C++. That would be 2.0.0, with the C++ version likely being 3.0.0.

Another thing to consider is some kind of bleeding-edge fork or branch. I'm thinking that SIMD would provide very large performance improvements, and be ready for production without much effort, but only be ready on some particular platforms.

from vectorious.

metabench avatar metabench commented on May 12, 2024

For the meantime, where do we stand with version numbers, and deploying recent changes to npm?

from vectorious.

mateogianolio avatar mateogianolio commented on May 12, 2024

I added two milestones (2.0.0 and 3.0.0) to keep better track of issues.

Maybe we could have some sort of system, like x.y.z, where x is breaking API changes, y is major optimizations or API additions and z is small bug fixes or minor improvements.

I seriously don't know, versions confuse me. Maybe you have a better system? :)

from vectorious.

metabench avatar metabench commented on May 12, 2024

What you have described is pretty much the the 'semantic versioning' or 'semver' system. I think that putting breaking API changes into the major version number makes the most sense.

Also, I think large architectural changes would merit another version number. Arguably Typed Arrays would change the API or it's maybe compatibility, so I think that changing to Typed Arrays would warrant a major version too.

Basically I think 2.0.0 should contain the recent fixes and optimizations, and be released relatively soon.

from vectorious.

mateogianolio avatar mateogianolio commented on May 12, 2024

Ok, so you're suggesting we introduce the recent optimizations in 2.0.0 and let 3.0.0 be typed arrays and 4.0.0 C/C++ bindings?

from vectorious.

metabench avatar metabench commented on May 12, 2024

Yes, I think that's a good sequence to plan for. However, if for some reason we think it's worth introducing an API change in the meantime let's not be too rigid about sticking to that versioning. I kind-of doubt that will happen before 3.0.0 but I'm mentioning it anyway.

The C++ bindings seem like quite a big challenge. I don't know how long it will take. However, version 4.0.0 having the C++ bindings looks like a sensible goal at this point.

Let's also make Version 2.0.0 fully / much better documented before it gets released.

from vectorious.

mateogianolio avatar mateogianolio commented on May 12, 2024

Agreed.

from vectorious.

mateogianolio avatar mateogianolio commented on May 12, 2024

We now have milestones for versions 2.0.0, 3.0.0 and 4.0.0 and we have a pretty good understanding of how to work, so I consider this issue resolved at least for now.

from vectorious.

metabench avatar metabench commented on May 12, 2024

I was getting annoyed by the milestones not showing in order when displayed, so I set some due dates, giving far more than enough time. Then I think we should bring the due dates forward once we know what a release schedule actually is.

from vectorious.

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.