v15 breaking changes
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 optionpredictable, see #3451 - [ ] Consistent matrix subset according to the type of input, see #3485, #2344
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?
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!
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
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.
@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!
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)
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.
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.
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.
@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?
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.
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.
@gwhitney do you expect to be able to work on #3423 soon? Otherwise it may be better to schedule it for v16.
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.
Ok thanks, clear! Good luck with all your work, I hope you'll be able to catch up!
I've just published v15.0.0 🎉