|
1 | | -## [0.2.0] - 2020-12-03 |
| 1 | +## [0.3.0] - 2020-12-21 |
| 2 | +### Breaking Changes |
| 3 | +- Spaces are not allowed in hex numbers anymore but undorscores are. |
| 4 | + It caused problems since 0xAA B could not be unambiguously parsed (e.g. it can be 0xAAB or 0xAA B, where 'B' is a unit for 'bytes', so make it explicit by writing 0xAA_B). |
| 5 | +### Features |
| 6 | +- Dark Theme  |
| 7 | +- Render command optimizations, reducing render command count by around 40% |
| 8 | + (gutters, line number- and result backround |
| 9 | + are now rendered only once as a big rectangle and not line by line). |
| 10 | +- Active references (variables and line refs in the cursor's row) are now just underlined |
| 11 | + and the referenced lines are not highlighted fully only their left and right gutter. |
| 12 | + (Look at the image below) |
| 13 | +- Results where a denominator is a unit (e.g. 5 / year) are now rendered in a more user-friendly way (e.g. instead of `5 year^-1` it is `5 / year`) |
| 14 | +  |
| 15 | +- Automatic closing parenthesis/braces insertion when the opening one is typed |
| 16 | +- Automatic closing parenthesis/braces deletion when the opening one is deleted |
| 17 | +  |
| 18 | +- Automatic parenthesis/braces wrapping around selected text if opening one is typed while |
| 19 | +a text is selected |
| 20 | +  |
| 21 | +- Matching parenthesis are highlighted if the cursor is inside them |
| 22 | +  |
| 23 | +- The note can be saved with ``ctrl-s`` (Though it is still saved automatically when there is no user interaction) |
| 24 | +- It is possible to apply units directly on Line References or Variables, e.g. |
| 25 | + ``` |
| 26 | + var = 12 |
| 27 | + var km |
| 28 | + ``` |
| 29 | + The result of the second line will be ``12 km`` |
| 30 | +- Parsing improvement: Now the parser are smarter in deciding what is an operator (e.g. 'in' in `12 m in cm`), |
| 31 | + a unit (`12 in` which is 12 inch), or a simple string (`I downloaded 12 GB in 3 seconds`). |
| 32 | + Now it is even possible to evaluate this string `12 in in in`, which is equivalent of `12 inch in inch` |
| 33 | +  |
| 34 | +- Percentage calculations |
| 35 | +  |
| 36 | +- Max row count was increased from 128 to 256 |
| 37 | +- e (Euler's Number) was added, currently as a function (`e()`) |
| 38 | +- Invalid argument types for functions are highlighted as errors (See image below) |
| 39 | +- new functions: |
| 40 | + |
| 41 | + - abs(num) |
| 42 | + - ln(num) |
| 43 | + - lg(num) |
| 44 | + - log(num, num) |
| 45 | + - sin(angle) -> num |
| 46 | + - cos(angle) -> num |
| 47 | + - tan(angle) -> num |
| 48 | + - asin(num) -> angle |
| 49 | + - acos(num) -> angle |
| 50 | + - atan(num) -> angle |
2 | 51 |
|
| 52 | +### Changed |
| 53 | +- When opening a not empty note, the result panel now tries |
| 54 | +to be as close to the editor as possible to have a better |
| 55 | + overview about calculations and their results. |
| 56 | +- GitHub and website links were added to the NoteCalc page |
| 57 | +- Strings at the frontend are now rendered char by char. It is necessary |
| 58 | +to be able to place the cursor at the right place, since the text rendering |
| 59 | + does not guarantee that a single char takes exactly 'char-width' pixels. |
| 60 | +- Overlay canvas (the canvas above the app canvas) was removed. It was used to draw |
| 61 | + overlay effects (e.g. pulsing), but it was problematic since it needed alpha blending, |
| 62 | + which wasn't always nice and console frontend support is limited. |
| 63 | + Now pulses are rendered above "BelowText" layer and below the "Text" layer. |
| 64 | +- underscore is allowed in binary numbers (e.g. ``0b11_00``) |
| 65 | +- Parenthesis have different color than operators. |
| 66 | +- Remove `Vec` and dynamic allocation from unit parsing and operations. |
| 67 | +- Replaced all unit `RefCells` to `Rc`, it was a mistake to use `RefCells` in the first place. |
| 68 | +- Matrices cannot be deleted anymore by `DEL` or `BACKSPACE`, ctrl is needed |
| 69 | + |
| 70 | +### Fixed |
| 71 | +- Dead characters (e.g. '^' on a hungarian keyboard) were not possible to type |
| 72 | +- Longest visible result length was calculated wrongly when there were multiple headers |
| 73 | +in a note, which affected the result panel size. |
| 74 | +- `sum` variable get emptied at #Headers |
| 75 | +- Char width at the fonrend is now integer, ceiling upward. It caused issues |
| 76 | +with rendering (widths of recatngles were float as well and did not always fill up |
| 77 | + the required space) |
| 78 | +- Underlines and line reference background rectangles were rendered even if they |
| 79 | +were outside of the editor area |
| 80 | +- `ctrl-x` did not copy the selected text |
| 81 | +- Units in the denominator behaved buggy. now expressions like this works well |
| 82 | + ``` |
| 83 | + tax A = 50 000/month |
| 84 | + tax B = 50 000/year |
| 85 | + (tax A + tax B) * (1 year) |
| 86 | + ``` |
| 87 | +- u64 values can be parsed correctly (e.g. 0xFFFFFFFFFFFFFFFF) |
| 88 | +- Bitwise operations now work on u64 values |
| 89 | +- Negative numbers can be presented in binary and hex form |
| 90 | +- Line reference pulsing was called each time a cursor was pressed on the line ref's line, causing |
| 91 | +flickering |
| 92 | +- 'Line normalization' (the process where the referenced lines' id is normalized to the referenced line actual line number) |
| 93 | + could be undo with ctrl-z |
| 94 | +- Bitwise shifting operators (`<<` and `>>`) used wrapping, resulted in unwanted situations. Now it is an error |
| 95 | +to use larger shift operands than the underlying integer representation (u64 currently) |
| 96 | + |
| 97 | +## [0.2.0] - 2020-12-03 |
3 | 98 | ### Breaking Changes |
4 | 99 | `--` does not set the `sum` variable to zero, but every header does |
5 | 100 | ### Features |
|
0 commit comments