HL7Spy v26.1.1093 Released

  • Improvement – Application – Speed up HL7 message parsing and Seek with vectorized boundary scans
  • Improvement – Application – Add a binary message-offset cache to speed reopen of large HL7 files; store indexes under %TEMP% and add Clear Message Index Cache
  • Improvement – Message Statistics – Speed up Field Stats with concurrent processing
  • Improvement – HL7 SQL – Improve concurrent query selection from the total message count across queried tabs
  • Improvement – HL7 Analytics – Give every database an MSH table so a load can be undone
  • Improvement – Application Startup – Fall back to %TEMP%\HL7Spy when the encrypted AppData temp folder is not writable
  • Improvement – Application – Replace WinForms ContextMenuStrip usages with DevExpress PopupMenus so context menus follow the app skin
  • Improvement – Application – Reduce noise in the Output window
  • Improvement – Networking – Send HTTP batches as a single request with complete FHS/BHS, message, and BTS/FTS payload
  • Improvement – Networking – Enforce a maximum MLLP message size and close the connection on oversized inbound messages
  • Improvement – Networking – Route MLLP Send HL7 connections through the SSH tunnel local endpoint
  • Bug Fix – TransformView – Fix Expression/Condition font size and vertical centering in edit mode; fix Test/Run NullReferenceException when selection is missing; fix File menu InvalidCastException when opening the dropdown
  • Bug Fix – TransformView – Expand [*] / wildcard paths across every segment and field repeat; skip scan-all-repeats for relative [x] conditions; walk every named repeat correctly
  • Bug Fix – Application – Fix large ZIP loads dropping messages when entries lack a trailing CR
  • Bug Fix – Code Tables – Fix concurrent ZipArchive code-table loads that logged corrupt headers
  • Bug Fix – HL7 SQL – Fix Auto Save not persisting queries across app restarts – Reported by JD@HSHS.ORG
  • Bug Fix – HL7 SQL – Fix INTO results missing messages when Query All Tabs is on; fix INTO … APPEND returning no rows when the query has no TOP clause
  • Bug Fix – HL7 SQL – Fix queries rejecting the word “from” inside quoted string literals
  • Bug Fix – HL7 SQL – Fix “into <plain tab> append” NullReferenceException when the target tab has not yet run a query
  • Bug Fix – HL7 SQL – Make the concurrent query path match sequential results; resolve result rows to the correct tab and message index
  • Bug Fix – SQL Loader – Fix custom connection string password entry and persistence; stop persisting EncryptedPassword when StorePassword is false
  • Bug Fix – SQL Loader – Redact DuckDB encryption keys from attach SQL logs
  • Bug Fix – HL7 Analytics – Fix many Analytics query issues including overlapping queries, discarded partly loaded sources, cache limits, disposed-handler reopen, and source ordering
  • Bug Fix – HL7 Analytics – Escape DuckDB database export SQL paths and identifiers; persist AWS region and Azure credential exclusions; restore Analytics settings that were not serialized
  • Bug Fix – Compare – Fix Compare when a source tab is already closed; resolve message identity from a query grid; skip Compare when a collection cannot be resolved
  • Bug Fix – Networking – Receive acknowledgments for MLLP batch sends; keep batch ACK count across MLLP v2 commit frames; fix batch ACK timestamps to use a 24-hour clock
  • Bug Fix – Networking – Fix fragmented ACK parsing with reused buffers; fix framing offset for large MLLP messages; preserve pipelined MLLP messages during ACK generation
  • Bug Fix – Networking – Rebuild SSH tunnel after reconnect or target change; fix active SendHL7 transport disposal and cancellation token leaks; preserve protocol logging after reconfiguration
  • Bug Fix – Networking – Reject server framing without an end marker; fix stale ACK reuse after MessageReceivedEventArgs.Clear
  • Bug Fix – Application – Fix HideOnClose float forms (e.g. Sort) reappearing when their document tab is reactivated – Reported by JD@HSHS.ORG
  • Bug Fix – Application – Fix settings import rejecting unencrypted (daily backup) settings files
  • Bug Fix – Application – Fix message counting in Link set operations when one tab is empty
  • Bug Fix – Application – Flush CSV export before its stream is closed; dispose the archive extractor when a read ends
  • Bug Fix – Application – Fix FindResult paths for repeating fields and targeted segments; fix infinite repeat iteration for wildcard field paths; mask the requested field repeat
  • Bug Fix – Application – Fix EncodingCharacters.Create mishandling short or malformed messages; fix UnescapeValue returning the whole message on error; make MessageLocation parsing thread-safe
  • Bug Fix – Application – Fix IndexOutOfRangeException when parsing 4-character segment names at the end of text
  • Bug Fix – Application – Fix inverted guard in SplitLongSegmentToADD; fix wrong subcomponent index on node copy
  • Bug Fix – Application – Fix HL7Segment.Clone for standalone segments; fix segment collection indexer replacement and Clear ownership flags
  • Bug Fix – Application – Harden MessageCollection locking, GetRange, and dirty-state handling; keep Seek on the memory buffer when nothing has spilled
  • Bug Fix – Application – Fix Cloverleaf incremental reload duplicating the last row
  • Bug Fix – Application – Avoid crashing when PrimaryScreen is null during display changes
  • Bug Fix – Application – Fix invisible SyntaxEditor whitespace glyphs in dark theme
  • Bug Fix – Application – Fix UnauthorizedAccessException when pasting into password fields with UseUIAutomation enabled
  • Bug Fix – Application – Fix SelectComplete so Execute does not stay stuck on Stop; re-check export handler disposal after the export dialog OK
  • Bug Fix – File Browser – Fix FTP keep-alive timer outliving a closed/replaced filesystem and calling a disposed FTP client
  • Security Update – Dependencies – Multiple rounds of NuGet package updates
  • Security Update – Dependencies – Update 7-Zip to v26.2
  • Security Update – Dependencies – Remove the EPPlus dependency from Bulk Compare spreadsheet handling