Skip to content

v1.4.0

Compare
Choose a tag to compare
@samuelthomas2774 samuelthomas2774 released this 24 Aug 20:34
· 349 commits to main since this release
v1.4.0
89ce793
  • Add friend code lookup and friend requests to the Electron app
    Screenshot 2022-08-13 at 00 26 25 3
  • Fixed authenticating to the Nintendo Switch Online app API (#17)
    • Nintendo updated the API on 23/08/2022 to properly validate the timestamp parameter sent in authentication requests. This change affects all software that authenticates to Nintendo's API automatically and requires an update to all clients and f parameter generation APIs. More information.
    • Due to this change the flapg API is no longer supported immediately. It can still be used, however until it is updated authentication may not work reliably.
  • Changed the default API for Coral client authentication to the imink API
    • This also applies to v1.3.0, unless remote configuration is disabled.
    • The splatnet2statink and flapg APIs can still be used by setting the NXAPI_ZNCA_API environment variable to flapg, however the splatnet2statink API is deprecated and scheduled to be shut down by the end of 2022.
  • Update Discord title configuration
  • Friends last online timestamp now appears as a relative timestamp ("1 hour ago") and also appear in the friends list
  • Update NookLink version
    • Nintendo doesn't check this anyway, but this is now also fetched from my server so can be updated remotely.
  • [Breaking change] When creating a NooklinkApi or NooklinkUserApi object, a helper function should be used instead of calling the constructor directly
    • This matches the changes in v1.3.0 for CoralApi, MoonApi and SplatNet2Api, and is to prevent future updates breaking anything.
    • Added NooklinkApi.createWithSavedToken(data: NooklinkAuthData), which takes the data object returned by NooklinkApi.createWithCoral, NooklinkApi.loginWithCoral and NooklinkApi.loginWithWebServiceToken.
    • Added NooklinkUserApi.createWithSavedToken(data: NooklinkUserAuthData), which takes the data object returned by NooklinkApi.createUserClient.
    • Added NooklinkUserApi.createWithCliTokenData(data: NooklinkUserCliTokenData), which takes the JSON-encoded data output from nxapi nooklink user-token --json.
  • Added compatibility with imink's API request format to the znca API server
    • The timestamp parameter is no longer required and when not provided it will be generated and returned in the response. This parameter generally should not be provided to prevent causing issues when the value does not match the value that would be generated on the Android device/emulator. (#17)
    • Additionally the request_id/uuid parameter is also no longer required and will be generated and returned in the response if not provided. This value is safe to generate on the client, but providing this in the response makes it easier to use the API in Paw and other HTTP clients.
  • Remove the unidentified-script user agent string when running the API proxy server
  • Prevent detecting running the nxapi command in an automated script when redirecting output
  • Prevent making requests to match Nintendo's app's behaviour when not necessary
  • Fix an issue where an error is thrown when handling errors in the packaged Electron app
  • Fix an issue where multiple f parameter generation requests received by the znca API server at the same time result in invalid tokens being returned
  • Disable client hints for web services
    • This is not available in Nintendo's app and exposes the true client platform.
  • Fix an issue where standard OAuth 2.0/OpenID Connect errors from Nintendo are not handled properly
  • Fix an issue where updating Nintendo Switch Online app data never completes
  • Fix friend context menus not updating
  • Fix some issues with X Rank season calculation

Build artifacts: https://gitlab.com/samuelthomas2774/nxapi/-/jobs/2930115184/artifacts/browse
Full changelog: v1.3.0...v1.4.0