Regalia v1.2.1 #44
YDW99
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
What's Changed
Full Changelog: v1.2.0...v1.2.1
Regalia v1.2.1 — Release Notes
📦 Download
Regalia-v1.2.1-release.apkRegalia-v1.2.1-manual-zh.htmlRegalia-v1.2.1-manual-en.html✨ What's New in v1.2.1
v1.2.1 is a same-version refinement release — no new features, no new permissions, no versionCode bump. It is the result of 15 rounds of iterative quality improvement on top of the v1.2.0 architecture refactor, driven by first-principles code audits, SonarCloud static analysis, and guidance from three reference PDFs (AI Code Generation Defect Prevention, Android WebView Development, SonarCloud Perfect Review).
🎯 Highlights
catchblocks eliminated (S108): 146 in chess.src/*.js + 6 in stats.html — all now log module-taggedconsole.warnrenderInternal347→23 lines,_renderDialogs181→31 lines,_renderReviewMode612→561 linestypeofmodernizations (S2703):typeof x === 'undefined'→x === undefinedfor declared variables; true globals (crypto,AndroidBridge) correctly preservedparseFloat→Number.parseFloat,String.fromCharCode→String.fromCodePoint♟️ Features
Core Gameplay
arm64-v8a-dotprodbuild (ARMv8.6-A DOTPROD instruction set for accelerated NNUE inference)Analysis & Review
[%csl]square highlights (B/R/G/Y) +[%cal]arrows; supports multi-color per squarePGN Support
[%csl]/[%cal],[%eval],[%clk],[%emt]User Experience
🔒 Privacy & Security
Regalia is designed to be private by design.
setAllowFileAccess(false)setAllowFileAccessFromFileURLs(false)setAllowUniversalAccessFromFileURLs(false)@JavascriptInterfaceannotation on all exposed methodsJsBridgeGateway)TlsSecurityHelper)Permissions
INTERNETACCESS_NETWORK_STATEWAKE_LOCKVIBRATEFOREGROUND_SERVICEFOREGROUND_SERVICE_SPECIAL_USEchess_engine_analysis)POST_NOTIFICATIONSWRITE_EXTERNAL_STORAGE(maxSdk 28)READ_EXTERNAL_STORAGE(maxSdk 32)See
PRIVACY.mdfor the full privacy policy.🏗️ Architecture
Source Code Stats
🔧 Build & Verification
Build Environment
APK Signature
Engine Integrity
The Stockfish 18
arm64-v8a-dotprodbinary is verified by three-way SHA-256 match:📜 License
Regalia is a combined work under dual licensing:
libstockfish.so)Per GPL v3 Section 13, these licenses are compatible for combination. Each component retains its original license. Since AGPL v3 imposes stricter network interaction provisions (Section 13), its obligations effectively extend to the entire combined work.
License Files
LICENSELICENSE-AGPL v3LICENSE-GPL v3LICENSE-Apache v2.0NOTICENOTICE-DroidFishNOTICE-gradle📚 Documentation
README.mdBUILDING.mdPRIVACY.mdSECURITY_FIXES.mdUBIQUITOUS_LANGUAGE.mdCONTRIBUTING-zh.mdCONTRIBUTING-en.mdManual/Regalia-v1.2.1-manual-zh.htmlManual/Regalia-v1.2.1-manual-en.htmlEach source directory also has a
README.licensefile classifying every file's license:🔄 Version History Summary
v1.2.1 (versionCode 121) — Current Release
Same-version refinement, 15 rounds of quality improvement:
📖 Click to expand full changelog
Round 15 (2026.7.14) — Final Perfection
_renderReviewModepartial extraction (612→561 lines):_buildRvFileLabels,_buildRvRankLabels,_prepareRvVisualAnnotationsconsole.warn('[Stats]', e.message)Round 14 (2026.7.14) — _renderDialogs + typeof
_renderDialogsrefactor (181→31 lines): 8 per-dialog helpers=== undefined; true globals preservedRound 13 (2026.7.14) — renderInternal God Function
renderInternalrefactor (347→23 lines):_buildRenderHTML,_saveScrollState,_restoreScrollState,_postRenderFinalizeRound 12 (2026.7.14) — SonarCloud PR #43
Round 11 (2026.7.14) — 2 User-Reported Bugs
Round 10 (2026.7.14) — Deep review-D/E/F fix
Round 9 (2026.7.13) — First-principles code review
Round 8 (2026.7.13) — TDZ white-screen bug fix
state-store.jsDEEP_CLONE_MAX_DEPTHdeclaration moved to IIFE top (TDZ violation fix)Round 7 (2026.7.13) — Phase 62 revert + security hardening
importedflag control reverted; secureRandomInt safe-fail; structuredpostJsCallbackRounds 1-6 (2026.7.12-13) — Initial defect fix + 4 parallel review agents
v1.2.0 (versionCode 120) — Previous Release
Architecture refactor major version:
StockfishNative.java(5,443→4,492 lines) → Facade + 11 manager/helper classesui.js(8,245→8,061 lines) → 4 new modules + sub-function decomposition_buildPGNStringdecomposed🚀 Install
From Pre-built APK
Regalia-v1.2.1-release.apkto your Android device (arm64-v8a, Android 6.0+)Build from Source
See
BUILDING.mdfor full instructions.🤝 Contributing
Contributions are welcome! Please read
CONTRIBUTING-en.md(orCONTRIBUTING-zh.mdfor Chinese) before submitting a pull request.Development Setup
git checkout -b feature/amazing-featuregit commit -m 'Add amazing feature'git push origin feature/amazing-featureCode Quality
node --checkstate-store.jsmust load cleanly in a Nodevmcontext (no TDZ violations)_camelCasefor private functions,camelCasefor publicNOTICE,README.md, and the relevantREADME.licensefor any new files📄 Citation
If you use Regalia in your research or project, please cite:
🙏 Acknowledgments
"Regalia" is used solely as a project name for this open-source chess app. No trademark rights are claimed. Anyone is free to fork and rename their own version.
Chess piece symbols (♔♕♖♗♘♙ ♚♛♜♝♞♟) are Unicode characters and are rendered using the device's system fonts.
This software is provided "as is", without warranty of any kind. See the license files for complete terms.
📊 Stats
♔ Built with care for chess enthusiasts who value privacy, openness, and quality. ♚
AI-GEN
This discussion was created from the release Regalia v1.2.1.
All reactions