LR CC 2015.4 broke the validate() functionality of viewFactory:edit_field() on OS X 10.11.2, but not on Windows 10. This renders my Any Tag plugin inoperable for all of its Mac users.
Below is a script demonstrating the bug. On CC 2015.3 / OS X and on CC 2014.4 / Windows 10, when you type "abc" into the edit field and then hit tab, the validate() function replaces the contents of the field with the uppercase "ABC". But with 2015.4 / OS X, the validate() function is never called, and the contents are not uppercased.
Here are screenshots showing before and after tab is typed on 2015.3:


And here are screenshots showing before and after tab is typed on 2015.4:


Below is a script demonstrating the bug. On CC 2015.3 / OS X and on CC 2014.4 / Windows 10, when you type "abc" into the edit field and then hit tab, the validate() function replaces the contents of the field with the uppercase "ABC". But with 2015.4 / OS X, the validate() function is never called, and the contents are not uppercased.
Here are screenshots showing before and after tab is typed on 2015.3:


And here are screenshots showing before and after tab is typed on 2015.4:


local LrBinding = import 'LrBinding'
local LrDialogs = import 'LrDialogs'
local LrFunctionContext = import 'LrFunctionContext'
local LrStringUtils = import 'LrStringUtils'
local LrView = import 'LrView'
local bind = LrView.bind
local f = LrView.osFactory()
LrFunctionContext.callWithContext ("test", function (context)
local prop = LrBinding.makePropertyTable (context)
local result = LrDialogs.presentModalDialog {
title = "validate test",
contents = f:edit_field {bind_to_object = prop,
immediate = true,
value = bind ("value"),
validate = function (view, value)
return true, LrStringUtils.upper (value), nil
end}}
LrDialogs.message ("Contents of edit_field", prop.value)
end)