Skip to content

v2.0.0

Compare
Choose a tag to compare
@RohanNagar RohanNagar released this 20 Aug 02:58
· 1766 commits to master since this release

✳️ Added

  • Property Validation

    Additional properties defined in the User JSON can be validated on POST and PUT. Simply define the properties in the configuration, and they will be automatically validated. To disable validation, do not include properties in the configuration.

    Example:

    properties:
      - name: myFirstProperty
        type: string
      - name: mySecondProperty
        type: list

    Supported property types are: string, integer, double, boolean, list, and map.

  • Optionally Disable Email Verification

    You can now disable email verification if you don't want the endpoints to be active. Simply set the enabled option to false:

    email:
      enabled: false
  • More Email Configuration Options

    Use your own HTML pages or email message bodies, or use a custom subject line! Default ones are provided, but you can specify your own:

    email:
      messageOptions:
        subject: Welcome to My App
        bodyHtmlFilePath: /path/to/verification.html
        bodyTextFilePath: /path/to/verification.txt
        urlPlaceholderString: PLACEHOLDER
        successHtmlFilePath: /path/to/success.html

    On each POST /verify request, a verification URL will be generated for the specific user and a String replacement will replace the urlPlaceholderString with the correct URL before sending the message. The default placeholder string is CODEGEN-URL.

  • Documentation on How to Get Started with HTTPS

✴️ Changed

  • ⚠️ PilotUser has been renamed to User

  • ⚠️ The user object now has an expandable map of properties, so the user JSON is no longer confined to what is defined in the code.

    Example of new User object:

    {
      "email" : {
        "address" : "test@test.com",
        "verified" : "true",
        "verificationToken" : "hashToken"
      },
      "password" : "12345",
      "properties" : {
        "stringProperty" : "myUserObject",
        "integerProperty": 1000,
        "listsWorkToo": ["hello", "world"]
      }
    }

    This applies to ALL /user methods: GET, POST, PUT, DELETE and ALL /verify methods: GET, POST

  • ⚠️ All configuration options that used hyphens now are camel-case. For example, table-name has become tableName

  • ⚠️ The ses configuration object has been renamed to email

  • ⚠️ The dynamo configuration object has been renamed to database

  • ⚠️ The package name for the api, application, and client have changed from com.sanction.thunder to com.sanctionco.thunder

⚛ Fixed

  • POST /verify now correctly checks for a matching user password in the request header before sending the email.

☕ Client

  • ⚠️ PilotUser renamed to User and object definition changed. See the Changed section above for more information.

➡️ DevOps

  • New logo!
  • Enforce Javadoc on class definitions
  • Switch to Codecov for coverage reports
  • A new integration test format, more thorough tests, and integration tests against the Docker image
  • Maven release build adds Javadoc, sources, and GPG signatures

Dependency Upgrades

  • aws-java-sdk 1.11.311 -> 1.11.385
  • checkstyle 8.9 -> 8.12
  • dagger 2.15 -> 2.17
  • dropwizard 1.3.1 -> 1.3.5
  • jackson-api 2.9.5 -> 2.9.6
  • junit 4.12 -> 5.2.0
  • maven-compiler-plugin 3.7.0 -> 3.8.0
  • maven-shade-plugin 2.3 -> 3.1.1
  • maven-surefire-plugin 2.21.0 -> 2.22.0
  • mockito 2.18.0 -> 2.21.0
  • thunder-client 0.1.0 -> 0.2.0
  • Node.js (DevOps) Dependencies:
    • async 2.6.0 -> 2.6.1
    • aws-sdk 2.238.1 -> 2.291.0
    • eslint 4.19.1 -> 5.3.0