Releases: WarHub/wham
Releases · WarHub/wham
ListNode<T>.WithNodes covariant return type
Roster migrations, Cores now records
Added
- Feat: Add support for roster migrations (#131).
Changed
- deps: Use .NET 5 SDK for build, target only .NET 5 with NuGet packages.
- Fix: RosterTag name in v2.03 XSD schema (was
tags
, istag
) (#121). - Refactor: Core types are now C# 9 nominal records (#125).
- Refactor: Xml serializers are now manually crafted using C# 9/.NET 5 Source Generators;
this allows Xml serialization to work with C#9 records and (primarily) ImmutableArrays,
as well as greatly reduce warmup-time in deployments like Blazor WASM, and remove
any Reflection from that process (#130).
Update data schema to be fully 2.03 compliant
Added
- Added some base classes:
- added QueryFilteredBase (QueryBase with ChildId), inherits from QueryBase
- added SelectionParentBase, base of Force and Selection
- added ModifierBase, base of Modifier and ModifierGroup
- Added descriptive comments to ModifierKind
- Added RosterTag type
- Added missing fields to be fully 2.03 schema compliant:
- added CostType.Hidden
- added ModifierGroup.ModifierGroups
- added many fields to Publication:
- ShortName
- Publisher
- PublicationDate
- PublisherUrl
- added CustomNotes and Tags to Roster
- added CustomName and CustomNotes to RosterElementBase
Changed
- CharacteristicType now inherits Commentable
- renamed SelectorBase to QueryBase
- BSv2.03 schema with the above changes
IDatafileInfo.GetData now async, along with other APIs
Added
readme
field on datafile root elements (gamesystem and catalogue) in code
and in 2.03 schema (#115).
Changed
- In
WarHub.ArmouryModel.ProjectModel.IDatafileInfo
interface
SourceNode? GetData()
changed toasync Task<SourceNode?> GetDataAsync()
;
this also results in some APIs changing to beasync
as well, especially in
Workspaces.BattleScribe
namespace (#117).
Add C#8's Nullable Reference Types support
Add 'comment' support
Added
NodeList<T>.Slice(int, int)
method to support ranges in C#8 (#89).comment
field on data elements (and in 2.03 schema) (#108).
Changed
- Renamed
BattleScribeVersion
static well-known values fromV0_00
toV0x00
(#86). - Renamed
Resources
toXmlResources
(.Source
library) (#86). - Changed
NodeList<T>.GetEnumerator()
andListNode<T>.GetEnumerator()
return type to custom enumeratorNodeList<T>.Enumerator
that's optimized
for performance (#89). - Changed all parameter names across the board to be camelCased. Also changed
parameter names ofWith
methods tovalue
to mirror setters (#90). - All Node
With
methods for collection properties are now extension methods,
with the exception the ones where parameter name is the same as the property's
that's being modified (#90). - Renamed a couple of Source Core/Node properties (#91):
- Category: IsPrimary -> Primary
- CategoryLink: IsPrimary -> Primary
- EntryBase: IsHidden -> Hidden
- Repeat:
- Repeats -> RepeatCount
- IsRoundUp -> RoundUp
- SelectorBase: PercentValue -> IsValuePercentage
- SelectionEntryBase: Import -> Exported
v0.8.0-alpha.12: build: Update dependencies, add Publish workflow (#100)
* build: Use .NET Core SDK v3.1.200 * style: Abstract class ctor now protected * ci: Set ci configuration to Release * style: Refactor Directory.Build.props * deps: Update to CG.R v0.7, RecGen v0.6 * ci: Add publish workflow * fix: Apply code quality warning fixes * tests: Don't close stream too early
v0.7.0
v0.7.0-beta.3: fix: add SEs, SEGs and ELs to EntryLink (#77)
Changelog diff: v0.7.0-beta.2...v0.7.0-beta.3
v0.7.0-beta.2: fix: SourceRewriter (#75)
Changelog diff: v0.7.0-beta.1...v0.7.0-beta.2