- Fixes #40 - could not use text containing aggregation functions (e.g. "averageThings") as variable names
- Added
mean
as a multi-line aggregation (alternative tomean(1, 2, 3, etc)
)
- Fixes #39 - hex literals containing "c" and "f" were sometimes not evaluating if
qalc.shortcuts.temperature
was turned on
- Addresses #35
- Adds a new option (
qalc.explicitActivationLanguages
) to have Qalc processing off by default for a language, but to be able to turn it on at will using//qalc:on
- Adds a new option (
- Default cache TTL for exchange rates is now 4 weeks instead of 2.
- The Qalc extension is getting enough usage now that the exchange rate API monthly quota is being exceeded within 2 weeks.
- Reminder: you can get your own API key and have a daily cache instead
- Addresses #11
- Removes the
qalc.output.displayCommas
setting - Adds the
qalc.output.digitGroupingSymbol
setting. Setting this to either,
or simply nothing at all will achieve the behavior thatqalc.output.displayCommas
had, but now you can change it to other symbols as well. - Adds the
qalc.output.decimalSeparator
setting so you can change the decimal separator - For example, now if your result is
1234.56
, you can have it formatted like1.234,56
,1 234.56
or whatever your heart desires.
- Removes the
- Show user notification when currency exchange rates have been exhausted for the current month, and prompt user to get their own API key
- Default cache for exchange rates is now 2 weeks instead of 1 week
- Updates some dependencies
- Allow
qalc.currency.apiKey
setting to be empty
- Fixes #34, a bug so bad it stopped the extension from starting up!
- From here on out, bug fixes will happen on 0.0.x versions, smaller features on 0.x.0 versions, and major milestone on x.0.0 versions
- Resolves #32
- Switched to a new API for exchange rates
- A default API key is used that is allowed 1000 calls per month, and default TTL for cached exchange rates is 7 days
- A personal API key can be specified via the
qalc.currency.apiKey
setting, and if so the cache TTL will be 1 day - Go to https://openexchangerates.org/ to get your own free API key (no payment info required at all)
- #32 The exchange rate API being used has finally blocked free access, which broke any line that used a currency symbol. For now, I have quickly hacked $ and USD to still work, but actual conversions to/from any other currency are broken. I will search for a new free API, and give an option for users to provide their own API key as well in the next update.
- Bumped math.js version to 9.5.2
- Thanks to luis-c465
- #13 Added new setting (
qalc.globalDeclarations
) which allows you to define anything to be used across all files that Qalc processes. This would typically be useful for defining specific functions or constants that you use often.- Thanks to luis-c465
- Added a couple special comments that can turn off (
//qalc:off
) or on (//qalc:on
) Qalc processing within a file. This is useful if you just have portions of a file where you want Qalc to work.
- #23 The temperature shortcuts settings (
qalc.shortcuts.temperature
) now also enablesf
andc
to be used for fahrenheit and celsius (in addition tooF
andoC
) - #21 Updated default precision (
qalc.output.precision
) to2
. The previous default of0
was not a great choice. - #22 Support expressions like
x + y%
orx - y%
. For example,200 + 10% = 220
. - #20 You can now disable Qalc using glob patterns using the setting
qalc.disabledPatterns
(this takes precedence overqalc.enabledLanguages
) - #19 Added
hexToChar
andcharToHex
functions. They work like this:hexToChar("D83DDE0E") = "😎"
- #16 Added a new command (
qalc.copy.resultOnly
) that will copy only the result of the current/selected line (or multiple lines if more than one is selected)
- Changed
activationEvents
toonStartupFinished
instead of*
as an immediate stopgap for long startup times
- #12 Fixed issue where negative numbers in output would ignore formatting options
- #18 Fixed bug where the builtin Math.js
sum()
function was not working due to conflict with Qalc's customsum
keyword - #15 Added VSCode language support so line commenting via keyboard shortcut works as expected, bracket highlighting works, and brackets auto close
- Introduced new settings for output formatting
qalc.output.notation
- fixed, exponential, engineering, auto. See documentation for more details.qalc.output.trimTrailingZeros
- trims any trailing zeros in output that might show up as a result of certain output formatting combinations.
- Fixed bug where
% off of <variable>
and% off <variable>
were not working - Fixed bug where error message would not show up sometimes when trying to reassign keywords like
total
orsum
- Currency conversion no longer uses a limited API key that would break once the number of requests exceeded the limit within a month
- Fixed bug when using
sum
,total
,avg
, andaverage
with long numbers or numbers with commas would fail
- With convert local currency mode enabled, you can now convert like
1 EUR in $
(assuming $$ is set as your local currency symbol)
- Fixed
sum
,total
,avg
, andaverage
so you can do more things on the same line such asvariable = sum
orsum / 5
- Fixed bug in loading currency exchange rates if you had an error response from the API cached
- Currency conversion stopped working some time recently since the API used to retrieve exchange rates stopped being free. In this release I temporarily changed to http requests, and added a free access key that will limit calls to the API to 1000 per month across all users of this extension. It is a short term solution until I can find a better alternative.
- Fixed a bug where something like
12000/5/60
would be perceived as a date instead of division.
- Added two commands for copying lines to the clipboard including the output from Qalc. One includes the delimiter, the other does not. See README for more details.
- Users are now fully prevented from reassigning built in constants, keywords and functions. This is in order to prevent scenarios where a user might try something harmless like
m = 3.14
and later try to specify 2 meters like2m
and be utterly confused why that is evaluating to6.28
instead of just2m
. - Finally created this changelog
- Added icon for VSCode extension marketplace
- First release of Qalc
- Enabled in Plain Text, Markdown and new Qalc language modes
- Qalc language mode provides syntax highlighting
- Added initial set of settings:
- Output Color
- Output Delimiter
- Show Output Delimiter
- Output Alignment
- Output Max Alignment Column
- Display Commas
- Precision
- Upper/Lower Exponent Bounds
- Convert Local Currency Code/Symbol
- Local Currency Code/Symbol
- Temperature Shortcuts
- Enabled Language Modes
- Added a test suite
- Added an extensive readme with examples and links to full Math.js documentation
- Added aggregation keywords
sum
,total
,avg
andaverage
- Added
// comments
- Added
pixel
,point
andem
units - Added
mph
andkph
unit aliases - Added
time
,yesterday
andtomorrow
keywords - Added natural date parsing
- Added handling for
%
(not mod, percent) - Added handling for
% of
and% off of
- Allow some inputs to contain commas (doesn't work inside of function calls or matrices)
- Added support for
ago
- Forked from Mathpad v0.0.2