Skip to content

Commit 12c2bea

Browse files
committed
Prepare for 0.8.0 release
Bump minor release version number in honor of added precompiled jit support, and enabling the packing of applications into AtomVM escripts, as well as enabling the packing of libraries, which is needed to adopt this version of `packbeam` as the one used throughout the AtomVM infrastructure. Cleans up the Contributing guidelines, removing the non-aplicable C code style refrences. Signed-off-by: Winford <winford@object.stream>
1 parent d7abb76 commit 12c2bea

File tree

9 files changed

+37
-58
lines changed

9 files changed

+37
-58
lines changed

CHANGELOG.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,11 @@ All notable changes to this project will be documented in this file.
99
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
1010
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
1111

12-
## [0.7.6] - (unreleased)
12+
## [0.8.0] - (2025.12.07)
1313
- Add support to jit precompiled native code sections (`avmN`)
14+
- Add support for type (`Type`) code sections for native code optimizations
15+
- Start module is set from `--start`, if present, or determined by the module exporting `start/0`
16+
- Add `--lib` option for packing libraries without setting a start module
1417

1518
## [0.7.5] - (2025.08.18)
1619

@@ -60,7 +63,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6063

6164
### Changed
6265
- Changed the `packbeam_api:create` function to take a single map for optional
63-
parameters, instead of coding paramters into function arguments. Previous
66+
parameters, instead of coding parameters into function arguments. Previous
6467
versions of the `packbeam_api:create` function that take optional parameters
6568
have been deprecated.
6669

CONTRIBUTING.md

Lines changed: 5 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Please, also make sure to understand the [Apache 2.0 license](LICENSE) and the
1515
Last but not least, **do not use GitHub issues for vulnerability reports**, read instead the
1616
[security policy](SECURITY.md) for instructions.
1717

18-
## Git Recommended Practises
18+
## Git Recommended Practices
1919

2020
* Commit messages should have a
2121
* [summary and a description](https://github.com/erlang/otp/wiki/writing-good-commit-messages)
@@ -27,48 +27,10 @@ Last but not least, **do not use GitHub issues for vulnerability reports**, read
2727

2828
## Coding Style
2929

30-
### C Code
30+
### Erlang Code
3131

32-
#### Identation
32+
Format with `erlfmt` enforced style:
3333

34-
* [K&R identation and braces style](https://en.wikipedia.org/wiki/Indentation_style#K&R_style)
35-
* [Mandatory braces](https://en.wikipedia.org/wiki/Indentation_style#Variant:_mandatory_braces)
36-
* 4 spaces identation
37-
38-
Good:
39-
```
40-
void f(int reverse)
41-
{
42-
if (reverse) {
43-
puts("!dlroW olleH");
44-
} else {
45-
puts("Hello world");
46-
}
47-
}
48-
```
49-
50-
Bad:
51-
```
52-
void f(int reverse) {
53-
if (reverse)
54-
puts ("!dlroW olleH");
55-
else
56-
puts ("Hello world");
57-
}
34+
```shell
35+
$ rebar3 fmt
5836
```
59-
60-
#### Names
61-
62-
* Struct names are PascalCase (e.g. Context)
63-
* Scalar types are lower case (e.g. term)
64-
* All other names (e.g. functions and variables) are snake_case (e.g. term_is_integer)
65-
* Always prefix function names (e.g. term_is_nil, term_is_integer, context_new, context_destroy)
66-
67-
#### Other Coding Conventions
68-
* Pointer * should be with the variable name rather than with the type (e.g. `char *name`, not
69-
`char* name`)
70-
* Avoid long lines, use intermediate variables with meaningful names.
71-
72-
### Elixir Code
73-
74-
Just use Elixir formatter enforced style.

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ rel:
2525
rebar3 as prod tar
2626
rm -rf x
2727
mkdir x
28-
./install.sh x 0.7.5
28+
./install.sh x 0.8.0
2929
x/bin/packbeam version
3030

3131
clean:

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,16 @@ To build a release, run the following commands:
3434
These commands will create an Erlang tar archive containing a versioned release of the `atomvm_packbeam` tool, e.g.,
3535

3636
...
37-
===> Tarball successfully created: _build/prod/rel/atomvm_packbeam/atomvm_packbeam-0.7.5.tar.gz
37+
===> Tarball successfully created: _build/prod/rel/atomvm_packbeam/atomvm_packbeam-0.8.0.tar.gz
3838

3939
in your local working directory.
4040

4141
> IMPORTANT! The files in this tar archive do not contain the `atomvm_packbeam` prefix, so extracting these files without care will create a `bin` and `lib` directory in the location into which files from the archive is extracted. See the example below before proceeding!
4242
4343
You can use the `install.sh` script to install the `atomvm_packbeam` utility into a location on your local machine. You will need to specify the prefix location into which you want to install the utility, together with it's current version.
4444

45-
shell$ ./install.sh /opt/atomvm_packbeam 0.7.5
46-
atomvm_packbeam version 0.7.5 installed in /opt/atomvm_packbeam.
45+
shell$ ./install.sh /opt/atomvm_packbeam 0.8.0
46+
atomvm_packbeam version 0.8.0 installed in /opt/atomvm_packbeam.
4747

4848
> Note. Some prefix locations may require `root` permissions to write files to.
4949
@@ -69,7 +69,7 @@ On-line help is available via the `help` sub-command:
6969

7070
shell$ packbeam help
7171

72-
packbeam version 0.7.5
72+
packbeam version 0.8.0
7373

7474
Syntax:
7575
packbeam <sub-command> <options> <args>

SECURITY.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ expected to receive security updates.
1414

1515
| Version | Supported |
1616
| ------- | ------------------ |
17-
| 0.7.x | :white_check_mark: |
17+
| 0.8.x | :white_check_mark: |
18+
| 0.7.x | :x: |
1819
| 0.6.x | :x: |
1920
| < 0.6 | :x: |
2021

UPDATING.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@
66

77
# AtomVM Update Instructions
88

9+
## 0.7.* -> 0.8.*
10+
11+
- No changes have been made to default behaviors that should affect any existing applications that
12+
depend on `atomvm_packbeam` or its escript usage. New options have been added, consult the
13+
documentation for details.
14+
915
## 0.6.* -> 0.7.*
1016

1117
- The default behavior of not generating line number information in BEAM files has changed. By default, line number information will be generated in BEAM files. You can remove line number information using from BEAM files by using the `-r` (or `--remove_lines`) flags to the `create` subcommand. Note that in versions 0.6 of this tool, the `--include_lines` flag was ignored due to a bug in the code.

rebar.config

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
]}.
4949

5050
{relx, [
51-
{release, {atomvm_packbeam, "0.7.5"}, [
51+
{release, {atomvm_packbeam, "0.8.0"}, [
5252
kernel,
5353
stdlib,
5454
atomvm_packbeam
@@ -69,5 +69,6 @@
6969

7070
%% copy the generated escript into the release
7171
{post_hooks, [
72-
{release, "cp ${REBAR_BUILD_DIR}/bin/packbeam ${REBAR_BUILD_DIR}/rel/atomvm_packbeam/bin/packbeam"}
72+
{release,
73+
"cp ${REBAR_BUILD_DIR}/bin/packbeam ${REBAR_BUILD_DIR}/rel/atomvm_packbeam/bin/packbeam"}
7374
]}.

src/atomvm_packbeam.app.src

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
[
2323
{description,
2424
"An escript and library to manipulate (create, list, delete) AtomVM PackBeam files"},
25-
{vsn, "0.7.5"},
25+
{vsn, "0.8.0"},
2626
{registered, []},
2727
{applications, [kernel, stdlib]},
2828
{env, []},

src/packbeam_api.erl

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,8 @@ create(OutputPath, InputPaths, Options) ->
148148
%% will occur first in the generated AVM file.
149149
%% @returns ok if the file was created.
150150
%% @throws Reason::string()
151-
%% @deprecated This function is deprecated. Use `create/3' instead.
151+
%% @deprecated This function is deprecated, and will be removed in the 0.9.0 release. Use
152+
%% `create/3' instead.
152153
%% @doc Create an AVM file.
153154
%%
154155
%% Equivalent to create(OutputPath, InputPaths, undefined, Prune, StartModule).
@@ -163,7 +164,9 @@ create(OutputPath, InputPaths, Options) ->
163164
) ->
164165
ok | {error, Reason :: term()}.
165166
create(OutputPath, InputPaths, Prune, StartModule) ->
166-
io:format("WARNING: Deprecated function: ~p:create/4~n", [?MODULE]),
167+
io:format("WARNING: Deprecated function will be removed in the 0.9.0 release: ~p:create/4~n", [
168+
?MODULE
169+
]),
167170
Options = #{prune => Prune, start_module => StartModule},
168171
create(OutputPath, InputPaths, maps:merge(?DEFAULT_OPTIONS, Options)).
169172

@@ -182,7 +185,8 @@ create(OutputPath, InputPaths, Prune, StartModule) ->
182185
%% will occur first in the generated AVM file.
183186
%% @returns ok if the file was created.
184187
%% @throws Reason::string()
185-
%% @deprecated This function is deprecated. Use `create/3' instead.
188+
%% @deprecated This function is deprecated, and will be removed in the 0.9.0 release. Use
189+
%% `create/3' instead.
186190
%% @doc Create an AVM file.
187191
%%
188192
%% This function will create an AVM file at the location specified in
@@ -199,7 +203,9 @@ create(OutputPath, InputPaths, Prune, StartModule) ->
199203
) ->
200204
ok | {error, Reason :: term()}.
201205
create(OutputPath, InputPaths, ApplicationModule, Prune, StartModule) ->
202-
io:format("WARNING: Deprecated function: ~p:create/5~n", [?MODULE]),
206+
io:format("WARNING: Deprecated function will be removed in the 0.9.0 release: ~p:create/5~n", [
207+
?MODULE
208+
]),
203209
Options = #{
204210
prune => Prune, start_module => StartModule, application_module => ApplicationModule
205211
},

0 commit comments

Comments
 (0)