Releases: nHapiNET/nHapi
3.2.2 Release
This release is purely superficial, it does not fix or add anything.
- Add appropriate target framework metadata to the metapackage nuspec - already exists in the individual nuget packages.
See 3.2.0 release for latest actual nHapi
changes.
By @milkshakeuk
3.2.0 Release
Various new ParserOptions
have been added, see the wiki for more information.
Things of note
As part of #398 the imperfect behaviour of XmlParser
and DefaultXmlParser
have been updated and brought inline with hapi
fixing many quirks and defects. If you are dependant on this old behaviour you can use LegacyXmlParser
and LegacyDefaultXmlParser
instead, these will be available until the next major version of nHapi
.
The nHapi convenience nuget package is now a meta package meaning it does not directly contain any Dlls. This metapackage just describes its dependencies, which happen to be all of the individual nHapi nuget packages. If you want to understand a little bit more about metapackages read this.
There is no difference in behaviour when using this metapackage vs the previous nHapi nuget package.
Bug Fixes
- #318 Port
ORL_O34
fix for cyclic reference, fixes forV2.5.1
,2.5
,2.6
. By @milkshakeuk (fixes #298) - #340 Fix
Terser
Regex bug. By @milkshakeuk (fixes #319) - #402 Fix
OBX
repeat counts for V24. By @milkshakeuk (fixes #341)
Enhancements
- #283 Enable refactor of Source Generation code. By @milkshakeuk
- #291 Fix some static analysis issues. By @PhantomGrazzler
- #308 Include the optional
LongName
attribute in the XML encoded output. By @laxmi-lal-menaria (resolves #301) - #360 Add Support for
CharSetUtil
andPreParser
. By @milkshakeuk (resolves #312) - #362 Fixed some static analysis warnings related to public constants. By @PhantomGrazzler
- #398 Bring XmlParsing in line with
hapi
. By @milkshakeuk (unblocks #308) - #278 Better Source Link Support. By @milkshakeuk
Other
- #288 Update Github Actions to use OS matrix. By @milkshakeuk
3.1.1 Release
Enhancements
- #277 Remove MaxRepetition check, keeps nhapi in line with hapi behaviour, nhapi becomes more forgiving in regards to repetitions. By @milkshakeuk (fixes #276)
3.1.0 Release
Enhancements
- #254 Add
UnexpectedSegmentBehaviour
Options, ported from hapi. By @milkshakeuk - #251 Fix concurrency issues with
PipeParser
,StructureDefinition
,GenericMessage
andEscape
. By @milkshakeuk - #250 Add new options
DefaultObx2Type
andInvalidObx2Type
toParserOptions
, ported from nhapi. By @milkshakeuk (fixes #63) - #240 Add support for
NonGreedyMode
by introducingParserOptions
ported from hapi. by @PhantomGrazzler (fixes #65 #232)
Other
- #256 Simplify cspoj through use of props and targets files. By @milkshakeuk
- Update tools and build to net6.0. By @milkshakeuk
3.0.4 Release
This change is to prevent the following Exception:
System.ArgumentException - An item with the same key has already been added.
In cases where dictionaries / hashtables are used for lookups such as Escape.cs
when there multiple threads trying to add to them at the same time.
Instead of using Add(key, value)
which only allows 1 items with a given key to be added to the dictionary / hashtable, we are using the index accessor to set or update the value in a last one wins scenario, but only when its combined with ContainsKey
which has indicated that an item with that key shouldn't exist.
By @milkshakeuk
3.0.3 Release
This change updates the PipeParser
Version check when obtaining encoding characters from a message object in order to encode it to HL7; string.CompareOrdinal
is now used instead of System.Version
which is more forgiving when a version contains non numerical characters.
By @milkshakeuk
3.0.2 Release
This change gives nhapi strong-named assemblies, there are no codes changes.
Bug Fixes
- #227 fixes "A strongly-named assembly is required" runtime errors
By @milkshakeuk
3.0.1 nhapi.model.v231 Release
This release is for the NuGet package nhapi.model.v231
only, there are no code changes, see below for change.
- Remove unused project reference.
By @milkshakeuk
3.0.0 Release
Along with the changes below you can now be more selective about how you install nHapi, please read the Getting Started page of the wiki for more information.
Breaking Changes
Default escape sequence for carriage return has changed from \X000d\
to \X0D\
which brings it inline with other libraries and InterSystems ensemble.
However if you rely on the old escape sequence of \X000d\
for carriage returns you can now configure this, see #185 or the wiki for configuration options.
The latest PipeParser
implementation from hapi has been ported over to nHapi, there aren't any breaking changes that I am aware of, only benefits, however if you relied on the specific behaviour of the old PipeParser.cs
then you can use LegacyPipeParser.cs
instead, which is the old implementation.
Bug Fixes
- #118 Add LongDateTimeFormatWithFactionOfSecond format for date parsing. By @jakubsuchybio (fixes #104)
- #134 Fix spelling mistake. By @tristanwilson111
- #136 Various Issue fixes. By @milkshakeuk (fixes #45, #62, #81, #84, #85, #86, #109, #133)
- #185
Escape.cs
Improvements - hapi implementation port. By @milkshakeuk (fixes #103) - #192, #202 Update HL7 v. 2.3 IN1 and IN2 repeat flags for some fields. By @afaonline (fixes #191)
- #200 PipeParser Enhancements - Fix issues related to unexpected segments. By @milkshakeuk (fixes #51, #55, #56, #72, #101)
- #197 Fixes Exceptions and permanent Hang when parsing bad input, Adds bad input tests. By @JlKmn (fixes #196, #198)
- #205 Added additional bad inputs and enhanced error handling. By @AMCN41R (fixes #203)
- #217 Add changes to fix bad input from fuzzing. By @milkshakeuk (fixes #210)
Enhancements
- #75 Add support for removing fields by index or by item/type. By @nkm8
- #112 Adds support for netstandard2.0. By @milkshakeuk, @haydenhall (fixes #61)
Other
- #117 Add .vs into .gitignore file to ignore Visual Studio files. By @jakubsuchybio
- #129 restructure project to a more modern project structure. By @milkshakeuk
- #130 Decouple NHapi source code generation from NHapi.Base. By @milkshakeuk
- #135 NHapi.Base > Formatted XML License Comments. By @AMCN41R
- #135, #137 Fix XML Build warnings. By @AMCN41R (fixes #128)
- #140 Add license for nHapi. By @milkshakeuk (fixes #119)
- #143 Add StyleCopAnalyzers to main projects. By @AMCN41R (fixes #138)
- #141 Create basic GitHub Actions for pull requests. By @milkshakeuk (partially addresses #124)
- #142 Add code coverage to the CI/CD, plus build status workflow for master. By @milkshakeuk (partially addresses #124)
- #145 Code Climate Coverage. By @milkshakeuk (partially addresses #124)
- #147, #148 Enable dependabot support to the repository. By @milkshakeuk
- #201 Normalize all the line endings. By @milkshakeuk
- #204 Create Default GitHub Code Scanning Workflow. By @milkshakeuk
3.0.0-preview.3 Release
This is a pre-release package, we would appreciate it if people could test this package and raise any issues, so we can iron out any kinks before we go gold with 3.0.0.0.
We are hoping this is the final preview version ahead of 3.0.0.0.
On top of the previous preview release this release includes the following changes:
Bug Fixes
- #185 Escape.cs Improvements - hapi implementation port. By @milkshakeuk (fixes for #103)
- #192, #202 Update HL7 v. 2.3 IN1 and IN2 repeat flags for some fields. By @afaonline (fixes #191)
- #200 PipeParser Enhancements - Fix issues related to unexpected segments. By @milkshakeuk (fixes #51, #55, #56, #72, #101)
- #197 Fixes Exceptions and permanent Hang when parsing bad input, Adds bad input tests. By @JlKmn (fixes #196, #198)
- #205 Added additional bad inputs and enhanced error handling. By @AMCN41R (fixes #203)
- #217 Add changes to fix bad input from fuzzing. By @milkshakeuk (fixes #210)
Other
- #135, #137 Fix XML Build warnings. By @AMCN41R (fixes #128)
- #140 Add license for nHapi. By @milkshakeuk (fixes #119)
- #143 Add StyleCopAnalyzers to main projects. By @AMCN41R (fixes #138)
- #141 Create basic GitHub Actions for pull requests. By @milkshakeuk (partially addresses #124)
- #142 Add code coverage to the CI/CD, plus build status workflow for master. By @milkshakeuk (partially addresses #124)
- #145 Code Climate Coverage. By @milkshakeuk (partially addresses #124)
- #147, #148 Enable dependabot support to the repository. By @milkshakeuk
- #201 Normalize all the line endings. By @milkshakeuk
- #204 Create Default GitHub Code Scanning Workflow. By @milkshakeuk
Breaking Changes
Default escape sequence for carriage return has changed from \X000d\
to \X0D\
which brings it inline with other libraries and InterSystems ensemble.
However if you rely on the old escape sequence of \X000d\
for carriage returns you can now configure this, see #185 for options.
The latest PipeParser
implementation from hapi has been ported over to nHapi, there aren't any breaking changes that I am aware of, only benefits, however if you relied on the specific behaviour of the old PipeParser.cs
then you can use LegacyPipeParser.cs
instead, which is the old implementation.