Releases: Ygg01/Linguini
Releases · Ygg01/Linguini
v0.8.1
Release v0.8.0
What's Changed
- Remove net5 or greater by @Ygg01 in #45
- Move to NUnit 4.0.1 by @Ygg01 in #48
- Fix issue with Windows test not being fully run by @Ygg01 in #51
- [Breaking change] Refactor to use consistent naming by @Ygg01 in #42
- Remove unnecessary
ContainsKey()
calls and split dictionaries by @ElectroJr in #43 [Breaking change]
MakeFluentBundle
abstract and do some API refactoring by @Ygg01 in #50- To fully resolve the issue reported by @ElectroJr a common base for bundle is added
FluentBundle
. - Extract read-only methods to
IReadBundle
- Adds
FrozenBundle
as a read-only version ofFluentBundle
- To fully resolve the issue reported by @ElectroJr a common base for bundle is added
[Major change]
RefactorAst*
API- Adds builder for most
Ast*
types (AstMessage
,AstTerm
andJunk
). E.g.SelectExpressionBuilder(new VariableReference("x")) .AddVariant("one", new PatternBuilder("select 1")) .AddVariant("other", new PatternBuilder("select other")) .SetDefault(1) .Build();
- Adds
Equals
to mostLinguini.Syntax.Ast
types. - All serializers now have a
Read
method implementation.
- Adds builder for most
New Contributors
- @ElectroJr made their first contribution in #43
Full Changelog: v0.7.0...v0.8.0
Release v0.6.1
What's changed
Minor Windows line bug fixed.
- Fixes errors when reading an empty line on Windows (reported by @JosefNemec)
- Minor Github fixes.
Release v0.6.0
What's Changed
Fixes error with line numbers miscount and moves the project to Net6.0
because current version of dotnet causes problems with the pipelines. Because some downstream are on Net 4.7.6
, this might break if left as a minor version update.
- Fixes errors when reading line numbers due to interaction with ZeroCopy Parser (thanks to @PJB3005)
- Moves project to minimal dotnet version to 6
Release v0.5.0
What's Changed
Improves parsing performance by eliminating bounds check on ReadOnlySpan<char>
for char
@RoosterDragon
Breaking changes:
ZeroCopyUtil
TryReadCharSpan
replaced withTryReadChar
.- Methods
IsIdentifier
/IsNumberStart
/IsAsciiDigit
/IsAsciiUppercase
/IsAsciiHexdigit
/IsAsciiAlphabetic
take char rather thanReadOnlySpan<char>
. EqualSpans
method removed
ZeroCopyReader
- method signature
ReadOnlySpan<char> PeekCharSpan(int offset = 0)
changed tochar? PeekChar(int offset = 0)
- method
SeekEol
added. - added methods
TryPeekChar
,TryPeekCharAt
,CurrentChar
, andIndexOfAnyChar
.
- method signature
ParserError
- factory method for
ExpectedTokens
arguments changed
- factory method for
LinguiniParser
- changed to use the new ZeroCopyUtil internally.
Non-breaking changes:
Fluent.Bundle
private bundle method is separated intoAddEntry
andAddEntryOverriding
.
Full Changelog: v0.4.0...v0.5.0
Release v0.4.0
What's Changed
Breaking changes:
- Changes default on
LinguiniBundle.SetIsolating
fromtrue
tofalse
- Removes
enum InsertBehavior
in favor of three separate functions (TryAddFunction
,AddFunctionOverriding
,AddFunctionUnchecked
) - Removes previously obsolete methods.
API Changes:
- Adds method
GetAttrMessage(string msgWithAttr, params (string, IFluentType)[] args)
for ease of use.
Full Changelog: v0.3.2...v0.4.0
v0.3.2
What's Changed
- Adds
LinguiniBundle.HasAttrMessage
method - Obsoletes
LinguiniBundle.TryGetAttrMsg
forLinguiniBundle.TryGetAttrMessage
- Obsoletes
LinguiniBundle.TryGetMsg
forLinguiniBundle.TryGetMessage
Full Changelog: https://github.com/Ygg01/Linguini/edit/master/changelog.md (v0.3.2)
Version: 0.3.1
- Fixed error in
Linguini.Bundle
that prevented term and scope arguments from coexisting. @adcdefg30