Regarding new changes to MooTools?

63 views
Skip to first unread message

Bryan Garaventa

unread,
Dec 31, 2014, 2:37:51 AM12/31/14
to mootool...@googlegroups.com
Hi,
I know that many updates have recently been made to MooTools, but are all of these internal, or do they also include changes to the
original public method and property names as well?

For instance, do the old method calls for markup rendering processes, event binding, AJAX calls, and so on, still work using the
same method and property assignments as they did previously?

If anything like this has changed, knowing what and where will help me a lot, since I'll need to update the AccDC MooTools module at
https://github.com/accdc/tsg-mootools
to reflect these changes.

Thanks,
Bryan

Sérgio Crisóstomo

unread,
Dec 31, 2014, 3:20:38 AM12/31/14
to mootool...@googlegroups.com
Hi Bryan!

API changes are avoided as much as possible. I am not aware of changes made in the last times that affect the API.
Please be more specific what versions you wonder about. For example 1.4 > 1.5 was quite successful in not changing the API.

Also, we always report such important changes in the Blog: http://mootools.net/blog

Hope this helps.

All the best for 2015!
Cheers,
Sérgio

Tim Wienk

unread,
Dec 31, 2014, 3:38:38 AM12/31/14
to mootool...@googlegroups.com
Hello,

One of the very important things all MooTools developers realise about
Core and More, is that a very large amount of products they're used in
are older products that are in maintenance mode and should need to
keep working. All changes to Core and More are made with that in mind,
so all changes are as compatible as possible.

MooTools has historically used a not-very-semver approach to
versioning, and it's still not using semver right now, but it's a lot
more controlled than it was in the 1.3-and-before era.

The way you can look at it currently is:
generation.major.minor

When a major version number increases, we do our best to do two
things: 1. include a compatibility "workaround", so you can build a
version 1.n+1 which is still compatible (you will find this in the
builder), and 2. list the incompatible changes in a blog post. In
cases where 1 isn't possible, we make sure we do 2 even more
vigorously.

In general, because MooTools Core's API and functionality has
stabilised over a lot of years, the changes are mostly to stay in line
with native implementations of similar or the same functionality. In
most cases these are only minor changes, and upgrading is easy enough
so you can stop using the compatibility builds.

The current Core version is 1.5.1, which by definition has a
completely compatible API to 1.5.0. (More is 1.5.1 as well, and works
with any Core 1.5.x, for that reason.) The changes from 1.4.5 are on
the blog (http://mootools.net/blog/2014/05/19/mootools-1-5-is-here),
the backward incompatible changes are the first few bullets in the
list you'll find there.

(TLDR:) From all this, you have probably already gathered the answer
to your question, but to answer it directly: recent changes may have
changed subtleties in the public API, but nothing has really changed
about how to use the functions or property names. Especially the
examples you mention are things we very much try to keep stable.

Anticipating a next question: the "generation" part of the version
number is quite useless right now, it's pretty much stuck at 1. Yes,
there's been talks about a 2.x version. Yes, a lot of things have been
tried (there's an inactive 2.0wip branch with ideas from 2012, there
was Prime for a bit, etc.) No, there is no concrete plan or roadmap
for 2.x. One thing is sure, though, if or when there is a 2.x,
versioning will turn semver from there on, and it'll just be
"major.minor.patch".

Kind regards (and best wishes for the new year),

Tim.

Bryan Garaventa

unread,
Dec 31, 2014, 12:32:17 PM12/31/14
to mootool...@googlegroups.com
Excellent, thanks, that is exactly what I needed.

I'll load it up and give it a spin, from what I've seen, everything should run correctly automatically, since I was using the nocompat Core 1.4.5 previously anyway, and the core methods that AccDC ties into appear to remain the same.

All the best,
Bryan
--

---
You received this message because you are subscribed to the Google Groups "MooTools Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mootools-user...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Bryan Garaventa

unread,
Dec 31, 2014, 8:59:32 PM12/31/14
to mootool...@googlegroups.com
Thanks again, I've updated the GitHub project at
https://github.com/accdc/tsg-mootools
So it now runs using MooTools V1.5.1.

I've unit tested the majority of the components at
http://whatsock.com/bootstrap/mootools/
And everything appears to be working correctly.

I do have one last question, has the event binding mechanism changed at all between 1.4.5 and 1.5.1 at all? I've referring to the bind and unbind functionality and how these are tracked internally within MooTools.

When using 1.4.5, I noticed that an error would be thrown on some occasions when recursive event bindings were dynamically added, when binding iterations reached into the thousands within a given web app. I was having trouble getting this to happen on a regular bases though to file a bug.

All the best,
Bryan


-----Original Message-----
From: mootool...@googlegroups.com [mailto:mootool...@googlegroups.com] On Behalf Of Tim Wienk
Sent: Wednesday, December 31, 2014 12:38 AM
To: mootool...@googlegroups.com
Subject: Re: [Moo] Regarding new changes to MooTools?

Reply all
Reply to author
Forward
0 new messages