sklose / NCalc2

expression evaluator for .NET with built-in compiler
MIT License
171 stars 57 forks source link

[REQ] Easily skimmable release history #106

Open OddMathisenNOV opened 7 months ago

OddMathisenNOV commented 7 months ago

I am making the request to have a more easily available and skimmable changelog history. I tried determining what the breaking changes were from 2.x to 3.0 but was unable to find the release history documenting the changes. Having these readily available makes upgrading a legacy codebase much less cumbersome.

Bykiev commented 7 months ago

Hi, unfortunately no, but we can add changelog.md/releaseNotes.md.

The v3 of NCalc switched to ANTLR4, the grammar was updated. You shouldn't see any breaking changes.

Also the new features were introduced:

The cache handling logic was improved, CacheCleanInterval property was introduced, you can specify how frequent the cache clean will occur (in previous version the cache is cleaned on each compilation). By default the cache is checked every 1000 compilation.

OddMathisenNOV commented 7 months ago

Ah, I assumed this was on a separate release schedule from NCalc. I see this matches up pretty well with the release notes over at https://github.com/ncalc/ncalc/releases/tag/v3.0.0 If the releases are identical, you could reference the other project release notes in the readme.

Bykiev commented 7 months ago

No, the releases are not synced

danreg commented 3 months ago

I found a different behavior between v2 and v3. This works in v2 and returns false where I receive an expection in v3

string expression = "''==4"; bool result = (bool)new NCalc.Expression(expression, NCalc.EvaluateOptions.IgnoreCase | NCalc.EvaluateOptions.NoCache).Evaluate();