Computator.NET v2.2.0 Official Release
Computator.NET v2.2.0 - More usable than ever!
This is the first release marked as stable in Computator.NET history. Although there are still bugs, we are more and more confident that we are releasing SOLID and usable software. With focus on user-experience we delivered better look and feel, especially in high DPI scenarios and the most requested features. Bugs and inconsistencies were fixed and "quirks" removed. We have also started nonofficial support for Linux and Mac OS X.
Look and feel
- Resolved countless DPI scaling issues (issue #37, #16)
- Fine-tuned user interface, so it will scale better and look nicer
- Fixed bug with tabs in scripting not showing up correctly on small windows size
- All icons and logos should now look brighter as they do not use transparency anymore
- Numerical input is made way better, ScientificNumericUpDown is used everywhere - this makes NumericalOutputNotation supported in defining input through controls (#34)
- Installer should now show correct images even on Windows XP
New features
- Cases like 2²x, 2(x+1) and (x+1)x are now handled correctly for multiplying
- Added handling of modulus notation (absolute value) - example |x+2|=|cos(y)|, including superscript (#11)
- Functions&Constants menu has now option to show function details on right mouse click just like it was before version 2.0
- Updated GSL to version 2.3
- improved precision in Bessel K0/K1 near x = 2 (#47401)
- bug fix in convergence check of hypergeometric 2F1 function (#45926)
- Added an option in settings to declare behavior in case of calculations error - ReturnNAN means return not a number in case of error in calculations and ShowError means app will show error dialog
- Linux and Mac OS X are now unofficially supported (started support for Mono), current version is still not stable enough but compiles and starts properly (issue #25)
- Way better logging, changed logging library to NLog (#36)
- Way better settings, based on binary serialization instead of AppSettingsBase class, made descriptions, names and categories for Settings types (#57)
- Way better Polish translation
Fixed bugs
- TSL compiler now handles correctly functions with superscript characters in function name (this finally makes all unit tests green)
- Fixed Hypergeometric functions (will return NaN instead of showing error unless ShowError is defined in setting CalculationsErrors) (resolved issue #17)
- Fixed underflow error for MathieuMc(1,-20,2.04081632653062,-100), MathieuMc(1,-20,x,-100) (#8)
- Recreated function logGamma with fixed all errors (#12)
Quality
- GSL is now statically linked so Visual C++ Redistributable is no longer needed
- Introduction of IoC Container (Unity)
- MVP implementation improved - forms and views now take controls from constructors, singleton model has been dropped, presenters now use ISharedView state representing one SharedViewState instance but not singleton, same for error handler etc - all the dependencies are now injected
- Command pattern usage improved - all dependencies for commands are now injected, so every command is 100% unit testable
- Added code coverage calculations for each build in CI
- Moved to NET46
- Windows XP support is considered for removal in coming versions (right now it is still supported by having separate NET40 build and installer)
- Build process is optimized - Release is faster and Debug is safer
- Some assembly informations are now shared for all projects
- Introduced continuous integration - AppVeyor and Travis