Skip to content

Commit 24f178f

Browse files
committed
Prep for 3.2.0 release.
1 parent 6530d48 commit 24f178f

File tree

20 files changed

+98
-62
lines changed

20 files changed

+98
-62
lines changed

CHANGELOG.md

Lines changed: 45 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,60 @@ All notable changes to this project will be documented in this file.
44

55
## Upcoming Release
66

7-
## [3.X.X.X] - TBC
7+
## [3.X.X] - TBC
8+
9+
## [3.2.0] - 2023-01-20
10+
11+
Various new `ParserOptions` have been added, see the [wiki](https://github.com/nHapiNET/nHapi/wiki/Parser-Options) for more information.
12+
13+
### Things of note
14+
15+
As part of [#398](https://github.com/nHapiNET/nHapi/pull/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`.
16+
17+
The [nHapi](https://www.nuget.org/packages/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](https://andrewlock.net/what-is-the-microsoft-aspnetcore-metapackage/).
18+
19+
There is no difference in behaviour when using this metapackage vs the previous nHapi nuget package.
20+
21+
### Bug Fixes
22+
23+
- [#318](https://github.com/nHapiNET/nHapi/pull/318) Port `ORL_O34` fix for cyclic reference, fixes for `V2.5.1`, `2.5`, `2.6`. By @milkshakeuk (fixes [#298](https://github.com/nHapiNET/nHapi/issues/298))
24+
- [#340](https://github.com/nHapiNET/nHapi/pull/340) Fix `Terser` Regex bug. By @milkshakeuk (fixes [#319](https://github.com/nHapiNET/nHapi/issues/319))
25+
- [#402](https://github.com/nHapiNET/nHapi/pull/402) Fix `OBX` repeat counts for V24. By @milkshakeuk (fixes [#341](https://github.com/nHapiNET/nHapi/issues/341))
26+
27+
### Enhancements
28+
29+
- [#283](https://github.com/nHapiNET/nHapi/pull/283) Enable refactor of Source Generation code. By @milkshakeuk
30+
- [#291](https://github.com/nHapiNET/nHapi/pull/291) Fix some static analysis issues. By @PhantomGrazzler
31+
- [#308](https://github.com/nHapiNET/nHapi/pull/308) Include the optional `LongName` attribute in the XML encoded output. By @laxmi-lal-menaria (resolves [#301](https://github.com/nHapiNET/nHapi/issues/301))
32+
- [#360](https://github.com/nHapiNET/nHapi/pull/360) Add Support for `CharSetUtil` and `PreParser`. By @milkshakeuk (resolves [#312](https://github.com/nHapiNET/nHapi/issues/312))
33+
- [#362](https://github.com/nHapiNET/nHapi/pull/362) Fixed some static analysis warnings related to public constants. By @PhantomGrazzler
34+
- [#398](https://github.com/nHapiNET/nHapi/pull/398) Bring XmlParsing in line with `hapi`. By @milkshakeuk (unblocks [#308](https://github.com/nHapiNET/nHapi/pull/308))
35+
36+
### Other
37+
38+
- [#288](https://github.com/nHapiNET/nHapi/pull/288) Update Github Actions to use OS matrix. By @milkshakeuk
839

940
## Previous Releases
1041

1142
## [3.1.1] - 2022-02-19
1243

1344
### Enhancements
1445

15-
- [#277](https://github.com/nHapiNET/nHapi/pull/277) Remove MaxRepetition check, keeps nhapi in line with hapi behaviour, nhapi becomes more forgiving in regards to repetitions. (fixes [#276](https://github.com/nHapiNET/nHapi/issues/276))
46+
- [#277](https://github.com/nHapiNET/nHapi/pull/277) Remove MaxRepetition check, keeps nhapi in line with hapi behaviour, nhapi becomes more forgiving in regards to repetitions. By @milkshakeuk (fixes [#276](https://github.com/nHapiNET/nHapi/issues/276))
1647

1748
## [3.1.0] - 2022-01-01
1849

1950
### Enhancements
2051

21-
- [#254](https://github.com/nHapiNET/nHapi/pull/254) Add `UnexpectedSegmentBehaviour` Options, ported from hapi
22-
- [#251](https://github.com/nHapiNET/nHapi/pull/251) Fix concurrency issues with `PipeParser`, `StructureDefinition`, `GenericMessage` and `Escape`.
23-
- [#250](https://github.com/nHapiNET/nHapi/pull/250) Add new options `DefaultObx2Type` and `InvalidObx2Type` to `ParserOptions`, ported from nhapi. (fixes [#63](https://github.com/nHapiNET/nHapi/issues/63))
24-
- [#240](https://github.com/nHapiNET/nHapi/pull/240) Add support for `NonGreedyMode` by introducing `ParserOptions` ported from hapi. by @PhantomGrazzler (fixes [#65](https://github.com/nHapiNET/nHapi/issues/65) [#232](https://github.com/nHapiNET/nHapi/issues/232))
52+
- [#254](https://github.com/nHapiNET/nHapi/pull/254) Add `UnexpectedSegmentBehaviour` Options, ported from hapi. By @milkshakeuk
53+
- [#251](https://github.com/nHapiNET/nHapi/pull/251) Fix concurrency issues with `PipeParser`, `StructureDefinition`, `GenericMessage` and `Escape`. By @milkshakeuk
54+
- [#250](https://github.com/nHapiNET/nHapi/pull/250) Add new options `DefaultObx2Type` and `InvalidObx2Type` to `ParserOptions`, ported from nhapi. By @milkshakeuk (fixes [#63](https://github.com/nHapiNET/nHapi/issues/63))
55+
- [#240](https://github.com/nHapiNET/nHapi/pull/240) Add support for `NonGreedyMode` by introducing `ParserOptions` ported from hapi. By @PhantomGrazzler (fixes [#65](https://github.com/nHapiNET/nHapi/issues/65) [#232](https://github.com/nHapiNET/nHapi/issues/232))
2556

2657
### Other
2758

28-
- [#256](https://github.com/nHapiNET/nHapi/pull/256) Simplify cspoj through use of props and targets files.
29-
- Update tools and build to net6.0
59+
- [#256](https://github.com/nHapiNET/nHapi/pull/256) Simplify cspoj through use of props and targets files. By @milkshakeuk
60+
- Update tools and build to net6.0. By @milkshakeuk
3061

3162
## [3.0.4] - 2021-08-11
3263

@@ -38,10 +69,14 @@ In cases where dictionaries / hashtables are used for lookups such as `Escape.cs
3869

3970
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.
4071

72+
By @milkshakeuk
73+
4174
## [3.0.3] - 2021-08-10
4275

4376
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.
4477

78+
By @milkshakeuk
79+
4580
## [3.0.2] - 2021-08-09
4681

4782
This change gives nhapi [strong-named assemblies](https://docs.microsoft.com/en-us/dotnet/standard/assembly/strong-named), there are no codes changes.
@@ -50,6 +85,8 @@ This change gives nhapi [strong-named assemblies](https://docs.microsoft.com/en-
5085

5186
- [#227](https://github.com/nHapiNET/nHapi/issues/227) fixes "A strongly-named assembly is required" runtime errors
5287

88+
By @milkshakeuk
89+
5390
## [nhapi.model.v231 3.0.1] - 2021-07-02
5491

5592
This release is for the NuGet package `nhapi.model.v231` only, there are no code changes, see below for change.

README.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,9 @@ For more options please read the [Getting Started](https://github.com/nHapiNET/n
4848

4949
## Change Log
5050

51-
### nHapi 3.0.0 Announcement
51+
### nHapi 3.2.0 Announcement
5252

53-
nHapi 3.0.0 has been officially released, the main change for this release is support for netstandard2.0, but it also has other enhancements and bug fixes.
54-
Please read the change log below for full details of and how they might affect you prior to upgrading.
55-
56-
[Full Change Log](https://github.com/nHapiNET/nHapi/blob/master/CHANGELOG.md).
53+
nHapi 3.2.0 has been released - see [Full Change Log](https://github.com/nHapiNET/nHapi/blob/master/CHANGELOG.md) for details.
5754

5855
## Related Projects
5956

build/default.ps1

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ properties {
1010
"NHapi.Model.V21",
1111
"NHapi.Model.V22",
1212
"NHapi.Model.V23",
13+
"NHapi.Model.V231",
1314
"NHapi.Model.V24",
1415
"NHapi.Model.V25",
16+
"NHapi.Model.V251",
1517
"NHapi.Model.V26",
1618
"NHapi.Model.V27",
17-
"NHapi.Model.V28",
18-
"NHapi.Model.V231",
19-
"NHapi.Model.V251",
2019
"NHapi.Model.V271",
20+
"NHapi.Model.V28",
2121
"NHapi.Model.V281"
2222
)
2323
$apiKey = "YOUR_API_KEY"
@@ -27,8 +27,9 @@ Task Default -depends Build
2727

2828
Task Clean {
2929
Remove-Item ..\dist\*.nupkg -ErrorAction Ignore
30-
Remove-Item ..\dist\net35\*.* -ErrorAction Ignore
31-
Remove-Item ..\dist\netstandard2.0\*.* -ErrorAction Ignore
30+
Remove-Item ..\dist\*.snupkg -ErrorAction Ignore
31+
Remove-Item ..\dist\net35 -Recurse -ErrorAction Ignore
32+
Remove-Item ..\dist\netstandard2.0 -Recurse -ErrorAction Ignore
3233

3334
Get-ChildItem -path ..\ -inc bin -rec | Remove-Item -rec -force
3435
Get-ChildItem -path ..\ -inc obj -rec | Remove-Item -rec -force
@@ -72,25 +73,16 @@ task Test {
7273

7374
Task Package -depends Build {
7475

75-
Remove-Item ..\dist\net35\*.* -ErrorAction Ignore
76-
Remove-Item ..\dist\netstandard2.0\*.* -ErrorAction Ignore
77-
78-
New-Item -ItemType directory -Force -Path ..\dist\net35
79-
New-Item -ItemType directory -Force -Path ..\dist\netstandard2.0
80-
81-
foreach($project in $projects) {
82-
Copy-Item "..\src\$project\bin\$projectConfig\net35\*.dll" ..\dist\net35
83-
Copy-Item "..\src\$project\bin\$projectConfig\net35\*.xml" ..\dist\net35
84-
85-
Copy-Item "..\src\$project\bin\$projectConfig\netstandard2.0\*.dll" ..\dist\netstandard2.0
86-
Copy-Item "..\src\$project\bin\$projectConfig\netstandard2.0\*.xml" ..\dist\netstandard2.0
87-
}
88-
89-
Exec { .nuget\nuget pack .\nHapi.v3.nuspec -OutputDirectory ..\dist }
76+
Remove-Item ..\dist\net35 -Recurse -ErrorAction Ignore
77+
Remove-Item ..\dist\netstandard2.0 -Recurse -ErrorAction Ignore
78+
Remove-Item ..\dist\*.nupkg -ErrorAction Ignore
79+
Remove-Item ..\dist\*.snupkg -ErrorAction Ignore
9080

9181
foreach($project in $projects) {
9282
Exec { dotnet pack "..\src\$project\$project.csproj" -c $projectConfig --no-build --no-restore -o "..\dist" }
9383
}
84+
85+
Exec { .nuget\nuget pack .\nHapi.v3.nuspec -OutputDirectory ..\dist }
9486
}
9587

9688
Task Deploy -depends Package {
@@ -99,6 +91,6 @@ Task Deploy -depends Package {
9991
Exec { dotnet nuget push "..\dist\$project.*.nupkg" --api-key $apiKey }
10092
}
10193

102-
Exec { dotnet nuget push "..\dist\nhapi.3.1.0.nupkg" --api-key $apiKey }
94+
Exec { dotnet nuget push "..\dist\nhapi.3.2.0.nupkg" --api-key $apiKey }
10395
# Exec { .nuget\nuget push *.nupkg -Source https://api.nuget.org/v3/index.json }
10496
}

build/nHapi.v3.nuspec

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
33
<metadata>
44
<id>nhapi</id>
5-
<version>3.1.1</version>
5+
<version>3.2.0</version>
66
<authors>Chad Chenoweth,Duane Edwards,Jake Aitchison</authors>
77
<license type="expression">MPL-2.0</license>
88
<projectUrl>https://github.com/nHapiNET/nHapi</projectUrl>
@@ -12,23 +12,29 @@
1212

1313
NHapi allows Microsoft .NET developers to easily use an HL7 2.x object model. This object model allows for parsing and encoding HL7 2.x data to/from Pipe Delimited or XML formats. A very handy program for use in the health care industry.
1414

15-
This project is NOT affiliated with the HL7 organization. This software just conforms to the HL7 2.x specifications.</description>
16-
<releaseNotes>https://github.com/nHapiNET/nHapi/releases/tag/v3.1.1</releaseNotes>
17-
<tags>HL7 parsing healthcare HAPI xml</tags>
15+
This project is NOT affiliated with the HL7 organization. This software just conforms to the HL7 2.x specifications.
16+
17+
This nuget package is just a metapackage for conveniance.</description>
18+
<releaseNotes>https://github.com/nHapiNET/nHapi/releases/tag/v3.2.0</releaseNotes>
19+
<tags>HL7 ER7 XML parsing healthcare HAPI</tags>
1820
<readme>docs\README.md</readme>
1921
<dependencies>
20-
<group targetFramework=".NETStandard2.0">
21-
<dependency id="System.Configuration.ConfigurationManager" version="5.0.0" />
22-
</group>
23-
<group targetFramework=".NETFramework3.5" />
22+
<dependency id="nhapi.base" version="3.2.0" />
23+
<dependency id="nhapi.model.v21" version="3.2.0" />
24+
<dependency id="nhapi.model.v22" version="3.2.0" />
25+
<dependency id="nhapi.model.v23" version="3.2.0" />
26+
<dependency id="nhapi.model.v24" version="3.2.0" />
27+
<dependency id="nhapi.model.v25" version="3.2.0" />
28+
<dependency id="nhapi.model.v26" version="3.2.0" />
29+
<dependency id="nhapi.model.v27" version="3.2.0" />
30+
<dependency id="nhapi.model.v28" version="3.2.0" />
31+
<dependency id="nhapi.model.v231" version="3.2.0" />
32+
<dependency id="nhapi.model.v251" version="3.2.0" />
33+
<dependency id="nhapi.model.v271" version="3.2.0" />
34+
<dependency id="nhapi.model.v281" version="3.2.0" />
2435
</dependencies>
25-
<frameworkAssemblies>
26-
<frameworkAssembly assemblyName="System.Configuration" targetFramework=".NETFramework3.5" />
27-
</frameworkAssemblies>
2836
</metadata>
2937
<files>
30-
<file src="..\dist\netstandard2.0\*.*" target="lib\netstandard2.0" />
31-
<file src="..\dist\net35\*.*" target="lib\net35" />
3238
<file src="..\README.md" target="docs\" />
3339
</files>
3440
</package>

src/Directory.Build.props

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
<AssemblyOriginatorKeyFile>..\..\NHapi.snk</AssemblyOriginatorKeyFile>
1414
<SignAssembly>true</SignAssembly>
1515
<PublicKey>0024000004800000940000000602000000240000525341310004000001000100b938fa88814fb99f1d02dfce84c41f38eb1ca31f694b706248e6e21ceed1b1d150416c1375603c7a5dd6d3b2cdec97ccbbdd7a1d6fac61a1ad96ebf88e889ba113913c2f36890ea75108a1d8a23affc0c87357f07dec77c69a519215d0d4043759397b1a8fea1dc881b440ba4232ad4e24d7a8d90bb004549cf4f9dd2d6c13d8</PublicKey>
16+
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
17+
<EmbedUntrackedSources>true</EmbedUntrackedSources>
1618
</PropertyGroup>
1719

1820
<ItemGroup>

src/Directory.Build.targets

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<PackageProjectUrl>https://github.com/nHapiNET/nHapi</PackageProjectUrl>
77
<RepositoryUrl>https://github.com/nHapiNET/nHapi.git</RepositoryUrl>
88
<RepositoryType>git</RepositoryType>
9-
<PackageTags>HL7;parsing;healthcare;HAPI;xml</PackageTags>
9+
<PackageTags>HL7;ER7;XML;parsing;healthcare;HAPI</PackageTags>
1010
<PackageReleaseNotes>https://github.com/nHapiNET/nHapi/releases/tag/v$(Version)</PackageReleaseNotes>
1111
<PackageReadmeFile>docs\README.md</PackageReadmeFile>
1212
</PropertyGroup>
@@ -24,6 +24,8 @@
2424

2525
<PropertyGroup Condition=" '$(IsPackable)' == 'true' And '$(IncludeCommonPackageInfo)' == 'true' And '$(Configuration)' == 'Release' ">
2626
<PublishRepositoryUrl>true</PublishRepositoryUrl>
27+
<IncludeSymbols>true</IncludeSymbols>
28+
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
2729
</PropertyGroup>
2830

2931
<!-- Build Time Tools (Includes commit sha in AssemblyInfo etc)-->

src/NHapi.Base/NHapi.Base.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<TargetFrameworks>net35;netstandard2.0</TargetFrameworks>
55
<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
66
<PackageId>nhapi.base</PackageId>
7-
<Version>3.1.1</Version>
7+
<Version>3.2.0</Version>
88
<PackageDescription>The core components for parsing/encoding HL7 messages. Contains the base classes and interfaces for datatypes, segments, and messages.</PackageDescription>
99
<Description>NHapi Common Library</Description>
1010
<NoWarn>1591</NoWarn>

src/NHapi.Base/Parser/ParserOptions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ public ParserOptions()
131131
public bool NonGreedyMode { get; set; }
132132

133133
/// <summary>
134-
/// Gets or Sets flag which allows the Description attribute [LongName] to be added in encoded xml with counter position.
134+
/// Gets or Sets flag which allows the Description attribute 'LongName' to be added in encoded xml with counter position.
135135
/// </summary>
136136
/// <example>
137137
/// <code>

src/NHapi.Model.V21/NHapi.Model.V21.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<TargetFrameworks>net35;netstandard2.0</TargetFrameworks>
55
<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
66
<PackageId>nhapi.model.v21</PackageId>
7-
<Version>3.1.0</Version>
7+
<Version>3.2.0</Version>
88
<PackageDescription>Contains the data types, segments, and messages that follow the HL7 2.1 schema.</PackageDescription>
99
<Description>NHapi Model V.2.1</Description>
1010
<IncludeCommonPackageInfo>true</IncludeCommonPackageInfo>

src/NHapi.Model.V22/NHapi.Model.V22.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<TargetFrameworks>net35;netstandard2.0</TargetFrameworks>
55
<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
66
<PackageId>nhapi.model.v22</PackageId>
7-
<Version>3.1.0</Version>
7+
<Version>3.2.0</Version>
88
<PackageDescription>Contains the data types, segments, and messages that follow the HL7 2.2 schema.</PackageDescription>
99
<Description>NHapi Model V.2.2</Description>
1010
<IncludeCommonPackageInfo>true</IncludeCommonPackageInfo>

0 commit comments

Comments
 (0)