github.com/mithrandie/csvq@v1.18.1/CHANGELOG.md (about) 1 # Change Log 2 3 ## Version 1.18.1 4 5 Released on Mar 26, 2023 6 7 - Update dependencies. 8 9 ## Version 1.18.0 10 11 Released on Mar 26, 2023 12 13 - Update dependencies. 14 - Update supported Go version to 1.18 or later. 15 16 ## Version 1.17.11 17 18 Released on Nov 5, 2022 19 20 - Prevent divide-by-zero error while loading csv files. ([GitHub #89](https://github.com/mithrandie/csvq/issues/89)) 21 - Handle panics during processor executions. 22 23 ## Version 1.17.10 24 25 Released on Aug 14, 2022 26 27 - Fix a bug when loading views from cache. 28 29 ## Version 1.17.9 30 31 Released on Aug 14, 2022 32 33 - Sort the command options displayed in the help message. ([GitHub #80](https://github.com/mithrandie/csvq/issues/80)) 34 - Fix some bugs. 35 36 ## Version 1.17.8 37 38 Released on Jul 24, 2022 39 40 - Allow URLs and Table identification functions to be used as table identifiers. 41 42 ## Version 1.17.7 43 44 Released on Jul 3, 2022 45 46 - Add [system defined constants](https://mithrandie.github.io/csvq/reference/system-defined-constant.html). 47 - Add the command option --scientific-notation. 48 - Handle NaN and Infinity. 49 - Add several numeric and datetime functions. 50 - Fix some bugs. 51 52 ## Version 1.17.6 53 54 Released on Jun 30, 2022 55 56 - Fix a bug in REPLACE query. ([GitHub #79](https://github.com/mithrandie/csvq/issues/79)) 57 58 ## Version 1.17.5 59 60 Released on Jun 26, 2022 61 62 - Fix a bug of the CASE expression. ([GitHub #78](https://github.com/mithrandie/csvq/issues/78)) 63 64 ## Version 1.17.4 65 66 Released on Jun 25, 2022 67 68 - Add the IF NOT EXISTS clause to the syntax of the CREATE TABLE statement. ([GitHub #77](https://github.com/mithrandie/csvq/issues/77)) 69 70 ## Version 1.17.3 71 72 Released on Jun 19, 2022 73 74 - Set the default format to csv when the output is piped. ([GitHub #71](https://github.com/mithrandie/csvq/issues/71)) 75 76 ## Version 1.17.1 77 78 Released on Jun 17, 2022 79 80 - Allow analytic functions to be used as operands in expressions. ([GitHub #36](https://github.com/mithrandie/csvq/issues/36)) 81 - Set output format from file extension. ([GitHub #76](https://github.com/mithrandie/csvq/issues/76)) 82 83 ## Version 1.17.0 84 85 Released on May 3, 2022 86 87 - Support column name wildcard for tables. ([GitHub #68](https://github.com/mithrandie/csvq/issues/68)) 88 - Add a string function. 89 - TITLE_CASE ([GitHub #48](https://github.com/mithrandie/csvq/issues/48)) 90 - Modify integer and float handling. 91 - Fixed a bug in the conversion between integer and float. 92 - Intuitive handling of integer and float. 93 - Allow exponential notation for float. 94 95 ## Version 1.16.0 96 97 Released on Feb 26, 2022 98 99 - Support JSON Lines format. ([GitHub #58](https://github.com/mithrandie/csvq/issues/58)) 100 - Support BOX format as an export format. ([GitHub #61](https://github.com/mithrandie/csvq/issues/61)) 101 102 ## Version 1.15.2 103 104 Released on June 13, 2021 105 106 - Allow empty key names in JSON output. ([GitHub #57](https://github.com/mithrandie/csvq/issues/57)) 107 - Fix a bug of the "--allow-uneven-fields" option. ([GitHub #59](https://github.com/mithrandie/csvq/issues/59)) 108 109 ## Version 1.15.1 110 111 Released on May 5, 2021 112 113 - Allow same table names on both sides of set operators. ([GitHub #53](https://github.com/mithrandie/csvq/issues/53)) 114 - Add the command option "--allow-uneven-fields". ([GitHub #54](https://github.com/mithrandie/csvq/issues/54)) 115 - Fix a bug in parsing of set operations. 116 117 ## Version 1.15.0 118 119 Released on March 28, 2021 120 121 - Add regular expression functions. 122 - REGEXP_MATCH 123 - REGEXP_FIND 124 - REGEXP_FIND_SUBMATCHES 125 - REGEXP_FIND_ALL 126 - REGEXP_REPLACE 127 - Add Table-Valued functions. 128 - CSV_INLINE 129 - JSON_INLINE 130 131 ## Version 1.14.1 132 133 Released on March 21, 2021 134 135 - Fix a bug of dual table. ([GitHub #49](https://github.com/mithrandie/csvq/issues/49)) 136 137 ## Version 1.14.0 138 139 Released on March 9, 2021 140 141 - Add the second argument to [the DATETIME function](https://mithrandie.github.io/csvq/reference/cast-functions.html#datetime) 142 to specify the time zone. ([GitHub #43](https://github.com/mithrandie/csvq/issues/43)) 143 - Interpret date and time strings as strings instead of converting them to DATETIME values when parsing. 144 - Add the following items to the configuration file. 145 - timezone 146 - ansi_quotes 147 148 ## Version 1.13.8 149 150 Released on January 31, 2021 151 152 - Fix a bug in the "--import-format" option. ([Github #41](https://github.com/mithrandie/csvq/issues/41)) 153 154 ## Version 1.13.7 155 156 Released on November 23, 2020 157 158 - Add the command option "--strict-equal". 159 160 ## Version 1.13.6 161 162 Released on September 5, 2020 163 164 - Enclose csv values containing double-quotes automatically. ([Github #37](https://github.com/mithrandie/csvq/issues/37)) 165 166 ## Version 1.13.2, 1.13.3 167 168 Tagged for Ubuntu PPA. No changes to the behavier. 169 170 ## Version 1.13.1 171 172 Released on May 22, 2020 173 174 - Change reference scope in lateral subquery. ([Github #30](https://github.com/mithrandie/csvq/issues/30)) 175 176 ## Version 1.13.0 177 178 Released on May 20, 2020 179 180 - Support LATERAL join. ([Github #24](https://github.com/mithrandie/csvq/issues/24)) 181 - Support USING join condition in FULL OUTER JOIN. 182 - Support $XDG_CONFIG_HOME environment variable for configuration files. 183 184 ## Version 1.12.5 185 186 Released on April 11, 2020 187 188 - Ignore all leading and trailing white spaces of the field name when specifying a field name. 189 190 ## Version 1.12.4 191 192 Released on February 4, 2020 193 194 - Fix a bug that arrow keys do not work in the interactive shell on Windows. ([Github #26](https://github.com/mithrandie/csvq/issues/26)) 195 196 ## Version 1.12.3 197 198 Released on January 15, 2020 199 200 - Fix a bug of LIKE operator. 201 202 ## Version 1.12.2 203 204 Released on January 14, 2020 205 206 - Fix a bug of LIKE operator. ([Github #25](https://github.com/mithrandie/csvq/issues/25)) 207 208 ## Version 1.12.1 209 210 Released on January 13, 2020 211 212 - Update syntax description about the command option "--strip-ending-line-break". 213 214 ## Version 1.12.0 215 216 Released on January 12, 2020 217 218 - Append a newline at the end of created and updated files. ([Github #22](https://github.com/mithrandie/csvq/issues/22)) 219 - Add the command option "--strip-ending-line-break". 220 221 ## Version 1.11.8 222 223 Released on December 12, 2019 224 225 - Prevent query results from being written when the results are empty. ([Github #21](https://github.com/mithrandie/csvq/issues/21)) 226 227 ## Version 1.11.7 228 229 Released on December 3, 2019 230 231 - Fix misspellings in the syntax subcommand. 232 233 ## Version 1.11.6 234 235 Released on October 31, 2019 236 237 - Modify the behavior of enclosures completion on the interactive shell. ([Github #12](https://github.com/mithrandie/csvq/issues/12)) 238 239 ## Version 1.11.5 240 241 Released on July 6, 2019 242 243 - Add a built-in function. ([Github #10](https://github.com/mithrandie/csvq/pull/10)) 244 - String Function 245 - SUBSTRING 246 247 ## Version 1.11.4 248 249 Released on Jun 1, 2019 250 251 - Fix the following bug. 252 - NOT IN operator returns incorrect result in some cases. 253 254 ## Version 1.11.3 255 256 Released on Jun 1, 2019 257 258 - Implement FETCH clause that can be used in place of LIMIT clause in SELECT query. 259 - Fix the following bug. 260 - FALSE takes precedence over UNKNOWN in NOT IN operation. 261 262 ## Version 1.11.2 263 264 Released on May 26, 2019 265 266 - Add built-in functions. 267 - Aggregate Function 268 - STDEV 269 - STDEVP 270 - VAR 271 - VARP 272 - Analytic Function 273 - STDEV 274 - STDEVP 275 - VAR 276 - VARP 277 278 ## Version 1.11.1 279 280 Released on May 19, 2019 281 282 - Fix the following bugs. 283 - Subqueries in recursive queries cannot reference that temporary tables. 284 285 ## Version 1.11.0 286 287 Released on May 19, 2019 288 289 - Enable enclosure characters to be escaped with double enclosures. 290 - Add the command option "--ansi-quotes". 291 - Add the Flag "@@ANSI_QUOTES". 292 - Fix the following bugs. 293 - Double backspaches in a string cannot be parsed correctly. 294 - Escaping in external command syntax cannot be parsed correctly. 295 - Versions are not compared correctly in check-update subcommand. 296 297 ## Version 1.10.6 298 299 Released on May 4, 2019 300 301 - Add subcommand option "--include-pre-release" to check-update subcommand. 302 303 ## Version 1.10.4 304 305 Released on May 3, 2019 306 307 - Fix the following bug. 308 - Panic occurrs when a subquery in comparison returns empty set. 309 310 ## Version 1.10.3 311 312 Released on May 3, 2019 313 314 - Add the following built-in funciton. 315 - NANO_TO_DATETIME 316 - Fix the following bug. 317 - Timezone not set correctly on second change. 318 - Disable automatic type conversion from number to datetime. 319 - Improve execusion performance. 320 321 ## Version 1.10.1 322 323 Released on April 28, 2019 324 325 - Improve execusion performance. 326 327 ## Version 1.10.0 328 329 Released on April 25, 2019 330 331 - Support UTF-16. 332 - Support automatic detection of character encoding. 333 - Remove the use of glide from support. 334 335 ## Version 1.9.19 336 337 Released on April 22, 2019 338 339 - Improve execusion performance. 340 341 ## Version 1.9.18 342 343 Released on April 20, 2019 344 345 - Change the settings of Limit-Recursion from configuration files to the command option. 346 - Remove "limit_recursion" from csvq_env.json. 347 - Add the command option "--limit-recursion". 348 - Add the Flag "@@LIMIT_RECURSION". 349 350 ## Version 1.9.17 351 352 Released on April 20, 2019 353 354 - Set the limit of iterations for recursive queries. 355 356 The limit can be changed in [configuration json file](https://mithrandie.github.io/csvq/reference/command.html#configurations). 357 - Fix the following bug. 358 - The global options are ignored by subcommands. 359 360 ## Version 1.9.16 361 362 Released on April 16, 2019 363 364 - Fix the following bug. 365 - Reference scopes cannot be refered from subquery. This bug has occurred in version 1.9.15. 366 367 ## Version 1.9.15 368 369 Released on April 16, 2019 370 371 - Fix the following bug. 372 - COUNT(null) returns the number of rows, but must return 0. 373 - Remove "Alloc" from resource statistics. 374 - Optimize memory usage in JOIN operation. 375 In most cases, the execusion performance gets better, and in a few cases, it gets a little worse. 376 377 ## Version 1.9.14 378 379 Released on April 14, 2019 380 381 - Support SELECT INTO Variables statement. 382 383 ## Version 1.9.13 384 385 Released on April 13, 2019 386 387 - Support REPLACE (Insert or Update) query. 388 - Allow variable declaration in WHILE IN statement in user defined functions. 389 390 ## Version 1.9.12 391 392 Released on April 11, 2019 393 394 - Fix the following bug. 395 - Compound field values containing aggregate functions do not return the results if there are no rows in the result set. 396 397 ## Version 1.9.11 398 399 Released on April 11, 2019 400 401 - Allow flags to be used as values. 402 - Fix the following bug. 403 - Aggregate functions do not return the results if there are no rows in the result set. 404 405 ## Version 1.9.10 406 407 Released on April 10, 2019 408 409 - Make stdin table available for use in table object expressions. 410 - Enable dispose and reload of stdin table. 411 - Improve error handling. 412 413 ## Version 1.9.9 414 415 Released on April 3, 2019 416 417 - Reorganize return code. Maybe finalized. 418 419 ## Version 1.9.8 420 421 Released on April 2, 2019 422 423 - Improve signal handling to catch SIGINT, SIGQUIT, SIGTERM on several systems. 424 - Fix the following bug. 425 - Ordinal placeholders in select clause not recognized correctly. 426 427 ## Version 1.9.7 428 429 Released on April 1, 2019 430 431 - Fix syntax text. 432 - Improve mutual exclusion. 433 434 ## Version 1.9.6 435 436 Released on March 30, 2019 437 438 - Support SELECT FOR UPDATE syntax. 439 - Support cursor with a prepared statement. 440 - Make update operations safety in parallel processing. 441 442 ## Version 1.9.5 443 444 Released on March 24, 2019 445 446 - Make file operations safety in parallel processing. 447 - Modify the return code of external command errors from 16 to 1. 448 - Fix the following bug. 449 - Temporary tables have not been affected by transactions. 450 451 ## Version 1.9.4 452 453 Released on March 22, 2019 454 455 - Support prepared statement syntax. 456 - Organize the command return code. 457 458 ## Version 1.9.3 459 460 Released on March 20, 2019 461 462 - Refactor and modify internal processes for [csvq-driver](https://github.com/mithrandie/csvq-driver). 463 464 This update does not include any functional changes to the csvq command except for bugs that will be found in the future. 465 466 ## Version 1.9.1 467 468 Released on March 4, 2019 469 470 - Fix the following bug. 471 - JSON parsing error in numeric values. 472 473 ## Version 1.9.0 474 475 Released on March 3, 2019 476 477 - Add the following command options. 478 - import-format 479 - delimiter-positions 480 - write-delimiter-positions 481 482 - Modify the behavior of the following command options. 483 - delimiter 484 - write-delimiter 485 486 - Add the following table attribute. 487 - DELIMITER_POSITIONS 488 489 - Make the Table Object Expressions available in the following statements. 490 - Insert Query 491 - Update Query 492 - Alter Table Query 493 - Show Fields Statement 494 495 ## Version 1.8.6 496 497 Released on February 27, 2019 498 499 - Modify ".txt" to be an extension that does not link to any file format. ([Github #5](https://github.com/mithrandie/csvq/issues/5)) 500 501 ## Version 1.8.5 502 503 Released on February 25, 2019 504 505 - Support UTF-8 with Byte order mark. 506 - Support Single-Line Fixed-Length Format. 507 508 ## Version 1.8.4 509 510 Released on February 22, 2019 511 512 - Implement Check Update subcommand. 513 514 ## Version 1.8.3 515 516 Released on February 17, 2019 517 518 - Fix the following bugs. 519 - RETURN statement does not return a value in IF and WHILE statements. 520 - NOW Function returns different time from the specification in user-defined functions. 521 522 ## Version 1.8.2 523 524 Released on February 13, 2019 525 526 - Fix the following bug. 527 - Panic occurs when an empty environment variable is passed. ([Github #4](https://github.com/mithrandie/csvq/pull/4)) 528 529 ## Version 1.8.1 530 531 Released on January 6, 2019 532 533 - Improve completer. 534 - Fix some bugs of completer. 535 536 ## Version 1.8.0 537 538 Released on December 31, 2018 539 540 - Support LTSV Format. 541 542 ## Version 1.7.3 543 544 Released on December 27, 2018 545 546 - Improve logics of parallel routine. 547 548 ## Version 1.7.2 549 550 Released on December 25, 2018 551 552 - Implement Syntax subcommand. 553 554 ## Version 1.7.1 555 556 Released on December 15, 2018 557 558 - Fix the following bugs. 559 - TableObject does not accept identifier as an argument. 560 561 ## Version 1.7.0 562 563 Released on December 14, 2018 564 565 - Enhance the interactive shell. 566 - Completion (default: true) 567 - Kill Whole Line (default: false) 568 - Vi-mode (default: false) 569 570 ## Version 1.6.7 571 572 Released on December 2, 2018 573 574 - Fork github.com/chzyer/readline and change dependency to github.com/mithrandie/readline-csvq to use the latest update that is not versioned. 575 576 ## Version 1.6.6 577 578 Released on November 27, 2018 579 580 - Fix fatal error of variable substitution in multithreading. 581 582 ## Version 1.6.5 583 584 Released on November 26, 2018 585 586 - Implement Flag Related Statements. 587 - ADD FLAG ELEMENT 588 - REMOVE FLAG ELEMENT 589 - Fix a bug of datetime formats configuration. 590 591 ## Version 1.6.4 592 593 Released on November 25, 2018 594 595 - Implement Identical Operator ("=="). 596 597 ## Version 1.6.3 598 599 Released on November 24, 2018 600 601 - Fix the following bug. 602 - Color output is on by default. ([Github #3](https://github.com/mithrandie/csvq/issues/3)) 603 604 ## Version 1.6.2 605 606 Released on November 24, 2018 607 608 - Implement run-external-command statement. 609 - Add value expressions. 610 - Runtime Information. 611 - Add built-in commands. 612 - ECHO 613 - CHDIR 614 - PWD 615 - RELOAD CONFIG 616 - Add configuration items to csvq_env.json. 617 - interactive_shell.prompt 618 - interactive_shell.continuous_prompt 619 - Bug Fixes 620 621 ## Version 1.6.1 622 623 Released on November 19, 2018 624 625 - Fix a bug of colorize in JSON pretty print. 626 - Add --json-escape option. 627 628 ## Version 1.6.0 629 630 Released on November 18, 2018 631 632 - Support Environment Variables. 633 - Support Configuration Files and Pre-Load Statements. 634 - Add command options. 635 - enclose-all 636 - east-asian-encoding 637 - count-diacritical-sign 638 - count-format-code 639 640 ## Version 1.5.4 641 642 Released on November 9, 2018 643 644 - Fix a bug of string format. 645 646 ## Version 1.5.3 647 648 Released on November 8, 2018 649 650 - Implement EXECUTE statement. 651 - Implement NUMBER_FORMAT function. 652 - Make FORMAT function to determine the number of digits automatically when precision is not specified. 653 654 ## Version 1.5.2 655 656 Released on November 5, 2018 657 658 - Fix a bug in calculation of Shift_JIS byte length. 659 660 ## Version 1.5.1 661 662 Released on November 5, 2018 663 664 - Fix a bug of interactive shell that hide query results when the --out option is specified. 665 666 ## Version 1.5.0 667 668 Released on November 4, 2018 669 670 - Support Fixed-Length Format. 671 - Implement WIDTH function. 672 - Support operate with byte length in Shift_JIS encoding in the following string functions. 673 - BYTE_LEN 674 - LPAN 675 - RPAD 676 - Implement ALTER TABLE SET ATTRIBUTE statement. 677 678 679 ## Version 1.4.3 680 681 Released on October 20, 2018 682 683 - Fix return code when on-usage-error occurred. 684 - Add flags for write out. 685 686 ## Version 1.4.2 687 688 Released on October 18, 2018 689 690 - Fix output format problems on the specifications. 691 - Conversion to GigHub Flavored Markdown Format 692 - Ternary -> bool or empty string 693 - Null -> empty string 694 - Conversion to Org-mode Table Format 695 - Ternary -> bool or empty string 696 - Null -> empty string 697 698 ## Version 1.4.1 699 700 Released on October 18, 2018 701 702 - Fix a bug of datetime conversion. 703 704 ## Version 1.4.0 705 706 Released on October 16, 2018 707 708 - Add output formats. 709 - Text Table for GitHub Flavored Markdown 710 - Text Table for Emacs Org-mode 711 712 ## Version 1.3.1 713 714 Released on October 14, 2018 715 716 - Fix a bug of output ANSI escape sequence. 717 718 ## Version 1.3.0 719 720 Released on October 14, 2018 721 722 - Support ANSI escape sequence. 723 - Enhance support for JSON. 724 - Load data from a JSON file with the JSON_TABLE expression in From Clause. 725 - Load data from a JSON data from standard input with the –json-query option. 726 - Export a result of a select query in JSON format with the –format option. 727 - Load a value from a JSON data using functions. 728 - JSON_VALUE 729 - JSON_OBJECT 730 - JSON_AGG (Aggregate Function) 731 - JSON_AGG (Analytic Function) 732 - Load a row value from a JSON data using the JSON_ROW expression. 733 734 ## Version 1.2.0 735 736 Released on September 26, 2018 737 738 - Support for Go 1.11 Modules. 739 740 ## Version 1.1.1 741 742 Released on April 5, 2018 743 744 - Implement string functions. 745 - INSTR 746 - LIST_ELEM 747 748 ## Version 1.1.0 749 750 Released on March 1, 2018 751 752 - Support for Go 1.10 753 754 ## Version 1.0.2 755 756 Released on December 8, 2017 757 758 - Fix some bugs of operetor precedence. 759 760 ## Version 1.0.1 761 762 Released on September 26, 2017 763 764 - Implement DISPOSE FUNCTION statement. 765 - Implement windowing clause in analytic function. 766 767 ## Version 1.0.0 768 769 Released on September 19, 2017 770 771 The first general release.