Releases: jwaliszko/ExpressiveAnnotations
Releases · jwaliszko/ExpressiveAnnotations
v2.2.7
v2.2.6
v2.2.5
- improved unary boolean negation handling:
- parsing logic adjusted to slightly modified grammar where negation can also be applied to operands joined by relational operators (EQ and NEQ),
- restriction applied to negation operator specifying that it can only by used with boolean type operands.
v2.2.4
- parsing verbosity related to errors detection improved:
- erratic code location provided,
- operands applicability constraints added to the parser,
- minor changes in exception handling (readability improved - no information overhead),
- etc.
- 2 signatures for Date function provided,
- MemberName extraction workaround - done basically for older versions of MVC (before version 5) where there was a bug related to the fact that member name was given as null in the validation context (it is correctly provided to ValidationResult now, if DisplayAttribute is present),
- XML documentation comments revised,
- code cleanup.
v2.2.3
- string literal cleanups:
- double-quoted string literals deprecated - single-quoted are the only allowed from now,
- fixed interpretation of special characters (e.g. regex patterns are correctly interpreted at both client- and server-sides when passed as functions parameters, etc).
- interpretation of plus and minus signs of numeric tokens moved from lexer to parser, thus spaces are not required between operands and operator as before ('1+2' is valid construction now even without spaces inside, in addition consecutive plus and minus signs are unified - as C# and JavaScript do),
- IE8 support (older IE versions not tested),
- few secondary fixes (unicode-related compatibility of built-in regexes between client- and server-sides preserved, etc).
v2.2.2
v2.2.1
2.2.0
- toolchain extended,
- multiple annotations of the same type can be now applied for a single field or property,
- custom JSON formatting is discarded for client validation rules (since EA relies on specific JSON formatting),
- dates equality comparison fix at client side (compare milliseconds instead of date objects),
- non-standard date formats can be handled by overriding default parsing mechanism.
v2.1.2
- assemblies signed (the private key is not included in the public repo - by default, assemblies built from the sources in debug mode will not be signed, and the key is not needed for successful compilation),
- little optimizations:
- first-time validation speedup - parsing logic is invoked inside ASP.NET MVC validators at application startup, and compiled lambdas are immediately cached for later usage,
- not entire enumerated types, serialized to json, are sent to client as previously, but only the items used by the expression.
- improved errors handling with more meaningful exception messages, e.g. while naming collision is detected,
- improved arithmetic operations support,
- entire spectrum of enum types supported,
- constants supported.
v2.1.1
- types from current domain loaded silently (reflection issues handled when collecting types from inaccessible assemblies, e.g. non-existing, broken or those to which user has no access),
- relational and arithmetic operators work with enums,
- types conversion improvements.