Changelog
All notable changes to godocs will be documented in this file.## 0.48.12 2026-03-01
-
avoiding goreleaser## 0.48.14 2026-03-02
-
Adding internal/testdocs## 0.48.16 2026-03-02
-
Adding name editing
0.48.17 2026-03-02
- Documenting tags
0.48.15 2026-03-02
- improving release
0.48.13 2026-03-02
- Updating gothumbnails for gifs
0.48.11 2026-03-01
- Prevent some files eg .dll and .exe as inputs also clean them out
0.48.10 2026-02-28
- improving documentation
- improve multi-select
- Adding variable results pages
0.48.5 2026-02-27
- improving document card format
0.48.4 2026-02-26
- Adding archive functionality
- Adding extra buttons for edit and view docs on document card
- reformatting document card
- debugging select
0.47.6 2026-02-25
- improving tag layout
0.47.3 2026-02-24
- fix critical job bugs
- extract godocs-hash
- use external version of godocs-hash
0.47.0 2026-02-23
- Refactor document paths
0.46.7 2026-02-23
- Update docs
- Fix relocation of wasm_exec.js in go 1.25
- Fix github pages
0.46.2 2026-02-22
- Edit page: added Document Identity and File Details tables
- Edit page: rotate buttons now warn that operation is destructive
- Edit page: full-width Text Content section with OCR status indicators
0.46.1 2026-02-22
- reformatting orientation feature
0.46.0 2026-02-21
- Adding orientation feature
0.45.0 2026-02-21
- Canonical file naming: documents on disk now use
{id}.orig.{ext}with semantic sidecar suffixes.ocr.txt(was.txt),.thumb.png(was.tn_256.png),.tags.json(unchanged)
- Clean DB automatically migrates legacy filenames to canonical naming
ComputeNestedPathnow takes extension instead of filename- Added
SidecarBasePath,CanonicalDocName,canonicalBasehelpers - Both legacy and canonical sidecar patterns recognized for backward compatibility
- Clean DB now purges incomplete ingestion entries (
__temp__/paths) - Clean DB now verifies ingress folder and deletes files already ingested (by hash)
- Fixed ingress sidecar pickup: legacy
.txtsidecars in ingress correctly saved as.ocr.txt - Added
PUT /api/document/:id/ocrendpoint for external tools to set OCR text without knowing file naming - Upload endpoint now rejects sidecar files (
.ocr.txt,.thumb.png,.tags.json,.tn_256.png) with 400 - Added
docs/internal/agents.md— external agent API guide for upload workflows
0.44.3 2026-02-19
- adding wasm version for local tests
- updating migrations doc
- cleaning temp directory
0.43.4 2026-02-18
- improving document card layout
0.43.3 2026-02-18
- improving docmentation and enabling githubpages
0.43.2 2026-02-17
- Adding hide tag eg is imported but don't want to see nor reimport
- Adding URLID on upload
- allowing multitaging
0.43.0 2026-02-16
- Adding more fields to make more compatible with Evernote import
- improving display of tags
0.42.2 2026-02-16
- improving error logging
- making time display more resilient
0.42.0 2026-02-15
- Adding stories
0.41.0 2026-02-15
- Editable document date and dae searchable
0.39.0 2026-02-13
- Improving thumbnail appearance
0.38.0 2026-02-10
- removing wasm front end for simiplicity
0.37.3 2026-02-08
- Switching to drummonds/go-postgres for pglike wrapper over sqlite.
- removing sqlite support
0.36.1 2026-01-18
- Fixing pagination
- Adding tags to search results
- Adding edit button to search results
0.35.0 2025-12-09
- Adding search manager page
- removing stormid
0.34.10 2025-12-07
- Debug tag errors
0.34.9 2025-12-06
- Fixing edit tags errors
0.34.3 2025-12-05
- Adding search manager
- and bug fixes
0.34.2 2025-12-05
- Adding search manager
- and bug fixes
0.33.7 2025-12-04
- Adding tag manager
- Converting dimensions to tag groups
- clean_database now rescans orphaned files on demand
- removal dual db migration
0.32.6 2025-12-04
- Extending edit to show more info
- improving edit to regen thumbnail with button
- update appearance of tags
0.31.8 2025-12-03
- fixing view
- fixing edit
- looking at DB migations
- fixing file browser
0.31.3 2025-12-02
- Fixing front end port
- fixing port again!
- making URL address dynamic
- tidying main.go by creating handlers.go
0.30.2 2025-12-02
- Creating CSS classes for about page
0.29.6 2025-11-25
- Making backend url dynamic
0.29.3 2025-11-24
- fixing view document routes
0.28.5 2025-11-23
- Fix bugs on routing to backend api
- Change routes where URLS are to the backend from the front end eg swagger docs
0.28.0 2025-11-22
- Major architectural change: Single godocs startup now serves both ports simultaneously
- Backend (port 8000): Serves API endpoints + static files (WASM, CSS) + direct access
- Frontend (port 8001): Serves minimal HTML shell that loads resources from backend
- Recommended usage: Access app via http://localhost:8001 for clear frontend/backend separation
- WASM app makes direct API calls to backend (no proxy)
- Added improved CORS configuration for cross-origin requests
- Created separate server binaries (cmd/backend, cmd/frontend) for advanced use cases
- Created start-separated.sh script for running servers separately if needed
- Clear delineation between frontend routes and backend API endpoints
0.27.12 2025-11-22
- Manual test logging from Front End
- correcting swagger ui tests
0.27.7 2025-11-22
- Extending test coverage
- fixing forntend 404 errors not being logged
- fixing thumbnails not being displayed
- fixing edit routes
- replacing echo with slog log
0.26.2 2025-11-22
- embedding swagger rendering of api swagger.json
- rebulding release so cleans, builds and tests first
0.25.2 2025-11-22
- Using rendered API docs locally rather then externally
0.24.0 2025-11-21
- Adding backend API docs to About page (to test logging)
0.23.5 2025-11-20
- Refactoring logs so frontend is logged on backend
0.22.13 2025-11-19
- Trying to fix persistent 404 errors
0.22.12 2025-11-18
- Adding Tag editing system
0.21.4 2025-11-18
- Adding Tagging system
0.20.7 2025-11-18
- Fixing display bugs for thumbnails
0.20.0 2025-11-16
- using goreleaser release
0.19.0 2025-11-16
- Adding creating thumbnails
0.18.0 2025-11-16
- Adding ingres .txt files and store on clean if don't exist
0.16.0 2025-11-11
- Adding make ingress directory if it doesn't exist
0.15.0 2025-11-10
- Embedding static files into binary for single-file deployment
- Log version on startup
- Fixed build scripts to properly set version using internal/build.Version
0.14.0 2025-11-10
- Adding /etc/godocs.env as env
0.12.0 2025-11-08
- Converting to url github.com/drummonds/godocs as cache was corrupted
0.11.0 2025-11-08
- Converting to url github.com/drummonds/goems
0.10.0 2025-11-08
- Pure go renderer
0.9.0 2025-11-08
Changed
- BREAKING: Removed go-fitz (CGo) PDF renderer in favor of pure Go PDFium renderer
- All PDF rendering now uses PDFium with WebAssembly (no CGo required)
- Works with
CGO_ENABLED=0for simpler deployment - Single binary with no external C dependencies
- Removed
PDF_RENDERERconfiguration option
- Converted to Bun ORM for better database abstraction
- Support for both SQLite and PostgreSQL
- Unified interface across database types
Added
- Pure Go PDF rendering via PDFium WebAssembly
- No MuPDF or other C library dependencies required
- Simplified deployment for Docker, cloud, and embedded systems
0.8.0
Added
- Word Cloud Visualization: Automatic word frequency analysis for all documents
- Real-time word cloud generation using PostgreSQL queries
- Excludes common stop words for better visualization
- Integrated into frontend with responsive display
- Step-Based Ingestion Pipeline: Complete refactoring of document ingestion
- Step 1: Hash calculation and duplicate detection
- Step 2: File move with hash verification
- Step 3: Text extraction and search indexing
- Comprehensive job tracking with per-file progress reporting
- Graceful failure handling - documents saved even if OCR fails
- Build System Improvements:
- Added
build-wasm.shscript for WASM builds with version embedding - Fixed Taskfile.yml YAML syntax issues
- Version information now properly embedded in WASM binary
- Added
- Improved OCR Handling:
- Documents with no extractable text (handwritten, blank, etc.) now stored successfully
- OCR failures return empty text instead of errors
- Better logging for OCR issues
Changed
- BREAKING: Configuration now stored in PostgreSQL database
- Removed
config/serverConfig.tomlentirely - Only database connection uses
.envfile - All other settings (ingress paths, OCR, etc.) stored in database
- Web interface for configuration management
- Removed
- BREAKING: Default ingestion behavior changed
INGRESS_DELETE=trueby default (deletes source files)- Removed "done" folder concept
- Files are hashed, verified, then source deleted
- Ingestion Storage: Documents no longer duplicated in multiple folders
- Single copy in documents folder with database tracking
- MD5 hash verification before and after file copy
Fixed
- Orphaned files when OCR fails now prevented
- Empty OCR results treated as valid (not errors)
- Test files no longer leak into production directories
- Taskfile.yml syntax errors causing build failures
Documentation
- Updated README.md to remove outdated config.toml references
- Added comprehensive ingestion flow documentation
- Created BUILD.md with detailed build instructions
- Added INGESTION_REFACTOR.md documenting step-based approach
0.7.0 2025-10-25
Added
- WebAssembly Frontend: Complete migration from React to go-app
- Pure Go frontend compiled to WebAssembly
- No npm dependencies needed
- Embedded in backend binary
- PostgreSQL Full-Text Search: Replaced Bleve with native PostgreSQL
- Automatic index updates via triggers
- Better performance with GIN indexes
- Single word, phrase, and prefix matching supported
0.6.0 2025-10-24
Changed
- BREAKING: Replaced Bleve full-text search with PostgreSQL native full-text search
- Simpler architecture with fewer external dependencies
- Automatic index updates via PostgreSQL triggerConverting to Postgres full text searchs
- Better performance with GIN indexes
- No separate search index files needed
- Search functionality preserved: single word, phrase, and prefix matching supported
Removed
- Bleve search library and all related dependencies (~200KB+ removed)
database/searchDatabase.go- no longer neededengine/search.go- search logic moved to PostgreSQL
DeleteDocumentFromSearchfunction - automatic via database triggersSearchDBfield from ServerHandler struct
Technical Details
- Added migration
000002_add_fulltext_searchfor PostgreSQL tsvector support - Search now uses
to_tsvectorandto_tsqueryfor English language text - Implemented automatic trigger to update search index on document insert/update
- Added comprehensive test suite for search functionality (5 tests, all passing)
- Binary size: 28M (after removing Bleve dependencies)
0.5.0 2025-10-24
Added
- Enhanced About page with detailed database connection information
- Shows database host, port, database name
- Displays connection type (ephemeral vs external)
- Split configuration into separate Database and OCR sections
- Comprehensive test suite for About page
- Backend API tests for
/api/aboutendpoint - Client-side unit tests for AboutPage component
- Integration tests with lynx (fast, route verification)
- Integration tests with chromedp (full WASM rendering)
- Backend API tests for
- Added
config.envtemplate file with all configuration options - Added
CHANGELOG.mdfor tracking project changes
Changed
- BREAKING: Simplified configuration system
- Removed Viper dependency (lighter, simpler)
- Replaced
serverConfig.tomlwith.envkey=value format - Simplified environment variable names (no more
GODOCS_prefix needed) - Old:
GODOCS_DATABASE_HOST→ New:DATABASE_HOST - Configuration now loads from: defaults →
config.env→.env→ environment variables
- Improved CSS spacing for h3 headings (more whitespace above)
- Updated
.env.exampleto reflect new simplified variable names
Fixed
.envfile support now actually works (was broken with Viper)- About page route properly registered in WASM client
- Tests now properly detect 404 errors on About page
Technical Details
- Configuration file reduced from 307 lines to 300 lines (same length, much simpler)
- Added
github.com/joho/godotenvfor .env file parsing (~11KB) - Removed
github.com/spf13/viperand dependencies (~200KB) - Binary size: 28M
- All tests passing: config tests, webapp tests, integration tests
Migration Guide
If upgrading from the old TOML configuration:
-
Backup your old config:
cp config/serverConfig.toml config/serverConfig.toml.backup -
Create new
.envfile from your TOML settings:# Database (required) DATABASE_TYPE=postgres DATABASE_HOST=localhost DATABASE_PORT=5432 DATABASE_NAME=godocs DATABASE_USER=your_user DATABASE_PASSWORD=your_password DATABASE_SSLMODE=disable # OCR (required) TESSERACT_PATH=/usr/bin/tesseract # Other settings (optional, have defaults) # See config.env for all available options -
Remove old TOML prefixes:
- Old
.envhadGODOCS_DATABASE_HOST - New
.envusesDATABASE_HOST - No prefix needed anymore!
- Old
-
The old
serverConfig.tomlis no longer used- You can delete it or keep as reference
- All config is now in
.envfiles
[Previous Versions]
See git history for older changes.