Permalink
41a689f Jul 18, 2018
Mark Banks Version 4.0.2
2 contributors

Users who have contributed to this file

@minstral @nickorr
843 lines (595 sloc) 22.9 KB
########################################################################
Version 4.0.2
########################################################################
July 18, 2018
Deprecated
BE_WriteTextFileToContainer
Renamed
BE_ApplyXSLT => BE_XSLTApply
BE_ApplyXSLTInMemory => BE_XSLT_ApplyInMemory
BE_Array_Change_Value => BE_ArrayChangeValue
BE_Array_Delete => BE_ArrayDelete
BE_Array_Find => BE_ArrayFind
BE_ClipboardText => BE_ClipboardGetText
BE_CopyFile => BE_FileCopy
BE_CreateFolder => BE_FolderCreate
BE_Curl_Set_Option => BE_CurlSetOption
BE_Curl_Trace => BE_CurlTrace
BE_CurrentTimeMilliseconds => BE_TimeCurrentMilliseconds
BE_DeleteFile => BE_FileDelete
BE_DisplayDialog => BE_DialogDisplay
BE_ExecuteScript => BE_ScriptExecute
BE_File_Modification_Timestamp => BE_FileModificationTimestamp
BE_FileType_All => BE_FileTypeAll
BE_FileType_File => BE_FileTypeFile
BE_FileType_Folder => BE_FileTypeFolder
BE_Get_Machine_Name => BE_GetMachineName
BE_GetPreference => BE_PreferenceGet
BE_HTTP_PUT_DATA => BE_HTTP_PUTData
BE_HTTP_PUT_FILE => BE_HTTP_PUTFile
BE_HTTP_Response_Code => BE_HTTP_ResponseCode
BE_HTTP_Set_Custom_Header => BE_HTTP_SetCustomHeader
BE_HTTP_Set_Proxy => BE_HTTP_SetProxy
BE_ImportFile => BE_FileImport
BE_JPEG_Recompress => BE_JPEGRecompress
BE_MoveFile => BE_FileMove
BE_OAuth_RequestAccessToken => BE_OAuthRequestAccessToken
BE_OpenFile => BE_FileOpen
BE_PDF_Append => BE_PDFAppend
BE_PDF_GetPages => BE_PDFGetPages
BE_PDF_PageCount => BE_PDFPageCount
BE_ProgressDialog => BE_DialogProgress
BE_ProgressDialog_Update => BE_DialogProgressUpdate
BE_ReadTextFromFile => BE_FileReadText
BE_SaveFileDialog => BE_FileSaveDialog
BE_SelectFile => BE_FileSelectDialog
BE_SelectFolder => BE_FolderSelectDialog
BE_SetClipboardText => BE_ClipboardSetText
BE_SetPreference => BE_PreferenceSet
BE_SignatureGenerate_RSA => BE_SignatureGenerateRSA
BE_SignatureVerify_RSA => BE_SignatureVerifyRSA
BE_SMTP_AddAttachment => BE_SMTPAddAttachment
BE_SMTP_Send => BE_SMTPSend
BE_SMTP_Server => BE_SMTPServer
BE_SMTP_Set_Header => BE_SMTPSetHeader
BE_StripXMLNodes => BE_XMLStripNodes
BE_UTCMilliseconds => BE_TimeUTCMilliseconds
BE_Values_ContainsDuplicates => BE_ValuesContainsDuplicates
BE_Values_FilterOut => BE_ValuesFilterOut
BE_Values_Sort => BE_ValuesSort
BE_Values_TimesDuplicated => BE_ValuesTimesDuplicated
BE_Values_Trim => BE_ValuesTrim
BE_Values_Unique => BE_ValuesUnique
BE_Vector_DotProduct => BE_VectorDotProduct
BE_Vector_EuclideanDistance => BE_VectorEuclideanDistance
BE_WriteTextToFile => BE_FileWriteText
BE_Xero_GenerateKeys => BE_XeroGenerateKeys
BE_Xero_SetTokens => BE_XeroSetTokens
BE_XML_Parse => BE_XMLParse
BE_XML_Validate => BE_XMLValidate
Changes
BE_SMTP_Send: correct an issue where mail with multiple "to" recipients would cause an error
########################################################################
Version 4.0.1
########################################################################
June 29, 2018
Changes
BE_SMTP_Send: correct an issue where mail with multiple "to" recipients would cause an error
########################################################################
Version 4.0
########################################################################
June 20, 2018
New Functions
BE_Array_Change_Value
BE_Array_Delete
BE_Array_Find
BE_CipherDecrypt
BE_CipherEncrypt
BE_InstallScriptStep
BE_PDF_Append
BE_PDF_GetPages
BE_PDF_PageCount
BE_PerformScriptStep
BE_RemoveScriptStep
BE_SMTP_Set_Header
BE_SignatureGenerate_RSA
BE_SignatureVerify_RSA
BE_XML_Validate
Deprecated
BE_Base64_Decode
BE_Base64_Encode
BE_Base64_URL_Encode
BE_Encoding_Base64
BE_Encoding_Hex
BE_Encrypt_AES
BE_Decrypt_AES
BE_HMAC
BE_JSON_ArraySize
BE_JSON_Encode
BE_JSON_Error_Description
BE_JSONPath
BE_MessageDigest
BE_MessageDigestAlgorithm_MD5
BE_MessageDigestAlgorithm_SHA256
BE_MessageDigestAlgorithm_MDC2
BE_MessageDigestAlgorithm_SHA
BE_MessageDigestAlgorithm_SHA1
BE_MessageDigestAlgorithm_SHA224
BE_MessageDigestAlgorithm_SHA384
BE_MessageDigestAlgorithm_SHA51
BE_WriteTextFileToContainer
Changes
BE_ApplyXSLT: xml_path parameter may point to a container
BE_ArraySetFromValueList: optional parameter, retainEmptyValues (default = false) added
BE_ClipboardText: retrieve utf-16 in addition to utf-8 on macOS for FileMaker Custom Menus only
do not crash when there is no text/utf-8 coercion available for a data type (macOS)
return error 3, command not available on Linux
BE_ClipboardFormats: return error 3, command not available on iOS and Linux
BE_DisplayDialog: return error 3, command not available on iOS, Linux and under FMS
BE_ExportFieldContents: allow for images with resource forks
return a path to temporary file if one in not specified
BE_ExtractScriptVariables: no longer appears in calculation dialogs
optional parameter to specify the variable prefix (default $)
BE_FileSize: return the size for directories in addition to files
BE_FMS_* functions removed
BE_GetLastError: thread safe
BE_GetPreference: return error 3, command not available on Linux
BE_HMAC: set BE_GetLastError when the key or message encoding is invalid
BE_HTTP_*: use Authorization header for Xero OAuth
BE_HTTP_POST: filename parameter added so that the response can be saved to a container as a file
BE_HTTP_Set_Custom_Header: call with no parameters to delete all Headers
BE_InstallScriptStep: renamed to BE_ScriptStepInstall
BE_ListFilesInFolder: option added to not include hidden files in the result
BE_OpenFile: return error 3, command not available on iOS and Linux
BE_OpenURL: return error 3, command not available on Linux
BE_PerformScriptStep: renamed to BE_ScriptStepPerform
BE_ProgressDialog: return error 3, command not available on iOS, Linux and under FMS
BE_ProgressDialog_Update: return error 3, command not available on iOS, Linux and under FMS
BE_ReadTextFromFile: read text from a file in a container
do not exit after the first invalid from encoding
read text from a file in a container
BE_RemoveScriptStep: renamed to BE_ScriptStepRemove
BE_SaveFileDialog: return error 3, command not available on iOS, Linux and under FMS
BE_SelectFile: return error 3, command not available on iOS, Linux and under FMS
BE_SelectFolder: return error 3, command not available on iOS, Linux and under FMS
BE_SetClipboardText: return error 3, command not available on Linux
BE_SetPreference: return error 3, command not available on Linux
BE_SMTP_AddAttachment: use the OS temp directory when running under fms
allow the content-type for an attachment to be set
attachment may be either a container or a file
BE_SMTP_Send: rfc 1123 date header added
BE_SplitBEFileNodes: no longer appears in calculation dialogs
BE_StripXMLNodes: no longer appears in calculation dialogs
Other
XML/XSLT functions thread safe
Added support for function descriptions when registering functions
########################################################################
Version 3.3.8
########################################################################
June 21, 2018
Changes
BE_HTTP_*: use Authorization header for Xero OAuth
########################################################################
Version 3.3.7
########################################################################
February 16, 2018
Changes
BE_XPath: do not crash when attempting to get a non-existent value as xml
BE_SMTP_Send: do not fold (long) header lines
encode email subjects per rfc 1342 / 2047
BE_StripInvalidUTF16CharactersFromXMLFile: optional parameter, resultPath, added
########################################################################
Version 3.3.6
########################################################################
August 30, 2017
Changes
BE_HTTP_POST: Allow a file (@/path/...) to be specified as the post args for a POST
BE_SMTP_Send: do not send bare line feeds
use network line endings when encoding base64 attachments
########################################################################
Version 3.3.5
########################################################################
August 14, 2017
Changes
BE_ApplyXSLT: fix errors with some unicode file paths on Windows
BE_RegularExpression: do not hang when the expression is empty
BE_HTTP_POST: always use POST (even when no post args are present)
BE_SMTP_Send: don't show bcc addresses
########################################################################
Version 3.3.4
########################################################################
March 7, 2017
Changes
BE_JSON_Path: correct crashing bug when loading json documents
BE_ListFilesInFolder: do not push directories when not recursing
BE_StripInvalidUTF16CharactersFromXMLFile: return the number of characters stripped
BE_StripInvalidUTF16CharactersFromXMLFile: correctly handle Ascii 26
Use Poco 1.7.8
Use updated jansson
Use libc++11
########################################################################
Version 3.3.3
########################################################################
December 9, 2016
Changes
BE_JSON_Encode: encode empty number fields as 0
########################################################################
Version 3.3.2
########################################################################
December 5, 2016
Changes
BE_Curl_Set_Option: CURLOPT_LOW_SPEED_LIMIT added
BE_HTTP_Response_Headers: "header" parameter added so that the named header only is returned
########################################################################
Version 3.3.1
########################################################################
November 7, 2016
Changes
BE_JSONPath, BE_JSON_Encode: Workaround for number rounding problems in jansson (Zendesk #141)
BE_SMTP_Send: Add "MIME-Version" header to SMTP messages (GitHub #124)
Use poco 1.7.6
########################################################################
Version 3.3
########################################################################
July 29, 2016
New Functions
BE_ArraySetFromValueList
BE_ArrayGetSize
BE_ArrayGetValue
BE_Gzip
BE_HTTP_PATCH
BE_Pause
BE_SMTP_AddAttachment
BE_Values_Trim
BE_UnGzip
Hidden
BE_FMS_Close_Files
BE_FMS_Download_Database
BE_FMS_List_Files
BE_FMS_List_Clients
BE_FMS_List_Schedules
BE_FMS_Open_Files
BE_FMS_Pause_Files
BE_FMS_Remove_Files
BE_FMS_Resume_Files
BE_FMS_Run_Schedule
BE_FMS_Upload_Database
Changes
BE_ExportFieldContents: recurively create any directories needed
BE_GetURL renamed to BE_HTTP_GET
BE_HTTP_POST:james correct a problem where Xero connections could fail under FMS on Windows
BE_ListFilesInFolder: follow aliases/symlinks when listing directory contents
BE_SaveURLToFile renamed to BE_HTTP_GET_File
BE_SMTP_Send: can send files/images in container fields as attachments
BE_SMTP_Send: correct a problem where messages would fail to send through some SMTP servers when multiple to/cc/bcc addresses were specified
BE_StripInvalidUTF16CharactersFromXMLFile: do not show in calculation dialogs
BE_Values_Sort: add parameters to allow ascending/descending and numeric sort order
BE_WriteTextToFile: recurively create any directories needed
Update third-party libraries: libxml2 2.9.4, libxslt 1.1.29, poco 1.7.3, libcurl-2.48, libssh2-1.7.0, openssl-1.0.2g
Fix github #123
########################################################################
Version 3.2
########################################################################
January 14, 2016
New Functions
BE_FTP_Delete
BE_Values_TimesDuplicated
BE_Vector_DotProduct
BE_Vector_EuclideanDistance
Changes
BE_ConvertContainer: visible in calculation dialogs
BE_Gzip: renamed to BE_ContainerCompress
BE_JPEG_Recompress: takes a scaling factor rather than width and height
BE_SMTP_Send: explicitly set the charset for the text & html parts
BE_UnGzip: renamed to BE_ContainerUncompress
BE_XOR: visible in calculation dialogs
Use libcurl 7.46 (compiled against Secure Transport on OS X)
Use OpenSSL 1.0.2e
Static link libxml2 (2.9.1) & libxslt/libexslt (1.1.28)
Support for new curl otpions:
- CURLOPT_DEFAULT_PROTOCOL
- CURLOPT_STREAM_WEIGHT
########################################################################
Version 3.1.2
########################################################################
November 23, 2015
New Functions
BE_File_Modification_Timestamp
Changes
Build OpenSSL rather than use the Apple supplied one on OS X
Strip names from email addresses before passing them to curl
Use libcurl 7.44
Support additional curl options
- CURLOPT_PIPEWAIT
- CURLOPT_PROXY_SERVICE_NAME
- CURLOPT_SERVICE_NAME
- CURLOPT_CERTINFO
- CURLOPT_SSL_FALSESTART
- CURLOPT_PATH_AS_IS
- CURLOPT_SSL_VERIFYSTATUS
- CURLOPT_UNIX_SOCKET_PATH
- CURLOPT_PINNEDPUBLICKEY
- CURLOPT_PROXYHEADER
- CURLOPT_HEADEROPT
- CURLOPT_EXPECT_100_TIMEOUT_MS
- CURLOPT_SSL_ENABLE_NPN
- CURLOPT_SSL_ENABLE_ALPN
- CURLOPT_XFERINFOFUNCTION
- CURLOPT_TCP_KEEPALIVE
- CURLOPT_TCP_KEEPIDLE
- CURLOPT_TCP_KEEPINTVL
Add the plugin specific curl option: BE_CURLOPT_FORCE_STARTTLS for use with SMTP
Use Poco 1.6.1
Set the message area rather than the dialog title for Open File dialogs on OS X
Correct an issue where BE_ApplyXSLT could fail to load external entities on Windows
Use libjpeg-turbo 1.4.2
BE_JPEG_Recompress: use FMP like behaviour when no image is supplied rather than generate an error
BE_JPEG_Recompress: resize/scale for all values
########################################################################
Version 3.1.1
########################################################################
July 22, 2015
Changes
Get inner rather than outer xml for BE_SplitBEXMLFiles
########################################################################
Version 3.1
########################################################################
July 16, 2015
New Functions
BE_ContainerIsCompressed
BE_ConvertContainer
BE_Curl_Trace
BE_Gzip
BE_ImportFile
BE_JPEG_Recompress
BE_UnGzip
BE_Values_ContainsDuplicates
BE_Xero_GenerateKeys
Experimental (Hidden) Functions
BE_RegularExpression
BE_XOR
Changes
BE_Curl_Set_Option: label function parameters as optional
BE_Curl_Set_Option: the options CURLOPT_HTTPAUTH & CURLOPT_PROXYAUTH take named constants
BE_EvaluateJavaScript: add the ability to call FM scripts and evaluate FM calculations from JavaScript
BE_EvaluateJavaScript: now visible in calculation dialogs
BE_HMAC: add a parameter to allow and input encoding for Base64 and Hex
BE_HTTP_POST: allow post args to specify file paths using the @ syntax
BE_HTTP_POST: do not crash when a http post contains a parameter that is not a key=value pair
BE_JSON_Encode: correctly handle leading 0 for real numbers
BE_JSON_Error_Description: do not change the value of BE_GetLastError
BE_SMTP_Send: allow the use of custom curl options and headers
BE_SMTP_Send: force attachments to the end of the message
BE_SMTP_Send: now visible in calculation dialogs
BE_SMTP_Send: now works with self signed SSL certificates by default
BE_SMTP_Send: replyTo parameter added
BE_SMTP_Server: now visible in calculation dialogs
BE_SplitBEXMLFiles: correct a problem with accessing xml nodes
BE_Values_Unique, BE_Values_FilterOut: add option to be case insensitive
Ensure that Get ( InstalledFMPlugins ) returns the same value on both OS X and Windows
Remove support for Windows XP
########################################################################
Version 3.0
########################################################################
December 19, 2014
New Functions
BE_ExportFieldContents
BE_FTP_Upload
BE_HMAC
BE_Xero_SetTokens
Experimental (Hidden) Functions
BE_EvaluateJavaScript
BE_SMTP_Server
BE_SMTP_Send
Removed
BE_ExecuteShellCommand
BE_FileMaker_Tables
BE_FileMaker_Fields
Changes
BE_ProgressDialog, BE_ProgressDialog_Update: improved error handling
BE_ListFilesInFolder: force the use of the correct path separator for the platform
BE_MessageDigest: return an error when an invalid algorithm is supplied
BE_Zip, BE_Unzip: improved error handling, create empty directories in archives
Improved handling of file paths containing unicode characters on Windows
Transparently handle compressed file streams in container fields
########################################################################
Version 2.3.1
########################################################################
August 29, 2014
Changes
BE_Decrypt_AES: fix a crash when attempting to decrypt data not encrypted with the plug-in
BE_ListFilesInFolder: improved unicode support
Correct a focus problem with dialog boxes on Windows
########################################################################
Version 2.3
########################################################################
June 23, 2014
New Functions
BE_Decrypt_AES
BE_Encrypt_AES
BE_SaveFileDialog
Changes
BE_ExecuteShellCommand, BE_ExecuteSystemCommand: improved error handling
BE_ClipboardFormats, BE_ClipboardText, BE_SetClipboardText: support CF_FILEGROUPDESCRIPTORW, CF_FILENAMEW & CF_FILENAMEMAPW clipboard formats (Win)
BE_FileMakerSQL: fix memory leak
BE_ListFilesInFolder: option to list contents recursively
BE_ListFilesInFolder: option to return full, rather than relative paths
BE_SaveURLToFile: optionally show a progress dialog
BE_Zip: zip multiple files/folders
Load correctly on XP (broken in 2.1)
########################################################################
Version 2.2.2
########################################################################
April 11, 2014
Changes
Update OpenSSL for the "Heartbleed" bug (Win)
########################################################################
Version 2.2.1
########################################################################
March 12, 2014
Changes
Allow working with large files for all XML functions
BE_XPath, BE_XPathAll: return an empty string when getting an empty node set as xml
BE_Zip: correctly set the path delimiters when adding files to an archive (Win)
########################################################################
Version 2.2
########################################################################
February 25, 2014
New Functions
BE_SplitBEFileNodes
Changes
BE_ExecuteShellCommand: work-around for crashing bug
BE_ExecuteSystemCommand: never return output when the timeout is 0
BE_ListFilesInFolder: return "?" and sets BE_GetLastError when the directory does not exist
BE_MessageDigest: correctly handle unicode input
BE_SelectFile: allow selection of multiple files
BE_SelectFile, BE_SelectFolder: use modern dialogs on Vista and later (Win)
BE_XPAth: optionally return node values as XML
BE_XPath, BE_XPathAll: support objects of type XPATH_BOOLEAN, XPATH_NUMBER and XPATH_STRING
BE_Unzip, BE_Zip: allow control over the name/destination of the output
########################################################################
Version 2.1
########################################################################
June 19, 2013
New Functions
BE_Curl_Set_Option
BE_HTTP_PUT_Data
BE_HTTP_PUT_File
BE_JSON_ArraySize
BE_JSON_Encode
BE_JSON_Error_Description
BE_JSONPath
BE_OAuth_RequestAccessToken
BE_ProgressDialog
BE_ProgressDialog_Update
BE_Values_FilterOut
BE_Values_Sort
BE_Values_Unique
Changes
BE_CreateFolder: create directory structures recursively
BE_ClipboardFormats, BE_ClipboardText, BE_SetClipboardText: support default/system clipboard format names on (Win)
BE_StripXMLNodes: handle nested CDATA sections correctly
########################################################################
Version 2.0
########################################################################
February 5, 2013
New Functions
BE_Base64_URL_Encode
BE_CurrentTimeMilliseconds
BE_ExecuteSystemCommand
BE_FileSize
BE_HTTP_Delete
BE_HTTP_PUT
BE_HTTP_Set_Proxy
BE_StripXMLNodes
BE_TimeZoneOffset
BE_UTCMilliseconds
Changes
BE_Base64_Decode: Base 64 URL decode support added
BE_Base64_Encode: encode images in container fields
BE_ExecuteShellCommand: depreciated
BE_FileMakerTables, BE_FileMakerFields: depreciated
BE_GetLastError: do not reset the last error when calling BE_GetURL, BE_SaveURLToFile & BE_HTTP_[POST|PUT|DELETE]
BE_GetPreferences, BE_SetPreferences: fix memory leak (OS X)
BE_HTTP_POST: added options for username and password
BE_SelectFolder: "New Folder" button added
BE_VersionAutoUpdate: now uses the form: xx Major version xx Minor version xx Revision xx Build
BE_Zip: bug fix
64-bit support
########################################################################
Version 1.3.2
########################################################################
June 19, 2012
Changes
BE_GetURL: bug fix
BE_Unzip: bug fix
########################################################################
Version 1.3.1
########################################################################
March 2, 2012
Changes
BE_Base64_Decode: both parameters are required
BE_Base64_Decode, BE_Base64_Encode: bug fix
########################################################################
Version 1.3
########################################################################
January 31, 2012
New Functions
BE_Base64_Decode
BE_Base64_Encode
BE_GetLastDDLError
BE_GetPreferences
BE_HTTP_POST
BE_HTTP_Response_Code
BE_HTTP_Response_Headers
BE_HTTP_Set_Custom_Header
BE_OpenFile
BE_SetPreferences
BE_SetTextEncoding
BE_Unzip
BE_Zip
Changes
BE_FileMakerSQL: accept multi-character delimiters
BE_FileMakerSQL: option to specify the database
BE_GetURL, BE_SaveURLToFile: HTTPS enabled
BE_SelectFile, BE_SelectFolder: option to specify the folder to start in
########################################################################
Version 1.2.1
########################################################################
August 19, 2011
Changes
BE_ExecuteShellCommand: bug fix
########################################################################
Version 1.2
########################################################################
July 26, 2011
New Functions
BE_ApplyXSLTInMemory
BE_ExecuteScript
BE_FileMakerSQL
BE_GetLastError
BE_GetURL
BE_MessageDigest
BE_SaveURLToFile
BE_XPath
BE_XPathAll
Changes
BE_CopyFiles: handle directories
BE_ExecuteShellCommand: waitForResponse parameter added
########################################################################
Version 1.1
########################################################################
May 2, 2011
New Functions
BE_CopyFile
BE_ExecuteShellCommand
BE_FileMaker_Fields
BE_FileMaker_Tables
BE_ListFilesInFolder
BE_MoveFile
BE_OpenURL
Changes
BE_CreateFolder & BE_DeleteFile return error codes rather than ? for filesystem errors
BE_FileExists, BE_ReadTextFromFile, BE_WriteTextToFile & BE_StripInvalidUTF16CharactersFromXMLFile use the boost filesystem error code rather than the generic kFilesystemError where possible
BE_WriteTextToFile: allow text to be appended to a file (not just create/overwrite it)
BE_WriteTextToFile returns an error code, 0 on success, not a boolean, true on success
########################################################################
Version 1.0
########################################################################
October 8, 2010
BE_Version
BE_VersionAutoUpdate
BE_ClipboardFormats
BE_ClipboardText
BE_SetClipboardText
BE_CreateFolder
BE_DeleteFile
BE_FileExists
BE_ReadTextFromFile
BE_WriteTextToFile
BE_SelectFile
BE_SelectFolder
BE_DisplayDialog
BE_ApplyXSLT
BE_ExtractScriptVariables
BE_StripInvalidUTF16CharactersFromXMLFile