-
Notifications
You must be signed in to change notification settings - Fork 5
Limitations
Geas ignore beam files where abstract code is not available. This may imply to not detect a break in the computed release window. However since version 2.0.4, geas extract abstract code from source file in such case, if available, as fallback.
Geas does not guarantee that your project will run correctly on the whole release window.
Some reasons :
- Bugs may exists in older release, but fixed in newer
- Returned values of some functions may have been changed, reduced or augmented in the release window
It is assumed that project, as well dependencies, are compiling. Parse errors are not raised when using source files.
Module compilation and load at project runtime is not covered by geas
analyze.
For now, no attempts are done to understand the code.
So even if a function call is protected by a catch
to test existence and maybe use an alternative, geas
won't care.
This may change in futur versions.
Note : this can cause "absurd" results in some case where lowest Erlang version is higher than highest version found (for example Min = 19.3 and Max = 18.3 ). Starting version 2.5, those results will be ignored and log warning raised. Another work will be needed to understand some test in code to get rid of this issue.
If geas
detects that a dependency code is containing a function not anymore existing, this does not imply that your project will not work, as this function is maybe not used by your project or by the dependency itself in the context of your project. But this will warn you that it is a potential issue, and a newer version, or a PR maybe useful for this dependency.