Skip to content

v10.1.0

Choose a tag to compare

@github-actions github-actions released this 14 Apr 08:48
· 53 commits to master since this release

APM v10.1 Changelog

Summary

APM v10.1 introduces many new features, ranging from faceid unlocks to a new encryption method. THe update is quite small in my opinion, and hence is a superset of v10. v10.1 introduces the inject feature, the diff command, faceid introduction, and the introduction of being able to encrypt your vault using the xchacha-20-poly1305 encryption method.
All the changes mentioned above will be now mentioned in detail below.

FaceID Introduction

I have been trying since v5 to implement faceID, nonetheless, its finally here! It took me a three weeks to just implement this. I forgor bout it and then when I used it personally, I saw inconsistencies and a very inaccurate recognition system. Then I again spent quite the whole weekend fixing it. It also supports very low quality camera as I have.
The AI model is downloaded locally for privacy reasons, stored in APM_install_dir/faceid/models which is around ~166 MB and is stored as a .onnx file. The same models folder stores the detector, the facial embeddings data and much much more.
FaceID requires OpenCV installed. For compiling and development, the tags have now been introduced while go build. Since installing GoCV and OpenCV and compiling it would be a unnecessary effort for someone who may want to collaborate to other parts of the program, the collaborator can easily do that. the tag faceid is used to compile APM with faceID, and all the builds here are compiled with faceID.
For builds with faceID: go build -tags faceid -o pm
For builds with non-faceID: go build -o pm

diff feature for cloud and working with multiple devices on the same vault

diff is the newest feature for cloud category of APM. While working across multiple devices, the user had to push their changes from one machine then completely remove the old vault and then again get the vault. diff feature completely removes the need for that. The diff function allows the user to get a diff object from the cloud vault and then APM compares it against their local vault. The user is then faced with choices to abort, merge all or merge selected changes .
This improves working with different devices on the same vault, since before you had to tamper with backups of vaults, making sure all changes are pushed, etc.

inject feature to completely remove the need for .env files

.env files are very common across many projects, as a way to share secrets without hardcoding them into your code. Now, inject completely removes the need for .env files, since you can now store all your secrets in the APM vault, and then create a .apminject file which lets APM know which secrets to inject, and what to inject those secrets as into the terminal session.
It is basically setting up all .env variables temporarily in a shell. Then, the user can just type apm inject and APM will path-walk (like git) to find the .apminject file.

xchacha20-poly1305 encryption method compatibility

APM now supports the xchacha20-poly1305 encryption method. (Pretty self-explanatory.)

pm autocomplete mail feature

This feature was originally suggested by #34. APM can now connect to G-mail supported clients, and get the login OTP that corporations send directly through Google OAuth2. This will enable APM to only read mails and it will store them into the local memory. After 8 min, the emails are wiped out of memory and the OTP emails are only stored which take up around ~3 megabytes in memory. the keybind ctrl+shift+p is used to fill in the mail OTP, not to be confused with TOTP.

Extra Notes

  • pm autocomplete no longer requiring vault to be unlocked.
  • fix to pm autocomplete autostart

PRs

Full Changelog: v10.0.0...v10.1.0