Releases: mohammedrayyan12/JavaSwing-DigiLogBook
Releases · mohammedrayyan12/JavaSwing-DigiLogBook
v2.0.0 - Official Production Release
What's Changed
🚀 Release Notes: Architectural Migration & Cloud Integration
This update marks a fundamental shift in how DigiLogBook manages data, moving from local file dependencies to a secure, cloud-native API architecture.
🔄 Evolution of Data Management
- Legacy (CSV): Transitioned away from flat-file CSV storage to a structured Relational Schema.
- Intermediate (Local-First): Implemented a unified
configurationtable in SQLite to manage Batches, Subjects, and USNs, providing better data integrity than spreadsheets. - Current (Edge API): Migrated from direct JDBC database connections to Supabase Edge Functions (Deno).
🛠️ Key Technical Changes
- Decoupled Database Access: Removed heavy JDBC drivers (PostgreSQL/MySQL) from the client. The application now communicates via a lightweight HTTPS CloudAPI.
- Atomic Sync Engine:
- Implemented a "Local-is-Truth" synchronization model where the local SQLite acts as the authority.
- Developed a "Pending Sync" queue using a delimiter-based retry system in
config.propertiesto handle network interruptions.
- Server-Side Logic: Centralized SQL execution within Deno Edge Functions, improving security by abstracting database credentials away from the client.
- Robust Configuration Fetching: Added a startup routine that mirrors cloud configurations to the local SQLite instance, ensuring the UI remains up-to-date with the latest lab data.
🛡️ Security & Performance Enhancements
- Reduced Footprint: Cleaned up
build.gradledependencies, resulting in a leaner, faster-loading JAR. - Credential Protection: Eliminated the risk of reverse-engineering database passwords by switching to API Key-based authentication.
- Transaction Safety: Utilized PostgreSQL RPC functions to ensure "all-or-nothing" data updates, preventing partial data corruption during crashes.
📦 Dependency Updates
- Added:
com.google.code.gson(for JSON serialization). - Maintained:
org.xerial:sqlite-jdbc(local authority),org.apache.pdfbox(report generation). - Removed:
mysql-connector-j,org.postgresql:postgresql(deprecated direct drivers).
🔍 Setup & Usage
- Ensure
config.propertiescontains the validSUPABASE_URLandADMIN_KEY(Refer Cloud database setup). - The app automatically attempts to clear the sync backlog on startup.
- If the cloud is unreachable, changes are cached locally and retried automatically.
New Contributors
- @mohammedrayyan12 made their first contribution in #1
Full Changelog: v0.1.0-alpha.1...v1.0.0
DigiLogBook Alpha 1
Merge pull request #1 from mohammedrayyan12/under-dev Configuration Details into Settings