Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v13 breaking changes #2800

Closed
4 tasks done
josdejong opened this issue Oct 5, 2022 · 12 comments
Closed
4 tasks done

v13 breaking changes #2800

josdejong opened this issue Oct 5, 2022 · 12 comments
Milestone

Comments

@josdejong
Copy link
Owner

josdejong commented Oct 5, 2022

This issue will keep track on the various discussions we have about the architectural changes we want to implement in mathjs v13. Please comment if there are more topics to discuss

@josdejong josdejong added this to the v12 milestone Oct 5, 2022
@dvd101x

This comment was marked as outdated.

@josdejong

This comment was marked as outdated.

@josdejong josdejong changed the title v12 breaking changes v13 breaking changes Sep 20, 2023
@josdejong
Copy link
Owner Author

FYI: I've renamed this topic from "v12 breaking changes". to "v13 breaking changes". The topics we plan here are still far from finished, and there will be a small breaking release in between. See #3032.

@gwhitney
Copy link
Collaborator

gwhitney commented Sep 20, 2023

Yup, #3032 looks like enough for a breaking release to my eyes as well. And I hate to, but I will make a prognostication: you might as well rename this "v15 breaking changes" now :-/ The stuff in the opening comment of this issue is of overwhelming magnitude. For the record, I hope this prognostication to turn out false, and will make my best effort for it to. :-)

@josdejong
Copy link
Owner Author

😂 yeah I'll keep incrementing the version number, we'll see. This topic just helps me to keep track on the breaking things we have in the pipeline, the exact version number is not that important to me.

@gwhitney
Copy link
Collaborator

gwhitney commented Oct 3, 2023

Might we want to include incorporation of an overall internationalization scheme (see discussion #3055) into mathjs at this level? With mathjs' age and scope, it feels well overdue...
In fact, while I am thinking about it, I will go so far as to suggest that https://github.com/globalizejs/globalize looks like a plausible i18n library we might use.

@josdejong
Copy link
Owner Author

Yes I would love to improve on that. Do you expect breaking changes when implementing internationalization? It feels more like a new feature to me, and can probably be backward compatible.

@josdejong
Copy link
Owner Author

We may indeed just do internationalization on the fly when refactoring mathjs.

@josdejong josdejong modified the milestones: v12, v13 Oct 4, 2023
@gwhitney
Copy link
Collaborator

gwhitney commented Oct 4, 2023

Do you expect breaking changes when implementing internationalization?

Well, I expect the results of the help() function to change if the user's locale does not specify the English language, so that in some sense is a breaking change. And to support that, I imagine the entire way the results of help() are recorded in the code will change -- presumably they will be moved to translation files. That's more of an "internal breaking change," i.e. something we might want to do as part of a major refactor, as you point out in your second note.

@josdejong
Copy link
Owner Author

That's true. Makes sense to mark it as a breaking change.

@josdejong
Copy link
Owner Author

Version 13.0.0 is published now 🥳

@josdejong
Copy link
Owner Author

I added a .browserslistrc in v13, dropping support for old/dead browser engines. This resulted in the gzipped browser bundle size decreasing from 200 kB to 180 kB, a difference of 10%. I hadn't expected such a huge difference, but I like it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants