Skip to content

Releases: diznq/80s

24H2 Release

12 Oct 08:47
1f737a6
Compare
Choose a tag to compare
  • Add support for Unix domain sockets
  • Add resolv DNS provider
  • Add conditional MySQL transactions
  • Add sleep & scheduled callbacks
  • Improve HTTP client, so it reconnects on failure
  • Improve read_until procedure for file descriptors
  • Improve aiopromise<T> to be move only
  • Improve code standards by using present<T> for coroutine parameters everywhere applicable
  • Fix undefined behaviors

24H1 Release

08 Jun 18:24
48b7a5c
Compare
Choose a tag to compare
  • Added HTTP client
  • Added Resolv DNS client
  • Added asynchronous thread-pooled executors (exec_async)
  • Added asynchronous completion executors (create_task, complete_task)
  • Added Gzip utility functions
  • Added Actor Framework
  • Fixed varstring implementation
  • Fixed MySQL protocol implementation

Web Sockets

03 Mar 09:41
8ca63ef
Compare
Choose a tag to compare
  • Add support for Web Sockets using env::websocket_upgrade, env::websocket_read and env::websocket_write
  • Fix race conditions in MySQL implementation which would happen when initial SQL query was specified
  • Improve dbgf concept to take debugging level as the first argument

Varchars

25 Feb 11:21
16645d8
Compare
Choose a tag to compare
  • Add proper varchar implementation for both C++ and Lua
  • Fix accepting conections

90's Mail

14 Jan 12:42
17358ae
Compare
Choose a tag to compare
  • Add SMTP server

  • Add SMTP client

  • Add indexed mail storage

  • Add webmail server

  • Add async DNS interface

  • Add DNS over HTTPS

  • Refactor std::shared_ptr -> ptr, std::make_shared -> ptr_new

90's SSL

29 Dec 21:48
a09b8d4
Compare
Choose a tag to compare

New features:

  • Add SSL layer for both client & server in 90's
  • Add DKIM signatures for SMTP
  • Add interworker communication via s80_mail API with S80_MB_MESSAGE as type and on_message handler
  • Add Lua bindings for interworker communication

Improvements:

  • Make code C11 compatible with MSVC compiler that doesn't support VLA
  • Make all Lua bindings safe by checking input arguments (net. bindings were unsafe before)
  • Add documentation for 90's interfaces
  • Improve escaping performance in 90's
  • Rearchitect ownership of promises and file descriptors in 90's
  • Add operator*, operator-> and explicit operator bool() for return structures of 90's APIs to prevent boilerplate code

Bug fixes:

  • Fix bug in popen in Lua that made it impossible to read the data
  • Fix query string parser in 90's
  • Fix 90's template compiler to allow for recursive includes

90's ORM

21 Dec 22:00
8acd7e7
Compare
Choose a tag to compare
feat: Add datetime & timespan fields for 90's ORM (#11)

* feat: add ORM types for datetime & timestamp

* fix: parsing data from sql

* fix: fix

* fix: fix

90's framework

13 Dec 12:09
Compare
Choose a tag to compare

Add first version of the 90's C++ framework that builds on top of 80's

New features include:

  • Template compiler for C++ that compiles webpages into pagelets
  • HTTP server that automatically locates & loads pagelets
  • Support for main.so "pagelet" that can initialize local context
  • SQL provider within global context

ABI refactor

26 Nov 19:56
Compare
Choose a tag to compare
  • Crypto API was separated from Lua and is now accessible as generic plug-in module using crypto.h
  • Code is Clang compatible for C++ builds
  • Automatic compiler detection inside the build

Mail exchange

12 Nov 09:04
Compare
Choose a tag to compare
  • add SMTP client
  • add SMTP server
  • add mail server prototype
  • add S80_FD_SERVER_SOCKET as special type for accepting sockets
  • add support for UDP connections
  • add DNS module with dns:get_ip(host_name, record_type) method, useful for getting other than A records, i.e. get_ip("gmail.com", "MX")
  • add aio:connect2 method for quick and easy connection establishing and using aiopromise<aiosocket> as a return value
  • add aio:set_dns(dns_provider) method for overriding default DNS used for aio:connect2, i.e. aio:set_dns(require("aio.lib.dns")) to use async DNS
  • fixed issues mostly with SSL handshakes
  • fixed documentation and type hints for several utility functions such as aio:map and aio:await