mathjs icon indicating copy to clipboard operation
mathjs copied to clipboard

v15 breaking changes

Open josdejong opened this issue 8 months ago • 4 comments

Breaking changes planned for mathjs v15:

  • [x] give unary % operator (percentage) higher precedence than binary % operator (modulus), see #3432
  • [x] fix kronecker product on vectors, see #3455
  • [ ] uniformize bigint construction, see #3375
  • [ ] require a space or delimiter after hex, bin, and oct values #3421, #3463
  • [ ] Let the constructor functions like number() reckon with the option predictable, see #3451
  • [ ] Consistent matrix subset according to the type of input, see #3485, #2344

josdejong avatar Apr 16 '25 09:04 josdejong

I am planning for #3375 to not have breaking changes if we can avoid it while respecting the conventions settled on. We shall see. But we have lots of other potential breaking changes under discussion, such as the predictable: true behavior regularization, that I would love to have incorporated in v15. Should I add to the checklist above, or would you like to maintain it?

gwhitney avatar Apr 16 '25 20:04 gwhitney

Yeah the discussion in #3375 is a bit broad, I was thinking that the discussion on safe/unsafe conversions may result in some breaking changes.

Feel free to add more points to the list above, thanks!

josdejong avatar Apr 16 '25 20:04 josdejong

This comment, meant to be edited/added to and possibly have items moved to the opening comment, is to list issues that entail breaking changes that we may well want to incorporate into v15, but for which there is not yet any PR:

  • [ ] #3414
  • [ ] #3415

gwhitney avatar Apr 21 '25 21:04 gwhitney

Note that to automate tracking the v15 branch to develop, I created draft PR #3459. I've used it to rebase v15 up to develop, and I merged fully-reviewed PR #3455 (actually rebased as #3461) to v15. I also started tracking the v15 changes in the HISTORY file, and updating the AUTHORS in v15 as well. Please confirm that's all OK; if anything needs to be undone or re-done differently to start down the road to v15, please just let me know and I will take care of it.

gwhitney avatar Apr 23 '25 00:04 gwhitney

@josdejong @gwhitney Just curious if you have any update on when v15 might be released? We have skipped v14 due to issue fixed in #3432, so we're waiting on v15. I see no updates here in last two months, so I just wanted to follow up. Thanks!

kiprobinsonknack avatar Jun 24 '25 15:06 kiprobinsonknack

Good point. I try to bundle as much breaking changes together to minimize the number of breaking releases. I think the current open points are still weeks or months away, so it makes sense to just publish v15 with what we have so far.

@gwhitney @dvd101x any thoughts? (since you guys are working on some of these points)

josdejong avatar Jun 25 '25 07:06 josdejong

Regarding "Consistent matrix subset according to the type of input" I think will be done in less than a month. Since the remaining bits are the legacy flag and modify the documentation.

I can have the next commit ready during the weekend.

dvd101x avatar Jun 25 '25 14:06 dvd101x

Thanks David, let's see after the weekend if you expect to be able to finish this soon or that there is more work to it. No need to hurry, if there is more work we can just schedule #3485 for v16.

josdejong avatar Jun 25 '25 17:06 josdejong

Glen let me know that he expects to have a bit better idea on how much effort the planned features will take within one or two weeks, we'll await that.

josdejong avatar Jun 26 '25 07:06 josdejong

@gwhitney do you already have an idea which of the open issues for v15 can be realized in short term, and which ones need more time and discussion?

josdejong avatar Jul 09 '25 13:07 josdejong

I should definitely be able to complete #3423 in the near future (parsing/tokenizer options and configuration). And in fact, since I have to rebase #3423 on v15 now anyway, please go ahead and merge #3463 to v15 first, I will deal with the fallout of that when I rebase #3423 -- which I won't start on until I see that #3463 has been merged.

The two type constructor issues (#3375 and #3451) seem like bigger projects, especially as it's been so long I would have to get back up to speed with them. So let's wait until they are the only two left for v15 and if at that time I am not on the verge of resolving them, you should go ahead and release v15 without and we will reschedule them for v16.

gwhitney avatar Jul 09 '25 19:07 gwhitney

Sounds good Glen. I've created a new issue #3508 with the breaking changes for v16, and I have moved #3375 and #3451 there.

I've merged #3463 into v15 now, and merged the latest develop into v15, so you can continue on #3423.

josdejong avatar Jul 11 '25 10:07 josdejong

@gwhitney do you expect to be able to work on #3423 soon? Otherwise it may be better to schedule it for v16.

josdejong avatar Sep 17 '25 15:09 josdejong

In principle it's not a lot of work, so i could knock it out in a couple days. In practice I am behind on numerous projects at the moment -- I really bit off too much this semester. So I would say proceed as desired not worrying about #3423 and if it am not nearly finished when things are otherwise ready, don't wait.

gwhitney avatar Sep 17 '25 16:09 gwhitney

Ok thanks, clear! Good luck with all your work, I hope you'll be able to catch up!

josdejong avatar Sep 17 '25 17:09 josdejong

I've just published v15.0.0 🎉

josdejong avatar Oct 10 '25 07:10 josdejong