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.