- added list_assets helper to easily print or get the asset names
- refactored codebase and remove redundant code
- added a color detecting logic on baad_core to prevent weird characters on ansi terminals (e.g command prompt)
> api changes:
- eyre is not a requirement for handling error
- removed log features
- removed auto logging, will now require to set up logging if you want to have output
- bump dependencies
- use thiserror for error handling
- updated the logging system using tracing
- moved out the file manager to baad_core
- bump dependencies to latest
- remove unnecessary panics
- docs: readme update
- docs: library update
- api: changed anyhow to eyre
- add --ios flag for both global and japan servers to download ios builds
- add --teen flag for global server only to download teen-rated content
- implement platform enum (android, ios) and buildtype enum (standard, teen)
- refactor serverconfig with optional platform/build parameters and defaults
- add marketconfig struct for cleaner global server market configuration
- validate teen build restriction to global server only
- convert pathbuf fields to box<path> in structs for memory efficiency
- update utility functions to use &path parameters for zero-cost borrowing
- cache frequently computed path components in catalogparser
- optimize temporary pathbuf usage throughout codebase
- consolidate duplicate download logic into single reusable function
- remove unused downloadargsext trait
- simplify serverconfig constructor logic
- hide cli module from library users with #[doc(hidden)]
- enhance error handling for invalid platform/build combinations
- serverconfig::new() accepts option<platform> and option<buildtype>
- add serverconfig::get_market_config() method for global server
- update path-related function signatures across utility modules
- improve resourcedownloader and builder pattern consistency
breaking change: serverconfig::new() signature changed to accept optional platform and build type parameters
- added a way to change the app name and data dir for filemanager
- refactored paths to be shared and only called once
- change public function in cli to private
- replaced direct struct references with `Rc` in managers, fetchers, and extractors for better memory management
- updated constructors and methods to accept and use `Rc`-wrapped instances
- refactored extraction rules into static constants for reusability
- streamlined APK and resource handling using centralized configurations
- moved `network` module from `helpers` to `utils` for better organization
- moved `cli` module from `utils` to the root namespace
- updated import paths across modules to reflect changes
- removed unused imports and cleaned up dependencies
- introduced `ErrorContext` and `ErrorExt` traits for error handling
- replaced direct `.unwrap()` and `.context()` usage with new traits
- improved error handling consistency across modules
- updated file, JSON, catalog, and APK processing to use `handle_errors`
- enhanced logging for detailed error messages
- standardized imports across modules for consistency
- introduced `pub use` to expose key structs/functions
- updated readme to mark library functions as exposed
- improved codebase structure by merging scattered import sources
- added `GameResources` struct for unified resource definitions
- refactored catalog parsing for resources
- added resource downloader module with support for retries and timeouts
- improved directory handling and introduced `get_output_dir` function
- upgraded dependencies and added `rustls` feature to trauma
- added global catalog fetching
- added global catalog parsing
- moved api from apk to helpers
- fixed save_json not making directories
- refactored apk fetch
- introduced extractionconfig and extractiontule structures
- updated apkparser to support extraction configuration
- modified main.rs to utilize new extraction features
- adjusted cargo.toml for library and binary paths
- updated DownloadArgs to support connections and multithread options as usize
- improved logging messages for download configurations
- refactored DownloadManager to streamline connection and thread handling
- optimized download strategies for better performance and resource management
- add semaphore for concurrent download control
- simplify APK version and download checks
- enhance CLI argument handling for download options
- refactor main.rs for better modularity and readability
- refactored APKParser and CatalogParser to utilize RegionConfig for improved region handling
- added cleaning functionality for data and cache directories in FileManager
- implemented download strategies with concurrent download limits in ResourceDownloader
- introduced new methods for fetching and processing catalogs for both Japan and global regions
- removed unused CRC calculation code and updated dependencies for better performance
- improved error handling and logging throughout the download process
- updated dependencies to use rand 0.9.0 for improved randomness
- integrated DownloadManager for efficient file downloads in ApkParser and CatalogParser
- added methods for temporary file management in FileManager
- implemented cleanup for temporary files to optimize storage usage
- improved error handling and logging during file operations
- introduced Catalog and Media structures for managing game assets
- implemented JSON serialization and deserialization for catalog data
- added CRC32 checksum support for data integrity
- refactored file management to enhance error handling and maintainability
- updated APK parser to utilize new catalog structures and improve addressable URL handling