Releases: rfdonnelly/scma-gsync
v2.0.2
Upgrade dependencies
v2.0.1
v2.0.0
Merge pull request #34 from rfdonnelly/v2.0.0 v2.0.0
v2.0.0-rc.3 - Fix email deobfuscation
This release fixes an issue with deobfuscating email addresses in the SCMA roster which led to unexpected ACL deletes. See #32.
v2.0.0-rc.2 - Fix continuous ACL insert/delete
This release fixes #31 where Google Calendar email alias resolution caused the same email pairs to be inserted+deleted on every sync.
v2.0.0-rc.1 - Service account authentication
This release makes several breaking changes in preparation for production. The biggest change is the addition of service account authentication.
Added
- Added support for service account authentication
- Added calendar description to calendar creation
- Added
--notify-acl-insert
option - Added
--calendar-owner
option - Added user guide and admin guide
- Added workflows for shared calendar sync and personal contacts sync
- Added sections to
--help
output
Changed
- Changed the default authentication type for Google Calendar from OAuth to service account authentication
- Changed the
--dry-run
option to apply to all API methods that create, modify, or delete (including calendar and contact group creation) - Changed environment variable names
- Renamed
GCAL_CLIENT_SECRET_PATH
toGOOGLE_CLIENT_SECRET_PATH
- Renamed
GCAL_OAUTH_TOKEN_JSON_PATH
toGOOGLE_OAUTH_TOKEN_PATH
- Renamed
- Changed option names
- Renamed
--client-secret-json-path
to--secret-file
- Renamed
--oauth-token-json-path
to--token-file
- Renamed
- Changed default for the
--client-secret-json-path
(now--secret-file
) option fromclient_secret.json
tosecret.json
- Changed the
--data
option to an argument. Instead ofscma-gcal-sync -d users
, now it is justscma-gcal-sync users
.
v1.4.0 - User sync
This release adds the ability to sync users to both the Google Calendar ACL (Access Control List) and Google Contacts. The ACL sync feature automates calendar access management. It gives all SCMA members read access to the calendar and removes access for any non-SCMA members (i.e. those that are no longer SCMA members).
Added
- Added auto create the named calendar if it doesn't exist
- Added
--dry-run
option - Added Google Calendar ACL sync
- Added Google Contacts sync
Changed
- Normalize SCMA phone numbers using
+1##########
format. Previously used the whatever format was given which varied from member to member. - Normalize SCMA emails to use all lowercase. Previously used whatever case was given which varied from member to member.
v1.3.0 - Users and scopes
This release adds the ability to download SCMA member information as YAML and fixes multiple OAuth requests due to use of multiple scopes.
Added
- Fetching and parsing of users
- YAML serialization of users
- Privacy policy
Fixed
- Multiple OAuth requests due to use of multiple scopes
- Log filtering via the
RUST_LOG
environment variable
v1.2.1 - Reduce network traffic
This release moves event date filtering from the client to the server reducing network traffic.
Fixed
- Fetching more information than needed (#13)
v1.2.0 - Migration and description improvements
This release marks the migration from the old Ruby implementation to this new Rust implementation. The Ruby implementation has been taken out of service and this Rust implementation has taken its place.
Changes Since v1.1.1
In addition to the migration, several improvements to the Google Calendar event descriptions have been made. See #4 for the tracking issue.
Changed
- Changed default calendar name from "SCMA Test" to "SCMA" (#3)
Added
- Added "last synced by" information to description (#11)
- Added "last synced at" information to description (#10)
- Added explicit "None" when no attendees/comments (#7)
- Added order to list of attendees (#6)
- Added heading for SCMA event description (#8)
Fixed
- Fixed description rich text (#5)
Comparison to the Ruby Implementation
- Fully async (performs multiple requests concurrently)
- Can fetch all events. Ruby implementation was limited to future events that fit on first page of events list. This is enabled by the discovery of a JSON formatted event list that contains all events.
- Uses more efficient patch-or-insert algorithm to update Google Calendar. The Ruby implementation used a delete-readd algorithm.
- Improved documentation (
README
and--help
)