1111
1212Table of Content:
1313
14+ 0. What's New
1415I. Introduction
1516II. Installation
1617III.Using JSONLab
1718IV. Known Issues and TODOs
1819V. Contribution and feedback
20+ V. Acknowledgement
21+
22+ -------------------------------------------------------------------------------
23+
24+ 0. What's New
25+
26+ JSONLab v1.9 is the alpha release of the next milestone - code named "Magnus".
27+ Notable changes are summarized below, key features marked by *:
28+
29+ 2019-05-06 [25ad795] unescape string in loadjson.m
30+ 2019-05-04 [2e317c9] explain extra compression fields
31+ 2019-05-02 [1b1be65] avoid side effect of removing singletarray
32+ 2019-05-02*[8360fd1] support zmat based base64 encoding and decoding
33+ 2019-05-01*[c797bb2] integrating zmat, for zlib/gzip data compression
34+ 2019-04-29 [70551fe] remove warnings from matlab
35+ 2019-04-28 [0d61c4b] complete data compression support, close #52
36+ 2019-04-27 [804115b] avoid typecast error
37+ 2019-04-27 [c166aa7] change default compressarraysize to 100
38+ 2019-04-27*[3322f6f] major new feature: support array compression and decompression
39+ 2019-03-13*[9c01046] support saving function handles, close #51
40+ 2019-03-13 [a8fde38] add option to parse string array or convert to char, close #50
41+ 2019-03-12 [ed2645e] treat string array as cell array in newer matlab
42+ 2018-11-18 [c3eb021] allow saving uint64 integers in saveubjson, fix #49
43+
44+ The biggest change in this release, compared to v1.8 released in July 2018,
45+ is the support of data compression via the 'Compression' option for both
46+ savejson and saveubjson. Two compression methods are currently supported -
47+ "zlib" and "gzip". The compression interfaces, zlibencode/zlibdecode/gzipencode/
48+ gzipdecode are modified from the "Byte Encoding Utilities" by Kota Yamaguchi [1],
49+ which has built-in support for java-based compression in MATLAB (when jvm is
50+ enabled). To support Octave, as well as MATLAB in "nojvm" mode, a mex-based
51+ data compression/encoding toolbox, ZMat [2], written by Qianqian Fang, takes priority
52+ over the java-based utilities, if installed. For savejson, a 'base64' encoding is
53+ applied to convert the compressed binary stream into a string; 'base64' encoding
54+ is not used in saveubjson. The encoding and restoration of the binary matlab arrays
55+ are automatically handled in save*json/load*json round-trip conversions.
56+
57+ To save matlab data with compression, one simply append 'Compression', 'method' pair
58+ in the savejson/saveubjson call. For example
59+
60+ jsonstr=savejson('',mydata,'compression','zlib');
61+ data=loadjson(jsonstr);
62+
63+ In addition, the below features are added to JSONLab
64+
65+ * save function handles
66+ * support saving "string" class in MATLAB
67+ * fix two bugs in saveubjson
68+ * unescape strings in loadjson
69+
70+
71+ * [1] https://www.mathworks.com/matlabcentral/fileexchange/39526-byte-encoding-utilities
72+ * [2] http://github.com/fangq/zmat
1973
2074-------------------------------------------------------------------------------
2175
@@ -448,6 +502,10 @@ or browsing the github site at
448502
449503 https://github.com/fangq/jsonlab
450504
505+ Please report any bugs or issues to the below URL:
506+
507+ https://github.com/fangq/jsonlab/issues
508+
451509Sometimes, you may find it is necessary to modify JSONLab to achieve your
452510goals, or attempt to modify JSONLab functions to fix a bug that you have
453511encountered. If you are happy with your changes and willing to share those
@@ -467,6 +525,41 @@ the upstream code.
467525We appreciate any suggestions and feedbacks from you. Please use the following
468526mailing list to report any questions you may have regarding JSONLab:
469527
470- https://groups.google. com/forum/?hl=en#!forum/iso2mesh-users
528+ https://github. com/fangq/jsonlab/issues
471529
472530(Subscription to the mailing list is needed in order to post messages).
531+
532+ -------------------------------------------------------------------------------
533+
534+ V. Acknowledgement
535+
536+ This toolbox contains modified functions from the below toolboxes:
537+
538+ == zlibdecode.m, zlibencode.m, gzipencode.m, gzipdecode.m, base64encode.m, base64decode.m ==
539+
540+ * Author: Kota Yamaguchi
541+ * URL:https://www.mathworks.com/matlabcentral/fileexchange/39526-byte-encoding-utilities
542+ * License: BSD License, see below
543+
544+ Copyright (c) 2012, Kota Yamaguchi
545+ All rights reserved.
546+
547+ Redistribution and use in source and binary forms, with or without
548+ modification, are permitted provided that the following conditions are met:
549+
550+ * Redistributions of source code must retain the above copyright notice, this
551+ list of conditions and the following disclaimer.
552+
553+ * Redistributions in binary form must reproduce the above copyright notice,
554+ this list of conditions and the following disclaimer in the documentation
555+ and/or other materials provided with the distribution
556+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
557+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
558+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
559+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
560+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
561+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
562+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
563+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
564+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
565+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
0 commit comments