G4G Release Notes

v1.00 - Original  
v1.01 - Fixed bugs in JSON parsing routine.
        Added Google Calendar as a new addon.   
v1.02 - G4GGCAL updated to v1.10.  
        New commands added:
         G4GADDEVT - Add a Google Calendar Event
         G4GDELEVT - Delete a Google Calendar Event
v1.03 - Changed the way that expiring tokens are handled.
v1.04 - Updated Google Cloud Print (G4GPRINT) command to use SSL 
         as required by Google.
v2.00 - Added ILE subprocedures for functions.  Please see the
         prototypes in the new QCOPYSRC source physical file for
         more information.
v2.10 - Updated Google Calendar to v1.20 which adds the functionality
         to add attendees to the calendar event.
v3.00 - Updated functions to use setters for values instead of parms to make
         things easier.  See documentation for examples.  The prototypes
for all the subprocedures have changed dramatically, so please be sure
to update your applications.
v3.01 - Made Error Message Output Parameters optional.
v3.02 - Added file G4GPARMPF to allow the overriding of certain parameters of the
         GETURI call.  See documentation for list.
v4.00 - Added the Google Contacts (G4GGCON) v1.00 API interface.
v5.00 - Added the Google Drive (G4GGDRV) v1.00 API interface.
v5.01 - Updates and fixes to G4GGDRV interface.  Updated to v1.01.
v5.02 - Updated upload function of G4GGDRV to include a replace option which is 
         *YES by default.
v5.03 - Update to G4GGCAL delete function.
v5.04 - Update to G4GGCAL and G4GGDRV functions to make sure API key is included 
         in requests.
v6.00 - Updated all aplications to use the newer JSON parser.
        Updated G4GCON to use JSON instead of XML.  Removed XML Parsing.
        Minor bug fixes and updates.
v6.01 - Updated F.G4GGCAL service program so that the data posted could be up
         up 65k instead of 4k.
v6.02 - Added *GMAILSMTP to list of services available (for MAILTOOL).
v6.03 - Updated registration screen to be a shorter URL and start at our site (BVSTools.com).
v7.00 - Added GMail (G4GGMAIL) Addon
         Updated upgrade instructions to include a single command call to copy control records
         (G4GUPDATE command)
v7.10 - All modules use new JSON parsing routing (JSONTOOL v3.00 or higher) for better performance.
        Updated F.G4GDRV to use a larger buffer for the JSON data.
        Updated G4GUPDATE to reorganize files and copy the G4GFID data area.
v7.11 - Updated G4GLSTFIL and F.G4GDRV so that you can set a parent ID of items to retrieve.  This 
         parent ID should be the ID of a folder that you want to retrieve items from.  
         Note: This will not recursivley retrieve items from subfolders of the parent folder.
v8.00 - Updated for SaaS (subscription) licensing.
         Minor updates to help text.
v8.10 - Updated G4GGMAIL to v3.0.
        Added option to move messages retrieve using the G4GLSTMM command to another folder.  When
         doing so you must also provide a folder label to retrieve messages from.
        Added #g4gmail_modifyLabel that allows you to remove or add lables to a message.
        Added option parameter to #g4gmail_getAttachment.  An attachment name can be passed
         in to use as a partial file name of downloaded attachments.
        Updated attachment file method when downloading attachments.  If an attachment filename
         is specified that will be used as the end of the filename.  Example:
           The retrieved filename will be g4gmail_att_<id>_myfile.pdf where <id> is a unique
            mail ID.
v8.11 - Added file reorganization when clearing out files.
        Added REDO option to G4GREGSVC which allows you to re-register a service that is already
         registered.  This comes in handy when for some reason the refresh token is no longer
v8.20 - Updated F.G4GMAIL to v3.20.
        Required V5R4M0 as mimimum release level.
        Fixed bug where attachments were getting the body filename in the G4GMPPF file.
        Added error code field to G4GMPPF file.
        Added parameter to G4GLSTMM command to set the maximum size of parts to retrieve.
         If a part of the email is larger than this value the entry will not be downloaded
         but will still be logged in the G4GMPPF file with an error code of SIZE_LIMIT.
        Added parameter max_part_size for F.G4GMAIL subprocedures to set maximum part size
         (in bytes) of parts to download.
        Updated JSON processing to use YAJL Parser for F.G4GMAIL.  Included YAJL objects. 
v9.00 - Included GETURI v6.00 with G4G library for compatibility.
        Updated registration method to use web only.  Also removed the need to copy
         and paste the authorization code from the web page making setup easier. 
v10.00 - Made YAJLR4 bind by copy instead of by reference for compatibility with other
          applications using it.
         Changed default CCSID from 1252/819 to 1208 on all commands and functions 
          except for Google Drive and Google Cloud Print Functions.
         Fixed the G4GMHHPF file data column.  UTF-8 data was being place into the column
          and getting corrupted.
v10.01 - Updated applications so that the ID used is case insensitive.
v10.10 - Updated GETURI version to v6.10.
         Added #g4gdrv_moveFile() which allows you to move a file from one Google Drive folder
          to another.
         Added #g4gdrv_downloadFile() which allows you to download a file from Google Drive
          and store it in the IFS.
         Updated #g4gccp_print() to return the file ID of a file if the option to save the file
          to Google Docs is used.
v10.20 - Updated to include GETURI v6.20.
         Updated token refresh function to return the error message if it's encounted instead of nothing.
         Updated G4GPRINT command to return message to screen instead of the file ID.
         SP160722 - Added CONVERT option on the G4GUPLOAD command which allows
           the user to specify if they wish to automatically convert
           the file to it's Google Doc format when uploading.
          Added convert_file option to #g4g_setValue().
v10.30 - Updated G4GLSTMM so that if a message contains an attachment only it would be downloaded.  This was 
          an issue with one email client where it would not make the email multi-part. 
         SP160722 - Fixed issue when attachment filenames included a slash or
          backslash.  Replaced characters with underscore (_).  This
          fix updates G4GGMAIL to v4.11 and G4G v10.30 SP161208. 
v10.40 - Updated GETURI to version 7.00 which allows non-strict SSL. 
v10.50 - Updated G4GGMAIL to v4.20.  This fixed an issue when a message part
          of RFC822 (embedded message) was sent.
         Updated all the command interface programs to run in Activation
          Group G4G instead of *CALLER.
         Updated references to Google Apps to G Suite (per Google).
v10.60 - Updated G4GDRV to v4.00.
         G4GDRV updated to use YAJL.
         Added G4GCRTFLR command which is used to create a folder on your Google Drive.
         Added #g4gdrv_createFolder() ILE function.
         Updated #g4gdrv_getID() to return *ERR instead of blanks if a folder or file is not found.
         Added folder/file id to return parameters from #g4gdrv_upload().
         Added Create Parents (create_parents) option for the G4GUPLOAD command and the 
          #g4gdrv_upload() function which is used to tell G4GDRV to create any folders in the
          upload path if they do not exist and *YES is specified for this value.
         Added search by folder name on G4GLSTFIL command so you can use a fully qualified 
          folder path instead of a folder id.
         Added G4GDLOAD command which is used to download a file from Google Drive to your local
          IBM i IFS.
         Changed REPLACE parameter on G4GUPLOAD command and replace_file option on #g4gdrv_upload()
          function so *YES will replace the file if it exists, *NO will cancel the operation
          if the file exists and *ADD will add a new file with a different ID if the file exists.
         SP160722 - Fixed issue when attachments were larger than the max size 
          (16meg).  The size reported by Google was the normal file 
          size, but if the file was base 64 encoded it would be larger.
          So checking size vs the actual size of the base64 encoded data.
          if the file is too large the GGMPERR field in the G4GMPPF 
          file will contain the value SIZE_LIMIT indicating it was
          not downloaded.
         Created data area named G4GMAXSIZE that you can use to set the
          maximum size of attachments (in bytes) to download.  If this data area
          is zero or greater than 16m the max size will default to
         SP170609 - Set create_parents default to *NO.  Was *YES.
          Updated error checking on getting folder/file ids.
          Updated /copy memeber so #g4gdrive_getID() shows it returns *ERR for an
           error, not blanks.
v10.65 - Added commands and ILE functions to trash and untrash files from Google 
         G4GTRASH - Trash a File (Function #g4gdrv_trashFile()).
         G4GUNTRASH - Untrasn a File (Function #g4gdrv_unTrashFile())
         SP160722 - Fixed issue when creating new folders.  Was saying folder
          name was required even though it was provided.