Skip to content

v2.0.0 - JSON-based Data Storage & Major Enhancements

Latest

Choose a tag to compare

@Nekonepan Nekonepan released this 18 Aug 07:41
· 1 commit to main since this release
ce7af68

Major Release v2.0.0

This version introduces a complete migration from TXT format to JSON storage,
making the application more structured, reliable, and extensible.

Highlights:

  • Switched data persistence from TXT (| separator) to JSON (array of objects)
  • Modularized file read/write functions (read_data, write_data)
  • Improved backup system (backup/data-karyawan-backup.json)
  • Unified log system with timestamp (logs/deleted-data.json)
  • Bulk input supported with cancel option (0 = cancel input)
  • Enhanced editing flow with summary table preview
  • Consistent code style and error handling with try/catch

Migration Notes:

  1. Backup your existing TXT data if necessary
  2. Start fresh with data-karyawan.json OR manually convert TXT to JSON
  3. Ensure backup/ and logs/ folders exist in the project directory

Changelog:

Added

  • Support for JSON-based storage (data-karyawan.json)
  • Modularized functions: read_data() and write_data()
  • Bulk data input with cancel option (0 = cancel input)
  • Editing flow with summary preview table
  • Automatic backup system (backup/data-karyawan-backup.json)
  • Unified log system with timestamp (logs/deleted-data.json)

Changed

  • Switched from TXT format (| separator) to JSON (array of objects)
  • Sorting, deleting, and restoring now use JSON files
  • More consistent code style (braces, indentation, naming)
  • Better error handling with try/catch when reading/writing files

Removed

  • Old TXT-based storage (data-karyawan.txt)
  • Separate log files per delete (now unified into one JSON log file)

Breaking Changes

  • TXT files are no longer supported, you must migrate to JSON
  • Data from previous versions needs to be manually converted

What's Changed

  • Add initial JSON files for employee data and backup; log deleted employee records by @Nekonepan in #21

Full Changelog: v1.0.0...v2.0.0