Updates to the Groups.io service.
July 25, 2019
- BUGFIX: We were not logging when a moderator changed a user's display name.
- INTERNAL: A lot of work to support the API/app.
- BUGFIX: Links in wiki pages were unintentionally opening in new browser windows.
- NEW: You can now view past member +Owner messages.
- CHANGE: When attempting to view member only parts of a group after you've been banned, instead of saying you were banned, we now say 'You are not a member of this group.'
July 19, 2019
- CHANGE: In the activity log, we sometimes truncate long entries. We now have 'more' links to show the full entry.
- NEW: Added new chat API endpoints: /newchat, /updatechat, /getchats, /deletechat, /joinchat, /leavechat.
- NEW: Added /getevent API endpoint.
- BUGFIX: In some cases when someone RSVPs to an event but is waitlisted, an incorrect activity log entry was generated.
- NEW: Added /rsvp endpoint to set/update an event RSVP.
- CHANGE: Previously, the /getsubgroups endpoint would return group objects that represented group aliases. It now longer returns these.
- CHANGE: In the /directadd endpoint, if a subgroupname or subgroupid is specified that points to a group alias, the pointed to group will be used instead.
- NEW: Added /getgroupaliases API endpoint to fetch group aliases.
- INTERNAL: Split out chat websocket endpoint from the web server into a new chat server process.
July 12, 2019
- CHANGE: When resending a pending member notification, we now prepend 'Resend: ' to the subject line.
- BUGFIX: Fixed infinite scroll in the group hashtags view.
- CHANGE: Moved 'Member Sync' button from Settings to Members, and renamed it 'Service Sync'. Also cleaned up formatting of the page.
- NEW: In Direct Add and Invite, you can now select the member notice to include in the page. Edits to the member notice are no longer saved to the member notice. Also, in Member Notices, no direct add or invite notices are labeled as Active.
- NEW: There's a new 'File Sync' button in Members, for the new file sync functionality. You can now sync your membership to a file. This is restricted to premium groups only and to parent groups only.
- CHANGE: In the /groups page, changed the wording of individual delivery for better consistency.
- BUGFIX: The example text in the invite screen did not always have the correct group name in some enterprise groups.
- BUGFIX: On the search results page, the drop down for each topic had 'Edit Subject' listed twice.
- BUGFIX: With Auto Moderate Threads, we were sometimes ignoring the # of days and moderating all threads created in the past day.
- API: Misc formatting improvements to the API docs.
- API: New hashtag endpoint: /gethashtags.
- API: Added new draft endpoints: /newdraft, /updatedraft, /getdrafts, /deletedraft, /uploadattachment, /getattachments, /deleteattachments, /postdraft.
- CHANGE: We now strip out the tracking image from Superhuman emails.
- INTERNAL: Consolidated two of our internal monitoring apps into one program to make things easier.
- BUGFIX: Fixed an issue with the /getevents API endpoint not returning any results.
- SYSADMIN: Replaced the backup database instance because a kernel mismatch issue was causing backups to fail.
June 28, 2019
- BUGFIX: Information on successful adds to subgroups in the API /directadd endpoint were not correctly returned.
- BUGFIX: In a subgroup, you could not change the Privacy from 'Group not listed in parent group, publicly viewable messages' to 'Group listed in parent group, publicly viewable messages'.
- BUGFIX: In the feed view, the list of new subgroups were linked to the parent group home page instead of to their individual home pages.
- BUGFIX: In the feed view, only list new subgroups that are set to be listed in the directory.
- SYSADMIN: Thirty minutes of downtime to upgrade the main Postgres instance to mitigate the latest Intel vulnerability.
- BUGFIX: The .ics files produced for all day events could, depending on interacting timezones, be off by a day.
- BUGFIX: When viewing a multi-day all day event, don't display start/end times.
- CHANGE: Changed all time references using "GMT" to "UTC" instead for consistency.
- CHANGE: The background of the header for the Emailed Photos album is now just grey.
- CHANGE: The height of the header of any photo albums without descriptions has been decreased.
- CHANGE: Created a utility to regenerate the list of timezones with the currently correct UTC offsets and timezone abbreviations.
- CHANGE: The 'Your Groups' dropdown is limited to 400px height, and becomes scrollable after that.
- CHANGE: The 'Your Groups' dropdown now uses the group title if it's set. NOTE: Sorting is still done by group name. This will be addressed with a future update.
- CHANGE: Rate limiting login link requests to prevent abuse.
June 21, 2019
- BUGFIX: In some instances, all day events were displayed on the calendar as lasting a day longer than scheduled. Also, all all day events were displayed with a time, which didn't make sense.
- BUGFIX: In some instances with a repeating event, it was not possible to check the 'Send Notice To Group When Event Happens' checkbox and have it saved properly.
- BUGFIX: Direct add activity log entries were not showing up in the member's activity log section. This fix only applies to new log entries; previous direct adds will still not show up in the member's activity log.
- NEW: For domains hosted by Mimecast: if a message from one of those domains is sent to another user on that same domain, we now re-write the From line, to hopefully stop tripping a bounce.
- CHANGE: Show the updated date in the member notices view instead of the created date.
- API: Many navigation improvements and other cleanups of the API docs.
- CHANGE: All links in messages now open in new tabs.
- CHANGE: Default sort order for columns is a-z, or largest to smallest, or most recent to oldest, as appropriate.
- BUGFIX: For certain replies to messages that already contained a signature, we would display both signatures outside of the collapsed text when we should only display the last signature.
- BUGFIX: For certain HTML replies to messages, we would not show the signature outside of the collapsed text.
- BUGFIX: In certain situations, when doing a bulk remove of members, we would report 'Other Error' for someone who was not a subscriber.
- API: The sidebar for the api docs is now scrollable for easier navigation.
- API: New /getevents endpoint.
- CHANGE: Various feed view improvements to hashtags and events.
June 14, 2019
- INTERNAL: Entered into a contract with a consulting firm to finish up the iOS/Android app.
- CHANGE: Incorporated the feed view into the group home page and changed how hashtags are displayed. Currently tested on beta@.
- NEW: New activity log entry for when a message is sent to a (premium) group with a calendar invite, and the sender doesn't have permission to add events to the calendar.
- CHANGE: Tweaked hashtag box text colors and margins.
- CHANGE: Changed the calendar header buttons to better fit smaller screens/better fit the rest of the site.
- NEW: Messages/Topics now includes a Hashtag dropdown to view by hashtag.
- INTERNAL: Upgraded fontawesome to 5.9.0.
- BUGFIX: Upgraded Fullcalendar to v 3.10.0 to fix a couple of formatting bugs on mobile.
- BUGFIX: The cancel button on the Mute Topic page didn't cancel the muting.
- INTERNAL: Rearchitected how we save past subscriber information. Also changed the past member object returned by the API.
- BUGFIX: In some instances of HTML messages that only contain a quoted section, we'd just display a blank page.
- BUGFIX: Fix crash when replying to a message in a subgroup that you're not subscribed to (that has Allow Parent Subs To Post set to true).
- BUGFIX: Fix group and user export issue when the exported file is greater than 5GB.
- NEW: Track delivery status of private replies to group messages.
June 7, 2019
- CHANGE: When viewing a database table in map view, changed the formatting of the rows to match the non-map view and added in the ability to collapse columns.
- CHANGE: When viewing a database table with an address, the [Map] link now opens up in the new page.
- NEW: New /getpastmembers API endpoint and lots of little API documentation fixes.
- CHANGE: Changed the expiry of login links from 2 hours to 24 hours.
- NEW: Barracuda Networks firewalls are sometimes blocking messages from us, for reasons I don't yet understand. The bounce message was being interpreted as a hard bounce, but the blocks are not consistent, so I've changed the bounce parsing for these messages to treat them as soft bounces instead.
- CHANGE: For emails originating from the website, we replaced the X-Originating-IP header with two new headers, X-Originating-Location and X-Originating-Platform
- NEW: When specifying a yahoo group to transfer, you can now specify a list of people to exclude from the transfer process.
- INTERNAL: More work on automating adding and monitoring new machines.
- NEW: Upcoming event summary email for premium groups.
- NEW: In pending subscription notifications, include the pending subscriber's platform, browser, location and IP address.
May 31, 2019
- BUGFIX: The activity log line when editing a message was 'via email' when it can only be 'via web'.
- BUGFIX: The 'Vote Now' link in poll announcement emails would fail for members of announcement groups.
- CHANGE: If a group had separate footers checked, we were not resizing any attached images according to group settings. I don't remember why I coded it that way, but I've changed it so that we do resize images.
- NEW: Remove 'ADV:' from subject lines.
- CHANGE: Moved the Indivisible link in the pricing page to be in the non-profits section. Also updated the instructions for enterprise non-profits.
- NEW: Added a 'Types Of Groups That Aren't Permitted' section to the help.
- CHANGE: In the help section, changed the sidebar so it didn't stay fixed, which was causing issues for some people.
- BUGFIX: Fixed a couple of cases where we didn't handle collapsing quoted message replies when viewing the archives.
- CHANGE: When viewing messages, we no longer collapse signatures within a quoted block.
- BUGFIX: Fixed a goroutine leak in the anti-virus checker.
May 24, 2019
- CHANGE: Previously, members couldn't vote in polls in announcement groups. Now the announcement setting has no effect on whether someone can vote in a poll.
- CHANGE: Changed wording/color of the button to expand/collapse quoted message parts.
- CHANGE: Groups can now have multiple active welcome messages.
- INTERNAL: Added the ability to re-write the From lines of emails from specific domains, as we already do with DMARC, to hopefully fix a delivery issue with samsung.com
- CHANGE: Added additional text to the Repost Message item in the More menu, describing when you can next repost the message.
- BUGFIX: When paging through member search results for a query that includes a special character (like @), the query was not properly unescaped.
- BUGFIX: Changed how we pull messages from the database during a group export to decrease the load on the database as well as increase reliability of the operation.
- BUGFIX: For groups requiring hashtags, posting on the website didn't display an error when you tried to post without a hashtag.
- SYSADMIN: Replaced all webserver instances to fix a kernel issue.
May 17, 2019
- SYSADMIN: Work to mitigate new Intel ZombieLoad exploit.
- BUGFIX: In the API endpoint /updategroup, if there was an error, it was returned along with the group object, resulting in an unparseable mess.
- BUGFIX: The subgroup direct add email didn't parse HTML direct add messages correctly, so the HTML was visible in the email.
- CHANGE: Tweaked wording of FBL unsub email.
- NEW: We now will resize HEIC images based on group settings (previously we were unable to resize them, so passed them through untouched).
- BUGFIX: Found and fixed a memory leak in the webserver.
- CHANGE: Changed the application fee for donations from 20% to 5%.
- SYSADMIN: Added a new web server and retired final web server running CentOS 6.
May 10, 2019
- BUGFIX: Slack authentication was broken for groups that had subdomains.
- CHANGE: Temporarily disabled new Google Drive authentication, because Google changed things on their end and broke the integration.
- SECURITY: Rate limiting access to the /login page.
- CHANGE: Do not include topics tagged with 'no email' hashtags in the daily summaries.
- CHANGE: In the /feed, show next upcoming events, not events that have been most recently created.
- BUGFIX: In the /feed, don't show database activity for groups you don't have permission to view.
- INTERNAL: Converted source code dependencies to use new Go modules system.
- BUGFIX: Timezones were sometimes not being read correctly from calendar invites emailed to the group, due to a bug in the underlying library.
- BUGFIX: Pending message viewing would fail if the sender user record had been deleted.
- NEW: Display RSVP status on event popups on the calendar. Also, new 'RSVPed Events Only' button to show only events you've RSVPed to.
- CHANGE: Improved the format of the event reminder email.
- NEW: Monday Start checkbox in user preferences and group default sub settings to indicate that the calendar should start on Mondays instead of Sundays.
May 3, 2019
- CHANGE: For events added by email, we consider events up to one year from now (the previous limit was 30 days).
- BUGFIX: Fixed the name of the subgroup in the activity log message for creating a subgroup.
- NEW: Premium groups can now ask for and accept donations.
- INTERNAL: Removed TLS 1.0 support on the webservers.
- BUGFIX: Fix links to wiki pages in the /feed page.
- NEW: Automatically update credit card info when we're notified someone's credit card is updated by Stripe.
- BUGFIX: Changes to a pending member (like Display Name) were not saved when approving the pending member if the pending member was also being confirmed at the same time.
- BUGFIX: The API endpoint /getmembers was ignoring the type parameter.
- BUGFIX: Fix links to subscribed-to subgroups on the /static/welcome page for enterprise groups.
- INTERNAL: Upgraded to latest version of Go compiler.
- BUGFIX: Events weren't being exported in the group export system.
- BUGFIX: API docs had quotes around numbers and bools in the examples that should not have been there.
- BUGFIX: The API endpoint /updatesub wasn't accepting sub_id when it should have.
- BUGFIX: Cancelling the one month downgrade before it happened didn't actually stop the downgrade from happening.
April 18, 2019
- INTERNAL: Work on adding the ability to charge for subscriptions.
- BUGFIX: Work to fix a parsing bug in Outlook for ICS files with newlines in the description.
- NEW: New Monthly Reminder member notice. These are sent on the 1st of the month, and you can have multiple active ones.
- INTERNAL: More changes to automate the process of adding enterprise groups.
- CHANGE: You cannot like messages in locked topics.
April 12, 2019
- INTERNAL: Work on adding the ability to charge for subscriptions.
- INTERNAL: Added ability to redirect from one enterprise domain to another.
- BUGFIX: Fixed weird timeout issue when downloading huge archives using the /downloadarchives API endpoint.
April 5, 2019
- BUGFIX: When editing a repeating event, if no date/time changes are made, we no longer lose any RSVPs to existing events.
- INTERNAL: Upgraded Stripe API library to the latest version as part of the work to support group payments.
- BUGFIX: The GMT offset in the #cal-invite message would be off if the new event is on a date that has a different daylight savings than today's date.
- CHANGE: A user's overall calendar now defaults to list view on mobile. It also respects a user's time format.
- INTERNAL: Changed admin system to not rely on the main database for authentication.
- CHANGED: Updated the credit card forms with newer code from Stripe.
March 29, 2019
- CHANGED: Tweaked the header text for full digests and summaries to hopefully make things a little more clear.
- CHANGED: When adding/editing an event, replaced the 'Send Invite To Group' checkbox with dedicated Add/Update Event buttons to make things more clear.
- CHANGE: Changed the SMTP error status message we return for no reverse DNS and some other errors so that it's a bit less opaque.
- BUGFIX: Fixed parsing of a bunch of additional bounce messages (if you've seen 'Unable to parse bounce message' in your email delivery history, hopefully this will fix that.)
- INTERNAL: Added additional statistics tracking along with improved web site log analysis.
- SYSADMIN: Audited our database alerts and added an additional one for transaction wraparound.
- NEW: We remember your last home page and return to it when going to https://groups.io or clicking on the Groups.io logo.
- NEW: The feed view is now the home page view and the previous page, the listing of your groups, is now at /groups.
- NEW: Remember sort field/order when viewing photo albums.
March 22, 2019
- NEW: Remember sort field/order for the Photos section (not yet viewing a specific album).
- BUGFIX: If a subscription's display name was not set and the user's display name wasn't set, we would set ALL of the user's subscriptions to the name we pulled from the From line in an email. This would overwrite a display name previously set by a moderator.
- NEW: The /feed page is now feature complete, including displaying chats, wikis, databases, new subgroups, and recent images sent as attachments.
- CHANGE: In the Photos section, changed the default sort for albums and within albums to be most recent first.
- BUGFIX: Fixed obscure redirect bug because 'groups.io' is a suffix of the new enterprise group dgroups.io.
- INTERNAL: Parallelized the deletion of attachments from S3 when we delete a group, because it was taking too long.
- CHANGE: When viewing banned members, the column name is now Banned. When viewing normal members of a restricted group, the column name is now Applied.
- CHANGE: When banning someone, we record the moment the person is banned. Previously, if the person was a member, we kept the date the person applied/joined and used that.
- CHANGE: When adding/editing an event, check by default the 'Send Invite To Group' option.
March 15, 2019
- CHANGE: Updates to /feed page based on feed ... back.
- BUGFIX: The hover display of all day, multi-day events was off by one day on the ending day.
- CHANGE: Changed summary and digest subject lines to include the group subject tag and to use the group title, if one is set.
- INTERNAL: Increased concurrency of the digest generation process.
- CHANGE: Changed title of Topics page to just 'Topics.'
- BUGFIX: Generated ICS files for repeating events ending on a specific day didn't work correctly in Google Calendar (the last event instance was left out).
- NEW: When deleting calendar events, you have the option to send a message to the group. The message contains the necessary ICS file to propagate the change to other calendars.
- CHANGE: ICS feeds no longer including canceled events. This is the proper way to handle them.
- SYSADMIN: Switched to a different DNS resolver/cache system.
- CHANGE: For premium/enterprise groups, don't automatically add events from messages when the events are cancelled.
- SYSADMIN: More monitoring of digest generation queue.
- CHANGE: Upgraded to latest version of file upload dialog widget.
- CHANGE: Dashes are no longer converted to underscores in filenames of uploaded files/photos.
- CHANGE: Allow periods in subgroup names.
March 8, 2019
- SYSADMIN: Switched to using our own DNS resolver/cache because Linode's DNS resolver stopped working for some domains.
- NEW: New /feed page for testing.
- CHANGE: Wording change in bounce probe message.
- API: Misc updates.
- NEW: For cancelled events, include them in the ICS feeds, but set their status to CANCELLED.
- CHANGE: When viewing an event with an RSVP, don't display the cancel event button if no one has RSVPed yet.
- BUGFIX: 'Save and send to group' didn't work for a moderator editing a message in a subgroup.
- NEW: Added an addition Italian language quote separator.
- CHANGE: Default calendar view on mobile is now the list view.
- NEW: Add an additional French language quote separator.
- NEW: When viewing topics/searching by hashtag, show the hashtag description at the top of the page.
- NEW: Added subgroupnames parameter to the /directadd API endpoint, to compliment the subgroupids parameter.
- BUGFIX: When using the /directadd API endpoint, the wrong domain was used when composing the direct add notification emails.
March 1, 2019
- API: Updated the /getmessages api.
- SYSADMIN: Increased security of internal systems.
- SYSADMIN: Added an additional web server.
- CHANGE: Wording change in the pending group approval message. Thanks Shal and J.
- NEW: We use the DNS MX domains when sending email to determine if a person's email is hosted by Gmail or by Outlook 365. If such, we re-write the From header, if appropriate.
- NEW: In the account prefs page, we display if we are re-writing the From line of messages sent to you because your email is hosted by Gmail or Exchange.
- NEW: We now have two internal lists of domains: domains hosted by Gmail and domains hosted by Exchange. For gmail hosted domains, we re-write the From line for messages we send back to the sender. For Exchange hosted domains, we re-write the From lines for all messages.
- NEW: Internal infrastructure to substitute email headers in group messages more easily.
- CHANGE: Updated API docs with latest version, generated using the new automated tools.
- SYSADMIN: Moved disaster recovery backups off the main database server to a replica to reduce load.
- CHANGE: We were virus scanning files that are uploaded to the files section, but we weren't blocking them when they tested positive. We now block and log them.