All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
Fix crash in JSONXOP_AddTree when passing an unexpected value for /T like -100
JSONXOP_AddValue now errors out if the wave to add is of type wave reference wave or datafolder reference wave. Previously it did nothing.
Add more tests to cover also nearly all error conditions
Add support for JSONXOP_AddValue for zero sized waves
fix for JSON_SetVariable errorneously using integer flag for Inf, -Inf values, resulting in RTE
fix for JSON_Parse return value on fail
changed json-functions to preserve the callers RTE state
fixed Igor help file, such that documentation links work properly and Igor internal linage to operation names and user function names (IP9) works.
Add CI testing on MacOSX Monterey beta 4.
Change the bundle identifier for notarization on MacOSX, this is now “de.byte-physics.xop.JSON-64”.
Revised the operation documentation completely. Now with a detailed explanation of every flag, working examples with output and all nitty gritty details.
Added the sphinx-copybutton extension for easier copy and paste of the example code.
Adapted the documentation layout a bit to fit better on larger monitors.
The rounding for the flag /S (significance) is now OS-independent
rtFunctionErrors=1in procedure file for better error handling
Compile and test on MacOSX Catalina
Explicitly set the minimum required MacOSX version to 10.10 (the same as Igor Pro 8)
Code sign and notarize the XOP on MacOSX
Massive performance improvements
Upgraded to Visual Studio 2019
The C++ JSON library was updated to v3.8.0.
Clear lingering runtime errors before any calls to
AbortONRTEin Igor Pro procedure code
The C++ JSON library was updated to 6121fc52 (:art: fix indentation, 2020-04-10).
JSON_Exists now clears any lingering run time errors
Add documentation for JSON_IGNORE_ERRORS, JSON_UNQUIET defines
Add wrapper functions to set/unset defines
documentation of /S flag for JSONXOP_AddValue
Added /A flag to JSONXOP_Release
JSONXOP_GetValue has now a /FREE flag
JSONXOP_GetKeys has now a /FREE flag
JSONXOP_GetMaxArraySize has now a /FREE flag
This brings functionality more in line with present Igor operations.
Wrapper procedures are now threadsafe
JSON_GetValue outputs more helpful warning message if an invalid array element for conversion to an igor wave element was encountered.
JSON_AddVariable function works with Inf as value
Fix signed/unsigned warnings found with clang-tidy
Exclude PDB files from download
Preserve PDB files in a separate build artifact
downloaddirective for the link to the xop zip file
Reduce ctags file by excluding sub-dependencies
Wrapper function for JSONXOP_Remove
Add Wrapper Function
JSON_Existsto test for valid
Corrected company name in documentation
Enhance compile flags for MSVC to catch more issues
Add sanitizer support on MacOSX and fix some minor issues
JSON_Version uses a more general approach to include IgorInfo information.
JSON_GetIgorInfo function added.
For JSON functions returning waves a name collision with existing waves with the same name as internally used waves could happen.
The C++ JSON library was updated to 06ccd43a (Merge pull request #1722 from t-b/fix-int64-min-issue, 2019-09-10).
JSONXOP_GetValue/L=wave follows the int64/uint64 wave type when parsing a json value
Code cleanup to make clang-tidy happier
JSON_GetWave: Fix operation call
JSON_GetType: Add wrapper function
Output short message on initialization
/Q to the documentation
Enforce Igor Pro 8 in the procedure file
JSON_UNQUIETto tweak the defaults of the wrapper functions
First public release