Skip to content
Tags give the ability to mark specific points in history as being important
  • build/55-public
    Spectre iOS v3.1.8, build 55 (public)
    
    FIXED
    -----
    
    - Address a rare crash under iOS 16.
    - Resolve a potential deadlock when merging in an already-existing user export.
    
    CHANGELOG
    ---------
    
     - Ensure single-threaded access to NSCache.
       [FIXED]     Multi-threaded access to NSCache may lead to corruption in Foundation.
     - Fix deadlock opportunity.
       [FIXED]     Deadlock while unlocking merge import files.
    
  • build/54-public
    Spectre iOS v3.1.7, build 54 (public)
    
    IMPROVED
    --------
    
    - Themed style improvements.
    
    FIXED
    -----
    
    - Site counter could no longer be incremented once site image appears.
    - A rare source of instability.
    
    CHANGELOG
    ---------
    
     - Default fastlane environment configuration.
       [UPDATED]   Increase reliability of fastlane by increasing Xcode retries rather than failing the build on long runs.
     - Fix password counter getting disabled when site image appears.
       [FIXED]     Site image overlays content.
     - Update Countly.
       [UPDATED]   Countly updated to official, updated ratings API.
       [ADDED]     Add anonymous owner identifier to purchases.
       [UPDATED]   Sentry bumped.
       [FIXED]     Bad string value encoding.
     - Tracker improvements.
       [IMPROVED]  Submit application metadata as tags to all sentry events for enhanced comparisons.
       [UPDATED]   Explicitly disable privacy-compromising Sentry features (which were already disabled by default).
       [UPDATED]   Enable new Sentry tracing capabilities.
       [UPDATED]   Countly SDK update & revert to the official release.
     - Style tweaks.
       [IMPROVED]  Align background of theme buttons to effective background after theme activation.
       [IMPROVED]  Bring picker button styles more in line with toggle buttons.
       [IMPROVED]  Spacing between star ratings.
     - Fix unowned references that may outlive the host.
       [FIXED]     Don't use unowned references for blocks not directly owned by the reference, especially long-lived operations.
     - Ensure remote repository is accessible and tags are up-to-date.
       [FIXED]     Fastlane process can fail if remote is not accessible or tag already exists. Fail early in this case.
    
  • build/53-public
    Spectre iOS v3.1.6, build 53 (public)
    
    ADDED
    -----
    
    - Ability to redeem offer codes.
    
    IMPROVED
    --------
    
    - Legibility improvements.
    - Application performance, reliability and memory usage.
    
    FIXED
    -----
    
    - Potential crash when duplicate items appear in the site or users list.
    - AutoFill reliability improvements.
    - Issues finding preview images for certain sites.
    - Instability caused by iOS' handling of disabled network sessions.
    
    CHANGELOG
    ---------
    
     - Fix crash when URLSession is re-used after activating offline mode.
       [FIXED]     When going into offline mode, URL sessions are invalidated but existing asynchronous tasks may yet be using them.
    
  • build/52-public
    Spectre iOS v3.1.5, build 52 (public)
    
    ADDED
    -----
    
    - Ability to redeem offer codes.
    
    IMPROVED
    --------
    
    - Legibility improvements.
    - Application performance, reliability and memory usage.
    
    FIXED
    -----
    
    - Potential crash when duplicate items appear in the site or users list.
    - AutoFill reliability improvements.
    - Issues finding preview images for certain sites.
    
    CHANGELOG
    ---------
    
     - Standardized text input content and keyboard handling.
       [IMPROVED]  Specify content type for all text input.
     - Debug and fix various issues in the properties system.
       [IMPROVED]  Output of debugging, logging and describe systems.
       [FIXED]     Edge cases in property value assignment, binding and unbinding.
     - App Store integration fixes.
       [FIXED]     Subscription analytics metadata now works when products list is not yet resolved.
       [MOVED]     Country code 3-to-2 map moved from the code into a resource.
       [FIXED]     Warning related to internal legacy product not being supported by the App Store.
       [FIXED]     Don't try to restore a subscription for non-store products.
     - Fix leaks throughout the app.
       [FIXED]     Thorough inspection and fixing of all sources of memory leaks.
     - Added leak reporting tool.
       [ADDED]     A tool for tracking and reporting on leaks in the app by shutting down the main application and replacing it with a leak report.
     - Update theme colors through trait collection.
     - Site previews reliability and display improvements.
       [UPDATED]   Migrate preview updater to DisptachTask.
       [IMPROVED]  Dbg logging is only for debugging - tracker logs trc, pii as inf during debug.
       [IMPROVED]  Error logging when resolving preview.
       [FIXED]     Preview image size was not updated.
       [FIXED]     Allow site preview lookups to fail, consider only non-failing previews.
       [FIXED]     Bad URLs cause a 1 week resource lookup time-out dead-lock; reduced to 10 min.
       [IMPROVED]  Allow multiple concurrent preview lookups.
       [FIXED]     Site preview color doesn't showing up well for Theme.color.tint.
       [FIXED]     Observations were not receiving their new values.
       [FIXED]     Trigger a site update when creating new sites.
       [UPDATED]   Allow tinted site cells in autofill.
       [FIXED]     Allow site preview lookups to fail, consider only non-failing previews.
       [FIXED]     Bad URLs cause a 1 week resource lookup time-out dead-lock; reduced to 10 min.
       [IMPROVED]  Allow multiple concurrent preview lookups.
     - Improve legibility of user name.
       [IMPROVED]  Background blur instead of shadow to improve legibility of user's full name on login screen.
     - Support for redeeming subscription offer codes.
       [ADDED]     Subscription offer code redemption.
       [ADDED]     Support for Ukrainian residents.
     - Basic async support & storefront country lookup improvements.
       [UPDATED]   Promises now support async APIs.
       [IMPROVED]  Storefront country lookup improved with iOS 15 async API.
       [MOVED]     Subscription product lookup moved into InAppSubscription.
     - Work-around for FaceID in the Simulator.
       [FIXED]     The iOS Simulator has issues saving keys to the keychain when an accessControl is present.
     - Improve logging of failures.
       [FIXED]     Some failure conditions were getting lost and not reported.
     - Reduce as much as possible view complexity for AutoFill views.
       [IMPROVED]  Memory consumption for AutoFill cells.
     - AutoFill view initialization improvement.
       [UPDATED]   Use main navigation for AutoFill as well, replacing the detail presentation.
       [IMPROVED]  Centralized AutoFill view controller management.
     - Fix interactive auto-fill failures.
       [FIXED]     Interactive auto-fill with credential was aborted early do to usersSource not being populated synchronously.
       [FIXED]     Auto-fill fails to resolve service identifiers of site variants.
       [IMPROVED]  More logging of failure causes for auto-filling.
       [ADDED]     Log all instances where Spectre sends data out (eg.  clipboard / extension).
     - Fix crash when adding duplicate items to a diffable data source.
       [FIXED]     Prevent the possibility of duplicate items entering into a diffable data source through OrderedSet sanitization.
       [FIXED]     Avoid issues caused by multiple user files with the same user name in them.
       [FIXED]     Guard against potentially duplicated site items.
     - Remove explicit XCODEBUILD_ARCHIVE when resuming Fastlane
       [IMPROVED]  Better Fastlane build resume automation.
    
  • build/51-public
    Spectre iOS v3.1.4, build 51 (public)
    
    REMOVED
    -------
    
    - In-app Freshchat integration suspended until it can stabilize.
    
    UPDATED
    -------
    
    - More efficient and smoother updating of site and user cells.
    - Rather than blocking insecure URLs, try to load them securely instead.
    - Reduced performance sampling rate.
    - Improved visual contrast against background images.
    - Proposed new sites moved to the top of the list to avoid unnecessary scrolling.
    
    FIXED
    -----
    
    - Keyboard appearance animations are now smoother.
    - Under rare circumstances, technical site metdata could find itself in the pasteboard.
    
    CHANGELOG
    ---------
    
     - Reduce background image distraction.
       [IMPROVED]  Background image opacity reduced to improve contrast and reduce distraction.
     - Reveal integration for development.
     - Bump SPM dependencies, sentry & TPInAppReceipts
     - Remove Freshchat until the dependency can stabilize.
       FreshchatSDK is not reliable right now. Needs an up-to-date SPM version.
     - Move proposed items to a dedicated section, avoid duplicate between query and proposed item.
     - UI fixes with flickering content and potential site cell animation violation.
       [FIXED]     Don't load and flicker autofill instructions when unnecessary.
       [FIXED]     Site cell transitions between new site and created site.
     - Update code style.
       [UPDATED]   Applied latest AppCode code style changes.
    
  • build/50-public
    Spectre iOS v3.1.3, build 50 (public)
    
    UPDATED
    -------
    
    - More efficient and smoother updating of site and user cells.
    - Rather than blocking insecure URLs, try to load them securely instead.
    - Reduced performance sampling rate.
    
    FIXED
    -----
    
    - Keyboard appearance animations are now smoother.
    - Under rare circumstances, technical site metdata could find itself in the pasteboard.
    
    CHANGELOG
    ---------
    
     - Guard section 0 assumptions.
       [FIXED]     Resolve potential crashes where section 0 does not yet exist in the data source by guarding on a section count.
     - Hash value should match equality determinator.
       [FIXED]     isEqual/== and hash/hashValue should match in order to respect the Hashable protocol contract.
     - Bump to 3.1 for next public release.
     - Fix keyboard animation.
       [FIXED]     Keyboard changes' animation settings were not delegated.
       [FIXED]     Keyboard callbacks are now fully animated.
     - Observer unregistration improvements.
       [FIXED]     A few missing unregistrations of observer registrations.
       [IMPROVED]  Avoid a few unnecessary unregistration/registrations.
       [IMPROVED]  Avoid unnecessary post-registration callbacks when already registered.
     - Apple Silicon build compatibility.
       [UPDATED]   Apple Silicon has a simulator arm64 & a device arm64: platforms need to be separated.
                   This should also yield smaller library binaries and faster builds (that don't include unnecessary platforms and architectures).
     - Fixes to URL handling and site name size.
       [FIXED]     URL to Spectre Community for Questions.
       [FIXED]     Scheme slash handling when converting absolute URLs into https:// URLs.
       [FIXED]     Convert all image URLs to HTTPS for increased privacy & to conform with ATS.
       [IMPROVED]  Increase font size of site cell names to callout.
     - Code format update.
       [UPDATED]   Apply code formatting rules.
     - Implement DataSource using NSDiffableDataSourceSnapshot
       [UPDATED]   More reliable data source updates through iOS 13's NSDiffableDataSourceSnapshot.
     - Move to iOS 13.
       [UPDATED]   Minimum supported iOS is now 13 to facilitate new API adoption.
     - Fix leaking preview data out via the pasteboard.
       [FIXED]     Left-over debug code caused site preview data to be placed in the pasteboard.
     - Reduce performance sampling rate.
       [UPDATED]   Performance sample only 1/10 sessions, randomizing which sessions are impacted and reducing the transaction load on Sentry.
    
  • build/49-public
    Spectre iOS v3.1.2, build 49 (public)
    
    UPDATED
    -------
    
    - More efficient and smoother updating of site and user cells.
    - Rather than blocking insecure URLs, try to load them securely instead.
    - Reduced performance sampling rate.
    
    FIXED
    -----
    
    - Keyboard appearance animations are now smoother.
    - Under rare circumstances, technical site metdata could find itself in the pasteboard.
    
    CHANGELOG
    ---------
    
     - Hash value should match equality determinator.
       [FIXED]     isEqual/== and hash/hashValue should match in order to respect the Hashable protocol contract.
     - Bump to 3.1 for next public release.
     - Fix keyboard animation.
       [FIXED]     Keyboard changes' animation settings were not delegated.
       [FIXED]     Keyboard callbacks are now fully animated.
     - Observer unregistration improvements.
       [FIXED]     A few missing unregistrations of observer registrations.
       [IMPROVED]  Avoid a few unnecessary unregistration/registrations.
       [IMPROVED]  Avoid unnecessary post-registration callbacks when already registered.
     - Apple Silicon build compatibility.
       [UPDATED]   Apple Silicon has a simulator arm64 & a device arm64: platforms need to be separated.
                   This should also yield smaller library binaries and faster builds (that don't include unnecessary platforms and architectures).
     - Fixes to URL handling and site name size.
       [FIXED]     URL to Spectre Community for Questions.
       [FIXED]     Scheme slash handling when converting absolute URLs into https:// URLs.
       [FIXED]     Convert all image URLs to HTTPS for increased privacy & to conform with ATS.
       [IMPROVED]  Increase font size of site cell names to callout.
     - Code format update.
       [UPDATED]   Apply code formatting rules.
     - Implement DataSource using NSDiffableDataSourceSnapshot
       [UPDATED]   More reliable data source updates through iOS 13's NSDiffableDataSourceSnapshot.
     - Move to iOS 13.
       [UPDATED]   Minimum supported iOS is now 13 to facilitate new API adoption.
     - Fix leaking preview data out via the pasteboard.
       [FIXED]     Left-over debug code caused site preview data to be placed in the pasteboard.
     - Reduce performance sampling rate.
       [UPDATED]   Performance sample only 1/10 sessions, randomizing which sessions are impacted and reducing the transaction load on Sentry.
    
  • build/48-beta
    Spectre iOS v3.1.1, build 48 (beta)
    
    FIXED
    -----
    
    - A potential crash on the Premium subscription screen.
    
    CHANGELOG
    ---------
    
     - Hash value should match equality determinator.
       [FIXED]     isEqual/== and hash/hashValue should match in order to respect the Hashable protocol contract.
    
  • build/47-beta
    Spectre iOS v3.1.0, build 47 (beta)
    
    UPDATED
    -------
    
    - More efficient and smoother updating of site and user cells.
    - Rather than blocking insecure URLs, try to load them securely instead.
    - Reduced performance sampling rate.
    
    FIXED
    -----
    
    - Keyboard appearance animations are now smoother.
    - Under rare circumstances, technical site metdata could find itself in the pasteboard.
    
    CHANGELOG
    ---------
    
     - Bump to 3.1 for next public release.
     - Fix keyboard animation.
       [FIXED]     Keyboard changes' animation settings were not delegated.
       [FIXED]     Keyboard callbacks are now fully animated.
     - Observer unregistration improvements.
       [FIXED]     A few missing unregistrations of observer registrations.
       [IMPROVED]  Avoid a few unnecessary unregistration/registrations.
       [IMPROVED]  Avoid unnecessary post-registration callbacks when already registered.
     - Apple Silicon build compatibility.
       [UPDATED]   Apple Silicon has a simulator arm64 & a device arm64: platforms need to be separated.
                   This should also yield smaller library binaries and faster builds (that don't include unnecessary platforms and architectures).
     - Fixes to URL handling and site name size.
       [FIXED]     URL to Spectre Community for Questions.
       [FIXED]     Scheme slash handling when converting absolute URLs into https:// URLs.
       [FIXED]     Convert all image URLs to HTTPS for increased privacy & to conform with ATS.
       [IMPROVED]  Increase font size of site cell names to callout.
     - Code format update.
       [UPDATED]   Apply code formatting rules.
     - Implement DataSource using NSDiffableDataSourceSnapshot
       [UPDATED]   More reliable data source updates through iOS 13's NSDiffableDataSourceSnapshot.
     - Move to iOS 13.
       [UPDATED]   Minimum supported iOS is now 13 to facilitate new API adoption.
     - Fix leaking preview data out via the pasteboard.
       [FIXED]     Left-over debug code caused site preview data to be placed in the pasteboard.
     - Reduce performance sampling rate.
       [UPDATED]   Performance sample only 1/10 sessions, randomizing which sessions are impacted and reducing the transaction load on Sentry.
    
  • build/46-public
    Spectre iOS v3.0.6, build 46 (public)
    
    ADDED
    -----
    
    - Ability to use some themes even without a premium subscription.
    
    UPDATED
    -------
    
    - Hide rating control on main screen after it's been submitted.
    
    FIXED
    -----
    
    - Some elements were not updated when switching between light/dark mode.
    
    CHANGELOG
    ---------
    
     - Fix shadow color in device native theme.
       [FIXED]     Device native shadow color didn't adjust to appearance changes.
     - Improve adoption of theme/appearance.
       [FIXED]     Some places did not update their appearance after the theme or device appearance changes.
     - Make some themes available outside of premium.
       [UPDATED]   Themes can now be selectively enabled for premium or free.
       [UPDATED]   The device native theme is now available outside of the premium subscription.
       [UPDATED]   The device native theme now adopts the higher contrast ratio of the other themes.
     - Hide rating if previously submitted.
    
  • build/45-public
    Spectre iOS v3.0.5, build 45 (public)
    
    UPDATED
    -------
    
    - Improvements with resolution of quality site preview images.
    
    FIXED
    -----
    
    - A regression that could cause a crash when logging out.
    - Triggering the primary site cell action for new sites.
    
    CHANGELOG
    ---------
    
     - Check www variants of sites for preview images & bump SwiftLinkPreview.
       [ADDED]     Check a site's www website variant for images to improve image candidates.
       [UPDATED]   Bump SwiftLinkPreview for baseURL detection and bumping its swift language support.
     - Trigger primary action on new site cells.
       [FIXED]     Primary action not triggered on new site cells.
     - Allow resuming Fastlane selectively post-mortem.
       [UPDATED]   Cut up Fastlane to allow for easy resuming of the process if it is aborted midway somehow.
    
  • build/44-public
    Spectre iOS v3.0.4, build 44 (public)
    
    ADDED
    -----
    
    - Ability for users to report feedback on the application and their experience.
    - Selected site cells now trigger their primary action more easily by simply tapping the cell.
    
    FIXED
    -----
    
    - Font issues in AutoFill.
    
    CHANGELOG
    ---------
    
     - Fix Poppins font access in AutoFill.
       [FIXED]     Regression causing Poppins to no longer be available in AutoFill.
     - Trigger primary action when tapping selected cell.
       [UPDATED]   Selected cells now trigger the primary cell action when tapped for easy access to it.
     - Replace dot with underscore for custom segment keys.
       [UPDATED]   Countly doesn't handle dots in keys well, stripping them out.
     - Source usage feedback from users.
       [ADDED]     Ability to submit feedback on your experience in the app & submit app reviews.
     - Update marketing version when bumping project version.
       [UPDATED]   When build version is bumped, also update marketing version.
                   Switched to new fastlane versioning plugin which doesn't rely on agvtool, since it hasn't been updated with support for MARKETING_VERSION in Xcode build settings.
    
  • build/43-public
    4480e559 · Bump Sentry dependency. ·
    Spectre iOS v3.0.3, build 43 (public)
    
    FIXED
    -----
    
    - Legibility issues with variable-fonts.
    - Legibility issues with highlighted text.
    
    CHANGELOG
    ---------
    
     - Bump Sentry dependency.
     - Bump public version.
     - Use a sane background color for query selection.
       [FIXED]     Red background on query highlight is terrible for readability; use our selection tint instead.
     - Try to fix extremely light poppins fonts.
       [FIXED]     Some devices are rendering Poppins extremely lightly. I'm unsure why, but the VF might be the issue, so replacing it with standard fonts.
    
  • build/42-public
    Spectre iOS v3.0.2, build 42 (public)
    
    ADDED
    -----
    
    - Show tips on how to create a good personal secret for your Spectre user.
    
    UPDATED
    -------
    
    - Restore purchases made in Master Password when migrating.
    
    FIXED
    -----
    
    - Missing backdrop shadow to improve contrast on user name when making a new user.
    
    CHANGELOG
    ---------
    
     - Specialize feature availability by individual features.
    
  • build/41-public
    Spectre iOS v3.0.2, build 41 (public)
    
    ADDED
    -----
    
    - Show tips on how to create a good personal secret for your Spectre user.
    
    UPDATED
    -------
    
    - Restore purchases made in Master Password when migrating.
    
    FIXED
    -----
    
    - Missing backdrop shadow to improve contrast on user name when making a new user.
    
    CHANGELOG
    ---------
    
     - Bump marketing version for new public release.
     - Bump TPInAppReceipt.
     - Spectre assets are now split between personal and enterprise.
     - Tips for a good personal secret.
       [ADDED]     Tips for composing a good new personal secret.
     - Toggle premium testing through dedicated configurable.
       [UPDATED]   Testing Premium now has to happen through a dedicated toggle since we need to enable not just the premium feature but also all other features brought in by the premium subscription.
     - Remove Stacksift since it is ceasing operations.
       [UPDATED]   Remove pointers from error messages to allow them to collate.
     - Instate all former Master Password features for legacy users.
       [UPDATED]   Legacy Master Password customers can continue to use Master Password-only features.
    
  • build/40-public
    Spectre iOS v3.0.1, build 40 (public)
    
    ADDED
    -----
    
    - New Spectre logo featuring the Spectre ghost!
    - Copyright and trademark notice.
    
    UPDATED
    -------
    
    - Tint updated to match the new logo.
    
    CHANGELOG
    ---------
    
     - Updated logo to Spectre ghost.
       [UPDATED]   Adopted the Spectre ghost logo.
       [UPDATED]   Switched tint to dusk/dawn to match logo.
       [FIXED]     Shadow behind user name in signin screen to increase contrast between text and (avatar) tint.
       [FIXED]     Wrapping in some tips.
     - Copyright and trademark registration notice.
       [ADDED]     Notice on copyright and trademark registration.
     - Describe build in app details.
       [ADDED]     Information on the environment that the build was designed for.
     - Fastlane fixes.
       [FIXED]     A few syntax issues in the updated Fastlane file.
     - Track premium subscription purchase metrics.
       [ADDED]     Metrics to track App Store purchases such as Premium subscription.
     - Fix tracking of entropy values.
       [FIXED]     Entropy metrics got lost due to password field being cleared early.
       [UPDATED]   Allow nil parameters, which cause the key to be omitted.
       [UPDATED]   Simplify some metrics code.
     - Open site URLs in the user's default browser.
       [UPDATED]   Open sites in the user's browser instead of in-app.
                   We don't want to become responsible for being able to render the entire internet.
     - Expose error description in error message.
       [UPDATED]   Allow error description to be exposed in the error/warning level events to improve their exposure for debugging.
                   The localized error description should be free of PII.
     - AutoFill suggestion improvements.
       [ADDED]     When using autofill from a site, record its URL if the site has no URL set yet.
       [UPDATED]   Update users in the app when the app foregrounds in case the extension changed the data.
       [UPDATED]   Expose site URLs as URL type identities to the credentials store.
       [ADDED]     Update AutoFill credentials when extension is enabled.
       [FIXED]     Correctly parse out site URL when deriving autofill identities from user metadata.
       [IMPROVED]  Semaphore for locking access to the credentials store.
     - Update users when AutoFill appears.
       [FIXED]     Reload users when any users UI appears, in case users have changed.
                   Fixes: AutoFill UI not updating when user turns off autofill.
     - Don't scroll to non-existing items.
       [FIXED]     Don't request scrolling to an item that doesn't exist yet.
     - Finalize Sentry releases.
       [FIXED]     Sentry releases don't seem to get finalized reliably when created, so use the dedicated finalize command.
     - Survive build notes for failed releases.
       [UPDATED]   Allow notes.md to survive partially when releases fail and new commits are made.
     - Adopt full major.minor.patch version name.
       [UPDATED]   Added a patch version number. This allows us to keep the minor release train active after a version has been approved for release (but not yet released).
                   Fixes: The value for key CFBundleShortVersionString [3.0] in the Info.plist file must contain a higher version than that of the previously approved version [3.0].
     - Build updates.
       [FIXED]     Project updates after dependency updates.
     - Push commits and tags before creating Sentry releases.
       [UPDATED]   Ensure code is pushed to GIT remote before creating Sentry releases since they rely on accessing the commits from GitLab.
     - Fix set-commits base.
       [FIXED]     Associate commits since last release in any stream, not just current stream, to avoid duplicating commit assignments across releases.
     - Package update for Countly and TPInAppReceipt.
       [UPDATED]   Countly to 20.11.3.
       [UPDATED]   TPInAppReceipt to 3.3.0.
     - Sentry release management.
       [ADDED]     Create, assign commits to, and deploy Sentry releases.
     - Update Sentry.
       [UPDATED]   Sentry updated, adding async stack stitching and performance tracing.
     - Bump Sentry event level to fatal.
       [UPDATED]   Don't upload non-fatal issues to Sentry. Log them as breadcrumbs instead. They aren't useful.
     - Sanitize selection paths.
       [FIXED]     Ensure all requested selection paths are actually available, to avoid selecting invalid paths as a result of races.
    
  • build/39-beta
    8985b9fc · Fastlane fixes. ·
    Spectre iOS v3.0.1, build 39 (beta)
    
    UPDATED
    -------
    
    - Sites opened from within the app now use the device's default browser.
    - Metrics for premium subscriptions.
    
    FIXED
    -----
    
    - Crash on iOS 15 when a race condition occurs during collection selection.
    - Reliability of AutoFill suggestions.
    
    CHANGELOG
    ---------
    
     - Fastlane fixes.
       [FIXED]     A few syntax issues in the updated Fastlane file.
     - Track premium subscription purchase metrics.
       [ADDED]     Metrics to track App Store purchases such as Premium subscription.
     - Fix tracking of entropy values.
       [FIXED]     Entropy metrics got lost due to password field being cleared early.
       [UPDATED]   Allow nil parameters, which cause the key to be omitted.
       [UPDATED]   Simplify some metrics code.
     - Open site URLs in the user's default browser.
       [UPDATED]   Open sites in the user's browser instead of in-app.
                   We don't want to become responsible for being able to render the entire internet.
     - Expose error description in error message.
       [UPDATED]   Allow error description to be exposed in the error/warning level events to improve their exposure for debugging.
                   The localized error description should be free of PII.
     - AutoFill suggestion improvements.
       [ADDED]     When using autofill from a site, record its URL if the site has no URL set yet.
       [UPDATED]   Update users in the app when the app foregrounds in case the extension changed the data.
       [UPDATED]   Expose site URLs as URL type identities to the credentials store.
       [ADDED]     Update AutoFill credentials when extension is enabled.
       [FIXED]     Correctly parse out site URL when deriving autofill identities from user metadata.
       [IMPROVED]  Semaphore for locking access to the credentials store.
     - Update users when AutoFill appears.
       [FIXED]     Reload users when any users UI appears, in case users have changed.
                   Fixes: AutoFill UI not updating when user turns off autofill.
     - Don't scroll to non-existing items.
       [FIXED]     Don't request scrolling to an item that doesn't exist yet.
     - Finalize Sentry releases.
       [FIXED]     Sentry releases don't seem to get finalized reliably when created, so use the dedicated finalize command.
     - Survive build notes for failed releases.
       [UPDATED]   Allow notes.md to survive partially when releases fail and new commits are made.
    
  • build/38-beta
    Spectre iOS v3.0.1, build 38 (beta)
    
    ADDED
    -----
    
    - End-user license agreement.
    
    UPDATED
    -------
    
    - Reduce diagnostic events down to those that meet the fatal threshold only.
    - Monitor application performance metrics.
    
    FIXED
    -----
    
    - Crash on iOS 15 when a race condition occurs during collection selection.
    
    CHANGELOG
    ---------
    
     - Adopt full major.minor.patch version name.
       [UPDATED]   Added a patch version number. This allows us to keep the minor release train active after a version has been approved for release (but not yet released).
                   Fixes: The value for key CFBundleShortVersionString [3.0] in the Info.plist file must contain a higher version than that of the previously approved version [3.0].
     - Build updates.
       [FIXED]     Project updates after dependency updates.
     - Push commits and tags before creating Sentry releases.
       [UPDATED]   Ensure code is pushed to GIT remote before creating Sentry releases since they rely on accessing the commits from GitLab.
     - Fix set-commits base.
       [FIXED]     Associate commits since last release in any stream, not just current stream, to avoid duplicating commit assignments across releases.
     - Package update for Countly and TPInAppReceipt.
       [UPDATED]   Countly to 20.11.3.
       [UPDATED]   TPInAppReceipt to 3.3.0.
     - Sentry release management.
       [ADDED]     Create, assign commits to, and deploy Sentry releases.
     - Update Sentry.
       [UPDATED]   Sentry updated, adding async stack stitching and performance tracing.
     - Bump Sentry event level to fatal.
       [UPDATED]   Don't upload non-fatal issues to Sentry. Log them as breadcrumbs instead. They aren't useful.
     - Sanitize selection paths.
       [FIXED]     Ensure all requested selection paths are actually available, to avoid selecting invalid paths as a result of races.
     - End-user license agreement.
       [ADDED]     The end-user license agreement governing the use of the application.
     - Guard non-public features.
       [REMOVED]   Guard any code that uses non-public APIs for sandbox subscription/premium override.
     - Beta lane now also used for public releases.
     - Prepare for public release.
       [ADDED]     Public release stream.
    
  • build/37-public
    Spectre iOS v3.0, build 37 (public)
    
    ADDED
    -----
    
    - End-user license agreement.
    
    CHANGELOG
    ---------
    
     - End-user license agreement.
       [ADDED]     The end-user license agreement governing the use of the application.
    
  • build/36-public
    Spectre iOS v3.0, build 36 (public)
    
    ADDED
    -----
    
    - AutoFill allows users to access their Spectre credentials from outside of the Spectre app, without needing to rely on copy-pasting passwords and/or login names.
    - Incognito mode allows full access to the entire feature suite without the need for persisting any state or leaving any trace.
    - A new user interface completely rethinks and modernizes the user-experience; aiming to be simple, fresh and friendly, while providing a platform for new capabilities yet to come.