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.