This commit is contained in:
Jay Lee
2026-05-26 16:15:09 +00:00
8 changed files with 47 additions and 23 deletions

View File

@@ -165,7 +165,7 @@ jobs:
with:
path: |
cache.tar.xz
key: gam-${{ matrix.jid }}-20260508
key: gam-${{ matrix.jid }}-20260523
- name: Untar Cache archive
if: matrix.goal == 'build' && steps.cache-python-ssl.outputs.cache-hit == 'true'

View File

@@ -8031,12 +8031,12 @@ gam <UserTypeEntity> export thread|threads
[quick|notquick] [doit] [max_to_export <Number>])|(ids <ThreadIDEntity>)
[targetfolder <FilePath>] [targetname <FileName>] [overwrite [<Boolean>]]
gam <UserTypeEntity> forward message|messages recipient|to <RecipientEntity>
gam <UserTypeEntity> forward message|messages [recipient|to] <RecipientEntity>
(((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
[labelids <LabelIDList>]
[quick|notquick] [doit] [max_to_forward <Number>])|(ids <MessageIDEntity>)
[subject <String>] [addorigfieldstosubject [<Boolean>]] [altcharset <String>]
gam <UserTypeEntity> forward thread|thtreads recipient|to <RecipientEntity>
gam <UserTypeEntity> forward thread|thtreads [recipient|to] <RecipientEntity>
(((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
[labelids <LabelIDList>]
quick|notquick] [doit] [max_to_forward <Number>])|(ids <ThreadIDEntity>)

View File

@@ -1,3 +1,15 @@
7.43.10
Updated `gam <UserTypeEntity> forward message|thread [recipient|to] <RecipientEntity>` to not forward messages
to the `Bcc` recipients of the original message.
Fixed bug in `gam <UserTypeEntity> forward message|thread [recipient|to] <RecipientEntity> addorigfieldstosubject`
where the recipient of the forwarded message was added to the subject line instead of the recipient of the original message.
7.43.09
Fixed bug in `gam <UserTypeEntity> print filelist` that caused a trap.
7.43.08
Fixed bug and formatting issues in `gam info device <DeviceEntity>`.

View File

@@ -25,7 +25,7 @@ https://github.com/GAM-team/GAM/wiki
"""
__author__ = 'GAM Team <google-apps-manager@googlegroups.com>'
__version__ = '7.43.08'
__version__ = '7.43.10'
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
# pylint: disable=wrong-import-position
@@ -29173,7 +29173,7 @@ def doInfoChatMessage():
# [formatjson [quotechar <Character>]]
def printShowChatMessages(users):
cd = buildGAPIObject(API.DIRECTORY)
csvPF = CSVPrintFile(['User', 'space.name', 'space.displayName', 'name'] if not isinstance(users, list) else ['space.name', 'space.displayName', 'name']) if Act.csvFormat() else None
csvPF = CSVPrintFile(['User', 'space.name', 'space.displayName', 'name']) if Act.csvFormat() else None
FJQC = FormatJSONQuoteChar(csvPF)
fieldsList = []
pfilter = None
@@ -29301,7 +29301,7 @@ def doInfoChatEvent():
# filter <String>
# [formatjson [quotechar <Character>]]
def printShowChatEvents(users):
csvPF = CSVPrintFile(['User', 'space.name', 'space.displayName', 'name'] if not isinstance(users, list) else ['space.name', 'space.displayName', 'name']) if Act.csvFormat() else None
csvPF = CSVPrintFile(['User', 'space.name', 'space.displayName', 'name']) if Act.csvFormat() else None
FJQC = FormatJSONQuoteChar(csvPF)
pfilter = None
parentList = []
@@ -59707,7 +59707,7 @@ def printFileList(users):
(DLP.onlySharedDrives and not driveId)):
return
if getCheckFilePermissions:
if not incrementalPrint:
if buildTree and not incrementalPrint:
getSharedDriveACLsCount += 1
if getSharedDriveACLsCount % 100 == 0:
writeStderr(f'{Msg.GOT} {getSharedDriveACLsCount} {Ent.Plural(Ent.DRIVE_FILE_OR_FOLDER_ACL)} {Msg.FOR} {gettingEntity}\n')
@@ -74597,10 +74597,10 @@ def _decodeHeader(header):
stderrWarningMsg(Msg.INVALID_CHARSET.format(mg.group(1)))
return header
# gam <UserTypeEntity> forward message|messages recipient|to <RecipientEntity>
# gam <UserTypeEntity> forward message|messages [recipient|to] <RecipientEntity>
# (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+ [quick|notquick] [doit] [max_to_forward <Number>])|(ids <MessageIDEntity>)
# [subject <String>] [addorigfieldstosubject [<Boolean>]] [altcharset <String>]
# gam <UserTypeEntity> forward thread|threads recipient|to <RecipientEntity>
# gam <UserTypeEntity> forward thread|threads [recipient|to] <RecipientEntity>
# (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+ [quick|notquick] [doit] [max_to_forward <Number>])|(ids <ThreadIDEntity>)
# [subject <String>] [addorigfieldstosubject [<Boolean>]] [altcharset <String>]
def forwardMessagesThreads(users, entityType):
@@ -74703,16 +74703,16 @@ def forwardMessagesThreads(users, entityType):
msgSubject = f"Fwd: {_decodeHeader(message['Subject'])}"
else:
msgSubject = f"Subject: {subject}"
for header in ['To', 'Cc', 'Subject']:
if header in message:
del message[header]
message['To'] = msgTo
if addOriginalFieldsToSubject:
msgSubject += ' (Original'
for header in ['From', 'To', 'Date']:
if header in message:
msgSubject += f' {header}: {message[header]}'
msgSubject += ')'
for header in ['To', 'Cc', 'Bcc', 'Subject']:
if header in message:
del message[header]
message['To'] = msgTo
message['Subject'] = msgSubject
try:
result = callGAPI(gmail.users().messages(), 'send',

View File

@@ -10,6 +10,18 @@ Add the `-s` option to the end of the above commands to suppress creating the `g
See [Downloads-Installs-GAM7](https://github.com/GAM-team/GAM/wiki/Downloads-Installs) for Windows or other options, including manual installation
### 7.43.10
Updated `gam <UserTypeEntity> forward message|thread [recipient|to] <RecipientEntity>` to not forward messages
to the `Bcc` recipients of the original message.
Fixed bug in `gam <UserTypeEntity> forward message|thread [recipient|to] <RecipientEntity> addorigfieldstosubject`
where the recipient of the forwarded message was added to the subject line instead of the recipient of the original message.
### 7.43.09
Fixed bug in `gam <UserTypeEntity> print filelist` that caused a trap.
### 7.43.08
Fixed bug and formatting issues in `gam info device <DeviceEntity>`.

View File

@@ -251,7 +251,7 @@ writes the credentials into the file oauth2.txt.
```
gamteam@server:/Users/gamteam$ rm -f /Users/gamteam/GAMConfig/oauth2.txt
gamteam@server:/Users/gamteam$ gam version
GAM 7.43.08 - https://github.com/GAM-team/GAM - pyinstaller
GAM 7.43.10 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <google-apps-manager@googlegroups.com>
Python 3.14.4 64-bit final
macOS Tahoe 26.5 arm64
@@ -1034,7 +1034,7 @@ writes the credentials into the file oauth2.txt.
```
C:\>del C:\GAMConfig\oauth2.txt
C:\>gam version
GAM 7.43.08 - https://github.com/GAM-team/GAM - pythonsource
GAM 7.43.10 - https://github.com/GAM-team/GAM - pythonsource
GAM Team <google-apps-manager@googlegroups.com>
Python 3.14.4 64-bit final
Windows 11 10.0.26200 AMD64

View File

@@ -477,12 +477,12 @@ When `matchlabel <LabelName>` is specified, the following characters are replace
## Forward messages/threads
```
gam <UserTypeEntity> forward message|messages recipient|to <RecipientEntity>
gam <UserTypeEntity> forward message|messages [recipient|to] <RecipientEntity>
(((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
[labelids <LabelIDList>]
[quick|notquick] [doit] [max_to_forward <Number>])|(ids <MessageIDEntity>)
[subject <String>] [addorigfieldstosubject]
gam <UserTypeEntity> forward thread|threads recipient|to <RecipientEntity>
gam <UserTypeEntity> forward thread|threads [recipient|to] <RecipientEntity>
(((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])+
[labelids <LabelIDList>]
[quick|notquick] [doit] [max_to_forward <Number>])|(ids <ThreadIDEntity>)

View File

@@ -3,7 +3,7 @@
Print the current version of Gam with details
```
gam version
GAM 7.43.08 - https://github.com/GAM-team/GAM - pyinstaller
GAM 7.43.10 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <google-apps-manager@googlegroups.com>
Python 3.14.4 64-bit final
macOS Tahoe 26.5 arm64
@@ -15,7 +15,7 @@ Time: 2026-02-15T07:51:00-08:00
Print the current version of Gam with details and time offset information
```
gam version timeoffset
GAM 7.43.08 - https://github.com/GAM-team/GAM - pyinstaller
GAM 7.43.10 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <google-apps-manager@googlegroups.com>
Python 3.14.4 64-bit final
macOS Tahoe 26.5 arm64
@@ -27,7 +27,7 @@ Your system time differs from www.googleapis.com by less than 1 second
Print the current version of Gam with extended details and SSL information
```
gam version extended
GAM 7.43.08 - https://github.com/GAM-team/GAM - pyinstaller
GAM 7.43.10 - https://github.com/GAM-team/GAM - pyinstaller
GAM Team <google-apps-manager@googlegroups.com>
Python 3.14.4 64-bit final
macOS Tahoe 26.5 arm64
@@ -68,7 +68,7 @@ MacOS High Sierra 10.13.6 x86_64
Path: /Users/gamteam/bin/gam7
Version Check:
Current: 5.35.08
Latest: 7.43.08
Latest: 7.43.10
echo $?
1
```
@@ -76,7 +76,7 @@ echo $?
Print the current version number without details
```
gam version simple
7.43.08
7.43.10
```
In Linux/MacOS you can do:
```
@@ -86,7 +86,7 @@ echo $VER
Print the current version of Gam and address of this Wiki
```
gam help
GAM 7.43.08 - https://github.com/GAM-team/GAM
GAM 7.43.10 - https://github.com/GAM-team/GAM
GAM Team <google-apps-manager@googlegroups.com>
Python 3.14.4 64-bit final
macOS Tahoe 26.5 arm64