Releases: MarkMichon1/BitGlitter-Python
Releases · MarkMichon1/BitGlitter-Python
2.0.0
Complete overhaul of library:
- new file packaging and manifest system, ability to extract individual files from the stream as frames are decoded
- read and write both use multiple CPU cores for substantially better performance
- file masking added- optionally encrypt stream data and manifest along with the payload, hidden until correct key used
- presets added- set certain write configurations using a simple string as a key, without having to explicitly state them each time
- many utility functions added to control BitGlitter's state entirely like an API (so the Electron app can do just that), can get or set all end-user-relevant data
- 150% speed increase through more efficient means of rendering
- persistent data moved from pickle -> SQLite, massively improving I/O performance as well as transparency of saved state for both developers and end users
- frame data moved from binary files to SQL
- complete repo restructure for easier future upgrades and maintenance. all existing logic revisited, simplified and streamlined
- new read feature- stopping read when metadata loads
- new read feature- control whether decoding unpackages the files at read, or at a later time
- new read feature- toggle whether database auto-deletes data when stream is fully decoded and all files are extracted
- new read feature- blacklist specific SHA-256 hashes from being read, auto-aborts from read if ID detected in stream header
- new palette feature- import and export custom palettes with base64 encoded strings, built-in measures to protect against corruption
- new palette feature- generate sample frames from a given palette (or all palettes)
- 40 new sample custom palettes (optimized towards aesthetics vs performance) added as default palettes
- configurable paths for read and write output
- read/write frame progress now includes a percentage as well as current frame position
- countless minor tweaks, improvements, and overall cleanup and optimization of code
1.0.3
1.0.2
Write update
- Initial argument fileList can now accept a string, provided you're only sending one file or folder path
- write() argument saveOutputPath renamed to outputPath for consistent argument names across read() and write()
Read update
- 1.7x overall speed increase from optimizations
- ~14.7x speed increase in block scanning after migrating to cv2 for read functionality
- temporary frames are no longer saved as files, but rather loaded directly into memory. all "working folder" functionality removed.
Misc
- readme changes to reflect update
1.0.1
Final bugfixes
Read update
- outputStats() now have a more clear output name
- outputStats() now correctly displays total data
- removeAllPartialSaves() now saves session upon deletion of objects and files
- _dictPopper syntax fix
Misc
- setup.py moved
1.0
- All planned functionality implemented. Ready for release.
0.9 (pre-release)
- write fully functional
- read working in limited cases
- most utilities functional