Merge pull request #2005 from michaellukashov/fix-resource-leak
[far2l.git] / calc / whatsnew_en.txt
blobfb5a9eb94e499840a79513b76eec6e0557dd2625
1                               PlugIn Calculator
2                           -----===============-----
3     *** This is not a new version of Calculator, just some modifications made
4     *** by another author. All copyrights of the code, except the new modifications
5     *** belong to the original author (Cail Lomecb).
7 --== Ver 3.25 ==--
8       * Support Windows 2000 and WindowsXP added
11 --== Ver 3.24 ==--
12       * Remove Far2 support
13       * Fixed: slow redraw in dialogs
14       * Fixed: settings didn`t save
15       * Now plugin on https://github.com/FarPlugins/Calculator
16           
17           
18 --== Ver 3.23 ==--
19       * Fixed: version
22 --== Ver 3.22 ==--
23     - General:
24       * Update to current Far3 version (stable build 2927+) 
25       * Update of ttmath library with some fixes
26       * Fixed: cursor moved in file panel after the Calculator was closed by pressing ESC
29 --== Ver 3.21 ==--
30     - General:
31       * Update to current Far3 version (dev.build 2728+) 
32       * Fixed work with large console buffer (far /W)
33       * Fixed: cursor disapeared after pressing Enter
34       * Fixed: error text "expression error" is now cleared correctly after pressing Enter
35       * Fixed: plugin crashed on _numer(NaN) or _denom(NaN)
36       * Fixed: arith. precision problems in some cases ("30000-6649.23-23350.77")
37       * Fixed command line and editor expression insertion for Far3
38       * Fixed: minor fixes for English names and translations
39       + If all conversion units removed, the starting menu doesn't appear any more
42 --== Ver 3.20 ==--
43     !ATTENTION! 
44       File calcset.csr is heavily modified in this version! 
45       Please save all your changes from this file before updating plugin version!
46       Now all user changes are recommended to place in user.csr file (one should be created)
47     - General:
48       * Fixed: minimal required Far version is corrected; some users of early versions had problems.
49       * Fixed: empty or erroneous functions (<func syntax="f"/>) are no longer cause faults and are simply not used.
50       * Fixed: for Russian language, menu title "Dialogs" is translated.
51       * Fixed: units conversion dialog wasn't shown correctly for certain console window size.
52       * Fixed: the last digit of exponent part wasn't visible in some cases.
53       * Fixed: unary operators didn't work sometimes.
54       * Fixed: call of a binary operator from the same unary one (<op syntax="/" mean="1 / op1"/>).
55       * Fixed: symbol _char(38) wasn't displayed.
56       * Fixed: integer calculation overflow ("factor(1e145)").
57       * Fixed: non-argument functions behavior ("rnd()").
58       * Fixed: plugin crashed when an addon was added in between the plugin calls.
59       * All results are cleared now when the edit box is empty.
60       * Symbol "=" at the end of expression for calculation in editor is now processed correctly.
61       * Calculator language is now taken from FAR settings (but it can be overridden by <lang id=""/> in user.csr); 
62         also other languages are supported by creating language files (.lng) with 2-letter language codes inside.
63       * User modifiers Kb,Mb,Gb,Tb are now case-insensitive.
64       * Functions kelv() and sec() corrected, user functions lb(), gtg(), gctg(), gsec(), gcosec() added.
65       * Functions arcsin() and arccos() corrected, built-in function _cos() added.
66       * Function _rnd() corrected, now it returns the real pseudo-random number.
67       + Function curt() added for cubic root (with sign).
68       + Added date/time functions (jd, jdf, jdg, jdgf, utc, ansid, ratadie).
69       + Added built-in functions for float/double conversion to binary IEEE-754 format and vice-versa, 
70         and also for 'Inf' and 'NaN' numbers: _f2b(), _d2b(), _b2f(), _b2d(), _finf(), _fnan().
71       + Basic arithmetic operations for float and double types is now supported and Inf/NaN is displayed.
72       * Overflow errors are displayed when converting too large(small) numbers to float/double.
73       * For numerals, 'format' parameter is now used instead of 'radix', with unified syntax for numerals and addons.
74       + "Lazy" arguments can be used in regular expressions for numerals ("/([0-9])([0-9])?/").
75       * Big numbers library (ttmath) version updated with some bugfixes, assembler optimization enabled (for x86)
76       * Code refactoring caused by Far API (compatible with both FAR 2.0 and FAR 3.0).
77       + Added file user-examples.csr with examples of some additional addons, operators, numerals etc.
78     - Settings dialog:
79       + Calculator settings dialog added.
80       + Option "Show results during the input" which can be turned off.
81       + Case-sensitive input option.
82       + Pad zeroes for fixed-size numbers option (_char,_short,_int, etc.).
83       + Autocomplete input option (turned off by default).
84       + Delimiter symbols definition:
85         + decimal point (dot/comma);
86         + function arguments delimiter (comma, semicolon);
87         + digit group delimiter (for main calculator mode only);
88         + regional settings usage option for point/comma/digit groups (turned off by default).
89     - Addons:
90       + Built-in addons (dec/hex/oct/bin/exp) moved to calcset.csr, and can be managed (disable, change order).
91       + New parameter 'format' is added to addons, to set conversion base (radix) and addon format
92         (see examples in calcset.csr and user-examples.csr).
93       + Addon math errors are now displayed in their output fields.
94     - Units converter and CSR files structure:
95       + Other CSR-files inclusion support added to calcset.csr (format: <xi:include href="file.scr"/>).
96       + All unit conversion dialogs removed from calcset.csr and moved to separate files in 'bin/units/' folder.
97       + All conversion units revised and supplemented according to suggestions from users.
98       + New conversion dialogs added for temperature, dates and information measure
99         (units/temperature.csr, units/date.csr and units/info.csr).
100       + Conversion dialogs/sets redefinition is now possible (for standard sets correction from the user files).
101       + Constant math expression can be now specified as a multiplier ('scale').
102       + Complex math expressions can be used instead of multipliers (using output="" and input=""), 
103         see examples in the files units/temper.csr and units/date.csr.
104       + Addon formatting rules are used for expressions in the output="" (curly brackets).
105       + Column width selection method improved for conversion dialogs.
106     - Fractions support: (EXPERIMENTAL! rational numbers approximations used; see examples in user-examples.csr)
107       + Repeating decimals with ellipsis (new format="rep" for addon and numeral).
108       + Finite continued fractions in canonical form of [a,b,c,d] (new format="con" for addon and numeral).
109       + New built-in functions _numer(op0),_denom(op0) added for vulgar mixed fractions.
110       + Built-in function _gcd(op0,op1) added for the greatest common divisor.
111       + User functions added: 'gcd' (greatest common divisor) and 'lcm' (least common multiple).
114 --== Ver 3.10 ==--
115     - Numbers and expressions:
116       + New expression parser implemented - no more bugs like "0x1e+0x2e",
117         but the calc is more slow on extra-large expressions.
118       + New numbers parser with regular expressions (regexps) and numeral systems implemented - numbers format is now set
119         with <numeral> tag in the file calcset.csr (see examples there). Considering that, postfix operators
120         aren't supported no more.
121       + 'Priority' parameter added for operators.
122       + New unified operator list in the file calcset.csr
123       + Basic bit operations shifted to BigNumbers (to do like this: 1<<100)
124       * Rotation bit shift operator (_ror, _rol) are now used only with fixed-length types (_byte,_ushort,_uint,...)
125       * Fixed-length numbers (_byte,_ushort,_uint,...) in bin/oct/hex format are displayed padded with zeroes by default
126         (can be disabled in the calculator properties in the registry: padZeroes).
127       * Fixed large _int64 numbers
128     - Addons:
129       + A spesial tag <addon> is now used for addons in the file calcset.csr
130       + Addon output formatting added - all calculations are done only for braces {} contents,
131         the rest is shown in dialog's field. Examples are in calcset.csr (including format 'hh:mm:ss').
132       * Fixed: if erroneous message entered, the addon field names were erased.
133     - Units converter dialog:
134       + Units conversion precision increased (not not less then Converber utility has).
135       + When switching input fields, the corresponding numbers are selected (highlighted) for easy input of new numbers.
136       * Light of speed multiplier value corrected; precision of some multipliers and constants increased.
137     - Miscellaneous:
138       + Window size changes on-the-fly when console size changes (the larger the window, the more digits shown).
139       + When Enter is pressed on an error, the resulting string is now selected for easy input of new expression.
140       + When Enter is pressed on the large expressions, the result is shown from the first digit, if possible.
141       + Expression limit is now set explicitly - 1024 characters (was 512 chars implicitly).
142       + "Gray Enter" on numerical keypad now works the same as an ordinary Enter.
143       + Default type name "double" replaced by "big number", and '_double' can be used again for type conversion.
144       + For '_char' type the corresponding character symbol is now displayed
145       + Factorial has become a _factor() function, not operator.
146       + Hyperbolic sine and cosine functions renamed to 'sinh' and 'cosh' (instead of 'sh' and 'ch') 
147         in order to avoid collisions with hex number 'ch'
148       * Fixed: current selected radio-button was not shown when dialog was called in sequence.
149           + Added VERSION_INFO.
152 --== Ver 3.01b ==--
153     *** This is not a new version of Calculator, just some modifications made
154     *** by another author. All copyrights of the code, except the new modifications
155     *** belong to the original author (Cail Lomecb).
156     Compatibility with FAR 2.0 and higher only (UNICODE version).
157     Big numbers support added (192 bits for mantissa and 32 bits for exponent)
158       for all math operations and numeral conversions.
159     Addons supported - user-defined expressions are now added to the list -
160       See 'Addons' section in calcset.csr (now in UNICODE format).
165 --== Ver 3.0 ==--
167    Compatibility with FAR 1.70b3 and higher only.
168      In b1 and b2 works with bugs.
169    All dialogs support codes are removed - now far
170      draw all dialogs himself.
171    Convertation dialogs now support multilanguage settings.
172      Pressing Ctrl-Enter in convertation dialog moves current value
173      from editline into calculator's editline. Pressing it in
174      calculator moves result into command line in far shell.
175    Calcset.csr fixed with XML standard, has DTD now.
176    Some constants names changed:
177      exp   - exponent
178      light - light speed
179      grav  - gravitation
180      New combinatorial function CNK.
183 --== Ver 2.9 ==--
185    Now you can use dialogs for convertations of values (in
186    russian language). You can call them from main menu or
187    directory from calculator with F2 key.
188    New parser. now you can use different number types,
189    formats and etc.
190    Functions Integral and Derived were removed.
191    Some bugs in codes and defines are fixed.
194 --== Ver 2.8 ==--
196    Changed Parser Structure. Now you can define, redefine syntax
197      and meaning of any operator, constant or function in
198      CalcSet.Csr file.
199    Moving Calc's window.
200    Added mouse support.
201    Increased calculations precision.
204 --== Ver 2.65 ==--
206    With yours requests was changed work in Far's Editor.
207      Now it works a little different: You must use
208      macroses Alt=, AltH, AltO, AltB - of course, you can
209      reassign them.
210    Also shortcut keys was added.
213 --== Ver 2.6 ==--
215    Added work with user Functions/Constants.
216    Changed Expression Parser.
219 --== Ver 2.05 ==--
221    History is available now - Ctrl-Down.
222    Sign function.
223    Suffix output while pressing Enter.
224    Syffixes Kb Mb Gb Tb - Translation to Kilo, Mega,
225      Giga and Tera bytes.
226    Added Far 1.6 support. You can use Calc in Editor window.
227    Cels and Fahr functions.
230 --== Ver 2.01 ==--
232 Functions with multiple arguments.
233    Some new functions.
234    Now 19 operators "||","&&","|","^","&","!=","==",">>","<<",
235                     ">","<","+","-","*","/","%","pow","~","!"
236        18 functions "Sin","Cos","Tg","Ctg","ArcTg","ArcSin",
237                     "ArcCos","Sqrt","Sqr","Ln","Lg","Log","Rad",
238                     "Grad","Sum","Avr","Integral","Derived"
240    Parser Changes.
241    Nice-looking Error messages.
244 --== Ver 1.0b ==--
246   Now Calc uses Far's colors.
247   Added Calc Config.
248   Normal Screen Saving.
249   Tested in Far 1.51 и 1.52.