Releases: Vein05/nomnom
v1.0.1
Fixes
- macOS: MuPDF is now statically linked - no more "incompatible header/library" warnings
- Windows: Full document extraction support (PDF, DOCX, XLSX, PPTX, EPUB) using pure-Go parsers
- Security: Config file permissions 0600, OpenFile path traversal + symlink bypass fixed, dummy-key bypass removed
- Stability: Fixed data race on AutoApprove, goroutine leak in file scanner, embedded prompt files
- CI: Added Windows unit test job, updated fatih/color to v1.19.0
Install
Desktop App
Download the .dmg (macOS) or .zip (Windows) from the assets below.
CLI
brew tap vein05/tap
brew install nomnomOr download the CLI binary for your platform from the assets below.
v1.0.0
Nomnom 0.7.2
Improved issues with duplicate API Keys in the config and the environment.
Full Changelog: 0.7.1...0.7.2
Nomnom 0.7.1
Nomnom 0.7.1 introduces changes from the deepseek-go package to this library. It fixes an edge case that resulted in a nil pointer reference issue.
Please get the latest release from below:
Nomnom 0.7.0
Added binaries for all platforms as per #5
Full Changelog: 0.6.0...0.7.0
Nomnom 0.6.0
This beta release(hopefully last) includes several updates to the README.md file, improvements to the help command, and some refactoring in the AI query handling code. The most important changes include updates to documentation, enhancements to the help command, and the renaming of a struct type for clarity.
Documentation updates:
README.md: Updated the image processing section to reflect the removal of Tesseract OCR support and added instructions for using vision models. Clarified the handling of API keys and added new vision model recommendations. [1] [2] [3] [4]
Help command enhancements:
cmd/help.go: Added a new help command with a custom template and improved error handling for command-line flags.cmd/root.go: Refactored the initialization of the help command to use the newInitfunction fromcmd/help.go. [1] [2] [3]
Refactoring for clarity:
internal/ai/ai.go: Renamed theresultstruct toResultand updated all references to this struct for better clarity and consistency. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
Additional changes:
internal/ai/deepseek.go: Added logging to indicate which DeepSeek model is being used. [1] [2]go.mod: Removed the dependency ongosseractas Tesseract OCR is no longer used.
Full report: #6 (comment)
Nomnom 0.5.0
Nomnom 0.5.0 Release Notes
We are excited to announce the release of Nomnom 0.5.0! This version includes several updates aimed at enhancing user experience, improving visual representation, and refining the processing workflows.
Highlights of This Release:
-
Improved Visual Demonstrations:
-
Enhanced Documentation:
- Added a section for normal usage commands in the README, specifically targeting image renaming use cases (Commit).
-
New Features and Configuration Improvements:
-
UI and Logging Enhancements:
-
Codebase Refinements:
- Introduced a "printer" utility to streamline output (Commit).
- Made additional minor fixes and refactoring efforts to enhance maintainability and readability.
How to Update:
To upgrade to 0.5.0, pull the latest changes from the main branch or download the binary from the release page.
View More Changes:
Explore the full list of commits since the last release here.
We hope you enjoy the new improvements!
Feel free to open issues or contribute further to the project.
Nomnom 0.4.0
Nomnom 0.4.0 introduces vision capabilities that can be turned on from the config.
Enhancements to AI Vision Capabilities:
- Added a new
VisionConfigstruct to theAIConfigto enable vision mode and set maximum image size (internal/utils/config.go). - Introduced the
doVisionAIfunction for handling image files in vision mode, including base64 image conversion and request handling (internal/ai/ai.go). - Modified
SendQueryToLLMto check for vision mode and process image files accordingly (internal/ai/ai.go).
Configuration Updates:
- Updated
config.example.jsonto include the newvisionconfiguration under theaisection (config.example.json).
Dependency Updates:
- Updated the
deepseek-godependency to versionv1.2.10ingo.mod(go.mod).
File Handling Enhancements:
- Added support for
.webpimage files in theReadFilefunction (internal/files/operations.go). - Introduced the
IsImageFilefunction to check if a file has an image extension (internal/files/validation.go).
Full Changelog: 0.3.0...0.4.0
Nomnom 0.3.0
Nomnom Version 0.3.0
New Features and Enhancements
- Demo Section Update: The
README.mdfile has been updated to include demo GIFs showcasing the tool's functionality with and without the dry run option. - Expanded Bulk Processing: Now supports renaming entire folders and their subfolders.
- Improved Parallel Processing: Enhanced the parallel processing mechanism to handle more files concurrently.
- Enhanced Error Handling: Implemented recursive folder processing and improved error handling for file processing retries.
- Windows Support: Added instructions for building the binary for Windows and setting up the configuration.
- Additional File Types Ignored: Updated
.gitignoreto exclude.mp4and.giffiles.
Bug Fixes
- Fixed Tesseract OCR Installation Instructions: Updated the
README.mdwith detailed steps for fixing theleptonica/allheaders.h: No such file or directoryerror during Tesseract OCR installation on macOS. - Resolved Log Issues: Removed unnecessary log statements from
internal/content/extractor.goandinternal/content/processors.go.
Code Refactoring
- Code Cleanup: Refactored the codebase to improve readability and maintainability. This includes restructuring the folder processing logic and enhancing the file copying mechanisms.
- Mutex Implementation: Introduced mutex locks to handle concurrent write operations safely.
- Recursive Function Implementation: Added recursive functions to handle folder processing and file copying more efficiently.
Tests and Documentation
- Test Updates: Updated and added tests for the new recursive folder processing and file categorization logic.
- Documentation: Enhanced the
README.mdwith clearer instructions and additional details on new features and fixes.
Miscellaneous
- File Structure Changes: Adjusted the internal file structure for better organization and future scalability.
We hope these updates enhance your experience with nomnom. Please refer to the updated README.md for more detailed instructions and examples.
Nomnom 0.2.0
Nomnom
Version 0.2.0 of Nomnom introduces parallel processing, enhanced file organization, detailed logging, and remaining.
General Changes
- Added:
.pkgignorefile for package-specific ignores. - Updated:
.gitignorenow includes.DS_Storeand several demo directories.
Documentation Updates
- Enhanced:
README.mdwith new sections:- Images
- Parallel Processing
- File Organization
- Detailed Installation Instructions
- Added: Before-and-after state images in the
data/directory.
New Features
- Parallel Processing: Added support for concurrent AI and file handling.
- File Organization: Automatically sorts files into category folders:
- Documents
- Images
- Audios
- Videos
- Others
- Logging: Implemented more detailed logging and error reporting.
- AI-Driven Renaming: Improved file renaming with better context extraction.
Code Changes
cmd/root.go:- Added new command-line flags.
- Improved log messages for better clarity.
internal/ai:- Enabled concurrent AI request handling.
- Added retry mechanisms for robustness.
internal/content:- Refactored file processing logic.
- Improved validation and structured copying.
internal/files:- Enhanced file operation handling and validation.
internal/utils/config.go:- Updated configuration management.
- Added utility for generating unique filenames.
Dependencies
- Go Version: Updated from
1.23.3to1.24.0. - New Libraries:
github.com/manifoldco/promptuigithub.com/ollama/ollama
Deleted Files
- Removed: Various files from the
demo/directory, including:- Text files
- PDFs
- Images
- Audio files
See the full comparison here: 0.1.0...0.2.0