Releases: soulverteam/SoulverCore
Releases · soulverteam/SoulverCore
2.3.0
New Localizations
- Spanish
- French
Timezone Calculations
- New
preferActiveTimeZoneAbbreviations
onEngineFeatureFlags
. With this option on, SoulverCore will automatically use the equivalent in-use timezone for when a timezone abbreviations that is not currently being observed is used. The default value is true.
Natural Language Date Parsing & Scheduling
- The
seeksFutureDate
mode onEngineFeatureFlags
has been upgraded to support unit shorthands likew
for weeks andd
for days. Alsop
anda
can be used as shorthands for am and pm. - Added support for datestamps without spaces, like
jul9
. - Added a
dateValue
property onString
to quickly extract a natural language date
Natural Language Function Parsing
- Added a convenience static function on
Calculator
to quickly extract the parameters of a natural language custom function from a string. For example you could quickly extract the decimal 4.0 in the following function:
let parameters = Calculator.functionParametersIn("4 over 20", matching: ["3 over 9"]) // [4.0, 20.0]
Performance
- Minor performance improvements
2.2.11
General
- New percentage rate type: "50% / 3 years = 16.67% / year"
- Support for "sin" as both an airport/timezone (Singapore) and function (sine)
- Automatically round results from trigonometry functions to 15 dp to avoid floating point inaccuracies in certain results
Feature Flags
- New option to make numbers with incorrectly placed thousands separators invalid
allowsMisplacedThousandsSeparators
onEngineFeatureFlags
(the default istrue
) - With this option disabled, numbers like "1,3" in US-standard locales (where "," is a thousands separator) will not be recognised as "13"
Permutations & Combinations
- New functions for permutations & combinations:
- "5 choose 3", or "3 combinations of 5"
- "10 permutation 3" or "3 permutations of 10"
Units & Currencies
- Added additional aliases for some units
Dates & times
- Added a "(timespan) until (month)" function, like "days until April".
- Added a "(timespan) left in (month/year) function, like "days left in Feb", "days remaining in 2023"
- "Sept" now works for September (in addition to "Sep")
- Support for lowercase timezone abbreviations (gmt, pdt, etc)
Inflation
- Added additional phrases:
- "value of $500 in 2018" (convert from the present year)
- "value of $500 from 2018" (convert to the present year)
2.2.10
2.2.9
2.2.8
- Added "day of year" function
- Expressions that use the letter x, like "1x2x3x4" are now supported (in previous builds spaces were needed around the letter x)
- Added support for "deciliter" and "centiliter" units
- Support for "arcsin" as synonym for "asin" (also "arccos" and "arctan")
- Lots of improvements to background processing lines in
LineCollection
- Fixed a crash when converting musical notation to hexidecimal in the
LineCollection
unformatted result function
2.2.7
- Add "yen" as an alias for JPY, and yuan as an alias for "CNY"
- Seconds will now be formatted as a timespan in automatic result conversion mode
- Variable declarations are now off by default in the standard
EngineCustomization
to ensure the most predictable calculation environment. Enable them onEngineFeatureFlags
if you need them (example on the github page). - Minor improvements to the documentation
2.2.6
- Support for getting the GPS coordinates of a place: "location of Paris", "coordinates of SFO, "longitude of Seattle"
- Single date expressions now produce answers with the
EngineFeatureFlags
inAmbiguityPreferSomethingToNothing
set tofalse
. Calculator
now respects thevariableDeclarations
property onEngineFeatureFlags
, and will keep track of any variables defined with the syntax "variable name = value"
2.2.5
2.2.4
2.2.3
Automatic Result Conversion
- Added a new property on
FormattingPreferences
that lets you specify automatic result conversion behavior - With the
resultConversionBehavior = .automatic
option, SoulverCore will automatically perform conversions for single unit expressions. For instance kg will automatically be converted to pounds (and vice versa). This is similar behavior to that of Spotlight's calculator.
Localizations
- Added additional languages (French & Turkish)