Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
acton_0.25.0_amd64.deb | 2025-04-24 | 68.1 MB | |
acton_0.25.0_arm64.deb | 2025-04-24 | 64.5 MB | |
acton-linux-aarch64-0.25.0.tar.xz | 2025-04-24 | 84.5 MB | |
acton-linux-x86_64-0.25.0.tar.xz | 2025-04-24 | 89.3 MB | |
acton-macos-x86_64-0.25.0.tar.xz | 2025-04-24 | 86.5 MB | |
README.md | 2025-04-24 | 5.9 kB | |
v0.25.0 source code.tar.gz | 2025-04-24 | 2.3 MB | |
v0.25.0 source code.zip | 2025-04-24 | 2.7 MB | |
Totals: 8 Items | 397.9 MB | 1 |
Added
- Acton Vim plugin for syntax highlighting & indent, see https://github.com/actonlang/vim-acton
- Add
crypto.hash.md5
module for MD5 hashing - supports incremental updates and one-shot
- Add
bytes.from_hex()
&bytes.hex()
for hex encoding/decoding of bytes - Add
.str_ms()
totime.Duration
- Add
max_def
andmin_def
functions that require a default argument - Unlike max() & min(), these functions require a default value that is
returned when the input iterable is empty
max_def([1, 2, 3], -1)
returns 3max_def([], -1)
returns -1
- Add
re.split()
function to split strings based on regular expressions re.split(" +", "a b c")
returns["a", "b", "c"]
- Add support for golden testing in the
testing
module - Test functions can return a
str
to be compared against stored golden values acton test
will show actual vs expected golden value- Golden values are stored in
test/golden/MODULE/TEST_NAME
- Update expected values with
--golden-update
- Unmangle actor class names in logging
- Add
--no-threads
option to compile single-threaded applications - Set minimum thread stack size to 8MB to avoid stack overflows
- Add better documentation for integer types in the guide
- Add
__name__
variable containing current module name - Add
complex.from_real_imag()
function to create complex numbers - Add support for complex numbers as dictionary keys
- Add proper implementation of the Logical protocol for integers
- Add URI parsing module for handling HTTP URLs and other URIs
- Add
--list-imports
option to actonc to show imported modules - Add a ConsoleSink to the logging module
- Capture log messages in tests for easier troubleshooting
- Add diff module for comparing strings
- Support for unified diff format with customizable context headers and colors
- Add GitHub Action to create new releases automatically
- Add support for ALPN (Application-Layer Protocol Negotiation) in TLS
Changed
- Dict & Mapping methods
get
andpop
now returnNone
when key is not found, instead of throwing KeyError - Use new
get_def
&pop_def
for explicit default values - Automatic backtrace printing on crashes disabled on non-Linux platforms
- LLDB on MacOS often hangs, so automatic backtrace printing is disabled
- Make module paths in type error messages clickable for easier navigation
- Improve
RunProcess
handling to properly await EOF for stdout/stderr - Disable garbage collection during package upgrade operations to improve performance
- Silence build lock messages for dependency builds to reduce output noise
- Use development mode (
--dev
) to build dependencies in test command - Don't store protocol witnesses in class attributes, push further into methods instead
- Upgrade tlsuv library to v0.33.4 for improved TLS support
- Enhance package dependency handling with support for transitive dependencies
- Use a global dependencies directory in
~/.cache
for better dependency management - Improve testing output with deduplication of stdout/stderr messages
- Colorize error messages for better readability
- Reintroduce
--tempdir
option to actonc for manual control of temporary files - Allow integers to overflow for fixed-size integer types (i16, i32, i64, etc.)
- Use diff for golden testing when outputs don't match
- Rename common.mk to version.mk to better reflect its purpose
- Make del operator idempotent for lists and dictionaries
Fixed
- Fix type conversion between
u16
andint
- Fix XML default namespace parsing
- Fix error handling in process actor
- Process signals are now ignored if process has exited
- Better error handling around stdin/stdout/stderr operations
- Fix volatile variables in try-except blocks to avoid compiler optimization issues impacting control flow
- Fix string format in
time.DateTime
's RFC1123 format (month was off by one) - Improve error messages with better source location information
- Added location details for "Missing constraint" errors
- Added location details for "missing tuple component" errors
- Better error reporting when class method's first parameter doesn't match Self type
- Fix dictionary iteration in relation context
- Fix constructor functions for bounded integer types
- Fix CPS transformation for nested lambdas with preprocessing requirements
- Fix handling of main project local dependency overrides
- Fix
zip()
function implementation - Fix left shift operator (
<<
) for integers - Fix XML encoding to properly handle UTF-8
- Fix TCP connection close to properly mark socket as invalid
- Fix hash function to avoid signed overflow undefined behavior
- Fix depth subtyping for builtin collections (list, dict, set)
- Fix discovery of root actor based on name
- Fix
acton test --name
to correctly filter tests by name - Fix string allocation in
B_str
to properly account for byte length - Fix package upgrade correctness
- Fix handling of XML comments during parsing
- Fix main project dependencies in build.zig.zon
- Fix polarity improvement handling in type solver
- Fix exception handling in iterate-relation context
- Fix
free()
behavior (now a no-op in GC environment) - Fix race condition in actor waiting queue operations
- Optimize f-string parsing for better performance
Testing / CI
- Add macos-aarch64 tip release build
- Stop testing on Ubuntu 18.04
- Install gdb in test-app environment for better crash analysis
- Separate caches for Acton build and Stack/GHC in CI to avoid cache thrashing
- Add caching for Linux ARM64 builds to improve CI speed
- Ensure uniqueness of test artifact names to prevent collisions
- Add support for Linux on ARM64 (aarch64) in CI
- Add test of respnet (a real-world Acton application) to CI
- Add testing on Ubuntu 24.04 for ARM64
- Use artifact upload/download v4 for better performance
- Add tests for all compiler passes
- Await cache cleaning to avoid race conditions