Skip to content

Ego 1.5 "Whole Grain"

Latest
Compare
Choose a tag to compare
@tucats tucats released this 23 Sep 21:19
· 188 commits to master since this release

Ego 1.5 “Whole Grain”

This update has a focus on bug fixies and reliability over new features. But here are some notable changes:

Language

  • Better compliance with Go implicit conversion of constant values.
  • Better compliance with Go function return value typing
  • Add support for if-else-if cascading conditional statements
  • When extensions enabled, support for a type of “type” which contains an Ego type definition.
  • Add @symbols directive to dump symbol table data
  • Add @serizlied directive to dump JSON expression of values.
  • Support package alias names in import statements.

Runtime

  • Add strings package functions like Replace, ReplaceAll, Trim.
  • Add strings.Builder type and associated methods.
  • Add strong package functions for Roman numerals
  • Add tables package functions to read from table objects.
  • Add time package object methods of After, Before, Clock
  • Add fat package Scan function.
  • Move depreciated ioutil package functions to io package.
  • Generate Ego stack trace when panic() called.
  • Fix errors in how functions return a value of type error
  • Fix errors in structure field ordering for output/formatting.
  • Fix errors in symbol table scoping for nested local functions.

Ego command line

  • Shorten server status output unless -v option used.
  • Ego will create lib directory and generate minimum required contents on first run if not already present.
  • Support for creating, examining, and using data source names to read database tables.
  • Add “help” command.
  • Ego can act as a shell processor in Unix/Mac shell scripts (#!/bin/ego)

Server

  • Support for using data source names to securely hold database connection string information (including credentials) to be accessed by name by authorized users.
  • Redact passwords in log messages during server operation.
  • Server can be configured to run service requests in a child process.
  • Better in-memory caching of heavily re-used objects like DSNS, authorization records, and token authentication.
  • Logging updates for tracking service execution more closely.
  • Improved standards compliance for security with HTTPS/HTTP redirects.
  • Server can archive log files that age out to a .zip file

Full Changelog: v1.4...v1.5