zulip/zerver/migrations
Mateusz Mandera 0c2cc41d2e CVE-2019-18933: Fix insecure account creation via social authentication.
A bug in Zulip's new user signup process meant that users who
registered their account using social authentication (e.g. GitHub or
Google SSO) in an organization that also allows password
authentication could have their personal API key stolen by an
unprivileged attacker, allowing nearly full access to the user's
account.

Zulip versions between 1.7.0 and 2.0.6 were affected.

This commit fixes the original bug and also contains a database
migration to fix any users with corrupt `password` fields in the
database as a result of the bug.

Out of an abundance of caution (and to protect the users of any
installations that delay applying this commit), the migration also
resets the API keys of any users where Zulip's logs cannot prove the
user's API key was not previously stolen via this bug.  Resetting
those API keys will be inconvenient for users:

* Users of the Zulip mobile and terminal apps whose API keys are reset
  will be logged out and need to login again.
* Users using their personal API keys for any other reason will need
  to re-fetch their personal API key.

We discovered this bug internally and don't believe it was disclosed
prior to our publishing it through this commit.  Because the algorithm
for determining which users might have been affected is very
conservative, many users who were never at risk will have their API
keys reset by this migration.

To avoid this on self-hosted installations that have always used
e.g. LDAP authentication, we skip resetting API keys on installations
that don't have password authentication enabled.  System
administrators on installations that used to have email authentication
enabled, but no longer do, should temporarily enable EmailAuthBackend
before applying this migration.

The migration also records which users had their passwords or API keys
reset in the usual RealmAuditLog table.
2019-11-21 10:23:37 -08:00
..
0001_initial.py migrations.0001_initial: Expand \n in long SQL string. 2019-08-21 11:00:38 -07:00
0029_realm_subdomain.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0030_realm_org_type.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0031_remove_system_avatar_source.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0032_verify_all_medium_avatar_images.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0033_migrate_domain_to_realmalias.py zerver/migrations: Use python 3 syntax for typing. 2017-10-26 15:24:56 -07:00
0034_userprofile_enable_online_push_notifications.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0035_realm_message_retention_period_days.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0036_rename_subdomain_to_string_id.py migrations: Remove unused imports. 2019-02-02 17:01:04 -08:00
0037_disallow_null_string_id.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0038_realm_change_to_community_defaults.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0039_realmalias_drop_uniqueness.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0040_realm_authentication_methods.py migrations: Remove unused imports. 2019-02-02 17:01:04 -08:00
0041_create_attachments_for_old_messages.py Revert "Change if(realm.domain == mit.edu) to use Realm.is_zephyr_..." 2018-11-02 13:16:45 -07:00
0042_attachment_file_name_length.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0043_realm_filter_validators.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0044_reaction.py python: Fix unnecessary uses of str_utils library. 2018-11-27 11:44:09 -08:00
0045_realm_waiting_period_threshold.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0046_realmemoji_author.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0047_realm_add_emoji_by_admins_only.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0048_enter_sends_default_to_false.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0049_userprofile_pm_content_in_desktop_notifications.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0050_userprofile_avatar_version.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0051_realmalias_add_allow_subdomains.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0052_auto_fix_realmalias_realm_nullable.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0053_emailchangestatus.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0054_realm_icon.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0055_attachment_size.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0056_userprofile_emoji_alt_code.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0057_realmauditlog.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0058_realm_email_changes_disabled.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0059_userprofile_quota.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0060_move_avatars_to_be_uid_based.py migration_0060: Remove unreachable return statement. 2019-07-29 15:23:34 -07:00
0061_userprofile_timezone.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0062_default_timezone.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0063_realm_description.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0064_sync_uploads_filesize_with_db.py migration_0064: Fix typing for file_key. 2019-07-29 15:23:10 -07:00
0065_realm_inline_image_preview.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0066_realm_inline_url_embed_preview.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0067_archived_models.py python: Fix unnecessary uses of str_utils library. 2018-11-27 11:44:09 -08:00
0068_remove_realm_domain.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0069_realmauditlog_extra_data.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0070_userhotspot.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0071_rename_realmalias_to_realmdomain.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0072_realmauditlog_add_index_event_time.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0073_custom_profile_fields.py i18n: Add missing strings for custom profile fields and fix capitalization. 2018-05-06 19:44:36 -07:00
0074_fix_duplicate_attachments.py zerver/migrations: Use python 3 syntax for typing. 2017-10-26 15:24:56 -07:00
0075_attachment_path_id_unique.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0076_userprofile_emojiset.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0077_add_file_name_field_to_realm_emoji.py migration_0077: Migrate from Text to str. 2019-07-25 17:54:26 -07:00
0078_service.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0079_remove_old_scheduled_jobs.py zerver/migrations: Use python 3 syntax for typing. 2017-10-26 15:24:56 -07:00
0080_realm_description_length.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0081_make_emoji_lowercase.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0082_index_starred_user_messages.py migrate, create_large_indexes: Use CREATE INDEX IF NOT EXISTS. 2019-06-26 11:01:30 -07:00
0083_index_mentioned_user_messages.py migrate, create_large_indexes: Use CREATE INDEX IF NOT EXISTS. 2019-06-26 11:01:30 -07:00
0084_realmemoji_deactivated.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0085_fix_bots_with_none_bot_type.py migrations: Remove unused imports. 2019-02-02 17:01:04 -08:00
0086_realm_alter_default_org_type.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0087_remove_old_scheduled_jobs.py zerver/migrations: Use python 3 syntax for typing. 2017-10-26 15:24:56 -07:00
0088_remove_referral_and_invites.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0089_auto_20170710_1353.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0090_userprofile_high_contrast_mode.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0091_realm_allow_edit_history.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0092_create_scheduledemail.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0093_subscription_event_log_backfill.py migrations: Remove unused imports. 2019-02-02 17:01:04 -08:00
0094_realm_filter_url_validator.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0095_index_unread_user_messages.py migrate, create_large_indexes: Use CREATE INDEX IF NOT EXISTS. 2019-06-26 11:01:30 -07:00
0096_add_password_required.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0097_reactions_emoji_code.py migrations: Remove unused imports. 2019-02-02 17:01:04 -08:00
0098_index_has_alert_word_user_messages.py migrate, create_large_indexes: Use CREATE INDEX IF NOT EXISTS. 2019-06-26 11:01:30 -07:00
0099_index_wildcard_mentioned_user_messages.py migrate, create_large_indexes: Use CREATE INDEX IF NOT EXISTS. 2019-06-26 11:01:30 -07:00
0100_usermessage_remove_is_me_message.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0101_muted_topic.py python: Fix unnecessary uses of str_utils library. 2018-11-27 11:44:09 -08:00
0102_convert_muted_topic.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0103_remove_userprofile_muted_topics.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0104_fix_unreads.py migrations: Remove unused imports. 2019-02-02 17:01:04 -08:00
0105_userprofile_enable_stream_push_notifications.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0106_subscription_push_notifications.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0107_multiuseinvite.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0108_fix_default_string_id.py zerver/migrations: Use python 3 syntax for typing. 2017-10-26 15:24:56 -07:00
0109_mark_tutorial_status_finished.py migrations: Remove unused imports. 2019-02-02 17:01:04 -08:00
0110_stream_is_in_zephyr_realm.py migrations: Remove unused imports. 2019-02-02 17:01:04 -08:00
0111_botuserstatedata.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0112_index_muted_topics.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0113_default_stream_group.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0114_preregistrationuser_invited_as_admin.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0115_user_groups.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0116_realm_allow_message_deleting.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0117_add_desc_to_user_group.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0118_defaultstreamgroup_description.py python: Sort imports in database migrations. 2017-11-15 15:44:00 -08:00
0119_userprofile_night_mode.py settings: Add backend storage and interface for night mode. 2017-11-15 16:36:06 -08:00
0120_botuserconfigdata.py migrations: Fix conflict. 2017-11-17 08:24:56 -08:00
0121_realm_signup_notifications_stream.py models: Add signup_notifications_stream attribute to Realm. 2017-11-21 17:39:50 -08:00
0122_rename_botuserstatedata_botstoragedata.py embedded bots: Consistently use 'storage' instead of 'state.' 2017-11-27 21:05:34 -08:00
0123_userprofile_make_realm_email_pair_unique.py auth: Allow accounts with the same email in different realms. 2017-11-28 16:23:10 -08:00
0124_stream_enable_notifications.py notification settings: Add stream email notifications setting. 2017-11-28 17:51:18 -08:00
0125_realm_max_invites.py invitations: Limit realms to 100 invites per day. 2017-11-29 22:18:05 -08:00
0126_prereg_remove_users_without_realm.py migrations: Remove unused imports. 2019-02-02 17:01:04 -08:00
0127_disallow_chars_in_stream_and_user_name.py migrations: Fix mypy error in placeholder migration. 2018-02-05 18:03:07 -08:00
0128_scheduledemail_realm.py models: Add ScheduledEmail.realm. 2017-12-19 17:46:36 -08:00
0129_remove_userprofile_autoscroll_forever.py settings: Remove autoscroll_forever setting. 2018-01-02 10:35:49 -05:00
0130_text_choice_in_emojiset.py migrations: Add reverser for emoji_alt_code migration. 2018-02-05 16:55:21 -08:00
0131_realm_create_generic_bot_by_admins_only.py settings: Limit the creation of generic bots. 2018-01-02 18:12:22 -05:00
0132_realm_message_visibility_limit.py models: Add message_visibility_limit attribute to Realm. 2018-01-04 08:52:40 -05:00
0133_rename_botuserconfigdata_botconfigdata.py Rename BotUserConfigData to BotConfigData. 2018-01-06 14:13:18 -05:00
0134_scheduledmessage.py scheduledmessages: Add model for the ScheduledMessage table. 2018-01-10 09:18:02 -05:00
0135_scheduledmessage_delivery_type.py scheduledmessages: Add delivery_type field to the table. 2018-01-19 11:33:11 -05:00
0136_remove_userprofile_quota.py upload: Remove UserProfile field for old per-user quota. 2018-01-29 16:06:11 -08:00
0137_realm_upload_quota_gb.py upload: Add a quota field to Realm. 2018-01-29 16:06:11 -08:00
0138_userprofile_realm_name_in_notifications.py settings: Added setting to turn on and off realm name in email subject. 2018-02-05 18:01:54 -08:00
0139_fill_last_message_id_in_subscription_logs.py migrations: Remove unused imports. 2019-02-02 17:01:04 -08:00
0140_realm_send_welcome_emails.py org-settings: Add setting to turn off welcome emails. 2018-02-28 12:39:01 -08:00
0141_change_usergroup_description_to_textfield.py models: Change description attribute of user group to textfield. 2018-03-01 11:27:26 -08:00
0142_userprofile_translate_emoticons.py emoji: Add support for translating emoticons. 2018-03-04 15:37:24 -08:00
0143_realm_bot_creation_policy.py org settings: Add setting to prevent users from adding bots. 2018-03-09 13:21:55 -08:00
0144_remove_realm_create_generic_bot_by_admins_only.py org settings: Add setting to prevent users from adding bots. 2018-03-09 13:21:55 -08:00
0145_reactions_realm_emoji_name_to_id.py migrations: Remove unused imports. 2019-02-02 17:01:04 -08:00
0146_userprofile_message_content_in_email_notifications.py settings: Add setting to disable message content in missed message emails. 2018-03-09 21:16:02 -08:00
0147_realm_disallow_disposable_email_addresses.py emails: Add backend for disallowing disposable email addresses. 2018-03-11 22:05:58 -07:00
0148_max_invites_forget_default.py antispam: Make a setting for default Realm.max_invites. 2018-03-16 18:00:11 -07:00
0149_realm_emoji_drop_unique_constraint.py migrations: Remove unused imports. 2019-02-02 17:01:04 -08:00
0150_realm_allow_community_topic_editing.py migrations: Remove unused imports. 2019-02-02 17:01:04 -08:00
0151_last_reminder_default_none.py models: Fix default value for last_reminder. 2018-03-29 11:53:12 -07:00
0152_realm_default_twenty_four_hour_time.py org settings: Add realm level default time format setting. 2018-03-31 16:23:26 -07:00
0153_remove_int_float_custom_fields.py i18n: Add missing strings for custom profile fields and fix capitalization. 2018-05-06 19:44:36 -07:00
0154_fix_invalid_bot_owner.py bots: Clean up editing bots impacting non-bot users. 2018-04-02 18:58:26 -07:00
0155_change_default_realm_description.py org settings: Change default realm description to empty string. 2018-04-06 15:15:47 -07:00
0156_add_hint_to_profile_field.py profile: Add hint attribute to custom profile fields. 2018-04-19 11:32:35 -07:00
0157_userprofile_is_guest.py guest: Add a model field for guest users. 2018-04-20 16:08:29 -07:00
0158_realm_video_chat_provider.py models: Add attribute for video provider in realm. 2018-04-23 09:15:12 -07:00
0159_realm_google_hangouts_domain.py settings: Add support for Hangouts as the video chat provider. 2018-04-23 09:39:47 -07:00
0160_add_choice_field.py i18n: Add missing strings for custom profile fields and fix capitalization. 2018-05-06 19:44:36 -07:00
0161_realm_message_content_delete_limit_seconds.py org setting: Add time limits for message deleting. 2018-04-27 19:22:28 -07:00
0162_change_default_community_topic_editing.py org settings: Change default allow_community_topic_editing value. 2018-04-28 13:00:29 -07:00
0163_remove_userprofile_default_desktop_notifications.py settings: Remove obsolete default_desktop_notifications setting. 2018-04-28 13:46:07 -07:00
0164_stream_history_public_to_subscribers.py migrations: Remove dependence on PRIVATE_STREAM_HISTORY_FOR_SUBSCRIBERS. 2018-05-29 07:36:53 -07:00
0165_add_date_to_profile_field.py i18n: Add missing strings for custom profile fields and fix capitalization. 2018-05-06 19:44:36 -07:00
0166_add_url_to_profile_field.py i18n: Add missing strings for custom profile fields and fix capitalization. 2018-05-06 19:44:36 -07:00
0167_custom_profile_fields_sort_order.py migrations: Add missing reverse_code for migration 0167. 2018-05-21 09:42:19 -07:00
0168_stream_is_web_public.py web_public_streams: Add is_web_public to Stream table. 2018-05-02 15:23:33 -07:00
0169_stream_is_announcement_only.py models: Add field is_announcement_only to stream. 2018-05-13 09:06:20 -07:00
0170_submessage.py Add SubMessage table. 2018-05-16 15:13:33 -07:00
0171_userprofile_dense_mode.py settings: Add a development-only setting for less dense mode. 2018-05-24 12:31:37 -07:00
0172_add_user_type_of_custom_profile_field.py custom fields: Add user type of custom fields. 2018-05-27 23:01:21 -07:00
0173_support_seat_based_plans.py billing: Add initial support for seat based plans. 2018-07-09 14:33:08 +05:30
0174_userprofile_delivery_email.py migrations: Remove unused imports. 2019-02-02 17:01:04 -08:00
0175_change_realm_audit_log_event_type_tense.py migrations: Remove unused imports. 2019-02-02 17:01:04 -08:00
0176_remove_subscription_notifications.py models: Delete unused Subscription.notifications field. 2018-07-26 15:54:57 -07:00
0177_user_message_add_and_index_is_private_flag.py migrate, create_large_indexes: Use CREATE INDEX IF NOT EXISTS. 2019-06-26 11:01:30 -07:00
0178_rename_to_emails_restricted_to_domains.py models: Rename Realm.restricted_to_domain field. 2018-07-31 09:28:33 -07:00
0179_rename_to_digest_emails_enabled.py models: Rename Realm.show_digest_email field. 2018-08-01 11:05:58 -07:00
0180_usermessage_add_active_mobile_push_notification.py migrate, create_large_indexes: Use CREATE INDEX IF NOT EXISTS. 2019-06-26 11:01:30 -07:00
0181_userprofile_change_emojiset.py emoji: Disable support for letting users switch emojisets. 2018-08-08 15:48:04 -07:00
0182_set_initial_value_is_private_flag.py python: Remove unused imports. 2019-02-22 16:54:36 -08:00
0183_change_custom_field_name_max_length.py zerver/models.py: Change custom field name max length to 40 char. 2018-08-17 08:36:22 -07:00
0184_rename_custom_field_types.py custom profile field: Rename field types in UI. 2018-08-21 11:37:51 -07:00
0185_realm_plan_type.py migrations: Remove unused imports. 2019-02-02 17:01:04 -08:00
0186_userprofile_starred_message_counts.py models: Create starred_message_counts boolean field. 2018-08-21 13:42:22 -07:00
0187_userprofile_is_billing_admin.py billing: Use UserProfile.is_billing_admin instead of Customer.billing_user. 2018-08-27 12:35:46 -07:00
0188_userprofile_enable_login_emails.py user settings: Add setting to make login notifications optional. 2018-08-28 14:02:31 -07:00
0189_userprofile_add_some_emojisets.py emoji: Set default emoji to google-blob for existing users too. 2018-08-31 15:45:33 -07:00
0190_cleanup_pushdevicetoken.py notifications: Fix push notifications with multiple realms. 2018-10-10 16:15:52 -07:00
0191_realm_seat_limit.py billing: Add Realm.seat_limit. 2018-11-20 18:50:43 -08:00
0192_customprofilefieldvalue_rendered_value.py zerver: Add bugdown rendering for text custom profile fields. 2018-11-29 09:47:32 -08:00
0193_realm_email_address_visibility.py realm: Add new Realm.email_address_visibility field. 2018-12-06 15:56:30 -08:00
0194_userprofile_notification_sound.py notifications: Add a setting for changing the notification sound. 2018-12-09 21:25:30 -08:00
0195_realm_first_visible_message_id.py message: Store the value of first_visible_message_id in Realm table. 2018-12-12 15:11:17 -08:00
0196_add_realm_logo_fields.py settings: Add support for customizing the top-left logo. 2018-12-18 12:44:52 -08:00
0197_azure_active_directory_auth.py auth: Add support for Azure Active Directory authentication. 2018-12-18 16:39:03 -08:00
0198_preregistrationuser_invited_as.py invite: Rename NORMAL_USER to MEMBER of Preregistration.INVITE_AS. 2019-01-05 14:43:06 -08:00
0199_userstatus.py status: Add UserStatus model and core library for away status. 2019-01-02 09:12:03 -08:00
0200_remove_preregistrationuser_invited_as_admin.py invite: Replace `invite_as_admin` usage with `invite_as`. 2019-01-05 14:46:38 -08:00
0201_zoom_video_chat.py compose: Add support for using Zoom as the video chat provider. 2019-01-07 10:00:02 -08:00
0202_add_user_status_info.py user status: Add status_text field to the database. 2019-01-24 09:46:35 -08:00
0203_realm_message_content_allowed_in_email_notifications.py org settings: Add realm level setting for missed message content in email. 2019-01-25 14:34:10 -08:00
0204_remove_realm_billing_fields.py billing: Remove deprecated billing fields from Realm. 2019-01-31 15:12:43 -08:00
0205_remove_realmauditlog_requires_billing_update.py billing: Remove deprecated RealmAuditLog.requires_billing_update. 2019-02-01 18:49:43 -08:00
0206_stream_rendered_description.py stream-descriptions: Create wrapper for rendering stream descriptions. 2019-03-06 17:16:14 -08:00
0207_multiuseinvite_invited_as.py invites: Add backend for multiuse admin invites. 2019-02-07 15:41:00 -08:00
0208_add_realm_night_logo_fields.py settings: Add support for uploading logo for night mode. 2019-02-18 15:15:57 -08:00
0209_stream_first_message_id.py streams: Add first_message_id tracking first message in stream. 2019-03-11 13:30:49 -07:00
0209_user_profile_no_empty_password.py CVE-2019-18933: Fix insecure account creation via social authentication. 2019-11-21 10:23:37 -08:00
0210_stream_first_message_id.py streams: Add first_message_id tracking first message in stream. 2019-03-11 13:30:49 -07:00
0211_add_users_field_to_scheduled_email.py send_email: Add ScheduledEmail support for multiple recipients. 2019-03-15 11:02:12 -07:00
0212_make_stream_email_token_unique.py email_mirror: Make email_token a unique column of Stream. 2019-03-17 12:55:35 -07:00
0213_realm_digest_weekday.py models: Add a digest_weekday field to the Realm model. 2019-04-27 15:20:41 -07:00
0214_realm_invite_to_stream_policy.py settings: Create an explicit invite_to_stream_policy setting. 2019-04-29 17:11:28 -07:00
0215_realm_avatar_changes_disabled.py realm: Add setting to disable avatar changes. 2019-05-03 12:52:43 -07:00
0216_add_create_stream_policy.py settings: Migrate to create_stream_policy structure. 2019-05-06 16:27:55 -07:00
0217_migrate_create_stream_policy.py settings: Migrate to create_stream_policy structure. 2019-05-06 16:27:55 -07:00
0218_remove_create_stream_by_admins_only.py settings: Migrate to create_stream_policy structure. 2019-05-06 16:27:55 -07:00
0219_toggle_realm_digest_emails_enabled_default.py digest: Turn off digest_emails_enabled flag for realms by default. 2019-05-08 14:39:12 -07:00
0220_subscription_notification_settings.py subscriptions: Migrate notification setting defaults model. 2019-05-08 17:45:10 -07:00
0221_subscription_notifications_data_migration.py subscriptions: Migrate notification setting defaults model. 2019-05-08 17:45:10 -07:00
0222_userprofile_fluid_layout_width.py settings: Add option for fixed/fluid width. 2019-05-09 13:57:57 -07:00
0223_rename_to_is_muted.py models: Rename Subscription.in_home_view field to is_muted. 2019-05-12 22:08:10 -07:00
0224_alter_field_realm_video_chat_provider.py models: Alter video_chat_provider field type to integer. 2019-05-13 12:02:28 -07:00
0225_archived_reaction_model.py retention: Add ArchivedReaction model. 2019-05-29 16:26:11 -07:00
0226_archived_submessage_model.py retention: Add ArchivedSubMessage model. 2019-05-29 16:26:11 -07:00
0227_inline_url_embed_preview_default_off.py url preview: Turn Realm.inline_url_embed_preview off by default. 2019-05-31 15:28:32 -07:00
0228_userprofile_demote_inactive_streams.py settings: Add display setting for demoting inactive streams. 2019-06-03 23:07:56 -07:00
0229_stream_message_retention_days.py retention: Add message_retention_days field to Stream model. 2019-06-06 11:17:42 -07:00
0230_rename_to_enable_stream_audible_notifications.py models: Rename notification to `enable_stream_audible_notifications`. 2019-06-12 16:24:51 -07:00
0231_add_archive_transaction_model.py retention: Use new ArchiveTransaction model. 2019-06-26 12:05:59 -07:00
0232_make_archive_transaction_field_not_nullable.py retention: Fix migration making archive_transaction field not null. 2019-07-04 16:42:42 -07:00
0233_userprofile_avatar_hash.py ldap: Fix LDAP avatar synchronization to check if avatar has changed. 2019-07-02 17:52:48 -07:00
0234_add_external_account_custom_profile_field.py models: Add `external_account` in custom profile field types. 2019-07-09 17:21:54 -07:00
0235_userprofile_desktop_icon_count_display.py notifications: Allow only notifiable in unread count. 2019-07-13 15:49:04 -07:00
0236_remove_illegal_characters_email_full.py models: Enforce stricter requirements on the full_name field. 2019-07-22 18:13:34 -07:00
0237_rename_zulip_realm_to_zulipinternal.py production: Rename the 'zulip' system bot realm to 'zulipinternal'. 2019-07-31 16:01:36 -07:00
0238_usermessage_bigint_id.py models: Migration of UserMessage.id to bigint, part 1. 2019-08-26 21:14:15 -07:00
0239_usermessage_copy_id_to_bigint_id.py models: Migration of UserMessage.id to bigint, part 1. 2019-08-26 21:14:15 -07:00
0240_usermessage_migrate_bigint_id_into_id.py models: Migration of UserMessage.id to bigint, part 2. 2019-08-26 21:25:19 -07:00
0241_usermessage_bigint_id_migration_finalize.py models: Migration of UserMessage.id to bigint, part 2. 2019-08-26 21:25:19 -07:00
0242_fix_bot_email_property.py bots: Fix bot email addresses with EMAIL_ADDRESS_VISIBILITY_ADMINS. 2019-09-23 15:53:53 -07:00
0243_message_add_date_sent_column.py models: Migration of Message.pub_date to date_sent, part 1. 2019-10-05 19:01:34 -07:00
0244_message_copy_pub_date_to_date_sent.py models: Migration of Message.pub_date to date_sent, part 1. 2019-10-05 19:01:34 -07:00
0245_message_date_sent_finalize_part1.py models: Migration of Message.pub_date to date_sent, part 2. 2019-10-05 19:01:34 -07:00
0246_message_date_sent_finalize_part2.py models: Migration of Message.pub_date to date_sent, part 2. 2019-10-05 19:01:34 -07:00
0247_realmauditlog_event_type_to_int.py billing: Change RealmAuditLog.event_type from str to int. 2019-10-06 15:55:56 -07:00
0248_userprofile_role_start.py models: Replace is_guest and is_realm_admin with UserProfile.role. 2019-10-06 16:24:37 -07:00
0249_userprofile_role_finish.py models: Replace is_guest and is_realm_admin with UserProfile.role. 2019-10-06 16:24:37 -07:00
0250_saml_auth.py auth: Add initial SAML authentication support. 2019-10-10 15:44:34 -07:00
0251_prereg_user_add_full_name.py register: Pre-populate Name in social backend flow. 2019-11-03 16:15:48 -08:00
0252_realm_user_group_edit_policy.py settings: Add setting for who can edit user groups. 2019-11-03 16:45:13 -08:00
0253_userprofile_wildcard_mentions_notify.py settings: Add notification settings checkboxes for wildcard mentions. 2019-11-20 16:58:46 -08:00
0254_merge_0209_0253.py CVE-2019-18933: Fix insecure account creation via social authentication. 2019-11-21 10:23:37 -08:00
__init__.py