May 15, 2023
- Fixed bug in SRP_JsonX_Get that would crash on certain paths in OI 10
March 27, 2023
- Added Compare, EQ, EQC, NE, NEC, LT, LTC, LE, LEC, GT, GTC, GE, and GEC services to SRP_String
- Added StripRtf service to SRP_String
- Added GetTempPath and GetTempFilename services to SRP_Path
- Added BEGINCALL, ENDCALL, and ADDPARAM services to SRP_Com
- Added SRP_Is64Bit
- Updated SRP_Date, SRP_Time, and SRP_DateTime IConv services to set Status() when validation fails
- Updated URL algorithm in SRP_Encode/SRP_Decode.
- Updated SRP_Show_Window to respect DPI in OI 10
- Fixed bug in SRP_JsonX and SRP_JsonX_Set where passing number with leading zeroes with no hint produces invalid Json numbers
- Fixed bug in SRP_JsonX and SRP_JsonX_Set where setting Hint to “” set the value to null
- Fixed bug in SRP_JsonX and SRP_JsonX_Set where setting Hint to “Bool” would break to debugger if non-numerical value was passed
- Fixed bug in SRP_JsonX_Members where passing path to non-existing element would crash
- Fixed bug in SRP_Time and SRP_DateTime where “t” or “tt” format would use pm instead of am for the noon hour
- Fixed bug in SRP_Path where MakeRelative service would crash in OI10
- Fixed bug in SRP_Registry where it would break to debugger on a READ
- Fixed bug in SRP_Com where creating new objects would return handles with null characters
- Fixed bug in SRP_Com where passing -1 for a boolean would be understood as TRUE
- Fixed bug in SRP_PreCompiler not removing #pre and #endpre directives before compilation
- Fixed bug in SRP_Get_Utilities_Version where it would crash in OI10
February 17, 2022
- Updated SRP_PreCompiler FOR EACH loop to be faster and correctly handle trailing “”
- Updated SRP_PreCompiler to use variables instead dimmed arrays for more performance
- Updated SRP_PreCompiler to case-insenstively parse unpacking statements
- Fixed bug where SRP_Get_Window_Rect wouldn’t work on OI10 due to WinAPI name changes
January 19, 2022
- Added “ARRAY” hint to SRP_JsonX routine
December 22, 2021
- Added SRP_Regex
- Fixed SRP_Run_Command failing on commands when using the “DOS” or “DOSOPEN” output directives.
November 15, 2021
- Updated SRP_Run_Command to better handle Unicode and UTF8 output
- Fixed bug in SRP_Time Parse/IConv that would not handle missing hour component correctly
October 18, 2021
- Added Validate service to SRP_Json
- Fixed bug in SRP_Time and SRP_DateTime when formatting times with AM/PM
- Fixed bug in SRP_Run_Command where utf8 was not being handled correctly for some commands
August 16, 2021
- Added SRP_JsonX.
- Fixed bug where UTF8 data would get truncated when using SRP_HashTable.
- Updated all routines to use GetByteSize instead of Len where appropriate to avoid future UTF8 truncations.
- Fixed bug where SRP_Array Rotate service would skip last element if it was 1 character wide.
April 28, 2021
- Fixed bug in SRP_PreCompiler where For Each loops would break early if calling gosubs that had other For Each loops in them.
April 21, 2021
- Added SRP_Get_FileVersion
- Added SRP_Get_Utilities_Version
- Added SRP_Stack
- Added SRP_Get_Fonts
- Added Clear service to SRP_List
- Added Clear service to SRP_FastArray
- Updated SRP_PreCompiler to no longer use labelled commons
- Updated SRP_Get_Printers to treat "" as "Local"
- Updated SRP_Get_Printers with service module metadata (for SRP Editor hints and dropdowns)
- Fixed bug in SRP_Date where using negative numbers in AddMonths returned wrong results
- Fixed bug where SRP_List_Create would not initialize correctly
- Fixed missing metadata for SRP_HashTable
Updated SRP_PreCompiler to support unlimited Events, Services, etc.
Fixed bug where SRP_JSON member keys would not escape
- Fixed bug in SRP_Run_Command where output would not go into variable if it was too long
Added BASE64URL algorithm to SRP_Encode and SRP_Decode
Added URL algorithm to SRP_Encode and SRP_Decode
Added AddSeconds, AddMinutes, AddHours, AddDays, AddMonths, and AddYears to SRP_DateTime
Added SecondSpan, MinuteSpan, HourSpan, DaySpan, MonthSpan, YearSpan, and Span to SRP_DateTime
Added Split service to SRP_DateTime
Added AddSeconds, AddMinutes, and AddHours to SRP_Time
Added SecondSpan, MinuteSpan, HourSpan, and Span to SRP_Time
Updated SRP_Run_Command to support both OI 9 and OI 10
- Added IsDaylightSavings to SRP_Time service.
- Fixed bug in SRP_String where GetWidth and GetHeight returned incorrect values.
- Updated SRP_PreCompiler with new Extended BASIC+ syntax: Unpacking
- Updated SRP_JSON with two new services: AddValueArray and SetValueArray
- Updated SRP_JSON New service to allow initialization of new ARRAY type node
- Fixed bug in SRP_String TokenizeCode service that was not detecting end of comment block correctly
- Fixed bug in SRP_JSON where SetValue would not work with ARRAYs.
- Fixed bug in SRP_PreCompiler where Service module with no services would not compile correctly
Updated SRP_StopWatch to use more accurate TimeGetTime instead of GetTickCount.
Updated SRP_String TokenizeCode service to include new State parameter to preserve parser state between calls.
- Updated SRP_PreCompiler to properly ignore /* Comment Blocks */
- Added Reverse service to SRP_Array
- Fixed bug where UTF-8 strings would get truncated during SRP_Array CLEAN
Updated SRP_Sort_Array and SRP_Array's SortRows and SortSimpleList services to support true numerical sorting
Fixed SRP_Json outputting Unicode characters as \uFFFFxxxx sequences instead of as UTF-8.
Updated SRP_Com to better handle properties and methods that return SAFEARRAY types
Updated SRP_Json to only escape solidus when requested
Updated SRP_Json to escape all control characters (not just the major ones) as unicode sequences
Fixed bug in SRP_Json where reserved characters were not escaped
Fixed bug in SRP_Com where property and method names were case-sensitive instead of case-insensitive
Fixed bug in the SRP_Array ROTATE service where results were getting truncated
Fixed bug in the SRP_Array CLEAN service where process would sometimes hang
Fixed bug in SRP_Encode where encoding large amounts of data with BASE64 could take minutes to complete
Fixed bug in SRP_Math where RANDOM would return "" instead of 0
Fixed bug in SRP_Math where significant zeros would get truncated
- Updated SRP_Json GET and GETVALUE services to support escaped operators '[', ']', '<', '>', and '.' by repeating them twice
- Fixed bug where SRP_Array CLEAN service would hang if the array contained only delimiters
- Fixed bug where SRP_String GETWIDTH service would not correctly calculate width
- Fixed SRP_Com not returning 1-byte safe arrays correctly
- Fixed SRP_Path COMBINE service mangling UNC paths
- Added GETELEMENTS service to SRP_Json.
- Updated GETMEMBERS and STRINGIFY services of SRP_Json to include Sorted parameter.
- Updated SEND and SEND_SES services of SRP_TcpClient to return 0 if send fails.
- Rewrote DLL so it can be compiled in 64-bit. Made other improvements in the process.
- Fixed missing DLL stubs for SRP_FastArray.
- Fixed rounding bug in SRP_Math ROUND service.
- Updated SRP_Json STRINGIFY service to no longer append trailing Line Feed character.
- Updated SRP_Stopwatch ShowAll service to automatically display total time if there are more than one times.
- Updated SRP_Stopwatch to allow Name parameter to be omitted for quick single timers.
- Fixed SRP_Stopwatch bug where single character names would fail to work correctly.
- Added RECEIVE service to SRP_TcpClient.
- Fixed bug in SRP_TcpClient SEND service triggering VNAV errors.
- Fixed SRP_Encode regression where Option parameter went missing.
- Added SRP_String.
- Added SRP_Array, SRP_List, SRP_FastArray, and SRP_HashTable, which are all service oriented wrappers around existing SRP Utilities methods.
- Added inserts for convenience: SRPARRAY, SRPLIST, SRPFASTARRAY, and SRPHASHTABLE
- Fixed bug in several routine where UTF8 encoded Unicode characters would not decode properly.
- Add PathToUnc service to SRP_Path.
- Fixed bug in SRP_Json where return values would sometimes return question marks.
- Added SRP_Path.
- Updated SRP_Json GETVALUE to support default value to be returned when <null> would be returned.
- Updated SRP_Extract_XML to return just the value of attributes instead of 'Attribute="value"'.
- Fixed bug in SRP List, SRP FastArray, and SRP HashTable where GetVariable would return question marks.
- Various bug fixes.
- Added support for "NULL" type in SRP_Json.
- Updated SRP_Json to automatically determine type based on value when type is not specified.
- Updated SRP_Com to support the SAFEARRAY type.
- Fixed bug in SRP_Com where some COM objects whose type libraries were unavailable wouldn't work.
- Fixed bug in SRP_Json where extracting numeric values was causing a crash.
- Added SRP_Json and SRP_Stopwatch stored procedures.
- Added SRP_Get_Printers and SRP_Get_PrinterInfo stored procedures.
- Fixed SRP_Run_Command bug where calling built-in DOS commands wouldn't work if parameters were included.
- Added Options parameter to SRP_Encode.
- Fixed SRP_Encode bug where encoding would not work correctly in some cases when UTF8 mode was enabled.
- Fixed SRP_Extract_Xml bug where escaped sequences, such as "%amp;" were not being decoded when accessing the "text()" of an element.
- Added SRP_Trim function for more advanced string trimming.
- Fixed SRP_Math bug where the RANDOM operation would produce the same number if called too quickly.
- Updated SRP_Math's RANDOM operation to allow caller to pass a minimum and maximum value.
- Fixed SRP_Hash bug where it still would not return a hash value for empty input strings.
- Added SRP Hash Table methods for high performance in-memory tables.
- Fixed SRP_Hash bug where it would not return a hash value for empty input strings.
- Added SRP_OI_To_Win32 method for easily converting BASIC+ values into Win32 datatypes.
- Added SRP_Win32_To_OI method for easily converting Win32 datatypes into BASIC+ values.
- Added SRP_Get_IdleTime method for easily detecting lack of user input.
- Added SRP FastArray methods for high performance dynamic array manipulation.
- Added SRP List methods for high performance single-dimensioned dynamic array manipulation.
- Added SRP_Taskbar to perform operations against the windows taskbar, such as altering the text that appears when taskbar buttons are grouped.
- Added SRP_TcpClient to communicate to TCP/IP socket servers.
- Updated SRP_Join_Arrays to perform a total of four operations: AND (Intersection), OR (Union), NOT, and XOR.
- Updated SRP_Sort_Array to use true right-aligned alphabetic sorting for columns that cannot be converted into floating point numbers. This causes Right sorting to work with columns that contain number preceded by text.
- Added SRP_Join_Arrays to quickly return the union or intersection of two arrays.
- Fixed SRP_Clean_Array bug in which the TRIM option was removing blanks everywhere instead of just at the end as is documented.
- Fixed SRP_Hash bug caused by changes to SRP_Encode from previous releases not being included in SRP_Hash.
- Fixed SRP_Sort_Array bug to account for fields with differing number of values.
- Added SRP_Extract_Xml to allow developers to easily extract XML data using XPath queries.
- Added SRP_Com to allow developers to use COM components from any version of OpenInsight.
- Added SRP_Save_Screenshot to programmtically save screenshots of windows to bitmap files.
- Fixed small memory leak when using SRP_Encode or SRP_Decode.
- Fixed SRP_Math bug in which POWER operation would not allow first value to be negative
- Fixed SRP_Registry bug in which DELETE operation failed to delete values due to lack of requesting deletion access
- Fixed SRP_Math memory leaks
- Fixed SRP_Math bug where operations resulting in very large negative exponents could result in a crash
- Fixed SRP_Math bug where "SUBTRACT" was doing a square root operation due to bad parsing of the instruction
- Added SRP_Math function
- SRP_Run_Command now supports the DOSOPEN output option, allowing output to appear within a DOS window while also keeping the DOS window opened
- Updated SRP_Run_Command to handle built in DOS commands
- Updated SRP_Run_Command to return Output via return value so SRP Editor can display results
- Fixed SRP_Run_Command bug where DOS option did nothing
- Fixed SRP_Run_Command bug where command would not execute if called outside of an event context
- Fixed SRP_Run_Command bug where output would always be prepended with VAR
- Added missing structures to RDK required by SRP_Run_Command
- Updated SRP_Sort_Array to preserve original positions for rows that are equal. This matches the behavior of V119
- Initial Release