| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| acton-0.30.0-1.aarch64.rpm | 2026-09-03 | 92.7 MB | |
| acton-0.30.0-1.x86_64.rpm | 2026-09-03 | 90.0 MB | |
| acton_0.30.0_amd64.deb | 2026-09-03 | 82.7 MB | |
| acton_0.30.0_arm64.deb | 2026-09-03 | 81.4 MB | |
| acton-linux-aarch64-0.30.0.tar.xz | 2026-09-03 | 105.8 MB | |
| acton-linux-x86_64-0.30.0.tar.xz | 2026-09-03 | 108.2 MB | |
| acton-macos-aarch64-0.30.0.tar.xz | 2026-09-03 | 116.7 MB | |
| acton-macos-x86_64-0.30.0.tar.xz | 2026-09-03 | 98.8 MB | |
| README.md | 2026-09-03 | 4.8 kB | |
| v0.30.0 source code.tar.gz | 2026-09-03 | 3.3 MB | |
| v0.30.0 source code.zip | 2026-09-03 | 4.0 MB | |
| Totals: 11 Items | 783.6 MB | 0 | |
Language
- Complete soft-keyword parsing for declaration words such as
actor,class,extension,from,import,protocol, andtype, keeping them usable as names inside functions, classes, protocols, extensions, and actors while reporting imports after module definitions as a clear parse error. [#3038]
Compiler & Build
- Preserve hidden protocol-witness fields when importing constrained generic classes, fixing subclass layout corruption and serialization round-trips for generic classes subclassed from another module. [#3037]
- Avoid duplicate visible protocol witnesses when importing and defining extensions, keeping witness lookup canonical when the same protocol/type pair is available through rival modules or ancestry paths. [#3061]
- Cache imported module closures and attribute-owner lookups during type checking, cutting repeated import and attribute scans so large generated modules with many attribute selections type-check in seconds again instead of minutes. [#3073]
- Resolve inherited protocol-witness slots during type checking instead of late C generation, making witness classes complete for diamond, generic, cyclic, and imported extensions while reporting conflicting inherited signatures as compiler errors. [#3049]
- Use ThinLTO for non-debug Linux release builds, preserving cross-module optimization while making final links faster and less memory intensive for large projects. [#3060]
- Keep scalar parameters boxed when overriding generic class methods, so calls through the generic method slot unbox values inside the callee correctly and parameter rebinding does not mutate the caller's box. [#3043]
- Compile list, set, and dict comprehensions used in
if,elif, andwhileconditions without moving the generated comprehension helper out of scope. [#3041] - Deduplicate protocol witnesses for parameterized extensions by comparing their schematic types, so generic classes with equivalent constraints do not lose needed witness lookups when type parameter names differ. [#3065]
- Commit refreshed cached module interfaces before later compiler phases read them, so incremental builds see a reliable front-end completion boundary and keep progress reporting balanced. [#3068]
- Compile postfix
!on actor calls inside dict, list, and set comprehensions, preserving effects and type conversions so generated C uses the correct calling convention. [#3057] - Compile forced unwrap and optional chaining through named and positional tuple selections, and report unsupported row-rest selectors normally instead of crashing the compiler. [#3055]
- Escape generated C identifiers that match C keywords using order-independent
lookup, including underscore-prefixed keywords and C23
typeof_unqual, so generated code avoids reserved-word collisions. [#3044] - Compile base, std, and generated project C with
-fwrapv, making fixed-size signed integer arithmetic wrap consistently in debug and release builds, including overflowing left shifts. [#3050]
Runtime & Standard Library
- Decode JSON integers into Acton
intorbigintvalues without losing precision, including oversized signed and unsigned tokens, and encodebigintvalues as JSON numbers by default with abigint_as_stringoption for string-based consumers. [#3047] [#3053] - Add Acton Object Notation support through new
aonmodules, with source-aware parsing, deterministic encoding, nested sections, lists, named tuples, comments, and direct conversion through the same data representation as JSON. [#3077] - Build tuples in one allocation by storing components inline with the tuple object, reducing construction memory use and keeping deserialized tuples in the same compact layout. [#3070]
- Handle set elements whose hashes use the high bit without hanging lookups, keeping membership, deletion, reinsertion, resizing, and serialized tombstones consistent across supported target widths. [#3075]
- Return both coalesced HTTP responses to pipelined
http.Clientcallbacks, preserving the parser remainder so later responses stay matched to the correct outstanding request. [#3067] - Fix
base64.encode()andbase64.decode()for empty byte strings, and make invalid base64 input raiseValueErrorinstead of aborting the process. [#3066] - Upgrade the bundled yyjson JSON library to 0.12.0. [#3052]
Testing & CI
- Add core-language regression tests for
awaitvalues, exceptions, chaining, fan-in, fan-out, queued messages, timers, and mixed outcomes, pinning the observable semantics before runtime future/message handling is reworked. [#3034] - Stabilize the project-lock regression test by waiting for the child compiler to report that it is blocked on the lock before releasing it. [#3069]