My library modules stopped working after 1.8

Prior to release 1.8, a module named ‘mytest’ that contained the following worked perfectly:

#!/bin/ksh

echo ‘changed=True msg=OK’
exit 0

The command ‘ansible server -m mytest -M my_library’ would return:

server | success >> {
“changed”: true,
“msg”: “OK”
}

But as of release 1.8, the same command returns:

server | FAILED >> {
“failed”: true,
“msg”: “changed=True msg=OK\r\n”,
“parsed”: false
}

So, what changed and what must I do to make it all work again? I have looked but can’t seem to locate any mention of anything about this in the release notes. It is probably there and I am just not recognizing it. Can somebody please direct me to where I can find information on this?
Thanks,
-Mark

“BabyJSON” as it was called was removed in 1.8. As such, modules must return actual JSON in responses and not the key=value responses.

Okay, that explains it. Now can you point me at a good reference that will explain what that should look like? Obviously, I am not familiar with it.
Thanks,
-Mark

Found it. This:

#!/bin/ksh

echo ‘{“changed”: “True”, “msg”: “OK”}’
exit 0

now returns:

server | success >> {
“changed”: “True”,
“msg”: “OK”
}

Easy enough to correct.
Thanks,
-Mark

This works even better. I get the correct colors with this:

#!/bin/ksh

echo ‘{
“changed”: true,
“msg”: “OK”
}’
exit 0

-Mark