Releases: durlabhjain/dframework-node
Releases · durlabhjain/dframework-node
3.3.1
What's Changed
- Document and test columnTypes (json/gzip/gzipJson) usage with parameters for where: false by @Copilot in #163
- Add timezone and localization to Excel exports by @tushar-singh-spraxa in #164
Full Changelog: 3.3.0...3.3.1
3.3.0
What's Changed
- SQL: Add compressed/serialized column support (gzip, gzipJson, json). Adds first-class support in Sql for compressed/serialized columns so callers can transparently gzip/gzip+JSON encode parameters on write and normalize (decompress/parse) result sets on read, with a configurable *_Binary naming suffix to keep DB storage and logical field names symmetric. Changes
** binaryColumnSuffix property added to Sql (default "_Binary"), overridable or clearable per instance.
** normalizeColumns(rows, columns) — synchronous method for decompressing/parsing result-set columns:
*** gzip: decompresses the suffixed DB column to a UTF-8 string and writes it to the logical column name.
*** gzipJson: decompresses and JSON-parses the suffixed column.
*** json: parses the column value as JSON (not suffix-affected).
*** Falls back to the direct column name if no suffixed column exists.
*** Wraps each decompression/parse in try/catch and rethrows with column name, type, and row index for diagnosable errors; original error preserved as cause.
*** Throws a TypeError (with column name, type, row index, and actual value type) when a gzip/gzipJson column value is present but is neither a Buffer nor a Uint8Array, preventing silent partial-normalization.
** addParameters() updated for the new types:
*** gzip/gzipJson values are compressed with zlib.gzipSync; only fieldName is suffixed (e.g. Memo → Memo_Binary as the DB column target), while the bound parameter name (paramName) keeps its original value so stored procedures and hand-written SQL continue binding @memo as-is.
*** json values are serialized to a JSON string; no suffix applied.
*** Buffer inputs to gzip/gzipJson throw a TypeError to enforce the text-only contract and prevent silent data corruption on round-trip.
*** enums.columnTypes extended with gzip, gzipJson, and json values.
Full Changelog: 3.2.0...3.3.0
3.2.0
What's Changed
- Add configurable default output folder for reports
- Import appConfig in lib/reports.mjs
- Add defaultReportPath configuration with fallback to '.'
- Update toExcel, toTextFile, and render functions to use config default
Full Changelog: 3.1.0...3.2.0
3.1.0
What's Changed
- Add configuration parameters to lib/reports.mjs for output options
- Deprecated fileName property in favor of filePath
Full Changelog: 3.0.0...3.1.0
3.0.0
What's Changed
- fix: add MM/DD/YYYY inputFormats to Excel parser; drop unused toExcel args by @tushar-singh-spraxa in #155
Full Changelog: 2.0.6...3.0.0
2.0.6
What's Changed
- Remove serverUrl prefix from hyperlink URL construction by @tushar-singh-spraxa in #154
Full Changelog: 2.0.5...2.0.6
2.0.5
What's Changed
- #73122 - Adds dynamic hyperlink support to Excel export by @tushar-singh-spraxa in #151
Full Changelog: 2.0.3...2.0.5
2.0.4
What's Changed
- #73122-Adds Excel export support for column hyperlinks by @precious-ndamati-stream4Tech in #148
- Fix incorrect
newkeyword onmysql.createPool()factory function by @Copilot in #150 - Support
typeproperty in where conditions to skip UPPER() for date fields under forceCaseInsensitive by @Copilot in #153
Full Changelog: 2.0.2...2.0.4
2.0.3
What's Changed
- #73122-Adds Excel export support for column hyperlinks by @precious-ndamati-stream4Tech in #148
- Fix incorrect
newkeyword onmysql.createPool()factory function by @Copilot in #150 - Support
typeproperty in where conditions to skip UPPER() for date fields under forceCaseInsensitive by @Copilot in #153
Full Changelog: 2.0.2...2.0.3
2.0.2
What's Changed
- Fix MySQL "Maximum call stack size exceeded" due to pool mutation in createRequest by @Copilot in #145
Full Changelog: 2.0.1...2.0.2