Change Log
[v0.97.1 - 2024-08-28]
Release Notes
1. Added
-
a. Introducing Log Listener in
gui
- The Log Listener view shows a list of the 10 last requests with columns for router, transaction ID, duration and time
- Log entries can be viewed in full, and copied to clipboard
-
b. Copy code button added for python code in Tutorial - Make a Request
- Button copies code snippit to clipboard
2. Changed
- a. Archiving during deployment stage of Tutorials doesn't exit the tutorial
3. Fixed
- a.
gui
now provides correct validation errors when router paths are not unique
[v0.96.1 - 2024-07-09]
Release Notes
1. Added
-
a. Introducing Tutorials in
gui
- Tutorials guide you through the most common activites such as how to configure & deploy: New Router, Advanced Router Setup, Deploy Configuration, Activate Logging and Make a Request via Gecholog.ai
-
b. Adding support in
gui
for additional configuration filesnats2file_config.json
now supportednats2log_config.json
now supported
-
c. When editing processor configuration in
gui
- A new button is added to add a processor before existing processors
2. Changed
-
a.
gl
now supports "This header must exist"- Set router ingress header value for a header to
regex:.+
- Set router ingress header value for a header to
-
b. File management experience in
gui
is improved.
3. Fixed
-
a. Sending query parameters and endpoint in request to
gl
for routers that had outbound endpoint specified caused invalid url path to be built.- Query parameters and endpoint in router definition takes precedence over request query param and endpoint info
-
b.
nats2log
now invalidates spaces in filenames for FileWriter
[v0.95.1 - 2024-05-28]
Release Notes
1. Added
-
a. WebUI service
gui
created- Allows you to update, validate, and deploy new configuration files for
gecholog
- Behavior of
gui
determined viagui_config.json
- Try it (via docker) with
docker run -d -p 5380:5380 -p 8080:8080 -e GUI_SECRET=changeme gecholog/gecholog:latest
and then visit http://localhost:8080/login with your web browser
- Allows you to update, validate, and deploy new configuration files for
-
b.
gui
supports- Configuration file
gl_config.json
- Access authentication via environment variable
GUI_SECRET
- TLS and port (default 8080) configuration
- One session at a time
- Configuration file
-
c.
healthcheck
supportsgui
- Run
./healthcheck -s gui -p
to print active checksum
- Run
2. Changed
- a.
ginit
startsgui
by default- A non-GUI
ginit_config.json
file can be found at/app/default-conf/ginit_nogui_config.json
- A non-GUI
3. Fixed
- a. Incorrect validation pattern
WARNING
changed toWARN
[v0.94.1 - 2024-03-19]
1. Added
-
a. Log field
inbound_status_code
added- The
response
log object now has bothinbound_status_code
andegress_status_code
- The behavior of the
status_code
fields now harmonized with other log fields, ie now available for processors
- The
-
b. Container hardening
- Non-root user
- Not bound to specific UID
- Minimal base container
- File & folder permissions
- No container shell
- Executables not writeable
- Vulnerability scans
-
c.
mock
go processor see Section Mock- The
mock
custom processor lets you easily mock and replicate your LLM API responses
- The
2. Changed
-
a. Method for configuration file monitoring updated
- Monitored for change & size (new config still determined via checksum)
- More information on ownership, issues and permissions if file operations fail
-
b. No
nats2file
file or symbolic link- Configuration file validation now performed solely via
nats2log
command
- Configuration file validation now performed solely via
3. Fixed
- a. Errors from config file monitoring no longer repeated in system log
[v0.93.1 - 2024-02-22]
Release notes
1. Added
-
a. Health check command
./healthcheck
- Impacted services
ginit
,gl
,nats2log
,nats2file
andtokencounter
-s
option to check specific service. Default isginit
-p
to print active config sha256 checksum for the service
- Impacted services
-
b. Easier to track license status
gl
option--license
now prints days remaining for license- Alerts in container log when 30 days left on license
-
c. Ability to control restarts and which services need to run for container to stay alive
- Service
ginit
- Config file
/app/conf/ginit_config.json
- Service
-
d.
broker
go processor on GitHub Gecholog.ai Resources
2. Changed
-
a. Changed/uploaded config files will now automatically be applied (if valid) without restart
- Impacted services
gl
,nats-server
,nats2log
,nats2file
andtokencounter
- Impacted files
app/conf/gl_config.json
,app/conf/nats-server.conf
,app/conf/nats2log_config.json
,app/conf/nats2file_config.json
andapp/conf/tokencounter_config.json
- Impacted services
-
b. One unified harmonized system log
- All services system log goes to container stdout
ginit
,gl
,nats-server
,nats2log
,nats2file
andtokencounter
3. Fixed
- a. Timing for change of log level
[v0.92.1 - 2024-02-01]
Release notes
1. Added
-
a. Ability to run
--validate
on config files.- Impacted services
gl
,nats2log
,nats2file
andtokencounter
- Works both with stdout pipe and
-o
option.
- Impacted services
-
b. Much stricter config file validation and feedback to users
- Impacted services
gl
,nats2log
,nats2file
andtokencounter
- Warn & list rejected fields that will not be applied
- Checking for existence of files, duplicates, stricter format rules
- Impacted services
-
c. Services support
--version
option- Impacted services
gl
,nats2log
,nats2file
andtokencounter
- Impacted services
-
d.
version
tag on config files + backwards compatibility process for config files- Impacted services
gl
,nats2log
,nats2file
andtokencounter
- Config files from v0.91.1 are still supported but not earlier due to missing nats token.
- Impacted services
-
e.
gl
supports--license
option
2. Changed
-
a. New service system log format. System logs are harmonized in a
jsonl
format.- Impacted services
gl
,nats2log
,nats2file
andtokencounter
- Impacted files
/var/log/supervisar/*.log
- (Main service orchestrator still on non-jsonl system log format)
- Impacted services
-
b. Config file json structure changed.
- Impacted services
app/conf/gl_config.json
,app/conf/nats2log_config.json
,app/conf/nats2file_config.json
andapp/conf/tokencounter_config.json
- All config files have a
version
field. verbose
anddebug
replaced withlog_level
- Last format v0.91.1 still supported.
- Impacted services
-
c.
nats2log
will not be running without relevant env variables (disabled mode).- No user impact but main service orchestrator log with show service as failed. Message to be fixed in future update.
3. Fixed
- a. Container running without env variable for nats token defined could on rare occasions generate a nats token that was rejected by the services.
[v0.91.1] - 2024-01-15
Release notes
1. Added
- a. Securing
nats-server
- Mandatory use of token for communication. Container uses
$NATS_TOKEN
environment variable by default. - Configuration files:
/app/conf/gl_config.json
,/app/conf/nats2log_config.json
,/app/conf/nats2file_config.json
,/app/conf/tokencounter_config.json
and/app/conf/nats-server.conf
- Mandatory use of token for communication. Container uses
- b.
tokenizer
example python processor - c.
contentfilter
example python processor - d.
regex
example go processor
2. Changed
- a. All custom processors have a
Dockerfile
and better documentation on GitHub
3. Fixed
- a. Stability improvements to
nats2log
process function.
[v0.90.1] - 2023-12-28
Release notes
1. Added
-
a.
tokencounter
standard library processor supports specifying search pattern per router pathdefault
pattern supported
-
b.
nats-server.conf
added/app/conf
container folder
-
c. Retry parameters added to
nats2log
configurationretries
andretry_delay_milliseconds
2. Changed
- a.
tokencounter
standard library processor uses full search path for patterns- Example
inbound_payload.usage.prompt_tokens
replacesusage.prompt_tokens
- Example
3. Fixed
- a.
gecholog
outbound url last/
issue fixed
[v0.89.1] - 2023-11-28
Release notes
1. Added
-
a. Support for environment variables at container deployment.
- Implemented support for passing secrets like API keys and shared secrets through environment variables in container deployments. This enhancement eliminates the necessity of storing secrets in config files and enables integration with cloud key vaults in enterprise systems like k8s and other managed container services.
- Config files that supports environment variables:
/app/conf/gl_config.json
/app/conf/nats2log_config.json
/app/conf/nats2file_config.json
/app/conf/tokencounter_config.json
.
-
b. A new Standard Library processor:
nats2log
nats2log
will be the new standard library processor to push logs to 3rd party systems such as file store or via rest api to log store.nats2log
will support the following write methodsfile_writer
rest_api_writer
elastic_writer
azure_log_analytics_writer
.nats2file
is justnats2log
configured asfile_writer
.
-
c. Outbound
tls
support.- Enhanced certificate configuration options including system certificates, custom certificate files, and an 'insecure' mode for development environments.
- Scope:
gl
nats2log
.
-
d. A public .go processor example.
- Short sample code in golang for a custom processor. Code published on github.
2. Changed
-
a.
nats2elastic
depreciated.- Replace by more versatile
nats2log
.
- Replace by more versatile
-
b. Structure of config files to support new features.
- Impacted files
/app/conf/gl_config.json
/app/conf/nats2log_config.json
/app/conf/nats2file_config.json
.
- Impacted files
-
c.
docker-compose.yml
for bundlegechologl-ek-dev
.- Now use environment variables for quicker and easier first deployment.
-
d. How misconfigured routers in
/app/conf/gl_config.json
are treated.gl
will not stop. Router will just be ignored.
-
e. Docs site updated to reflect these changes.
3. Fixed
- a. Bug fixes and performance improvements.
[v0.88.1] - 2023-11-15
First release.