All notable changes to this project will be documented in this file. See conventional commits for commit guidelines.
0.45.3 - 2026-03-03
- templating is now not breaking due to regex - (c36d803)
- [breaking] moved
regexfrom global tovalidation.regex- (97b900c) - removed database closing at the end of the script - (6d625e3)
0.45.1 - 2026-03-01
- http request table style working now without headers - (a7893e2)
0.45.0 - 2026-02-28
- #130 - added support for checking if current script is the original script that was ran - (926a811)
- added sleep function to datetime - (fcbecac)
0.44.0 - 2026-02-22
- removed pprintln as it was unnecessary and broke a lot of - (6cdad66)
0.43.0 - 2026-02-21
- use clang instead of gcc for - (9573fe0)
- pprint and pprintln now printing tables correctly - (8f4e60a)
- (cli) add -e flag to execute code from command line - (2f687e7)
- (http) add optional headers to static_dir and static_file routes (#146) - (1712149)
- [breaking] moved
jinja2totemplates- (2b94613) - markdown support - (14fa6ed)
- databases now automatically close at the end of the script - (67ef842)
0.42.0 - 2026-02-15
- (http) return raw binary for Lua table byte arrays in route responses - (88f743f)
- added Lua 5.5 support - (0dd6718)
- added pprintln function, as an auto line breaking version of pprint - (0dd6718)
- Datetime Quality of Life (#150) - (b385b91)
- updated all dependencies - (0dd6718)
- removed the docs from uploading on release - (9b092fb)
0.41.0 - 2026-02-08
- #140 added shebang support - (921ff2f)
- removed the prebuild docs from here. added docs build and - (783995c)
- upload to releases - (783995c)
0.40.1 - 2026-01-19
- docs CI failing when one dependency fails - (e0de397)
- fix builds and moved to mdbook 0.5 - (3526309)
- updated CI MSRV - (f693386)
0.40.0 - 2026-01-19
- the datetime_new was exposed to global - (f7a336a)
- omit the use of vectors in pprint - (b4a1d85)
0.39.3 - 2025-12-28
0.39.2 - 2025-12-27
- CI now saves cache properly - (8c1bc1b)
- Add newline in
astra exportcli output (#133) - (5f47bf2) - type definitions for http.lua was restored what was lost - (bfac6d6)
- added correct self requirement for HTTPResponse - (5543ce4)
- HTTP servers can now accept normal forms - (274d1ba)
0.39.1 - 2025-12-19
- DB Pragma Query now returns proper lua nil when NULL value - (86fa86e)
- imports the .init files correctly now - (36f33db)
- removed windows ARM builds as its not supported with vendoring yet - (455a544)
0.39.0 - 2025-12-18
- database pragma queries, fix: #132 - (5112237)
0.38.0 - 2025-12-14
- linux minor updates to README - (191e034)
- potential HTTP client JSON serialization fix for requests - (edc1550)
- #123 - now teal export is optional - (24404ba)
- fix CI for docs - (19a9462)
- now automatically installs and builds the docs - (c6c0924)
- added cache to docs ci - (48d107c)
- updated README to reflect the description better. fix: #121 - (80bf314)
- added fallback routes, fix #125 - (044c6c9)
- add support for server redirects. fix #127 - (5bb7d32)
- now init.lua or init.tl can be ran as default if no filename is provided. fix: #119 - (e145040)
- added MacOS, ARM, and RISC-V support for compilation. fix #116 - (3af6f3d)
- now upgrade command can detect new architecture and OS - (d0c6f01)
0.37.1 - 2025-11-23
- error messages displayed correctly - (1bc37af)
- #108 - Luau now works - (7a8ff02)
- import paths interopability - (2d41954)
0.37.0 - 2025-11-21
- added compression ability to each route - (5d0062c)
- added major serde targets - (78b4928)
- added types for serde types - (13a38d4)
- added support for csv - (5ee17e8)
- added xml support - (e1028de)
- moved client.rs to its own directory - (b3917e0)
0.36.0 - 2025-11-11
- websocket client added - (9774fe9)
- updated dependencies - (5225768)
0.35.0 - 2025-11-08
- file_io now have methods for file read and write - (9de9aa6)
- added Buffers and File opening for File IO - (98743e1)
- can omit the 'astra.lua.' prefix from standard library - (27e09ff)
- filesystem buffer read and write added - (e4c166d)
- renamed components with Lua prefix to Astra - (0bfaeb3)
- added macros for file_io - (61d8e62)
- renamed io.rs to file_io.rs to reflect the changes clearly - (1e5ba81)
- [breaking] renamed io.lua to fs.lua to better reflect its nature - (a65781b)
- expanded the fs.rs into file_system.rs - (bf67d0a)
0.34.0 - 2025-11-02
- cleaned up and improved online documentation - (7f7d09a)
- IP Address access now available on servers - (31b0177)
- imported module caches can now be invalidated and caches are now faster and improved - (88f4609)
- renamed serializer to serde - (2d49bb8)
0.33.1 - 2025-10-31
- fix for runtime selection from user, adding the function(Select-Runtime) call to handle the selection - (46e7215)
- fix for windows: avoid colon variable parse error in PowerShell Write⦠(#110) - (ef92a92)
- windows updates being broken - (4ac2e23)
- don't use global variable
resultin middleware docs (#109) - (094a308)
- moved from luals to emmylua for language server. Added install scripts for different platforms - (6878e0c)
- @sweet-nes5 made their first contribution in #110
0.33.0 - 2025-10-29
- added cache to workflows - (79d3e84)
- Teal now do not check by default. Moved
--teal-compile-checksto--check-teal-code- (f595e8e)
0.32.4 - 2025-10-20
- HTTP Multipart not saving binary zip archives correctly - (026bb8c)
0.32.3 - 2025-10-19
- Abort needing itself for task handler - (8f99419)
0.32.2 - 2025-10-18
- obtaining the function for quit before the signal returning Nil for Teal slow loading - (ee3afd9)
- task keeps hanging the system on termination signal - (1fef66a)
- Database connections now automatically closed on program closing - (5b5b528)
0.32.1 - 2025-10-17
- windows fix for the sigterm - (7979824)
0.32.0 - 2025-10-17
- bugs with HTTP not shutting down properly - (5504a5f)
- added documentation for shutdown code - (b84e540)
- shutdown or termination code accessible from Lua for graceful shutdown - (9d4876f)
- broken down the commands into smaller chunks - (6a60282)
0.31.0 - 2025-10-14
- HTTP Server multipart now have fields that can be read - (23d58eb)
- added some examples for the multipart - (0791394)
0.30.1 - 2025-10-14
- removed nullability from some return types of HTTP in teal - (f709d83)
- better errors for json - (134829d)
0.30.0 - 2025-10-04
- teal code runs now fine with teal check disabled - (2dbff33)
- updated http server and client docs - (4d4eae8)
- http client now has streaming capabilities - (28fec06)
- http servers now got ability to be shut down - (66e5b7e)
- clean up http client path - (f4edf81)
- revamped the HTTP Request module for better user experience - (909953e)
0.29.3 - 2025-10-03
- further fixes to Astra on windows having path issues - (4d3e7cb)
0.29.2 - 2025-09-29
0.29.1 - 2025-09-22
- exports now correctly to the appropriate folder - (388ff2f)
- teal loading stdlib modules on runtime checks - (145242b)
0.29.0 - 2025-09-14
- loading stdlib and globals without exported local folder - (ec622d3)
- updatd documentation for the new import api - (87396b8)
- teal code can now be loaded and even mixed with normal lua code without additional steps - (6bf04c4)
- [breaking] removed import as require is now working safely - (bf3feac)
- teal can now run directly, and script paths are now known during runtime, and debug and jit libraries are now available - (a9edfba)
- better file IO error delegation from Rust to Lua - (c83c918)
- now importing for teal and lua works wonderfully with the standard library folder as well - (46f7043)
- added Teal types - (69bd843)
- runtime teal checks before runs - (71e76ba)
- added ability to turn off teal compile checks when running astra - (e2573e3)
- added teal examples and fixed bugs - (1b7b3fa)
- moved all the type definition files to their own space - (bfa7fa2)
- moved teal from global to behind Astra table - (b49be8c)
- added primitive global Astra function types - (2db0d51)
- delegated error check of globals, and cleaned up code elsewhere - (e4deeaf)
- now exports teal libraries too and the export folder standardized - (546d28f)
- renamed
astra_stdlibtoastra- (6b34330) - moved away from Astra global namespace in favor of importing needed functionality. - (1c54ce2)
Astra.dotenv_loadmoved to globaldotenv_load- (1c54ce2)Astra.regexmoved to globalregex- (1c54ce2)Astra.cryptomoved to libastra.lua.crypto- (1c54ce2)Astra.jsonmoved to libastra.lua.serializer- (1c54ce2)Astra.database_connectmoved to libastra.lua.databaseanddatabase_connectrenamed toconnect- (1c54ce2)Astra.datetimemoved to libastra.lua.datetime- (1c54ce2)Astra.httpmoved to libastra.lua.http- (1c54ce2)Astra.iomoved to libastra.lua.io- (1c54ce2)Astra.pubsubandAstra.observablemoved to libastra.lua.stores- (1c54ce2)Astra.new_templating_enginemoved to libastra.lua.jinja2andnew_templating_enginerenamed tonew_engine- (1c54ce2)Astra.validate_tablemoved to libastra.lua.validate_table- (1c54ce2)- moved the examples to the new api - (da95232)
- renamed
validate_tabletovalidationas there is plans for more validation options in the future - (da95232) - separated the teal type check from teal loader - (f42a72a)
- consistent api for jinja and database - (fb3733f)
0.28.1 - 2025-09-03
- return empty string when no reason provided for
send_close- (73271d1) - #13 - (73271d1)
- getenv not returning - (58571c9)
- proper documentation for websockets - (5a3fcf6)
- #13 - (5a3fcf6)
- updated minor issue with websockets docs - (8488733)
- send_code({1000})` - (4091039)
- can send a reasonless close frame without wrapping it in braces - (4091039)
- #13 - (4091039)
0.28.0 - 2025-09-02
- link to middleware.lua in middleware.md (#87) - (2a70d97)
- prelude registeration not loading the packed libs correctly - (6145502)
- prelude error when the dependency for the module has not yet been loaded - (a5df91f)
- websocket route not being recognized - (ebe4074)
- barebones websocket lua api (needs more fixing) - (3f28d3b)
- #13, #98 - (3f28d3b)
- get rid of all unwrap and extracts - (6519e66)
- #13, #98 - (6519e66)
- issues fixed with bytes and normal send structure - (5ac6273)
- returns an empty string when reason not given - (146b454)
- #13, #98 - (146b454)
- updated middleware and sql driver - (8cf1f5a)
- Middleware system documentation - (258b332)
- type detection and definition for HTTP Request params - (4d9c6e8)
- URL parameters parsing (#85) - (04be222)
- datetime format function for custom formatting - (b9d154e)
- websocket implementation (doesn't work) - (f96893d)
- #13 - (f96893d)
- broken websocket api - (e04ca74)
- #13 #98 - (e04ca74)
- the websocket recv now returns type and value - (32280f2)
- mlua functions for sending websocket messages - (75fd957)
- #13, 98 - (75fd957)
- #88 - (d4359fb)
- minor cleanups done to the middleware example - (1874c90)
- less bloated version - (d8a0d12)
- clamped libs together and moved middleware to http - (31dff80)
- export now removes previously exported content - (3b3a842)
- update command now recommends reexporting the type definitions - (f1a5327)
- unnecessary error messages - (e06bf1a)
- renamed binary to bytes - (097e8ce)
- updated the datetime test and its formatting - (4721d6e)
0.27.0 - 2025-07-18
- [breaking] multiple of datetime creation methods was replaced by
Astra.datetime.new- (25e9c21)
0.26.0 - 2025-07-17
- delegate subcounter and enforce type preference - (6b98b67)
- implement observer pattern - (14141a4)
- prefer function type for publish - (ad6e812)
- hashed tables for observee-subscriber sets #26 - (3a7ae14)
- use a hash table to store subscribers - (75f10be)
0.25.1 - 2025-07-16
- exported modules aren't interpreted - (4c052d8)
- always checks for .astra folder first - (756d768)
0.25.0 - 2025-07-16
- implement pubsub stores #26 - (ec958c9)
- implement pubsub stores (#75) - (cf1089b)
- the runtime now prioritizes loading the locally exported modules instead of bundled modules - (64b0869)
- read the default folder or loaded folder from .luarc.json - (6761d5b)
0.24.1 - 2025-07-10
- .luarc.json file incorrectly named - (ca2b338)
0.24.0 - 2025-07-05
- import using path as key instead of UUID - (d7c099a)
- imports fixed and update command now can take custom user_agent - (ebdf3f6)
- directory with Astra API definitions for Lua autocompletion - (9956504)
- Add .luarc.json to enable autocompletion - (9d3511a)
- little clarification - (d9cea09)
- definitions refactoring for better go-to experience - (0a35c64)
- updated docs to reflect the new changes - (419b0d3)
- astra now exports successfully - (c9b8d36)
- server type definitions are correct now - (e533936)
- completed type definition for the rest of the types - (27db132)
- cleaned up getters and setters - (26e2569)
- fused the normal and utc datetime constructors - (4b7bba2)
- the lua's type definitions for datetime - (7001d9e)
- moved the lib files back to the top level folder - (f312335)
- moved the type definitions on side of Rust code - (1c3204c)
- divided the http server into components - (d5f1749)
0.23.1 - 2025-06-25
- more accurate iso8601 format - (b30d1af)
- rename
chrono.rstodatetime.rs- (8242b82)
0.23.0 - 2025-06-22
- #16 better error handling for chrono utility - (7977da3)
- renamed methods and functions - (4441886)
- mend clipboard mishap - (8962303)
- directly set datetime constructors as globals - (98e7ea9)
- #16 added chrono utility - (f952ecb)
- more flexible datetime construction - (1e69842)
- added type definitions for struct LuaDateTime - (09b307c)
0.22.2 - 2025-06-14
- async code within functions are now possible - (be6d0f6)
0.22.1 - 2025-06-14
- the templating engine was not returning anything - (6b8a02e)
0.22.0 - 2025-06-13
- #65 added await for async tasks - (4c39a6c)
- updated documentation from tera to jinja - (c42af7c)
- moved from tera to minijinja - (33bbcab)
- minijinja functions are now working, added
remove_template- (ceef94b)
context_add,context_remove, andcontext_getare removed. Instead you can add context while rendering or adding to the server
0.21.2 - 2025-06-02
- [breaking] moved
server:templatestotemplate_engine:add_to_serverand addedadd_to_server_debugas well - (fbf70ba)
0.21.1 - 2025-06-01
- #39 - (4879eaf)
- added guide for regex - (90dec9a)
- updated the readme to include Astra Trails - (5c0bf82)
- moved templating path logics to within the Lua's side - (08acab2)
0.21.0 - 2025-05-30
- added documentation for templating - (3a6d097)
- initial tera templating added - (952e863)
- added template routes and lua intellisense - (e0365d1)
- added exclusions and routes have been optimized - (846783c)
- now you can create an empty template engine - (dcd2eed)
- added templating example - (7a59a5c)
- added template functions - (6cd72fe)
0.19.3 - 2025-05-24
- added database connection closing function - (771d650)
- Improve Row Extraction to Key-Value Format for Lua (#55) - (45c486f)
- cleaned up the
tryset_valuemacro - (995a991) - [breaking]
validate_tableis now strict by default, and have better errors - (f73dabf)
- refactor: support KV table to extract row. e.g. row.name, row.id - (dac9947)
- #54 Now supports glibc 2.27 (d1235d2)
- Image binaries multiparts was not able to be streamed due to default body limit malfunctioning (48042d6)
- Updated docs to include crates.io install (2e2a5de)
- First attempts at adding cookie support (0e74946)
- Fixed the binary name in the cli (23666df)
- Updated astra cargo binary name and README (e6b6829)
- Updated astra version and added categories and keywords (68a65d1)
- Updated dependency versions (894db27)
- Functions being overridden upon registration (01141eb)
- #37 (7ef97b9)
- Added documentation for the new import system (b4d1d89)
- #38 better error messages (717f4d7)
- #34 (b8e53e3)
- Added support for Lua 5.1, 5.2, 5.3 and 5.4 (0a3d3d7)
- Moved away from workspace to a single crate (5bb3adb)
- Moved utils into the main runtime (b879098)
- Renamed the folder from
lua_bintoastra(beb9738)
- #11 (7fe2bb8)
- Updated documentation about the SQL driver (648f0a6)
- Added sqlite support (f387584)
- #36 (90ff3bb)
- Added commandline arguments to lua (374160c)
- Updated docs for the new syntax (a2b2e1e)
- Updated the syntax to be more clear (0cf5339)
- Moved the import and bundle ignore code to lua require override (4ef1490)
- Annotations being wrong (4ef8bf3)
- Added documentation for the FileIO (f871c43)
- Added chdir, exists, create_dir and create_dir_all (479f9ab)
- Added remove, remove dir, and metadata functions (7bb4152)
- Added annotations for read dir (d4f7fee)
- Added import to the global context (6ea4b64)
- Added basic relative imports and filesystem functions (142330c)
- Updated version (ae479cf)
- Upload files with http client and save multipart files with uploaded filename (3fbeced)
- Updated docs on the dotenv load order and global function (b62794f)
- Moved dotenv to a native library (55b0086)
- The startup function was not registered correctly (05d2373)
- Added documentation for Crypto utility (dfc0fc6)
- Added function signatures on Lua as well (c13087a)
- Added base64 support (02f48c4)
- First edition of LuaCrypto (20a55ae)
- #22 export-bundle command did not execute (5efd527)
- Now build with core and full version of Astra (c81bd67)
- Updated doc (65a2a8e)
- Moved everything into workspace structure (04ff6e4)
- Updated README.md with new syntax (c346198)
- #19 and introducing more types (c95a4ac)
- Updated documentation on the new HTTP client (7d7b29a)
- Updated lua bundle for the new http client (c7ebb12)
- Revamped HTTP client is complete (1f3e9ac)
- Major redesign of the http client (0997bb9)
- Updated the lua bundle (7e5a0d5)
- #9 (bfcbfe6)
- #3, added extensive documentation on the website (7fece9e)
- #6 added refereces to other languages (d9028bb)
- Utilities section has been documented (8aeef7a)
- Added schema validation docs and added single type arrays support (f2b955b)
- Finished the basic usage section (ad85abf)
- Added banner to the README (873abdb)
- Cleaned up unneeded context references (41114e8)
- Added banner (a5ace95)
- #7 (ef7317e)
- Added basic documentation and guides (f15be4d)
- Updated the links in the page (f572b38)
- Updated to add versioning and a main page (709b9d0)
- Started writing documentation for the project (caed6d5)
- Added multipart support (7778e8a)
- Changed Makefile into a lua script for better automation (eec31fa)
- Update version (553a9c9)
- Added async tasks throughg tokio tasks (97bcba8)
- Added async task client http request support (9ea6cfa)
- Updated dependencies and now Windows releases are supported (577671c)
- Removed caches from GH Actions (3b0308c)
- Added responses (c94b9f7)
- The body now can have text or json processed (9041831)
- Fixed parse_query and added table schema validation (2dc0ddf)
- #2 (30ee5f5)
- Updated the versions (c556150)
- Attempt at chmod during build (56172b3)
- Dotenv and pretty print (013a0d1)
- Compression layer is now included but optionally enabled through settings (216eb9e)
- Added static_file serving support (721510f)
- Optional compression and added new route methods (ae7b01e)
- Added static routes and compression (0bd553b)
- Updated versions (a53971e)
- Updated version (167d323)
- Added bundle export option (cccc13c)
- Added version (126361c)
- Added workflow and cleaned up the source code (161ba3b)
- Improved request methods (c9b95d4)
- Added license and description (82819f9)
- Performance improved and added README (3860a22)
- Added requests information (132a6d0)
- Workable version with returns (dce9274)