fixed
improved
Major Minor Update
Soulver 3.10.3
Soulver now requires macOS 12 Monterey or higher
CSS Units
- CSS units (em, rem & px) will now always be formatted without spaces and using a standard US decimal character (.) so they can be immediately pasted into CSS files
Volume units
- Added slightly more accuracy to volume & substance calculations in certain cases
- Rates of liters/meters^2 are now resolved to a unit of meters
Natural language functions
- You can now use "@" as a synonym for "at" in natural language phrases, like in compound interest "$5k after 3 years @ 7.5%" (= ($6,211))
Conditionals
- Support for "if x then…" in addition to if x == true then…", where x is a boolean
- Fixed a bug where natural language functions were not working in the "then" position in conditionals (thanks Ian)
Timezones
- Added timezones for French territories: Mauritius, French Guiana, Martinique, La Réunion, & Guadeloupe
Functions
- Support for specifying the value of a unit using a function, like "sin(30) radians", or "abs(-40) meters"
Line references
- Support for adding a SI scalar to a line reference, for example "[123]k EUR", where [123] is a token reference to a previous line
Specifiers
- Support for "dec" as a shorthand for "decimal", like "0x123 to dec" (thanks Nasco)
Calendar calculations
- The "days left in 2024" function now returns a whole number of days (rather than fractional)
- Support for converting timespans into "months and days"
Localizations
- Diacritics are now ignored in unit and function names in the Spanish localization (use either "días" or "dias" for example) (thanks Carlos)
Bug fixes
- Fixed an issue where the log() function was not working with hex and binary numbers (thanks Emile)
- Fixed a very obscure bug where Soulver could use excessive CPU in the background when a list of fractions similar to dates was present in a heading comment in a US locale (thanks Jon)
- Fixed a hang when performing lcm with a list of numbers that included 0 (thanks Daniel)
- Fixed a bug where a line reference could lose its referent when deleting multiple lines above its referent's line
- "tonne" now maps to metric ton, rather than short tons.