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