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