Changelog

All notable changes to the BAII Plus Professional Emulator are documented here.

[2.9.36] – 2026-07-05

  • Rendered Statistics worksheet field labels with KaTeX notation where available, including xbarsigxsigysumXsumX2sumYsumY2sumXYX', and Y'.
  • Added readable Unicode fallbacks for Statistics math labels when KaTeX is not available.
  • Added display-controller regression coverage for Statistics math labels.

[2.9.35] – 2026-07-05

  • Completed backend Statistics worksheet result coverage for guidebook fields, including X'Y'sumXsumX2sumYsumY2, and sumXY.
  • Corrected regression prediction formulas for LnEXP, and PWR modes.
  • Added statistics tests for one-variable weighted data, sum fields, transformed-model restrictions, and prediction fields.

[2.9.34] – 2026-07-05

  • Hardened TVM P/Y entry so changing payment periods explicitly synchronizes C/Y, matching the guidebook monthly-to-quarterly payment flow.
  • Added regression coverage for the $75,0005.5%, 30-year example producing monthly PMT=-425.84 and quarterly PMT=-1,279.82.

[2.9.33] – 2026-07-05

  • Aligned Depreciation worksheet calculations with the guidebook appendix by rounding CSTSAL, yearly DEP, and RDV to the active display decimal setting before carrying later-year book values.
  • Passed the active DEC format into automatic Depreciation worksheet computations when scrolling through DEPRBV, and RDV.
  • Added regression coverage for display-decimal depreciation rounding.

[2.9.32] – 2026-07-05

  • Fixed Date worksheet day-count setting display so ACT and 360 show as labels while still sending numeric day-count values to the backend.
  • Fixed backend Profit Margin calculations by evaluating only the requested target, avoiding unused divide-by-zero paths when computing CST.
  • Fixed backend Breakeven calculations by evaluating only the requested target, avoiding unused divide-by-zero paths when computing Q.
  • Added regression coverage for the Date worksheet ACT guidebook flow with DBD=58.

[2.9.31] – 2026-07-04

  • Fixed Percent Change / Compound Interest worksheet default periods so #PD starts at 1 instead of 0.
  • Hardened the backend Percent Change solver so legacy saved worksheets with #PD=0 still compute one-period %CHNEW, and OLD guidebook examples.
  • Added regression coverage for OLD=658NEW=700%CH=6.38, and %CH=-7 producing NEW=611.94.

[2.9.30] – 2026-07-04

  • Replaced the PHP backend Bond worksheet price/accrued-interest calculation with the coupon-schedule method used by the guidebook-tested solver, fixing the PRI=98.56 case for SDT=6.1206RDT=12.3107CPN=7YLD=830/360, and 2/Y.
  • Fixed Bond worksheet setting row display so 360 and 2/Y show as setting labels instead of numeric values such as 360.00 or 2.00.
  • Added regression coverage for Bond setting label display and readonly setting display formatting.

[2.9.29] – 2026-07-04

  • Fixed IRR worksheet scrolling so MOD auto-computes when selected after entering RI, matching the guidebook flow without requiring an extra CPT.
  • Added regression coverage for the cash-flow IRR=52.71 and MOD=35.12 sequence using  to display MOD.

[2.9.28] – 2026-07-04

  • Fixed worksheet entry correction so RIGHT/backspace can remove digits while editing Cash Flow worksheet values, including correcting 40000 to 4000.
  • Trimmed trailing blank Cash Flow worksheet rows before backend calculation so display placeholders do not add an extra NFV period.
  • Restored the LCD indicator strip to the 2.9.27 display style and verified active-state handling for DELINSBGN, and RAD.
  • Added regression coverage for the guidebook cash-flow edit sequence and the resulting NPVNFVPB, and DPB values.

[2.9.27] – 2026-07-04

  • Fixed backend worksheet solveAll dispatch after request sanitization lowercased the mode value, restoring Amortization worksheet BAL=PRN=, and INT= computations.
  • Fixed Amortization worksheet CPT range advancement so the next P1 and P2 values are persisted before backend calculation.
  • Restored Date worksheet invalid-date entry validation while keeping proprietary calculation formulas on the PHP backend.
  • Added regression coverage for the guidebook-style $120,000 at 6.125% amortization ranges through the third displayed year.

[2.9.26] – 2026-07-04

  • Fixed live numeric entry formatting so default US separator mode displays typed values with thousands grouping, for example 1234.56 now displays as 1,234.56.
  • Preserved typed decimal state while grouping live entries, including trailing decimals such as 1,234. and EUR separator mode such as 1.234,56.

[2.9.25] – 2026-07-04

  • Added a PHP solver service for TVM, amortization, cash flow, bond, depreciation, statistics, date, percent change, interest conversion, profit, and breakeven calculations.
  • Updated the frontend firmware to use a backend solver registry and removed local solver imports from the production bundle.
  • Updated release packaging so shipped plugin archives do not include the source js/solvers formula tree.

[2.9.24] – 2026-07-04

  • Fixed TVM register entry so arithmetic results such as 22 / 12 = I/Y store correctly into I/Y.
  • Fixed worksheet entry so computed 2ND xP/Y values can be stored into fields such as Amortization P2.
  • Added guidebook-style equals labels for worksheet value fields such as P/Y=CF0=P1=BAL=LIF=DEP=RBV=, and RDV=, while preserving bare setting labels such as SLEND, and BGN.
  • Fixed Depreciation worksheet second-year navigation so  from RDV= returns to YR=, and 2ND ENTER advances the year before displaying the next year’s DEP=RBV=, and RDV= values.
  • Audited appendix reference formulas and corrected amortization initial balance rounding, Jan Mayle 30/360 end-of-February handling, bond 30/360 expectations, and partial first-year SYD/DB depreciation.
  • Added regression coverage for the lease PV, monthly-payment amortization, depreciation display labels, appendix day-count, amortization rounding, and partial-year depreciation cases.

[2.9.23] – 2026-06-26

  • Fixed sticky TVM display labels so 2ND QUIT from END/BGN returns to a plain calculator display and STO / STO+ no longer leave stale labels such as PV= visible.
  • Updated Percent Change/Compound Interest worksheet labels and formulas for OLDNEW%CH, and #PD, including percent change, compound-interest, and markup examples.
  • Fixed Interest Conversion defaults and CLR WORK behavior so C/Y defaults to 1 and is preserved when clearing NOM and EFF.
  • Fixed Date worksheet ACT/360 persistence so CLR WORK preserves the selected day-count method and reopens with the correct visible setting.
  • Aligned Profit, Breakeven, and Memory worksheet field types/order with the guidebook tables, including Breakeven PFT before Q.
  • Added key-flow regression tests for the guidebook Other Worksheets examples and the sticky TVM label display cases.

[2.9.22] – 2026-06-26

  • Corrected Depreciation method cycling to SLSYDDBDBXSLF, and DBF, with editable declining-balance percentages for DB-style methods.
  • Fixed 2ND CLR WORK in Depreciation to reset worksheet variables while preserving the selected depreciation method and factor, as described in the guidebook.
  • Added guidebook behavior for CPT on Depreciation YR to advance the year and enforced integer life values for SYD/DB/DBX/DBF methods.
  • Tightened Statistics DATA and STAT clear behavior, the 50-point data limit, Y-frequency defaults, and X’/Y’ enter-or-compute prediction flow.
  • Added regression coverage for the official SL depreciation example, depreciation factors, statistics data limits, prediction fields, and DATA vs STAT CLR WORK behavior.

[2.9.21] – 2026-06-26

  • Fixed full reset so stale TVM register labels such as PMT= no longer remain on the standard calculator display after 2ND RESET ENTER.
  • Marked Bond YLD and PRI as enter-or-compute variables so both ENTER and COMPUTE indicators are active, matching the guidebook variable type.
  • Added regression coverage for stale TVM label reset cleanup and Bond enter/compute field behavior.
  • Reconfirmed the guidebook quarterly payment flow displays -1,279.82 from the current solver and formatter.

[2.9.20] – 2026-06-26

  • Fixed prompted worksheet entry so expressions such as 10 / 12 ENTER assign the calculated value, matching the lease NPV example.
  • Fixed Cash Flow deletion of the last entered row so the same numbered row remains visible as a blank 0.00 entry, matching the official edit example.
  • Enforced the guidebook limit of C01 through C32 / F01 through F32.
  • Added key-flow coverage for the official lease NPV example, last-row delete/insert editing, and the 32-row cash-flow limit.

[2.9.19] – 2026-06-26

  • Fixed CE/C after an operation key so it clears the calculation in progress instead of leaving a pending operator behind.
  • Fixed 2ND RESET2ND QUIT cancellation so the reset prompt is dismissed without clearing memory, TVM values, or format settings.
  • Added the guidebook ENTER indicator prompt while RST ? is waiting for confirmation.
  • Added regression coverage for entry correction, reset cancellation, and reset confirmation indicators.

[2.9.18] – 2026-06-26

  • Added standard-mode TVM labels (N=I/Y=PV=PMT=FV=) when entering, recalling, or computing TVM registers.
  • Implemented RCL plus TVM-key recall behavior.
  • Fixed Amortization worksheet defaults (P1=1P2=1) and auto-computation of BALPRN, and INT when scrolling to those fields.
  • Implemented CPT on Amortization P1/P2 to advance to the next payment range automatically.
  • Updated amortization calculations to use the guidebook’s displayed-payment rounding behavior for schedule values.
  • Added key-flow tests for guidebook monthly/quarterly payment reuse and the first-year amortization schedule example.

[2.9.17] – 2026-06-25

  • Corrected Bond and Date worksheet default dates to the guidebook value 12-31-1990 and rendered worksheet dates as calculator dates instead of 0.0000/raw decimal values.
  • Removed persistent worksheet-key highlighting so Bond, CF, NPV, IRR, and other worksheet buttons no longer stay glowing after opening a worksheet.
  • Fixed Depreciation worksheet scrolling so DEPRBV, and RDV auto-compute on display, including the 31.5-year SL guidebook example.
  • Added 2ND SET year increment behavior on the Depreciation YR field.
  • Improved Statistics worksheet mode flow and result fields for LINLnEXPPWR, and 1-V; data-entry Ynn now defaults to frequency 1.

[2.9.16] – 2026-06-25

  • Fixed 2ND CLR WORK while FORMAT is active so all calculator formats reset to defaults (DEC 2DEGUSUSCHN).
  • Preserved guidebook TVM entry flow after storing I/Y, including the 20-year future value and present value examples.
  • Added immediate ( display feedback while preserving grouped-expression evaluation such as 8 x (5 + 2) = 56.
  • Verified 2ND 9 opens the Bond worksheet at SDT in source and bundle tests.

[2.9.15] – 2026-06-22

  • Fixed amortization computation so BAL, PRN, and INT are populated together.
  • Added a complete monthly mortgage amortization key-flow regression.
  • Corrected T058 to set P/Y=12 explicitly and assert BAL=98,771.99.
  • Documented the corresponding PRN=-1,228.01 and INT=-5,966.59 values.

[2.9.14] – 2026-06-22

  • Added a generated-production-bundle DOM test for RESET, then 2ND I/Y.
  • Verified that the bundle renders field P/Y with reset value 1.00.
  • Bumped the asset version to invalidate stale and optimizer caches.
  • Corrected T051/T052 capture tokens to use the physical +/- key rather than the subtraction operator.

[2.9.13] – 2026-06-22

  • Corrected full RESET defaults to the guidebook values P/Y=1 and C/Y=1.
  • Verified 2ND N as the immediate xP/Y calculation and 2ND I/Y as P/Y worksheet access against the supplied official guidebook.
  • Updated monthly TVM key flows to set P/Y=12 explicitly.
  • Added coverage for 2 2ND N = 2.00 after RESET and 2 2ND N = 24.00 after setting P/Y=12.

[2.9.12] – 2026-06-22

  • Fixed 2ND N (xP/Y) to multiply the displayed value by P/Y.
  • Kept the TVM N register unchanged until the user explicitly presses N.
  • Added the 2 2ND N = 24.00 regression flow after setting P/Y=12.

[2.9.11] – 2026-06-22

  • Fixed 2ND CLR TVM so it preserves P/YC/Y, and END/BGN settings.
  • Added the complete annual-annuity key-flow regression for PV = 9,818.15.

[2.9.10] – 2026-06-22

  • Fixed corrupted STO arithmetic labels in the generated browser bundle.
  • Added clear LCD labels for STOxSTO/, and STOy^x.
  • Stopped the MEM worksheet key from remaining visually illuminated.
  • Added regression coverage for negative TVM payments entered with +/-.
  • Made the PowerShell bundle builder decode every module explicitly as UTF-8.

[2.9.9] – 2026-06-22

  • Fixed production startup by adding StatisticsDataWorksheet.js to the generated firmware bundle manifest.
  • Added a generated-bundle startup smoke test using a minimal DOM environment.
  • Retained JavaScript syntax validation and cache-busted assets.

[2.9.8] – 2026-06-22

  • Integrated the supplied 100-case device-capture template and a project-native audit runner.
  • Recorded that none of the supplied cases is marked physically verified.
  • Achieved 80 passing executable reference cases; identified four invalid expectations/key sequences and sixteen incomplete captures.
  • Fixed add-on/discount percentage calculations using the pending base value.
  • Made QUIT restore the previous standard-calculator display.
  • Added dynamic Statistics DATA Xnn/Ynn entry, insert, and delete behavior.
  • Added Depreciation method display and SET cycling beginning at SL.
  • Fixed full RESET from inside FORMAT so the active worksheet and stale SET/ANGLE/DATE indicators are removed.
  • Verified that DEC 9 survives manual OFF, while full RESET restores DEC 2.
  • Verified that AOS remains selected after QUIT while the standard display correctly returns to zero.
  • Added a detailed REAL_DEVICE_100_AUDIT.md report.

[2.9.7] – 2026-06-22

  • Audited 30 well-defined numerical cases from the supplied question bank.
  • Added a written report identifying incorrect answers, invalid key order, ambiguous Bond inputs, and manual calculations presented as worksheet output.
  • Made a P/Y worksheet entry automatically update C/Y, matching the guidebook unless C/Y is subsequently changed separately.
  • Retained the independently passing 50-case firmware certification suite.

[2.9.6] – 2026-06-22

  • Added an explicit 50-case firmware certification suite covering CHN/AOS, ANS, constants, memory arithmetic, TVM, BGN/END, FORMAT, Cash Flow, Bond, Date, errors, ROUND, correction entry, APD, and manual OFF behavior.
  • Changed constant mode to follow the guidebook sequence: 2ND K stores the operation and constant, and = performs the first calculation.
  • Made invalid Date worksheet values raise Error 6 when ENTER assigns them.
  • Added Date worksheet ACT/360 SET behavior.
  • Passed all 50 certification cases and the complete existing regression suite.

[2.9.5] – 2026-06-22

  • Fixed the visible RIGHT (->) key binding so it sends right instead of opening the NFV field.
  • Added a template contract test for the correction-key binding.

[2.9.4] – 2026-06-22

  • Changed the standard-calculator RIGHT key to erase one entered character.
  • Added the guidebook correction example: 1234.86 -> -> 56 becomes 1234.56.
  • Preserved worksheet navigation and extended cursor-editing behavior.

[2.9.3] – 2026-06-22

  • Added Memory worksheet arithmetic for +-, multiply, divide, and power.
  • Made zero P/Y or C/Y entries raise guidebook Error 4.
  • Added final-fidelity tests for AOS scientific notation, ROUND, Memory arithmetic, Error 1-8 behavior, manual OFF, and APD restoration.

[2.9.2] – 2026-06-22

  • Corrected the official guidebook Error 1-8 display mappings.
  • Added AOS limits for 15 active parentheses and eight pending operations.
  • Added TVM, amortization, FORMAT, and cash-flow range validation.
  • Added Cash Flow PBDPBRI, and MOD fields and computations.
  • Fixed prior-date calculation and partial-year straight-line depreciation.
  • Distinguished manual power-off behavior from APD state restoration.
  • Added official guidebook TVM, Cash Flow, Date, Bond, Depreciation, and error regression cases.

[2.9.1] – 2026-06-21

  • Added ANS, constant calculations, and memory arithmetic tests.
  • Expanded STO arithmetic support, including power operations.
  • Replaced misleading real-device test names with unverified reference cases.
  • Added dedicated firmware arithmetic regression coverage.

[2.9.0] – 2026-06-21

  • Added the organized tests/guidebook/ verification suite.
  • Added standard calculator, TVM, amortization, Cash Flow, Bond, depreciation, statistics, Date, Interest Conversion, Profit, and Breakeven test groups.
  • Added clear/reset and power-state behavior tests.
  • Expanded cursor, persistence, and calculator-state coverage.

[2.8.9] – 2026-06-21

  • Restored worksheet state on re-entry and persisted transient APD state.
  • Added indicator timing tests.
  • Expanded cursor editing and worksheet key-flow verification.
  • Updated architecture documentation.

[2.8.8] – 2026-06-21

  • Added CursorEditingEngine with overwrite, insert, delete, and backspace behavior.
  • Added APD state restoration tests.
  • Expanded reset/clear behavior and keyboard mappings.
  • Added leap-year, Interest Conversion, and worksheet-navigation edge cases.

[2.8.7] – 2026-06-21

  • Added dedicated Date, Interest Conversion, Profit, and Breakeven tests.
  • Expanded guidebook examples and worksheet key-flow coverage.
  • Added more Cash Flow and Bond regression cases.

[2.8.6] – 2026-06-21

  • Added extended guidebook solver examples.
  • Added end-to-end worksheet key-flow tests.
  • Improved Memory worksheet navigation and persistence behavior.

[2.8.5] – 2026-06-21

  • Added TVM guidebook, amortization, depreciation, statistics, and state/UI test suites.
  • Improved amortization, depreciation, and statistics solver behavior.
  • Expanded the automated test command.

[2.8.4] – 2026-06-21

  • Added calculator state and FORMAT behavior tests.
  • Corrected TVM defaults and state initialization.
  • Expanded regression coverage for display precision and persistence.

[2.8.3] – 2026-06-21

  • Added firmware UI-behavior tests.
  • Verified BGN/END SET/QUIT behavior and Cash Flow DEL/INS key flows.
  • Improved Cash Flow solver and firmware interactions.

[2.8.2] – 2026-06-21

  • Added the Node regression runner and package.json test command.
  • Tuned Bond duration using price sensitivity.
  • Added Bond matrix, Cash Flow grouping, and worksheet-indicator tests.

[2.8.1] – 2026-06-21

  • Fixed Cash Flow DEL/INS row indexing and renumbering.
  • Changed BGN/END to a SET-driven worksheet interaction.
  • Improved ENTER, COMPUTE, SET, DEL, and INS indicator state.
  • Refined FORMAT and Cash Flow persistence.

[2.8.0] – 2026-06-21

  • Added date-aware Bond scheduling, day-count, yield, and duration components.
  • Added dedicated NPV, IRR, and TVM Mode worksheets.
  • Added BGN/END setting behavior.
  • Expanded dynamic Cash Flow fields and financial result persistence.
  • Improved Bond PRI, YLD, AI, and DUR calculations.

[2.7.1] – 2026-06-21

  • Limited factorial calculations to the guidebook range of 0-69.
  • Improved nPr and nCr pending-operation behavior.
  • Fixed memory-mode cancellation behavior.
  • Added the first firmware regression harness.

[2.7.0] – 2026-06-21

  • Added parentheses, ANS, NFV, and broader scientific-function handling.
  • Improved AOS, operator, scientific, error, and display behavior.
  • Changed ordinary number entry to display without forced trailing decimals.

[2.6.5] – 2026-06-21

  • Refined the 1/X key font sizing on desktop and mobile.
  • Continued responsive key-label typography adjustments.

[2.6.4] – 2026-06-21

  • Split keys into primary math-symbol and secondary label font groups.
  • Increased math-key typography and retained a larger equals key.
  • Added responsive font sizing for mobile layouts.

[2.6.3] – 2026-06-20

  • Simplified the embedded output to the plain calculator container.
  • Removed remaining wrapper-dependent presentation from the template.

[2.6.2] – 2026-06-20

  • Removed the outer application background so pages show only the calculator.
  • Refined standalone embedding styles.

[2.6.1] – 2026-06-20

  • Added mobile-specific calculator padding, side rails, key heights, and font sizes for screens up to 470px.

[2.6.0] – 2026-06-20

  • Added the navigable FORMAT worksheet and floating DEC 9 behavior.
  • Added multi-register STO/RCL handling and improved second-function mapping.
  • Improved P/Y and C/Y TVM handling, Cash Flow rows, Date input, indicators, and financial solvers.
  • Expanded the generated firmware bundle and worksheet architecture.

[2.5.1] – 2026-06-20

  • Added the classic firmware.bundle.js runtime and PowerShell build script.
  • Switched to a bundled runtime compatible with themes and JavaScript optimization.

[2.5.0] – 2026-06-20

  • Switched the plugin from the legacy calculator script to modular firmware.
  • Added startup diagnostics for module-loading failures.
  • Added a runtime watchdog while retaining the 1.5.3 visual template.

[2.4.0] – 2026-06-20

  • Added KaTeX-compatible mathematical key labels.
  • Improved rendering for square root, powers, multiplication, division, nPr, nCr, factorial, and Delta-percent labels.

[2.3.0] – 2026-06-20

  • Restored a classic-script compatibility runtime alongside modular sources.
  • Updated asset registration and architecture documentation.
  • Replaced the temporary module loader.

[2.2.1] – 2026-06-20

  • Added a local module loader and corrected script startup wiring.
  • Updated plugin versioning and asset registration.

[2.2.0] – 2026-06-20

  • Returned to the 1.5.3 calculator design while retaining modular firmware.
  • Removed the PHP solver API and made calculations local to the browser.
  • Restored PHP 7.4 compatibility, shortcode rendering, and iframe support.
  • Improved key-matrix, display, indicator, and solver integration.

[2.1.0] – 2026-06-20

  • Introduced the firmware/state-machine architecture.
  • Added core, calculator, worksheet, solver, model, and configuration modules.
  • Added initial modular TVM, amortization, Cash Flow, Bond, depreciation, statistics, Date, Profit, and Breakeven solvers.
  • Added a standalone page and an experimental PHP solver endpoint.

[1.5.3] – 2026-06-20

  • Finalized the reference visual template used by the modular releases.
  • Refined calculator spacing and responsive presentation.

[1.5.2] – 2026-06-20

  • Adjusted display spacing and calculator body proportions.
  • Continued mobile and typography refinements.

[1.5.1] – 2026-06-20

  • Increased key and display readability.
  • Refined calculator padding.

[1.5.0] – 2026-06-20

  • Updated the header to the independent BA II Plus Professional treatment.
  • Refined the dark physical-calculator-inspired layout.

[1.4.1] – 2026-06-20

  • Increased LCD indicator and display font readability.
  • Applied small layout corrections.

[1.4.0] – 2026-06-20

  • Reworked the calculator toward a physical-device-inspired dark design.
  • Updated header, body, LCD, and key styling.

[1.3.0] – 2026-06-20

  • Improved active indicators and second-function presentation.
  • Refined key layout and calculator behavior.

[1.2.0] – 2026-06-20

  • Improved the responsive calculator layout.
  • Added Delta-percent and updated mathematical key labels.
  • Expanded basic calculator interaction behavior.

[1.1.0] – 2026-06-20

  • Added the site-template stylesheet.
  • Added the first polished responsive theme.
  • Improved iframe presentation.

[1.0.2] – 2026-06-20

  • Initial archived release.
  • Added isolated iframe mode.
  • Added the original responsive calculator, LCD, keyboard, and financial worksheet behavior.