# Update GAM7 to latest version Automatic update to the latest version on Linux/Mac OS/Google Cloud Shell/Raspberry Pi/ChromeOS: - Do not create project or authorizations, default path `$HOME/bin` - `bash <(curl -s -S -L https://git.io/gam-install) -l` - Do not create project or authorizations, specify a path - `bash <(curl -s -S -L https://git.io/gam-install) -l -d ` By default, a folder, `gam7`, is created in the default or specified path and the files are downloaded into that folder. Add the `-s` option to the end of the above commands to suppress creating the `gam7` folder; the files are downloaded directly into the default or specified path. See [Downloads-Installs-GAM7](https://github.com/GAM-team/GAM/wiki/Downloads-Installs) for Windows or other options, including manual installation ### 7.22.00 Expanded `` to allow specification of non-archived/archived users. * See [Collections of Users](Collections-of-Users) These commands have also been updated to deal with archived users: * `gam print aliases` * `gam update groups` * `gam info orgs` * `gam print orgs` * `gam print users` Added `datetime ` command that can be embedded in Gam batch files. The current time is formatted with `` and subsequent lines in `` will have `%datetime%` replaced with the formatted time value. See: https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes ### 7.21.03 Added option `notifyrecoveryemail` to `gam create user` and `gam update user password ` that sends the passsword notification email to the user's recovery email address (if defined). ### 7.21.02 GAM now builds on macOS 26 Tahoe and properly identifies the OS. A custom build of the cryptography library is no longer needed for Windows arm64 builds as the project now releases their own build for the OS. Upgrade to OpenSSL 3.5.3 latest ### 7.21.01 Replaced datetime, dateutil, calendar and iso8601 Python libraries with arrow library. This should have no performance impact; report any problems. You can now use timezone names when setting `timezone` in `gam.cfg`. * See: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones ``` gam config timezone America/Los_Angeles save ``` ### 7.20.04 Cleaned up Python library imports: googleapiclient, iso8601 ### 7.20.03 Rebranded license SKU `1010470004` from `Gemini Education` to `Google AI Pro for Education`. Additional updates to student groups in Google Classroom. ### 7.20.02 Upgraded `gam create course-studentgroups` to allow specification of multiple student group titles; multiple student groups can be created in a single command. * `((title )|(select ] print|show chatspaces`. When listing Chat Spaces, the Chat API does not return the `accessSettings` field; if you need to see this field, add `showaccesssettings` to the command. This requires an additional Chat API call per chat space of type `SPACE` to get the `accessSettings` field. ### 7.20.00 Added initial support for student groups in Google Classroom. This is a work in progress and requires Developer Preview membership. * See: https://github.com/GAM-team/GAM/wiki/Classroom-StudentGroups#notes ### 7.19.03 Fixed bug where specifying a `` as `id:1234567890` could lead to errors like this: ``` ERROR: 400: invalidArgument - Resource name has invalid email. ``` ### 7.19.02 Update `gam info user ` to eliminate 5 second delay when getting license info. Additional information: * See: https://github.com/GAM-team/GAM/wiki/Licenses#info-user-performance ### 7.19.01 Updated `gam print|show signature` to handle the following error that occurs when an alias is specified. ``` ERROR: 404: notFound - Requested entity was not found. ``` ### 7.19.00 Eliminated `drive_v3_beta` and `meet_v2_beta` from `gam.cfg` as the API betas are no longer used. Updated `Meet API` scopes so that GAM can read metadata about additional Meet spaces. ``` [*] 34) Meet API - Manage/Display Meeting Spaces [*] 35) Meet API - Read Meeting Spaces metadata ``` ### 7.18.07 Updated `gam print drivelastmodification` to put `addcsvdata` columns after `User,id,name` rather than after the last column. ### 7.18.06 Updated `gam delete|modify messages` to improve the handling of the following error. ``` quotaExceeded - User-rate limit exceeded ``` ### 7.18.05 Added support for Inbound SSO OIDC profiles. Currently, if you enter `gam select ` and nothing else on the command line, GAM performs no action. Now, it will be treated as if you entered: `gam select save` Updated to Python 3.13.7. ### 7.18.04 Added commands to display/manage Alert Center Pub/Sub notifications. * See: https://github.com/GAM-team/GAM/wiki/Alert-Center#configuring-settings ### 7.18.03 Updated `gam oauth create` to give a warning if the number of selected scopes will probably cause Google to generate a "Something went wrong" error. ### 7.18.02 Upgraded to OpenSSL 3.5.2. ### 7.18.01 Added option `nosystemroles` to `gam print|show adminroles` that causes GAM to only display non-system roles. Added option `formatjson` to `gam info|print|show adminroles`; this will be most useful when the `privileges` option is used. Updated `gam create|update adminrole` to allow specification of privileges with JSON data: `privileges `. These two updates make it easier to copy admin roles. Updated `gam create|update adminrole` to allow output of the created/updated role data in CSV format; by default, GAM displays `() created|updated`. ``` csv [todrive *] [formatjson [quotechar ]] (addcsvdata )* ``` ### 7.18.00 Added commands to display Business Profile Accounts. These are special purpose commands and will not generally be used. ``` gam show businessprofileaccounts gam print businessprofileaccounts [todrive *] ``` ### 7.17.03 Fixed bug in `gam print|show chatspaces asadmin fields ` that caused a trap when `displayname` was not in ``. ### 7.17.02 Updated `gam print|show webmastersites` to handle the following error that occurs if you haven't updated your project to include the Google Search Console API. ``` ERROR: 403: permissionDenied - Google Search Console API has not been used in project 111055363999 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/searchconsole.googleapis.com/overview?project=111055363999 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry. ``` ### 7.17.01 Fixed bug in `gam show webmastersites` that caused a trap. ### 7.17.00 Added commands to discover Sites and WebResources that managed users (previously unmanaged) may have access to for better governance and visibility. These are special purpose commands and will not generally be used. ``` gam show webresources gam print webresources [todrive *] gam show webmastersites gam print webmastersites [todrive *] ``` ### 7.16.01 The Drive API now supports setting download restrictions on individual files. Added `downloadrestictions` and `` to ``. ``` ::= downloadrestrictions.itemdownloadrestriction| downloadrestrictions.effectivedownloadrestrictionwithcontext ``` Added `itemdownloadrestriction (restrictedforreaders []) (restrictedforwriters [])` to ``. From the Drive API documentation: ``` itemDownloadRestriction - The download restriction of the file applied directly by the owner or organizer. This does not take into account shared drive settings or DLP rules. effectiveDownloadRestrictionWithContext - Output only. The effective download restriction applied to this file. This considers all restriction settings and DLP rules. restrictedForReaders - Whether download and copy is restricted for readers. restrictedForWriters - Whether download and copy is restricted for writers. If true, download is also restricted for readers. ``` ### 7.16.00 Removed `drive_v3_native_names` from `gam.cfg`; GAM now only uses Drive API v3 fields names on output. If you had `drive_v3_native_names = False` in `gam.cfg` or are updating from Legacy GAM: * See: https://github.com/GAM-team/GAM/wiki/Drive-REST-API-v3 ### 7.15.01 Added `downloadrestrictions.restrictedforreaders` and `downloadrestrictions.restrictedforwriters` to ``; previously, only the abbreviations `downloadrestrictedforreaders` and `downloadrestrictedforwriters` were supported (they are still supported). Updated `gam copy drivefile` to handle unexpected data returned by Google that caused a trap. ### 7.15.00 Updated `gam print shareddriveorganizers` to make `shownoorganizerdrives` default to `True` as documented; it was defaulting to `False`. Cleaned up code for processing Python dictionary structures; this should have no noticable effect. ### 7.14.04 Fixed bug in `gam print|show cigroups cimember ` that generated the following error: ``` ERROR: Cloud Identity Group: groups/-, Print Failed: Error(4013): Insufficient permissions to retrieve memberships. ``` Updated `gam update user suspended off` and `gam unsuspend users` to handle the following error that occurs when trying to unsuspend a user that has been suspended for abuse. ``` ERROR: 412: adminCannotUnsuspend - Cannot restore a user suspended for abuse. ``` * See: https://support.google.com/a/answer/1110339 ### 7.14.03 Fixed bug in `gam print cigroup-members includederivedmembership` that caused a trap. ### 7.14.02 Fixed bug in `gam print|show cigroups|cigroups-members cimember ` that generated the following error: ``` Cloud Identity Group Print Failed: Request contains an invalid argument. ``` ### 7.14.01 Don't install yubikey library via pip by default. To install with yubikey support use pip install gam7[yubikey] ### 7.14.00 Added commands to display Google Tag Manager accounts, containers, workspaces, tags and user permissions. * See: https://github.com/GAM-team/GAM/wiki/Users-Tag-Manager ### 7.13.03 Added option `csv [todrive *] [formatjson [quotechar ]]]` to `gam create chromeprofilecommand` so that command details are displayed in CSV format. Added option `commands ||` to `` so that `gam print|show chromeprofilecommands` can directly display the commands generated by `gam create chromeprofilecommand` with the `csv` option. ### 7.13.02 Fixed bug in `gam create chromeprofilecommand` where `select|filter` were not recognized. Updated `gam create datatransfer datastudio ` that generated the following error due to an unhandled API change. ``` ERROR: Invalid choice (google data studio): Expected ``` ### 7.13.01 Enhanced `gam create|print|show chromeprofilecommand` to allow specification of multiple Chrome browser profiles rather than just one. ``` ::= ::= customers//profiles/ | ::= "(,)*" ::= ::= | (select |) | (filter (filtertime