Rook Survey Software

Changelog

Version history and release notes

In closed testing

Builds newer than 1.7.2 are in closed testing and available to invited testers only.

Join the beta

1.15.0

Beta

What behaves differently

  1. Programs have a new view. The stack always fills the display, and one strip under the top bar shows the program, the line and its state; tap it to pull the listing down. The top bar no longer switches to PRGM or RUN, and during a run the stack holds its values from the start while only the strip says Running.
  2. A program SOLVE line that finds a complex or vector root now counts as a success and runs on to the next line. This goes beyond the HP 35s, which says NO ROOT FND.
  3. Imported equation lines keep a missing ) as written and stop with SYNTAX ERROR when they run, as on the HP 35s. The editor still closes it for you.
  4. CLEAR on the Trig and Basic layouts no longer has a PRGM row; ALL stays.

Program view

  • The strip names the program, its line and what it is doing: Running, INPUT A, VIEW L · R/S continues, Stopped · R/S continues, Step, or the error in red.
  • The listing pulls down under the strip with a tap or a drag, centred on the current line; an error opens it by itself on the failing line, and ◄ opens that equation in the editor at the error.
  • SST and BST step with the listing following, and the keypad, X and Y never move between states.

Programs

  • New program in MEM: a button at the top of PROGRAMS opens program entry after the last program, offering only the unused letters for its label.

Equations and SOLVE

  • The current equation is remembered, as on the HP 35s: EQN, SOLVE, ∫ and MEM open scrolled to the equation last evaluated, solved, integrated, edited or created, highlighted, and it survives a restart.
  • Guesses of any type solve: a complex number in T for T×5=[2,0,0], or a vector in X for 5×T=2i3, no longer gives INVALID DATA.
  • Complex and vector SOLVE works inside programs: a complex guess solves instead of BAD GUESS, and a program whose value is complex solves directly or by iteration.

Display

  • x̂, ŷ, x̄, ȳ, × and ÷ draw in the LCD fonts, in the L.R. and x̄,ȳ menus, listings and equations.
  • In small windows a message stop shows its text in the strip where the message band does not fit.

Fixes

  • C and ← always back out of a menu. With a complex number in X or Y, C at the x?y or x?0 menu gave INVALID DATA and left the menu open.

1.7.2

Current

Added

  • The equation editor has Android's own cursor: tap anywhere to place it, drag the handle, long-press to select, and use the standard Copy, Cut and Paste; the calculator keypad stays the only way to type and the system keyboard never opens for the equation. Copy gives the equation as stored (what an export writes); Paste takes that form, the displayed form (π, 2 3/8) or the plain-text spellings an import accepts, and says so when it can't
  • While typing a number, X has the same cursor: tap to move it and the next digit lands there; long-press X for Copy and Paste; a finished result has no cursor; Copy on X gives the full 12-digit value, not the rounded display
  • HYP is a prefix: HYP then SIN, COS, TAN, ASIN, ACOS or ATAN computes the hyperbolic function; in a program, HYP then SIN records one SINH line; in the equation editor it types SINH(
  • Import and export in Settings → Data: your programs, equations (with their names) and your own constants travel as a plain-text listing you can share, paste or open on another phone; a preview shows exactly what will be stored, marks anything the importer changed, names any line it refuses, and asks before replacing a program, equation or constant whose letter or name is in use; a listing shared to the app opens the preview
  • Share one program or equation from the memory sheet, or one of your constants from the CONST sheet's Edit mode
  • Step through a program one line at a time with ▼ while PRGM is off — the run view shows where it stopped with the result in X — and ▲ steps the pointer back; at an INPUT prompt you stepped onto, ▼ stores your value and stops on the next line; R/S runs the rest
  • FLAGS opens a sheet: one row per flag with its name, a plain-language line on what it does and a switch; tap a row to turn the flag on or off
  • On the Trig and Basic keypads, which have no R/S key, a program stopped at INPUT, STOP or VIEW shows a Continue button that does exactly what R/S does
  • Double-tap C clears the stack, if you want it: a setting, off by default; one UNDO brings the stack back, and the app offers the setting once

Changed

  • The equation editor's top bar says New equation or Edit equation and shows no equation number; the name is one row (NAME · the name · a pencil) that expands into the keyboard's field when tapped, and while you type the name the keypad dims and does nothing; a long equation wraps, centered, and shrinks before it scrolls
  • The memory, CONST and EQN sheets have Edit / Done beside each section's title, affecting that section alone: PROGRAMS and EQUATIONS in the memory sheet, YOURS and BUILT-IN in CONST; the sheet-level Edit at the top is gone, as is Delete all programs — CLEAR ALL covers it; the sheets show each section's count in its title
  • ALL mode shows up to 12 significant digits and switches to scientific form only when they don't fit: 0.00123456789012 reads 1.23456789012e-3, 123456789012 and 0.0001 read plain
  • A number typed with more than 12 digits keeps 12; π is 3.14159265359; the Rydberg constant is 10973731.5682; Save X, Replace value with X and an imported constant store the value at 12 digits, and a constant saved by an earlier version shows exactly what a tap delivers
  • π shows as π wherever an equation or a program line is displayed; what is stored and exported is unchanged, so files still say PI
  • While a sheet is open the keys show their normal labels, dimmed, and C reads C; the top bar keeps the status chips under the EQN sheet, whose New adds an equation
  • Tap an equation in the EQN sheet to evaluate it straight away; long-press to evaluate without storing; New and Edit return to the sheet; the old list screen is gone, and tapping an equation in the memory sheet evaluates it too
  • The old Export Equations / Import Equations rows are replaced by Export and Import; an equation backup file made with the old export still imports
  • The old FLAGS grid in the display is gone; while the FLAGS sheet is open only C or Back act
  • The What's new card after an update lists every release since the one you last saw, newest first (up to three), and Learn more opens that version's own entry on this page

Removed

  • The CLALL function on the C key (shift on the 35s-style layout, long-press on Basic): it cleared only the stack and asked nothing. Double-tap C (Settings › Display) clears the stack; CLEAR → ALL asks with checkboxes

Fixed

  • FP keeps the sign: −5.7 FP is −0.7, on the keys, in a program line and in an equation; x! of a non-integer is the gamma function Γ(x+1): 0.5 ! is 0.886226925453, and a negative integer is still an error
  • x̄,ȳ with no data, and S,σ or LR with fewer than two points, say STAT ERROR and leave the stack alone instead of writing 0
  • In equations, a function the calculator does not have is SYNTAX ERROR — it never silently returns its argument any more (XROOT, IDIV, RMDR, %CHG, nCr, nPr and the comma separator are SYNTAX ERROR until they are built); INTG, ALOG and INV work; IP truncates toward zero like the key; RND rounds to the display format like the key; RAND draws from the same random sequence as the RAND key, so SEED governs it
  • FIX, SCI and ENG 10 and 11 are keyed with . then 0 or 1, as in a program: DISP 1 . 0 is FIX 10 (it was FIX 0); RTN pressed with no program running moves the program pointer to PRGM TOP; SEED uses the magnitude of the number, so 0.123 seeds a reproducible sequence and 1 and −1 seed the same one
  • In a program, SHOW, SPACE outside an equation, ( ), the comma, [ ], i, θ, →ENG and ENG→ say Not programmable and record nothing; the x≷ key records x<> A as one line; program listings and exported files name the INTG menu's integer division INT÷, and programs or files that say INTDIV still load, run and import
  • Results are held to 12 significant digits, as classic RPN calculators hold them: 100.348 − 102 is exactly −1.652, 0.1 + 0.2 − 0.3 is 0, and the full-precision value in Save X, the history and ALL mode is the one the display rounds; where a 12-digit calculator itself shows round-off, so does the app: in ALL, 1 ÷ 3 × 3 reads 0.999999999999 (FIX 4 shows 1.0000 as before)
  • SIN 180, COS 90 and the GRAD equivalents are exactly 0, SIN 90 exactly 1, and TAN 90 reports Invalid Data instead of 1.63E16; a very large angle is reduced exactly before the conversion
  • FIX, SCI and ENG round half-up: 2.5 shows as 3 in FIX 0, 0.125 as 0.13 and 1.005 as 1.01 in FIX 2
  • The 10ˣ key works again: it was taken as the start of a number in normal mode and when a program line ran it; in the equation editor 1/x and 10ˣ insert 1/ and 10^( instead of their own labels; at an INPUT prompt 1/x and 10ˣ calculate; the ROUND key is RND everywhere
  • In a program, a number directly before a test (x>0?, x=y?, FS?, FC?, ISG, DSE) is now the number the test reads; before, the test compared the value from before that number and could skip the wrong way
  • A number line in a program is complete as soon as its line runs: a PSE right after it shows the number in the display format, not the digits as typed

Earlier releases

1.14.0

BetaUNDO as on the HP 35s, built-in constants as program lines, SOLVE for a complex or vector unknown, and the DISP menu renumbered.

What behaves differently

  1. The DISP menu is numbered as the HP 35s's. 1 FIX, 2 SCI, 3 ENG, 4 ALL, 5 ., 6 ,, 7 1,000, 8 1000, 9 xiy, 0 rθa. The radix and the thousands separator are picks now, FRAC has left the menu (FDISP and the FRAC chip toggle it), and xiy and rθa moved from 6 and 7 to 9 and 0. Only the digits you key change: a stored program keeps its meaning.
  2. UNDO is one level, right after ← or C. It brings back what they deleted and no longer keeps a history of operations: a single C is undoable on its own, the double-tap clear is undone at once or not at all, and = leaves nothing to undo.

UNDO

  • A number, or the digits being typed: 123 ENTER 456, C, UNDO brings 456 back; so does UNDO after ←.
  • A program line: in PRGM, ← then UNDO puts the line back in place with the pointer on it.
  • A character in the equation editor, and X, the stack, the variables or the statistics cleared from the CLEAR menu.
  • On the 35s layout UNDO is the shifted ←; the Trig layout keeps CLEAR there.

Programs

  • A built-in constant by name: in PRGM, CONST opens the sheet and a tap records the constant, listed as its symbol (c, G, ε₀); when run, the line recalls the value and lifts the stack like RCL. An export writes CONST c, CONST G; an import reads the key or the symbol. Your own constants are not programmable yet.
  • RADIX., RADIX,, 1,000 ON and 1,000 OFF set the radix and the thousands separator from a program, as the DISP picks do, and change the same settings as Settings › Number format.
  • The built-in constants stay CODATA 2022. The HP 35s's are CODATA 1998, so a program that uses a measured constant computes a different last few digits than the 35s. Z₀, γp, G₀ and the natural e are not built in: a 35s program naming one is refused at that line.

SOLVE

  • A complex or vector unknown: an equation linear in the unknown solves directly from any guesses, as on the HP 35s. 5×T=2i3 gives 0.4i0.6, and T×5=[2,1,0] gives [0.4,0.2,0].
  • A complex unknown iterates otherwise: T^2=2i3 gives 1.6741i0.8960. Afterwards X and Y hold the root, Z the equation's value there, and T is unchanged.
  • Beyond the HP 35s: 5×T×T=2i3 finds a root (0.7487i0.4007) where the 35s says NO ROOT FND. Real results are unchanged.

1.13.1

BetaSheets open half way again, PSE shows the whole stack, the LCD fonts cover the whole display, and menus line up in columns.

What behaves differently

  1. Sheets open at half height again. The equation, constants, flags and memory sheets open half way, as before 1.13.0; drag up for the rest. A tall sheet stops below the status bar, so its drag handle always shows.
  2. PSE shows the whole stack during the pause, as on the HP 35s: T, Z, Y and X, with the LASTx line where there is room, then the program goes on.
  3. A message goes when a sheet or the equation editor opens over it. SYNTAX ERROR and the other messages no longer linger beside a sheet or above the editor, and a tap on an old message cannot reopen an equation over the one you are editing.

The LCD font across the display

  • Dot matrix and 14-segment now draw everything in the display: menus, the prompts (STO _, XEQ ____, A?), VIEW, the run view, SOLVE's and ∫'s values and every message. Rows keep their height, and the characters a face lacks draw in the standard font.
  • The PRGM listing and the equation editor stay in the standard font.

Menus in columns

  • Two-line menus line up in columns: in SUMS, DISP, INTG and the others each item stands under the one above it.
  • The point key picks an 11th menu item: the equation editor's INTG menu reads . CONJ, and . picks it.

Wide screens

  • The LASTx line shows on a foldable's inner screen whenever there is room, as on a phone.
  • The calculator behind a sheet is dimmed in every theme, more in the dark themes; on OLED the sheet has an edge on the black field.
  • Leftover error messages are cleared when a sheet or the equation editor opens, so none shows beside a sheet on a wide screen.

Fixes

  • In program entry, ◄ and ► no longer record a line of their own on a number or function line; they still open an equation line. A program that already holds such a line keeps it, and its export imports again instead of being refused.
  • The empty space between a sheet's drag handle and its first row is gone.
  • In the 14-segment font at the largest text size, a bracket or θ no longer makes the X line taller than the other lines.

1.13.0

BetaRedesigned settings, keypad unit conversions with survey units, LCD-style fonts, and many HP 35s fixes.

What behaves differently

  1. Complex numbers split the HP 42S way. →REC on a complex number puts the real part in Y and the imaginary part in X; →POL puts r in Y and θ in X. A stored program that splits a complex number now gets the parts in the other order, so check any that do.
  2. R/S runs from the program pointer. Leaving PRGM no longer moves the pointer back to line 001.
  3. ENTER after a number in program entry only finishes the number. Press ENTER again to record an ENTER line.
  4. The display follows the HP 35s more closely. Exponents read E with no plus sign (1.2345E4). ENG and SCI always show an exponent. FIX 0 and SCI 0 keep the decimal point (123.). In FIX, a number too small to show, or of 10^11 or more, switches to SCI: FIX 4 shows 0.00001 as 1.0000E-5.
  5. Unit conversions save the original number in LASTx, as on the HP 35s.

Settings, rebuilt

  • Seven sections (Appearance, Display, Keypad, Calculation, History, Data and About), with live previews where they help.
  • New settings: Larger shift labels, PSE length (0.5 to 3 seconds) and Record history.
  • Export lets you choose exactly what to share.

Unit conversions on your keys

  • Choose what keys 7, 4, 5, 6 and 2 convert, from 13 pairs: US survey ft ⇄ m, international ft ⇄ m, US survey ft ⇄ international ft, chains, rods, acres ⇄ hectares, acres ⇄ sq ft and sq ft ⇄ m², plus the original five. Every factor is exact.
  • Programs and equations keep working whatever your keys hold, because they record the full name (ftUS→m).
  • Example: with US survey ft ⇄ m on key 7, 1000 converts to 304.800609601.

The LASTx line and LCD fonts

  • An optional LASTx line above T, on by default when there's room. It never moves the stack or the keypad.
  • Stack fonts: Standard, Dot matrix or 14-segment, with optional faint unlit segments.

Programs

  • A stopped program shows the ordinary stack. Calculate freely, then R/S carries on.
  • XEQ and GTO prompts fill in as you type, and the third digit acts at once.
  • After SYNTAX ERROR, C, ← or a digit opens the equation at the error.
  • VIEW in a program shows the variable without touching X. VIEW on the keyboard is look-only.

Complex numbers

  • CONJ, the complex conjugate (3i4 becomes 3i-4), on the keyboard, in programs and in equations.

The launcher icon

  • A new launcher icon, with a themed version.

Fixes

  • LASTx pressed while typing a number keeps the number: 5 LASTx × is 5 × LASTx. %, RCL+, RCL−, RCL× and RCL÷ save LASTx.
  • STAT ERROR covers every case in the HP 35s manual: a statistic with no data; sx, sy, x̂, ŷ, m, r or b with one point; r, x̂ or x̄w when every y is zero; x̂, ŷ, r, m or b when every x is equal. It applies from the keyboard, the menus, programs and equations, and X is left as it was.
  • Fractions show inside complex numbers and vectors, and T no longer drops off when X shows ▲▼.
  • The equation, memory, constants and flags sheets no longer stop responding after a scroll on a foldable's inner screen.
  • Very long import listings no longer crash, and an import that fails part way leaves everything as it was.

1.11.2

BetaComplex numbers, vectors, 2×2 and 3×3 linear solvers, menus you can move through with the arrows, and exact decimals to 1E499.

Added

  • Complex numbers: type 3 i 4, or 5 θ 30 in polar form (θ is right-shift i); + − × ÷, yˣ, 1/x, +/-, LN, eˣ, SIN, COS, TAN, √ and x² take them, each part correctly rounded to 12 digits; DISPLAY 6 and 7 show x i y or r θ a, a long one wrapping onto two lines; they work in variables, registers, LASTx, INPUT prompts, your constants, program lines, equations, SOLVE, ∫ and exported files; RE and IM (INTG 7 and 8, and RE( ) / IM( ) in equations) give the parts, and →REC / →POL take a complex X apart
  • Vectors on the 35s-style layout: [ ] is right-shift ( ) and the comma left-shift 0, so [ ] 3 , 4 enters [3,4] — 1 to 3 elements, each a number, a variable, a stack register or (I)/(J); vectors of the same length add and subtract, × and ÷ by a number scale them, × of two vectors is the dot product and ABS the magnitude, all computed exactly; they work in variables, registers, programs, equations (with EL( ) and CROSS( )), SOLVE, ∫, your constants and exported files
  • The built-in linear solvers: 2*2 lin. solve and 3*3 lin. solve head the equation list on the 35s-style layout. Tap one, or pick it after SOLVE, answer A to F (or A to L) — calculating at a prompt if you like — and the system is solved exactly: x, y (and z) go to X, Y (and Z) and onto the stack, and ▼ shows each; NO SOLUTION and MULT SOLUTION say when there is no single answer
  • Menus move with ◄ ► ▲ ▼ and ENTER on the 35s-style layout (a hardware keyboard's arrows and Enter on every layout), a number key or a tap still picking directly; SUMS, x̄,ȳ, s,σ, L.R. and R↓'s list in the equation editor show the highlighted item's value; after SYNTAX ERROR, ← opens the equation with the cursor at the error
  • LASTx in equations; in program entry ▲ and ▼ move through all of program memory; LBL B keyed inside program A starts program B there, and deleting it joins the lines back; the surveying book's coordinate programs and the published storage and root-finder programs now run as printed
  • About › Open-source licenses lists the libraries the calculator is built with

Changed

  • While a menu is open the keypad lights only the keys that work in it — the arrows, the number keys that pick an item, ENTER once an item is highlighted, C and ← — and the dimmed keys do nothing; ← closes MODE, INTG and DISP, C closes CLEAR without clearing X; shift labels are a little lighter (bold with High contrast on); your constants reorder by dragging their handles in Edit mode (TalkBack: Move up / Move down)
  • ARG gives the angle of the complex number in X (a real number gives 0 or 180°); →POL still leaves the angle in Y, and a one-time notice names your programs that use ARG. Right-shift i is θ again (polar entry). 3 i with nothing after the i is 0 i 3, and θ with no number before it is SYNTAX ERROR
  • Every menu is one popup — over the stack, at a prompt, over a stopped program and in program entry with the current line above it, in the equation editor with the equation above it; the base chip always shows (DEC too) and opens a DEC / HEX / OCT / BIN choice; at a prompt the 0 and . keys show (I) and (J); digit grouping shows while you type; INPUT outside a program says it is for programs; C reads C everywhere
  • T shows whenever its line fits; on a foldable's inner screen, a tablet or another wide window the keypad scales evenly so four lines show; on small phones and at the largest text size key labels shrink to fit instead of being cut off
  • The app is in English whatever the phone's language, and numbers always use the display settings' decimal point and grouping
  • ∫'s uncertainty in Y also counts the rounding of each point where the function is evaluated, so it covers results that cancel to nearly zero; in the equation editor ( ) closes a ( still open before the cursor
  • Every number is an exact 12-digit decimal, as classic RPN calculators hold it, from 1E-499 to 9.99999999999E499 (the limit was about 1.8E308): a result past it shows OVERFLOW and keeps the largest number, a result below it is 0; OVERFLOW sets flag 6 until you clear it, and with flag 5 set a running program stops at the line after an overflow, in HEX, OCT and BIN too; in an equation an overflow is a warning and the equation goes on; the display, SHOW and the stack show three-digit exponents (1.0000e+400)
  • Every function is correctly rounded to 12 digits — computed on the numbers exactly as you see them and rounded once: π SIN in radians is −2.06761537357E-13, 1.0000001 ENTER 1 − is 1E-7, 171! is 1.24101807022E309; →HMS and HMS→ keep every digit (1.23456789 →HMS is 1.1404444404); SOLVE steps at 24 digits and finds a root at zero at once
  • An exponent takes three digits and a fourth is ignored; a number too large to hold is INVALID DATA and stays for you to correct. Copy X writes a plain number (1.5, 1E400, always with a point) that pastes back into the app and into other apps; Paste reads it exactly
  • Your stack, variables, constants and history keep every value exactly, including numbers beyond 1E308, and data saved by earlier versions loads as it was (a value an earlier version held as infinite loads as the largest number); exported constants are plain numbers (66, not 66.0), and older files still import

Fixed

  • History now keeps the limits you chose: a tape set to Never or No limit (or 90 days, 5000 entries) was cut back to 30 days and 1000 entries each time the app started
  • Backups and phone transfers now include your constants (with their order and hidden built-ins) and the numbered registers, and a phone transfer brings the history tape too; programs, equations and settings were already included
  • Fraction and flag settings are saved right away — FRAC, /c, the flags and FN= — so they are kept even if the app is closed without leaving it first
  • The small labels on ÷ × − + are no longer cut off: those keys and ENTER now have the same corners as the other keys, and every corner label sits where it does on the other keys
  • Folding or unfolding the phone keeps the screen you were on, and a shared listing is not imported again; on a phone set to Arabic, GTO and XEQ line numbers are recorded in Western digits; RND no longer changes LASTx when it cannot round X; the Mn/DOT Ratio program imports
  • Tests in programs and on the keyboard compare numbers exactly (1E400 and 1E401 are no longer equal); 0 ENTER 1 +/- yˣ is INVALID yˣ; an odd root of a negative number on x√y is negative (8 +/- ENTER 3 x√y is −2); a number line beyond the range in a stored program stops it with INVALID DATA on that line; ∫'s uncertainty always covers the rounding of the values it adds up; COGO's Push sends the azimuth exactly as the screen shows it

1.9.1

BetaEquations as on the HP 35s, SOLVE and ∫ on programs, indirect registers, HEX, OCT and BIN with LOGIC, and the COGO screen.

Added

  • Equations as on classic RPN calculators: STO types ▶ to store partway through (2+3▶A), R↓ lists REGX–REGT, the keys type function templates (SIN() with the cursor inside, nCr(,)), and XROOT, IDIV, RMDR, %CHG, nCr and nPr take a comma. SOLVE and ∫ work on programs: FN= and a program's letter, then SOLVE or ∫, in programs too
  • Indirect registers (I) and (J) over 801 numbered registers, listed in MEM; HEX, OCT and BIN as 36-bit words with LOGIC (AND, OR, XOR, NOT, NAND, NOR); /c and FDISP on the . key's shifts
  • COGO: a coordinate geometry screen from the side panel's TOOLS row — Inverse gives distance, azimuth and bearing between two North/East points; Forward gives the next point from a bearing with its quadrant or an azimuth and a distance; angles typed as 45.3015 or decimal degrees; Push to stack sends results to the calculator

Changed

  • -2^2 in an equation is now −4; write (-2)^2 to square a negative. Statistics are computed exactly, with SUMS, x̄,ȳ, S,σ and L.R. as pick-one menus. Programs run on into the next label when they have no final RTN; your existing programs each got one, so they behave as before. →POL and →REC moved to the C key's shifts; left-shift E is ←ENG
  • The equation editor's Cancel and Save return to the calculator; C and CLx no longer fill the history; with compact labels on, a tapped shift shows each key's shifted function

Fixed

  • An error in a running program stops it on the failing line, and R/S retries it; C or R/S stops a running program after the current step and R/S resumes; INT÷ and Rmdr take any number; yˣ, nCr and the other two-number functions drop the stack as + does

1.6.6

BetaThe What's new card lists every release since the one you last saw, and Learn more opens that version's entry.

Changed

  • The What's new card after an update lists every release since the one you last saw, newest first (up to three), so it reads right whether you come from the previous beta or from the last production release
  • Learn more on the What's new card opens this version's own entry on this page

1.6.5

Equation names and the EQN sheet, keys that stay quiet while a program runs, and a versioned history database.

Added

  • Equation names: rename any stored equation (up to 32 characters, unique); a named equation shows its name over the text everywhere it appears, and the memory sheet lists the names too
  • EQN opens a sheet of your equations, like the memory sheet: tap one to open it, New to add one, Edit to rename or delete; SOLVE and ∫FN pick from the same sheet, and while it is open keys do nothing until it is closed with C or Back

Changed

  • While a program runs, keys do nothing except C and R/S, which stop it, as on the HP 35s (C used to clear X underneath the running program)
  • The rename page and the Save / Edit constant form put the keyboard up by themselves, and the keyboard's Done saves; the CLEAR ALL dialog and the constant form are standard Material controls, a missing or duplicate name shown under the field
  • The history database is versioned with saved schemas and migrations, so an update can never wipe the tape

Fixed

  • The history shade keeps its view settings: the category filter and the grouped view survive closing the shade and restarting the app
  • CLEAR ALL with the Stack row checked also clears LASTx, so LASTx reads 0 before and after a restart alike

1.6.4

The two-pane program display, the CONST sheet with your own constants, the MEM sheet, and CLEAR ALL with checkboxes.

Added

  • Program entry and program runs are a two-pane display: the listing on the left — line numbers, the current line highlighted, tap a line to go to it — and prompts, menus, messages and results on the right; PRGM opens the program where you left it, and a new program starts from the New program row
  • CONST opens a sheet of all 41 physics constants (CODATA 2022) with each value at full precision; tap one to put it in X, or to answer an INPUT prompt
  • Your own constants: Save keeps any result at full precision under a name, an optional symbol and units, in a Yours section above the built-ins; Edit mode reorders, hides built-ins you never use, edits or deletes; a surveying starter set (US survey foot, International foot, Gunter's chain, Rod, Acre) is added once
  • The memory sheet (MEM) opens with what memory holds and lists your variables, programs and equations — tap a variable to recall it, run, edit or delete a program, open or delete an equation
  • Settings → Display → Program listing: Default or Comfortable row height

Changed

  • CLEAR ALL asks with checkboxes, one row per kind of data with its count; your constants and the history start unchecked so they are not lost by accident
  • SOLVE and ∫FN with no stored equation open the equation editor, the same one EQN uses, and continue from the equation you enter
  • Programs, equations and your constants are kept across updates

Fixed

  • Back in EQN, SOLVE and ∫FN steps back, as C does, instead of closing the app
  • Typing a book listing into a program just created on the New program row no longer records a second LBL line, so the program keeps the book's numbering and its GTO targets land where the book says

1.6.2

BetaCONST opens a sheet of all 41 physics constants in place of the one-at-a-time browser.

Changed

  • CONST opens a sheet of all 41 physics constants (CODATA 2022) — symbol, name, value at full precision and unit — in place of the one-at-a-time browser; tap one to put it in X, or at an INPUT prompt to fill the answer; swipe the sheet away to change nothing
  • The sheet opens everywhere the browser did — in normal mode, at an INPUT prompt and over a paused program — and in program entry CONST is still Not programmable

1.6.1

BetaA wider program listing, the program named in the top bar, and runs shown in the same two panes as entry.

Changed

  • The program listing is wider — 45% of the display — so ordinary program lines fit whole; a line that is still cut off shows its full text on the right
  • The letter row above the listing is gone; the top bar names the program instead (PRGM A while entering, RUN A while running), and the listing gains a line
  • Running a program looks like entering one: the same two panes, the line it stopped on highlighted, and on the right only the INPUT prompt with its value, the VIEW message, X, or the error message

1.6.0

BetaProgram entry as a two-pane display with a trace pane for runs, and PRGM opening where you left off.

Added

  • Program entry is a two-pane display: the program listing on the left — line numbers, the current line highlighted, a caret where the next line lands, tap a line to go to it — and prompts, menus and messages on the right
  • A running program shows a trace pane: the line it stopped on beside the INPUT prompt, the VIEW message or the stack; a long run shows the program letter and a running indicator

Changed

  • PRGM no longer asks for a letter: it opens the program where you left it, and a new program starts from the New program row at the end of the listing (LBL, then a letter)

Fixed

  • Typing a book listing into a program just created on the New program row no longer records a second LBL line, so the program keeps the book's numbering and its GTO targets land where the book says

1.5.2

A What's new card after an update, and a dimmed ENTER key that still reads ENTER.

Added

  • A What's new card on the first launch after an update — a short summary of what arrived, Got it, and Learn more (which opens this changelog). It can be reopened any time from Settings → What's new. A fresh install shows nothing

Fixed

  • A dimmed ENTER key (while a STO, RCL, XEQ or other prompt is open) now shows the word ENTER dimmed with its surface, like every other key, instead of a blank slab

1.5.1

X?Y and X?0 tests in normal mode, GTO · from the keypad, R/S from the program pointer, and prompts that dim the keys that don't answer.

Added

  • X?Y and X?0 on the 35s layout open the comparison tests in normal mode (YES/NO), as on the HP 35s
  • GTO · takes a label from the keypad (GTO · V 0 0 5), as on the HP 35s; GTO ·· is still PRGM TOP
  • If a stored program cannot be read at start, a one-line status says so once ("1 program could not be loaded"); the rest load as before
  • ← leaves a STO/RCL or program prompt like C, and erases a keyed line digit first

Fixed

  • R/S in normal mode runs a program, as on the HP 35s: from where the last run, stop or GTO left the program pointer (kept across restarts), from the top of memory after a program has finished, and from the first line of the program you just entered. "No programs stored" appears only when there is none
  • XEQ V000 and GTO V000 from the keyboard mean the label's first line (as XEQ V does) instead of NONEXISTENT — the editor, XEQ and GTO now agree on what a keyed line number means
  • While a prompt is open (STO, RCL, GTO, XEQ, LBL, ISG, DSE, SF/FS? and the rest), only the keys that answer it stay lit: a key whose own function answers shows its shift labels dimmed, everything else is dimmed, and TalkBack announces the state
  • An equation with two names or numbers side by side (QUAD CODE, 2X, 2(3)) is a SYNTAX ERROR from EQN, SOLVE, ∫FN and program lines, as on the HP 35s, instead of silently evaluating to 0; equations shown as messages (flag 10) are unaffected

1.5.0

Programs as on the HP 35s, equations as program lines, storage arithmetic, fraction literals in equations, TalkBack support, and HP-style stack lift.

Added

  • Programs, as on the HP 35s (35s layout): PRGM opens program entry for a label A–Z and every keystroke records as a numbered line (LBL, STO/RCL, INPUT, VIEW, ISG/DSE, GTO/XEQ, flag and test picks, x<>). ▲ ▼ move through the lines and ← deletes one. XEQ runs a program from its label or from a line (XEQ A001), R/S runs, stops and resumes, and INPUT prompts for values. Programs are kept across restarts
  • Program catalog: MEM 3 lists every stored program with Run, Edit and Delete, plus a Delete all programs button — each delete asks first
  • Equations as program lines, as on the HP 35s — EQN in program entry opens the equation editor and ENTER stores the equation as one line; ◄ and ► on that line reopen it for editing in place. Flags 10 and 11 work as on the HP 35s: with flag 10 set a running program shows the equation as a message and stops; with flag 11 set it asks for each variable first
  • GTO and XEQ take a line number (GTO V036, XEQ D010) and continue from or call that line; inserting or deleting lines renumbers the stored targets automatically. GTO ·· is PRGM TOP and GTO · nnn positions inside the program
  • Numbers are stored one per program line as you type them (42, 1.5, 2 3/8, 1.5E2), shown in their entered form with an entry cursor while keyed; ← edits the number being keyed and deletes the line once it is empty
  • Menu functions can be recorded as program lines — INTG (IP, FP, RMDR, INTG, SGN, INTDIV), CLEAR (CLx, CLΣ, CLVARS, CLSTK), DISP (FIX n, SCI n, ENG n, ALL) and MODE (DEG, RAD, GRAD) — and so can R↓, R↑ and x<> A
  • Calculating at an INPUT prompt, as on the HP 35s: functions, operators and the stack keys work while a program waits (2 ENTER 5 yˣ R/S stores 32), and a STO/RCL prompt opened there closes with C
  • After a SYNTAX ERROR or any other error stops a run, PRGM opens the editor on the failing line
  • Storage and recall arithmetic: STO + A, STO − A, STO × A, STO ÷ A, RCL + A … from the keyboard (35s layout) and in programs, as on the HP 35s
  • CLEAR menu: CLSTK (clear the four stack registers) at the HP's position 5, with Clear All moved to 6. CLEAR PRGM and CLEAR ALL now open a confirmation that says exactly what will be erased, with Erase and Cancel — the keypad can never confirm it
  • Fraction literals in equations, as on the HP 35s: press the decimal key twice inside an equation (2.3.8*X) and it evaluates as 2 3/8 × X; the equation list, the editor and the EQN/SOLVE/∫FN headers show it as 2 3/8*X
  • Fractions in EQN, SOLVE and ∫FN: variable prompts and the SOLVE guess accept HP 35s fraction entry (1.1.2 for 1 1/2) with the same live preview as the stack, and results, roots, uncertainty and limits show as fractions when FRAC is on
  • Fraction entry now accepts improper fractions and any denominator, as on the HP 35s (54/12 enters 4.5, 6 18/5 enters 9.6, 15/8192 is accepted)
  • Fraction Settings "factors of denominator" and "fixed denominator" now work: with /c = 16, 2.77 shows 2 3/4 or 2 12/16, and 2.5 shows 2 8/16 in fixed mode
  • The equation editor accepts a space (right-shift 0 on the 35s layout)
  • TalkBack support across the app: keys announce their function (including shift functions and long-press actions), mode changes are announced, history entries expose expand/collapse state, and messages stay on screen until dismissed when a screen reader is active
  • Springier Material 3 Expressive motion throughout — shift-key morphs and label pops, menu button flip, layout switches, and screen transitions — and mode changes (EQN, SOLVE, ∫, PRGM, Store/Recall) now animate smoothly in the top bar

Changed

  • CLEAR ALL now does what the HP 35s says: programs, equations, variables, statistics and the stack are erased; flags, fraction display (FRAC) and the display settings are left as they are
  • RCL, VIEW, x<> and RCL± of a variable that was never stored use 0, as on the HP 35s, instead of showing "No value" and keeping the letter prompt open — in normal mode and in programs
  • At an INPUT prompt ENTER is an ordinary ENTER (it pushes the number) and R/S answers the prompt. C clears the number being typed; C again cancels the prompt, the program stays resumable and R/S asks again
  • Programs: C now cancels program entry from any editor state, as on the HP 35s (it used to go to PRGM TOP); a pending GTO/STO/… prompt is cancelled first
  • The x?y and x?0 test menus list the tests in the HP 35s order (≠ ≤ < > ≥ =), in the program editor and on the keyboard, and the YES/NO answer is now shown
  • FLAGS menu: flags 10 and 11 are named for what they do — "Equations as messages" and "Equation prompts" — and . 0 / . 1 select them, in the menu and in the SF/CF/FS?/FC? prompts, as on the HP 35s
  • ISG and DSE leave the counter's fraction part exactly as entered (11.010 steps to 12.010)
  • +/- while typing a number changes the sign of that number (12 +/- 3 is −123) and, after E, the sign of the exponent (1 E +/- 3 is 1E-3); it no longer ends the entry
  • Programs: FDISP is no longer recordable as a program line (the HP 35s lists it as not programmable)
  • Fraction accuracy marks now follow the HP 35s: ▲ means the true value is a little above the fraction shown, ▼ a little below, compared at 12 digits
  • While typing a fraction the display shows exactly what was typed; the reduced form appears when entry ends. Values just under a whole number round to it (2.9999 shows 3, or 3 0/16 in fixed mode) instead of 2 1/1

Improved

  • App download size reduced from about 18 MB to about 3.5 MB
  • Message banner colors (error, warning, success, info) reworked per theme — every combination now meets accessibility contrast, including the previously hard-to-read orange warning
  • Classic theme: keypad surfaces are now slate-toned to match the theme (they showed a subtle purple tint before), and light-mode key outlines were added
  • High contrast mode now applies app-wide: dimmed text, timestamps, dividers, hints, and the history pull-down handle render at full opacity, while disabled controls still read as disabled
  • Display card and history badge corners align to the standard shape scale
  • Updated to the latest Android toolchain and Material 3 Expressive libraries

Fixed

  • Stack lift now follows the HP 35s: the number typed or recalled after a function, RCL, LASTx, π, x⇄y, R↓, STO, a flag operation or a test pushes the previous X into Y (2 x² 3 + gives 7; it gave 3), while ENTER, CLx and Σ+/Σ− make the next number or recall replace X. ← with nothing being typed clears X like CLx
  • The fraction /c setting (largest denominator, with the factors-only and fixed-denominator options) now survives a restart; it was reset to 4095 on every launch
  • Programs: a program stopped by STOP (or by VIEW) no longer takes over the display with no way out — the stack shows, the keypad works, R/S resumes, and PRGM, XEQ or GTO abandon the stopped run, as on the HP 35s
  • Programs: PRGM now leaves program entry from every prompt (a pending GTO/STO/INPUT/flag/conditional pick, the label prompt, the XEQ line prompt, an INPUT wait) instead of being ignored
  • Programs: INPUT stores the value you type (it used to store the previous X), keeps the variable's value when you just press R/S, and ← corrects the entry. Back at an INPUT prompt cancels the prompt instead of leaving the calculator
  • Programs: a damaged program in the saved store no longer erases the other programs
  • Programs: deleting a line moves to the preceding line, so a retyped line goes where the deleted one was, as on the HP 35s
  • Programs: flags 10 and 11 can be entered in a program with the HP "." prefix (FLAGS SF . 0 → SF 10); an invalid flag number is rejected instead of silently recording flag 0
  • Programs: VIEW stops and shows the variable (R/S continues); VIEW followed by PSE shows it for about a second and continues; PSE pauses about a second
  • Programs: results, INPUT prompts, VIEW and leaving program entry show fractions when FRAC is on
  • Programs: R/S recorded in a program shows as STOP; a missing label or line says NONEXISTENT and a 21st nested call says XEQ OVERFLOW, as on the HP 35s; a run that ends in an error shows X behind the message
  • Evaluating an equation with a syntax error from the equation list (2*, 2.3.8.1, unbalanced parentheses, an empty right side) now reports SYNTAX ERROR and stays in the list so it can be edited, exactly like SOLVE and ∫FN, instead of evaluating to 0 or reporting Math Error
  • A malformed number in an equation (2.3.8.1, 2.3.) now reports an error instead of silently evaluating to 0, and a zero-denominator literal (2.3.0) reports divide by zero
  • Flags 7, 8 and 9 in the FLAGS menu now are the fraction settings: SF/CF 7 toggles FRAC like the chip, SF/CF 8 and 9 change the fraction format like the Fraction Settings dialog, FS?/FC? read what the display is doing, and the saved flags restore FRAC and the fraction format on the next start
  • A number with an exponent in an equation (1.5E2) evaluates as 150 and no longer prompts for a variable E; 2*E, E^2 and a bare E still prompt for E; an exponent with no digits (2E) reports a syntax error instead of evaluating to 0
  • The history tape shows equation text as it was typed (2 3/8*X), matching the equation list and the EQN/SOLVE/∫FN screens
  • Turning fraction display on or off (FDISP key, DISP menu or the FRAC settings dialog) now updates the whole stack display immediately instead of after the next key
  • Entering an invalid fraction (for example a zero denominator) now shows an Invalid Number message instead of silently entering 0
  • SOLVE roots and ∫FN results now follow the selected display format (FIX/SCI/ENG/ALL) instead of a fixed 6-digit format
  • Negative fractions no longer show a spurious accuracy mark (-3/4 displays as -3/4), and fraction display picks the truly closest fraction (2.64 with /c = 16 shows 2 9/14, not 2 7/11)
  • After SOLVE the stack holds the root in X and Y and the equation's value at the root in Z, as on the HP 35s; the root is no longer pushed twice
  • Leaving SHOW with fraction display on returns to the fraction instead of a decimal
  • High contrast mode: shift-function labels on keys now render at full opacity (previously stayed dimmed)
  • Settings dialogs scroll properly on short screens

1.4.0

A second shift on the Trig keypad with unit conversions, →POL and →REC on the decimal key, and settings in Android backup.

Added

  • Blue (second) shift on the trig keypad, unlocking conversions as shifted pairs on the digit keys: kg↔lb, °C↔°F, cm↔in, l↔gal, km↔mile, →DEG↔→RAD, and →DMS↔→DD (decimal degrees ↔ degrees·minutes·seconds)
  • →POL / →REC coordinate conversions on the decimal key, and SHOW on ENTER — matching the 35s layout
  • A friendly empty state for the equation list, with a New Equation button when nothing's stored yet
  • A subtle entrance animation for the top app bar

Improved

  • →POL and →REC now round-trip directly — →REC takes θ ENTER r (magnitude in X, angle in Y), so you can convert back and forth with no X⇄Y swap in between. Help entries updated with the new entry order.
  • Repeated back-to-back CLx presses now show as a single history entry (your stored history is unchanged)
  • The trig keypad's shift arrangement now matches the 35s — the yellow shift moved up a key, with the new blue shift below it
  • In equations, a bare E is now a variable like any other letter (HP-style); use e^x for Euler's number
  • Under-the-hood toolchain refresh (Kotlin 2.4, newer Compose/Material)

Fixed

  • Preparing for programs — programs resume correctly after R/S — execution continues at the next instruction instead of re-pausing on the same line forever
  • App settings (theme, colors, haptics, history options) are now included in Android backup and device-to-device transfer; they previously reset silently on a new device

1.3.3

Authentic shift labels in the HP prefix colours, a themed launcher icon, and a fixed tablet keypad.

Added

  • New "Authentic Shift Labels" toggle in Settings → Appearance. When enabled, 35s and Trig shift-function labels render in their HP prefix colors (orange and blue) instead of muted grey, staying consistent with the shift keys across all theme modes. Off by default; Basic layout is unaffected.
  • Themed launcher icon for Android 13+. The app icon now tints to match your system accent color when themed icons are enabled.

Fixed

  • Tablet keypad layout. The X/Y/Z/T register display is no longer pushed off-screen on 35s and Trig layouts, and Basic layout keys are no longer oversized. Phone layouts are unchanged.

1.3.2

The Rook branded theme, a new app icon, and built-in Help & Quick Reference.

Added

  • Rook branded theme featuring our official company colors — navy, orange, and light blue — available in both light and dark variants, now the default for new installs (Dynamic and Classic themes still available in Settings)
  • Updated app icon to the Rook chess piece logo
  • Built-in Help & Quick Reference system with a feature tips carousel and searchable function guide covering all calculator operations

Changed

  • Major architecture improvements: new ViewModel layer, migration to Jetpack DataStore, and extraction of several large workflows into dedicated classes
  • Added 77 new unit tests and enforced zero Detekt static analysis violations

Fixed

  • TalkBack accessibility issues
  • Back navigation between screens
  • Various display and layout bugs

1.3.1

D-pad cursor navigation during number entry, and TalkBack labels throughout.

Added

  • D-pad cursor navigation during number entry — left/right arrows move cursor, insert/delete at any position
  • TalkBack accessibility support — all buttons, registers, chips, and navigation items have screen reader labels

Fixed

  • History logging captured wrong operand values during mid-entry
  • Navigation rail Settings button hidden behind 3-button navigation bar
  • Stack display cut off on devices with 3-button navigation bar
  • T register not showing on devices with 3-button navigation bar

1.3.0

The history tape with categories and grouping, High Contrast mode, and CODATA 2022 constants.

Added

  • History/Tape — pull down on the display to browse all past calculations: filter by category (Math, Memory, Equations, Errors, Stack, Convert, Stats, Constants, Modes), flat list or grouped view (time-based grouping), tap entry to expand with full precision result and actions, push result back to stack or copy to clipboard, category color coding with M3 Expressive styling, settings for auto-delete (7/30/90 days or never) and max entries
  • High Contrast accessibility mode in Settings > Appearance — removes transparency from text and labels, adds button outlines for clear separation, full opacity shift labels and stack values, works with all theme and color combinations

Updated

  • Physics constants updated to CODATA 2022 recommended values

Changed

  • Max Iterations slider snaps to discrete values (100, 250, 500, 1000, 2000–10000)
  • Compact Labels setting now actually hides shift labels when enabled
  • Renamed "Never" to "Full" in Compact Labels setting

Fixed

  • Regression and correlation precision for large coordinate values (UTM/State Plane)
  • X register clipping at large font sizes (complete rewrite of display height calculations)
  • Stack levels now auto-calculated based on available space

Removed

  • Stack Display setting (now automatic)

1.2.4

An OLED theme and a Colors setting; ALG mode removed, so the app is RPN only.

Added

  • OLED theme with true black backgrounds for AMOLED displays
  • Colors setting — Dynamic (Material You wallpaper) or Classic (fixed slate blue-gray palette)

Changed

  • Theme setting now has four options: System, Light, Dark, OLED
  • Colors setting disabled when OLED selected (uses dedicated palette)
  • Parentheses button shows "Parentheses: EQN mode" guidance
  • X?Y and X?0 comparisons show "Requires Programs" instead of "Coming Soon"

Removed

  • ALG mode removed — app is now RPN-only (target audience preference)
  • MODE menu simplified to angle selection only
  • "RPN" status indicator (redundant now)

Fixed

  • X register flash/flicker during typing
  • New-digit slide animation now actually animates (was starting at target)
  • Paste cascade stays visible throughout animation
  • Paste cascade shows even when pasted value equals current display
  • ENTER push animation works after typing
  • Settings screen color banding in Classic theme
  • Shift label colors adapt to actual surface luminance (works correctly across all themes)
  • Shift labels use darker colors on light themes for better visibility

1.2.3

Theme and haptic settings, equation export and import, a configurable iteration limit, and entry animations.

Added

  • Theme toggle in Settings — System, Light, or Dark
  • Haptic feedback intensity — Off, Light, or Full
  • Equation export/import via JSON backup files
  • Configurable max iterations for SOLVE and INTEGRATE (100–10,000)
  • Blinking cursor replaces static underscore in all input fields
  • Per-character digit animations during number entry
  • Paste cascade animation — pasted numbers drop in character-by-character
  • "+" button in TopAppBar for EQN, SOLVE, and INTEGRATE list modes
  • Dynamic button labels in equation list mode (ENTER→EVAL/SOLVE/∫, Backspace→DEL, Arrow→EDIT)
  • Full-width wavy progress indicator during computation

Fixed

  • Polar↔rectangular conversions (→POL, →RECT) now read from correct stack registers
  • ENG display mode correctly formats very small numbers
  • RCL key now works in INTEGRATE equation entry mode
  • Syntax errors show specific messages ("SYNTAX ERROR") instead of generic failures
  • No convergence error shows accurate iteration count
  • Display format dialog Apply button immediately refreshes display
  • ENTER button shift labels (SHOW, LASTx) now have proper contrast

Improved

  • Replaced material-icons-extended with inline definitions (smaller APK)
  • Wavy progress bar fades out gracefully (400ms) instead of vanishing
  • Keypad layout switching animates with horizontal slide + fade
  • Simplified variable prompts — "Value for X?" / "Guess for X?" without clutter
  • Removed help/hint text from modal displays for cleaner interface
  • Error messages display for 3.5 seconds (was 2)
  • Thousand separator auto-disabled when SCI or ENG mode selected

1.2.2

Number formatting options, copy and paste on the stack, →POL and →REC, and Android Auto Backup.

Added

  • Number formatting options — thousands separator (comma, period, space, apostrophe), decimal separator, and 3- or 4-digit grouping
  • Long-press copy/paste on stack registers (Paste available on X register)
  • →POL and →REC polar/rectangular coordinate conversions
  • "Coming Soon" placeholders for complex numbers, vectors, and BASE mode
  • D-pad cursor movement during number entry (◀/▶ to move, insert/backspace at cursor)
  • "What's New" changelog link on About screen

Fixed

  • × (multiply) button not responding
  • ÷ (divide) button pattern encoding issue
  • x≷ key label in Trig layout
  • Mile/km conversion key matching

Improved

  • Stack register values now scroll horizontally when too long for display
  • Display format changes now immediately update the stack
  • Long-press menu replaces single-tap copy on stack registers
  • New shift key symbols (◤ orange, ◢ blue)
  • ENTER button animation now matches other buttons
  • Moved shift key position in Trig layout
  • Android Auto Backup for all app data (settings, stack, equations, display preferences)

1.2.1

An animated stack, tap to copy a register, and integration prompts and results.

Added

  • Animated stack display — stack operations animate on ENTER, arithmetic, SWAP, and CLx
  • Tap any register to copy its value to clipboard
  • Integration variable prompting for multi-variable equations
  • Integration result screen showing value, uncertainty, and evaluation count
  • Progress bar during SOLVE, INTEGRATE, and EQN computation

Fixed

  • Integration variable selection now shows letter key overlay
  • SOLVE initial guess now accepts digit input correctly
  • C key no longer accidentally cancels SOLVE/EQN/INTEGRATE modes
  • D-pad shift functions (FLAGS, MEM, DISP, CONST) now work correctly

1.2.0

The HP 35s-style keyboard, the STO/RCL letter overlay, the memory viewer, and Material 3 Expressive design.

Added

  • Variable mode overlay — STO/RCL morphs keypad to show variable letters (A–Z) with animated pop-in
  • Memory Viewer — VIEW key opens list of all stored variables; tap to recall
  • Classic HP 35s-style keyboard layout with full key mapping and dual shift keys
  • Section-based layout architecture for flexible keyboard designs
  • Material 3 Expressive design with spring-based animations
  • Sliding navigation rail with layout picker (HP 35s / Basic / Scientific)
  • Status chips for display format, angle mode, and fraction settings
  • Centralized message system with color-coded banners (error, warning, success, info)
  • Connected button groups in Settings using Material 3 Expressive

Improved

  • Button system — specialized button types with spring bounce physics and variable haptic feedback
  • Floating display card extending edge-to-edge with rounded corners
  • SOLVE now validates that selected variable exists in equation

1.1.3

DMS and decimal-degree conversions, unit conversions in equations, and SOLVE and ∫ off the main thread.

Added

  • DMS ↔ decimal degree conversions using integer math for precision
  • Unit conversion functions available in equation evaluator (→DD, →DMS, →RAD, →DEG, →F, →C, →KM, →MI, etc.)
  • Conversions work during SOLVE variable prompting

Fixed

  • Equation evaluator now respects angle mode (DEG/RAD/GRAD) for trig functions
  • SOLVE mode prompts for all non-solve variables before initial guess (HP 35s behavior)
  • SOLVE correctly handles equations with = signs
  • SOLVE, Integration, and Program execution now run on background threads to prevent freezing

Improved

  • Centralized all unit conversions and math operations into single source of truth

1.1.2

Three keyboard layouts (HP 35s, Basic, Scientific), and programs that survive a restart.

Added

  • Multi-layout keyboard system — switch between HP 35s, Basic, and Scientific layouts
  • Layout indicator chip with bottom sheet picker for quick switching
  • Width-based dynamic display/keypad split with square buttons sized to screen
  • Long-press secondary functions on Basic layout keys
  • Program persistence — programs now survive app restart

Fixed

  • Button sizing and keypad clipping on various screen sizes

1.1.1

Fixes for SOLVE, the C key and edge-to-edge display on Android 15.

Fixed

  • SOLVE mode showing stale values after back navigation
  • C key now properly cancels RCL/VIEW/STO/x≷ mode
  • SOLVE backspace deletes input instead of navigating back
  • Edge-to-edge display on Android 15
  • Navigation bar no longer obscures bottom of keypad

Improved

  • EQN and Constants menus use standalone display for cleaner appearance
  • Screen locked to portrait until landscape layouts are ready

1.1.0

Equation mode: add, edit and evaluate equations with variable prompting.

Added

  • Equation mode — add, edit, delete, and evaluate equations with variable prompting
  • Scrollable equation list with type badges (EXPR/ASGN/EQL)
  • Assignment equations automatically store results
  • Equations persist across app restarts
  • SOLVE and ∫ modes now offer stored equations when available
  • Progress indicators for multi-step workflows

Fixed

  • EQN cursor editing and smart parentheses
  • Division by zero in EQN/SOLVE shows proper error message

1.0.6

A paid app with no trial, and the build number on the About screen.

Improved

  • About screen now shows build number with version
  • Switched to paid app model — removed trial system and in-app purchases

Removed

  • Trial system and purchase flow (app is now paid upfront at $5.99)

1.0.0

The first release: a 4-level RPN stack, scientific functions, 26 registers, statistics and three angle modes.

Added

  • Full 4-level RPN stack (T, Z, Y, X registers)
  • RPN and algebraic calculation modes
  • Scientific functions (trig, logs, powers)
  • 26 storage registers (A–Z)
  • Statistics functions
  • Degrees, Radians, and Gradians support
  • Stack and variables persist between sessions

Improved

  • Adaptive display for different screen sizes and aspect ratios