Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

908

  • Reformat and lint the code with IPT

906

  • Update used sphinx version that is used to build the documentation

902

  • Switch MacOSX CI to Sonoma

  • Renew signing/notarization certificate on MacOSX, switch from altool to notarytool

  • Adopt C++17

887

  • Switch to compilation with Visual Studio 17 2022 on Windows

885

  • Change allowed range for JSONXOP_AddValue/I to -2^63 to 2^63 - 2^10 (borders included)

880

  • Add /WM flag to JSONXOP_GetValue

  • Add optional waveMode argument to JSON_GetWave

875

  • Add JSON_IsValid

872

  • Add utility functions JSON_Load and JSON_Save to load/save JSON data from storage

868

  • Add sanity checks for too big strings for JSONXOP_Dump and JSONXOP_GetValue

850

  • JSONXOP_GetValue/J added. Returns a JSON object from an JSON object at the given path.

  • Added JSON_SyncJSON utility function.

841

  • Update XOP Generator tool to latest version and all auto-generated sources.

814

  • Fix free wave memory leak when JSONXOP_GetValue could not convert the array data to the requested type. Found with Igor Pro 9 Wave Tracking.

799

  • Better error reporting for free destination waves if the caller can not handle them

794

  • 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

766

  • Add support for JSONXOP_AddValue for zero sized waves

763

  • fix for JSON_SetVariable errorneously using integer flag for Inf, -Inf values, resulting in RTE

748

  • fix for JSON_Parse return value on fail

747

  • changed json-functions to preserve the callers RTE state

746

  • fixed Igor help file, such that documentation links work properly and Igor internal linage to operation names and user function names (IP9) works.

742

Added

  • Add CI testing on MacOSX Monterey beta 4.

735

Changed

  • Change the bundle identifier for notarization on MacOSX, this is now “de.byte-physics.xop.JSON-64”.

723

Changed

  • 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.

686

Fixed

  • The rounding for the flag /S (significance) is now OS-independent

685

Changed

  • Use rtFunctionErrors=1 in procedure file for better error handling

681

Changed

  • 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

648

Changed

  • Massive performance improvements

632

Changed

624

Fixed

  • Clear lingering runtime errors before any calls to AbortONRTE in Igor Pro procedure code

614

Changed

  • The C++ JSON library was updated to 6121fc52 (:art: fix indentation, 2020-04-10).

611

Changed

  • JSON_Exists now clears any lingering run time errors

555

Changed

  • Add documentation for JSON_IGNORE_ERRORS, JSON_UNQUIET defines

  • Add wrapper functions to set/unset defines

554

Fixed

  • documentation of /S flag for JSONXOP_AddValue

552

Changed

  • Added /A flag to JSONXOP_Release

551

Changed

  • 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.

550

Changed

  • Wrapper procedures are now threadsafe

549

Fixed

  • JSON_GetValue outputs more helpful warning message if an invalid array element for conversion to an igor wave element was encountered.

548

Fixed

  • JSON_AddVariable function works with Inf as value

547

Fixed

  • Fix signed/unsigned warnings found with clang-tidy

526

Fixed

  • Exclude PDB files from download

  • Preserve PDB files in a separate build artifact

  • Use sphinx download directive for the link to the xop zip file

  • Reduce ctags file by excluding sub-dependencies

Added

  • Wrapper function for JSONXOP_Remove

  • Add Wrapper Function JSON_Exists to test for valid jsonID

510

Added

  • License information

509

Changed

  • Corrected company name in documentation

508

Changed

  • Enhance compile flags for MSVC to catch more issues

  • Add sanitizer support on MacOSX and fix some minor issues

495

Changed

  • JSON_Version uses a more general approach to include IgorInfo information.

  • JSON_GetIgorInfo function added.

494

Fixed

  • For JSON functions returning waves a name collision with existing waves with the same name as internally used waves could happen.

490

Changed

  • The C++ JSON library was updated to 06ccd43a (Merge pull request #1722 from t-b/fix-int64-min-issue, 2019-09-10).

485

Changed

  • JSONXOP_GetValue/L=wave follows the int64/uint64 wave type when parsing a json value

484

Changed

  • Code cleanup to make clang-tidy happier

Fixed

  • JSON_GetWave: Fix operation call

Added

  • JSON_GetType: Add wrapper function

  • Output short message on initialization

432

Added

  • /Q to the documentation

  • Changelog

426

Changed

  • Enforce Igor Pro 8 in the procedure file

423

Added

  • Defines JSON_IGNORE_ERRORS and JSON_UNQUIET to tweak the defaults of the wrapper functions

422

  • First public release