Skip to main content

v1.1.0

This is the largest GitSec release so far. GitLab joins GitHub and Bitbucket as a supported provider, restore now brings back much more than source code, and running backups and restores can be followed live from any page. Subscriptions renew automatically, checkout happens without leaving the app, and the agreements you have accepted are managed from one place.

Added​

  • GitLab support: Connect GitLab.com with OAuth, or a Self-Managed GitLab instance with its address and an access token, and back up your projects the same way you do on GitHub and Bitbucket. New projects are picked up automatically by an hourly sync, and push event backups work on GitLab too.

  • Restore beyond source code: Restores can now bring back much more than source code. What you can restore depends on the target provider:

    • GitHub: issues, releases, collaborators, and pull requests with their comments and reactions.
    • GitLab: repository metadata, issues, releases, collaborators, and merge requests with their comments.
    • Bitbucket: repository metadata, and pull requests with their comments.

    Restoring a GitHub or Bitbucket backup into GitLab carries over its pull requests, issues and releases as well. Collaborators can only be restored to the provider they were backed up from.

  • GitLab group namespaces: When you restore into GitLab, you can choose a group you can create projects in as the target namespace, not just your personal namespace.

  • Live job tracker: A Background jobs panel at the bottom of the screen follows running backups and restores step by step. It stays with you as you move between pages, shows which steps failed, and lets you cancel a run. Backup and restore steps are now reported in plain language.

  • Backup names and pins: Give a backup your own name and pin important ones so they stay in view. Backup Snapshots can be searched by name and filtered to pinned backups only.

  • Delete a backup: Delete a single backup from Backup Snapshots. Its data is removed from every storage provider and the space it used is freed. The run stays in Activity, marked as deleted. Pinned backups must be unpinned before they can be deleted.

  • Date range filters: Backup Snapshots, Restores, Activity and Audit Logs can be narrowed to a date range picked on a calendar.

  • Restore status filter: The Restores list now shows restores in every status and can be filtered by status.

  • In-app checkout: Purchases, renewals and plan changes are completed inside the app.

  • Auto-renewing subscriptions: Paid plans can renew automatically at the end of each period, and the renewal date is shown on your current plan. You can turn auto-renewal off from the Billing page at any time.

  • Renew a lapsed licence: An expired licence, or one in its grace period, can be renewed directly from the Billing or Plans page.

  • Agreements and consents: Required agreements must be accepted before the app can be used, and you are asked again when a new version is published. Each document opens in its own reader, and your acceptance is recorded against the exact version you saw. Settings → Agreements and Consents shows which documents you accepted and when, lets you manage your marketing permission, and lets you withdraw consent where a document allows it.

  • Account deletion: Delete your account from Settings → User Settings. Your personal data is anonymized and you are signed out of every session. Organization owners can close the whole organization instead.

  • Product tour: A rebuilt product tour, plus a tour for each page, available from the help menu in the top bar.

Improvements​

  • Scope lists per provider: Each provider now offers only the content it can actually back up and restore. Issues, Releases and Collaborators are no longer offered for Bitbucket, and Wiki Pages, previously shown as coming soon, has been removed from the list.
  • Source code is always included: Every backup now includes Code & Commits, because a backup without source code cannot be restored. Older backups without source code no longer appear in the restore flow.
  • Repository list: The list shows how many backup schedulers each repository has, active and total, and which repositories back up on every push. The push event settings screen has been rebuilt.
  • Billing and Plans: Billing and Plans are now separate pages under Subscription. Existing links to the old Billing & Plans page open the right page. Features outside your plan are shown as locked and lead to the upgrade flow, and Enterprise plan changes are handled by the sales team.
  • Audit log: The IP Address and Region columns have been removed from the table.
  • Storage warnings: Storage threshold notifications are sent as soon as a backup finishes, instead of at the next two-hourly check.
  • Emails: Notification and licence emails have been redesigned, and their links open the right page directly. The activation email now shows the code first, and the link still works.
  • Empty repositories: Backing up a repository with no commits now completes normally instead of failing.
  • Simpler tables: Rows across the app open their details in one shared side panel instead of expanding inline.
  • Redesigned screens: Sign-in, sign-up and the settings area have been redesigned, and the saved scheduler cards and the repository scheduler tab have been reorganized.
  • Turkish localization: Remaining English text, date formats and labels have been translated.
  • Storage regions: Storage cards now show the correct region.
  • Brand name: The app now uses the name GitSec.io everywhere.

Fixes​

  • Starting a backup or restore that is already running for the same repository now reports that it is in progress instead of failing.
  • A manual backup no longer appears twice in the job tracker.
  • A cancelled run now stays at the progress where it was cancelled, and stalled runs are no longer shown as running.
  • Runs no longer show 100% before they finish.
  • A backup that was abandoned mid-run no longer blocks the next one from starting.
  • A restore that only partly succeeds now keeps what it restored and shows which step failed, instead of discarding the whole run.
  • The backup failure email now lists which scopes failed.
  • Turkish characters in backed-up provider data are now stored correctly.
  • A revoked Bitbucket authorization is now detected correctly, and a temporary Bitbucket error no longer disconnects a working connection.
  • If freeing storage fails when a backup is deleted, the cleanup is retried the next time you delete that backup.
  • A background refresh no longer undoes a backup rename in progress.
  • A failed refresh no longer shows a success message.
  • Repository names now appear correctly in recent activity.
  • The licence cancellation and cancellation hold screens have been corrected.
  • The payment window no longer fails to open in some browsers.
  • When your session is ended on the server, including when an account is closed, the app now signs you out right away.
  • An expired password can now be changed during sign-in.
  • An invalid workspace address now opens your default workspace instead of a "page not found" error.
  • The sign-up verification link now completes activation in the tab where you registered.
  • Page switching now works in the settings and audit log tables.
  • Storage usage chart labels are no longer clipped.
  • Workspace avatars and the color picker display correctly again.
  • Externally hosted profile images now load.
  • The scrollbar no longer freezes on some lists.

Security​

  • Known vulnerabilities in third-party dependencies have been resolved.
  • The contact form now requires you to be signed in and is rate limited.