Skip to content

Releases: cyberlabsai/perse-sdk-lite-ios

0.3.1

31 Aug 12:53
4bd44dd
Compare
Choose a tag to compare

🐛 Bug Fix

Fix Perse API response structure from Enrollment.Face to Face.Enrollment.

0.3.0

30 Aug 18:15
3892613
Compare
Choose a tag to compare

💥 Breaking Changes

Complete breaking changes in the Responses, Methods and your usages. Motivations:

  • Improve cohesion;
  • Patterning with the methods;
  • Prepare for future features, like the "vox"s;

API Responses

Deprecated New Usage
CompareResponse PerseAPIResponse.Face.Compare
DetectResponse PerseAPIResponse.Face.Detect
FaceResponse PerseAPIResponse.Face.Face
MetricsResponse PerseAPIResponse.Face.Metrics
LandmarksResponse PerseAPIResponse.Face.Landmarks

Methods

Deprecated New
func detect( _ filePath: String, onSuccess: @escaping (DetectResponse) -> Void, onError: @escaping (String, String) -> Void) func detect( _ filePath: String, onSuccess: @escaping (PerseAPIResponse.Face.Detect) -> Void, onError: @escaping (String, String) -> Void)
func detect( _ data: Data, onSuccess: @escaping (DetectResponse) -> Void, onError: @escaping (String, String) -> Void) func detect( _ data: Data, onSuccess: @escaping (PerseAPIResponse.Face.Detect) -> Void, onError: @escaping (String, String) -> Void)
func compare( _ firstFilePath: String, _ secondFilePath: String, onSuccess: @escaping (CompareResponse) -> Void, onError: @escaping (String, String) -> Void) func compare( _ firstFilePath: String, _ secondFilePath: String, onSuccess: @escaping (PerseAPIResponse.Face.Compare) -> Void, onError: @escaping (String, String) -> Void)
func compare( _ firstData: Data, _ secondData: Data, onSuccess: @escaping (CompareResponse) -> Void, onError: @escaping (String, String) -> Void) func compare( _ firstData: Data, _ secondData: Data, onSuccess: @escaping (PerseAPIResponse.Face.Compare) -> Void, onError: @escaping (String, String) -> Void)

✨ New Feature

Face Enrollment

Enrolled faces are persisted and can be used for saving biometric facial features for future use. The enrollment's methods allow you to create, update, delete and get enrolled faces.

face.enrollment.create

  • Responsible for creating new enrollment;
  • Extract the facial features of the largest face;
  • Faces that are not completely inside the image will not be considered;
  • The input can be the image file path or his Data;
  • The onSuccess type is PerseAPIResponse.Face.Enrollment.Create struct;
func create(
    _ filePath: String,
    onSuccess: @escaping (PerseAPIResponse.Face.Enrollment.Create) -> Void,
    onError: @escaping (String, String) -> Void
)
func create(
    _ data: Data,
    onSuccess: @escaping (PerseAPIResponse.Face.Enrollment.Create) -> Void,
    onError: @escaping (String, String) -> Void
)

face.enrollment.update

  • Responsible for update a face enrollment with a new face image and user token;
  • Extract the facial features of the largest face;
  • Faces that are not completely inside the image will not be considered;
  • The input can be the image file path or his Data;
  • The onSuccess type is PerseAPIResponse.Face.Enrollment.Update struct;
func update(
    _ filePath: String,
    _ userToken: String,
    onSuccess: @escaping (PerseAPIResponse.Face.Enrollment.Update) -> Void,
    onError: @escaping (String, String) -> Void
)
func update(
    _ data: Data,
    _ userToken: String,
    onSuccess: @escaping (PerseAPIResponse.Face.Enrollment.Update) -> Void,
    onError: @escaping (String, String) -> Void
)

face.enrollment.delete

  • Responsible for delete an enrollment;
  • This endpoint expects a "user token" in the url;
  • The onSuccess type is PerseAPIResponse.Face.Enrollment.Delete struct;
func delete(
    onSuccess: @escaping (PerseAPIResponse.Face.Enrollment.Delete) -> Void,
    onError: @escaping (String, String) -> Void
)

face.enrollment.read

  • Responsible the complete list of the created "user tokens";
  • The onSuccess type is PerseAPIResponse.Face.Enrollment.Read struct;
func read(
    onSuccess: @escaping (PerseAPIResponse.Face.Enrollment.Read) -> Void,
    onError: @escaping (String, String) -> Void
)

🐛 Bug Fix

Fix terms "underexpose" to "underexposure" in the Demo project.

⚡️ Improvements

Change the tests names to the camel case pattern for better reading. This changes has no impact in tests usage.

0.2.1

16 Aug 18:30
7b866f3
Compare
Choose a tag to compare

⚡️ Improvements

  • Add Development.xcconfig;
  • Add API_KEY and BASE_URL in the info.plist;
  • Add "base url" usage to init PerseLite in the example;
  • Add "base url" usage in the tests;

0.2.0

05 Aug 17:49
Compare
Choose a tag to compare

✨ New Feature

  • Add optional second parameter on init:
public init(apiKey: String, baseUrl: String = "https://api.getperse.com/v0/")

⚡️ Improvements

  • Add code comments in the whole project;
  • Update and improve tests based on the previous release 0.1.1;

0.1.1

28 Jul 20:47
df3bf04
Compare
Choose a tag to compare

♻️ Refactor

Changes in the API Responses:

  • Change overexpose to overexposure;
  • Change underexpose to underexposure;
  • Change underexposeThreshold to undexposure;
  • Change overexposeThreshold to overexposure;

0.1.0

22 Jul 19:13
Compare
Choose a tag to compare

✨ New Feature

📝 Update Readme

Complete remake of the docs.

0.0.4

13 Jul 16:51
4e9217f
Compare
Choose a tag to compare

♻️ Refactor

Changes in the DetectResponse and CompareResponse:

  • Remove imageTokens field;
  • Remove confidence field;
  • Add raw field;

0.0.3

07 Jul 14:21
Compare
Choose a tag to compare

⚡️ Improvements

For the face.detect and face.compare onError closure:

  • add new parameter for raw text message;
  • default value is "";

📝 Update Readme

  • Update face.detect and face.compare onError closure usage;
  • New section to run the tests: Running Tests;

0.0.2

05 Jul 21:14
Compare
Choose a tag to compare

⚡ Improvement

For face.compare method, improve error response for one or both images input has no face detect.

0.0.1

29 Jun 18:10
Compare
Choose a tag to compare

🎉 First release!

See the complete documentation in the README.