Skip to content

Build Notes

Chris Downie edited this page Nov 3, 2017 · 10 revisions

Curious what's changed between each build? Each Release? These are the detailed notes for each numbered build of the iOS wallet app.

Developing: 2.2.0

Build 112

Debug flag removed from settings menu.

Build 111

Logging for additional screens added: add issuer, add certificate, view certificate. Debug flag enabled.

Build 110

  • Improved error logging for add issuer errors
  • Adds a special error when the add issuer fails due to an invalid nonce.

Build 109

First build with self-logging functionality. Added action in Settings to share a log file with someone.

Build 108

Fixes the underlying decoder bugs that surfaced in build 107. This has issuing estimates support with no known issues.

Build 107

This has early support for Issuing Estimates. Verifying some mainnet certificates will fail with "Invalid public key" error message -- this is known and caught in tests.

Released: 2.1.1

Build 106

  • Fixed an issue with double-web-auth test caused by the last fix.

Build 105

  • Fixed a bug where clicking on a universal link before going through the onboarding flow would assume a passphrase for you and auto-submit a public key. Now we let you finish onboarding, then add the issuer.

Build 104

  • Fixes a constraint issue that caused the bottom tab bar to appear too low on an iPhone X display.

Released: 2.1.0

Build 103

Adds in the App Store icon to the binary asset catalog. This fixes a warning during app archive & submission.

Build 102

Merges all the xcode9 code into master. This should have no actual code changes from build 101.

Build 101

Fixed an issue where testnet certificates issued to main net addresses wouldn't fail validation during the chain assertion. All testnet certificates should now fail with an understandable message.

Build 100

Fixes JSON-LD fallback code so that if a schema is missing from our cache, it can still be downloaded from the internet

Build 99

Fixes a hanging issue where if you tried to deep link into a web-auth flow while you were already in a web-auth flow the add issuer screen would be stuck at the loading spinner.

Build 98

  • First testable release with Codable models (certificates, issuers, etc)
  • First testable release with UI tests starting in known good state
  • Fixes #642

Released: 2.0.6

Build 97

Fixed an issue with keychain initialization

Build 96

Attempt to fix an issue with keychain initialization

Released: 2.0.5

Build 95

Second attempt to fix an issue with verification failing during JSON-LD normalization.

Build 94

Fixes an issue with v2a certificates hanging during verification.

Released: 2.0.4

Build 93 - Released as 2.0.4

Fixes an issue where metadata wasn't being displayed for v2 and v2a certificates.

Build 92

Fixed an issue where issuers may see their image repeat with "missing issuer" when the issuer list loads.

Build 91

Fixed an issue preventing some issuers from loading (& some certificates from verifying.

Build 90

Minor fix for a new Issuer protocol conformance bug.

Build 88, 89

88 was never released. 89 includes a fix for multiple schema urls for the v2-alpha certificate standard.

Build 87

Pre-release. Disables debug options.

Build 86

Added support for the v2 issuer format introduced with the final v2 Blockcerts standard.

Build 85

First build with experimental support for v2.0 issuers & certificates.

Released: 2.0.3

Build 84 - Released as 2.0.3

Adds cached validation context for v2.0-alpha certificates.

Build 82, 83

Updates deep linking to support wallet.blockcerts.org domains.

Released: 2.0.2

Build 81

Fixes a bug with supporting verification ofv2.0-alpha certificates

Build 80

Small bug fix for adding an already existing issuer.

Released: 2.0.1

Build 79

  • Removes the debug actions from the settings menu

Build 78

  • Line beneath nav bar added.
  • Add button on issuers now just adds issuers.
  • Add button is now on the Issuer's screen, in place of the delete button. This adds certificates
  • Proper support of url/guid IDs with optional URL sharing
  • Additional CSS added to htmlDisplay-enabled certificates.
  • Introduction failure now prevents the issuer from being added to the issuer screen.

Build 77

  • Supports issuer-directed analytics.

Build 73 - 76

Note: There were iTunes Connect issues preventing these builds from going out, so the build number was bumped a number of times to try and get it to reprocess.

  • Sample issuer is now hidden by default. You'll have to delete the issuer or clean install the app to have it go away. It can still be restored with a switch in settings
  • New empty state for the Issuer collection view that comes with a giant add issuer button
  • Enter on the "restore passphrase" view now submits the text. Still haven't fixed a scroll issue on that screen though.
  • Adds custom CSS to the certificate display

Build 72

  • Updated spacing & colors on the onboarding flow
  • Both input screens are now scrollable.
  • Onboarding flow now works in landscape
  • There's a self-destruct button in the settings menu that will delete your private key so you can see the onboarding flow. It's dangerous, but useful for testing.

Build 71

Never released

Build 70

Adds a rough cut of our on boarding flow. You need to delete & reinstall the app in order to destroy the passphrase on device. The on boarding flow will show up on launch when there's no passphrase present on device.

Build 69

Fixes connection dropping bug that prevented the happy path from working in recipient SSO.

Build 68

First build with web auth (SSO/SAML) support.

Build 67

  • Fixes a bug which prevented issuers from being added
  • Updates the app icon again
  • Refines the colors in the add issuer view and metadata view

Build 66

  • Updates the app icon
  • Supports v1 and v2 issuer format.

Build 65

  • Moves over to the open source app!
  • New coat of paint everywhere
  • New app icon

Build 64

  • Preliminary rendering of custom HTML

Released: 1.3.1

Build 63

  • Strong ownership switch added

Build 62

  • Supports additional metadata types: integer, singleEnum, and multipleEnum
  • Fixes a display issue where long text wasn't scrollable in the metadatum view.

Build 61

Adds ability to view urls and long-form string metadata values by tapping on them.

Build 60 - Released as 1.3.0

Another small dependency update.

Build 59

Dependency update, pulling in new metadata parser types from the open source.

Build 58

Updates the metadata content in the sample certificate.

Build 57

  • Style updates to the metadata page
  • Fixes #270 where you would see duplicates of the same certificate if you imported it multiple times
  • Adds an alert prompt when importing an invalid certificate.

Build 56

  • Metadata is now present in the app! 🎉

Build 55

  • Addresses new warnings in Xcode 8.3
  • Removes Google Analytics entirely
  • Adds the shell of a Certificates Metadata display. This replaces the "delete" button on the certificate -- delete is now contained in the Metadata display.

Released: 1.2.1

Build 54

Marketing version rename. No code changes.

Build 53

Fixes a few issues with how we were reporting to LM Analytics:

  • We now report the key as the Certificate's assertion UID instead of its ID
  • We now use 'verified' instead of 'validated' for the validation action.

Build 52

Fixes a crash introduced in build 51. Whoops

Build 51

Show more detailed error messages when adding an issuer fails.

Build 50

Begin recording analytics to the LM Analytics API.

Released: 1.2.0

Build 49 - released as 1.2.0

Now we drop you directly into the certificate view when you add a certificate to the wallet.

Build 48

Updates the Add Issuer loading overlay to be opaque.

Build 47

Fixes bug from build 46 that was using the wrong certificate property for sharing via URL.

Build 46

Adds disambiguation prompt to let users share URLs for certificates

Build 45

  • Updates the Issuer logo, certificate seal, and certificate description in the sample certificate
  • Minor display fix for the certificate renderer.

Build 44

Not released

Build 43

Minor content updates to the sample certificate.

Released: 1.1.2

Build 42 - released as 1.1.2

Disables & hides the sample certificate so we can submit a new build with bug fixes & updated screenshots.

Build 41

  • Fixes a bug where our "2-column layout" would render at landscape width, making it a giant 1-column issuer collection view on portrait displays
  • We now have embedded a sample certificate. This is the Game of Thrones one as a proof of concept -- the content will change before we submit.
    • To see the certificate you shouldn't need to do anything. It'll appear on device by default.
    • If you delete the certificate that's fine. It should look like it's gone from the device forever.
    • To restore the sample certificate you can open the new Certificates section in the Settings app. There will be a toggle to restore it.

Build 40

Fixes date parsing problem where some issuers were unable to be added. details in this ticket

Build 39

Adds privacy policy menu in settings.

Released: 1.1.1

Build 38

Changes layout to have standard margins & to dynamically resize to proper 2-column width based on screen size.

Build 36 & 37

Attempt to build a fixed-size card layout that would work well in 2 columns on both screens.

Build 35

  • Updates to the RenderedCertificateView -- icons are now in the right place and the divider between the signature and the signature's title is gone.
  • Copy updates after complete review by Natalie.
  • Special error message when trying to validate a testnet certificate.

Build 34

Updates the associated domains so universal links work from stage-certificates.learningmachine.io and certificates.learningmachine.com

Build 33

  • Adds another pseudolocalization, Arabic, to test right-to-left displays.
  • Resets the address generation to be back on main net. boom.

Build 32

  • Fixes a small bug in the internationalization work where we weren't showing the issuer name.
  • Only issues one testnet address, for demo purposes.

Build 31

  • Finishes all work on internationalization
  • Uses a pseudolocalization as the French localization. If you switch your OS to French, you'll see a bunch of accented & double-wide strings.

Released: 1.0.1

Build 30

Just undoes the new color scheme. Back to green on all screens.

Build 29

Adds a transition of color where the nav goes from white text on green to green on white. It looks way better, btw.

Build 28

  • Fixes a bug where adding an existing issuer showed duplicates on the issuer screen. This also had a number of non-visual changes to the build. Removing old code, adding tests, etc.

Released: 1.0.0

Build 27

No visual changes. Entitlements were updated to add Push Notifications, which is only needed because the installed Google Analytics packages uses those libraries.

Build 26

  • Adds replace passphrase flow.
  • Validates the passphrase & authenticates the user before changing the passphrase.
  • Feature complete!

Build 25

  • Settings button is re-enabled. It now shows actions for revealing & replacing the passphrase.
  • Replacing the passphrase isn't implemented yet though. Don't tap that.
  • Revealing does local authentication before showing the user. It also gives them the option to auth on-screen.
  • If you authenticate correctly, then you can see the passphrase! And you can copy it.

Build 24

  • Color update! It's super shiny!
  • Uses the new, flatter rendering for the open source certificate display.

Build 23

  • Removes email & names from the add issuer form
  • Spacing updates to the empty content views

Build 22

  • Added Google Analytics tracking for key Certificate events.
  • Adds support for the new universal link formats.
  • A lot of cleanup on our pod file, since it was still referencing an app called wallet and not Certificates.

Build 21

  • Tiles in the main Issuers screen have been reworked. They don't have a shadow, they have a border, and they're a different size to match the latest designs.
  • Icons in the main Issuers screen have been updated to reflect the latest designs.
  • Certificates header in the Issuer screen has been made smaller and given a color-changing bottom border.
  • Validation now shows progress on the Certificate screen.

Build 20

  • You can now open JSON files. This has a few side effects.
    • You can now import JSON files from email attachments
    • You can "Import to Certificates" from our open-source app
  • "Back" text resurfaced on the certificate details page -- it's been removed.
  • Ability to delete an issuer had disappeared -- it's been restored.

Build 19

  • Issuer screen completely reworked again
    • Top section isn't scrollable anymore.
    • Colors & spacing for the table of certificate names updates
    • Also added empty state to the bottom certificate table view.
  • Updated empty state for the main screen.

Build 18

  • Issuer screen completely reworked
    • No longer displays debug data with timestamps
    • Shows a description, if available.
    • Certificate list and header font changed
    • Special content for no certificates
    • You can now delete issuers, but only if you have no certificates
  • Deleting a certificate has moved. It's now on the certificate detail view, in the bottom right corner.
  • Minor color updates to the add issuer field.

Build 17

  • New "add first issuer" button if we don't yet have an issuer
  • Updated fonts, colors, and layouts for the add issuer form.

Build 16

  • New float-label-pattern input text fields.
  • Account menu hidden -- this is under construction.
  • Add issuer form asks for identifying info now.
  • Translucency removed from top nav so the color would be brighter.

Build 15

  • Fixes scroll region for certificates.
  • Adds branding to the issuer collection view.

Build 14

  • Consumes 1.2 changes from the open source. We now support the updated 1.2 schema.

Build 13

  • You can now dismiss the add issuer prompt
  • Certificate layout has been updated to include single signatures. The model has been updated to handle multiple -- the next build will likely display multiple titled signatures.

Build 12

  • Sharing has been updated, so it properly shares the whole certificate file.
  • Validation has been re-enabled with a basic modal on success/failure
  • Gravatar has been removed from the account page
  • You can import a pass phrase from another wallet.
  • To view the wallet's secret passphrase, you have to pass an authentication check.

Build 11

This adds in the ability to use a Universal link to import a certificate from a URL.

Build 10

This introduces Universal Link support. It's proof-of-concept level, so there's not a good UX for errors yet, and the exact links supported are subject to change. But try it out!

  1. Open the app.
  2. Make sure you've got a name & email address entered in the account screen.
  3. Go to Safari. Open this link: https://auto-certificates.learningmachine.io/demourl?identificationURL=http://54.173.172.67/identity/issuer/the-issuer.json&nonce=12345
  4. Scroll up & tap the "open" button in the top right to open in-app.

This kicks off the issuer identification & introduction flow and should auto-dismiss once complete. You'll see the issuer in the main view once it's complete.