Skip to content

v0.1.7

Choose a tag to compare

@github-actions github-actions released this 09 Apr 18:07

Notepatra v0.1.7 — Windows MSVC fix for SQL dialect dropdown

v0.1.6 introduced the SQL Formatter dialect dropdown (T-SQL / PL/SQL / MySQL / PostgreSQL / SQLite) but the call into Scintilla's SCI_SETKEYWORDS failed to compile on Windows MSVC. Linux GCC was happy. v0.1.7 fixes the MSVC ambiguity so the build is green on all 3 platforms.

Fixed

🪟 Windows MSVC compile error in sqlfmtpanel.cpp

error C2666: 'QsciScintillaBase::SendScintilla': overloaded functions have similar conversions

Root cause: SendScintilla(SCI_SETKEYWORDS, (unsigned long)0, keywords.constData()) is ambiguous on MSVC x64 between two overloads:

  • (unsigned int, unsigned long, void*)
  • (unsigned int, uintptr_t, const char*)

On MSVC x64, unsigned long is 32-bit (LLP64 model) but uintptr_t is 64-bit, so neither overload was a strictly better match — the first arg matched (unsigned long, void*) exactly but the second arg needed const_cast, while the second overload needed an integer widening on the first arg but matched const char* exactly.

Linux GCC accepted it because Linux x64 uses LP64 — unsigned long and uintptr_t are both 64-bit, so the first overload was strictly better.

Fix: Cast the wParam to (uintptr_t)0 so the (uintptr_t, const char*) overload becomes an exact match.

m_output->SendScintilla(QsciScintilla::SCI_SETKEYWORDS,
                        (uintptr_t)0,           // was (unsigned long)0
                        keywords.constData());

Carryover from v0.1.6 (which never published a Release)

v0.1.6 built green on Linux + macOS but the Windows job failed at the C++ compile step before any artifact upload, so no GitHub Release was published. Everything from v0.1.6 ships in v0.1.7:

  • 🐛 JSON Tools / HTML Tools / Bracket Tools panels now show real-time feedback. Previously buttons silently returned if the editor was empty when the panel was opened. Now reads pasted content from the editable Scintilla panel and shows a 36px tall colored status banner with progress + result counts.
  • 🐛 JSON Tools panel: white-on-white text bug — text typed into the panel was invisible because the lexer's per-style colors weren't initialized. Fixed by applying the Notepad++ palette + explicit black-on-white fallback.
  • 🐛 AI Fix (Ollama) reports clearly — re-checks Ollama on click, shows "not running" / "no model" / "asking..." / "✓ complete" / "✗ failed" messages instead of silently doing nothing.
  • 🎨 Lighter default font — Consolas 11pt → 10pt across all panels. Removed bold from operators / preprocessor / class names / function names / HTML tags. Notepad++ only bolds keywords + Markdown headers — bolding everything made the page feel heavy.
  • 🐛 Compare picker lists unsaved tabs with ● unsaved and ● untitled markers so users can compare in-progress work without saving.
  • 🗄 SQL Formatter dialect dropdown — ANSI / T-SQL (SQL Server) / PL/SQL (Oracle) / MySQL / PostgreSQL / SQLite. Each dialect injects its own keyword set on top of ANSI keywords so dialect-specific keywords paint blue.

Verifying this release

Same as previous releases:

  • SHA-256 checksums in SHA256SUMS
  • Cosign keyless signatures (Sigstore + Rekor transparency log)
  • SLSA build provenance attestations

See SECURITY.md for verification one-liners.

Downloads

Platform Asset Notes
🐧 Linux x64 notepatra-linux-x64.tar.gz Bare binary
🍎 macOS Apple Silicon notepatra-macos-arm64.dmg Drag to Applications
🪟 Windows x64 (installer) notepatra-setup-0.1.7.exe Registers in Installed apps
🪟 Windows x64 (portable) notepatra-windows-x64.zip Unzip and run, no registry
All SHA256SUMS Verify checksums

Full changelog: https://github.com/singhpratech/notepatra/blob/main/CHANGELOG.md