All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Go version updated from
1.20
up to1.22
- Go dependencies updated
- Go version updated from
1.17.2
up to1.20
- Module name changed from
github.com/tarampampam/mikrotik-hosts-parser/v4
togh.tarampamp.am/mikrotik-hosts-parser/v4
- Go version updated from
1.16.3
up to1.17.2
- Possibility to use IP addresses in hosts file lists in long integer format #123 (thx @vadimpronin)
- Go version updated from
1.16.2
up to1.16.3
- HTTP route
/metrics
with metrics in prometheus format - Comment in generated script with "script generation" time
- Go version updated from
1.16.0
up to1.16.2
- Support for
linux/arm64
,linux/arm/v6
andlinux/arm/v7
platforms for docker image
- Go version updated from
1.15.7
up to1.16.0
- Mistake inside HTTP script generation handler (it caused handler panic when "excludes list" less than "sources list")
- GitHub actions updated
- Docker image based on
scratch
(insteadalpine
image) - Go version updated from
1.13
up to1.15
- Package name changed from
mikrotik-hosts-parser
togithub.com/tarampampam/mikrotik-hosts-parser/v4
- Directory
public
renamed toweb
- Config file location now is
./configs/config.yml
(instead./serve.yml
) - App packages refactored
- Docker image now contains only one layer
- More strict linter settings
- Config file now contains only sources list and script generator options
- Default values for the next
serve
sub-command flags:- For
--config
now is%binary_file_dir%/configs/config.yml
(instead nothing) - For
--resources-dir
now is%binary_file_dir%/web
(instead nothing) - For
--listen
flag now is8080
(instead nothing)
- For
- For static files serving disabling you can set
--resources-dir
empty value (""
) - Large performance improvements
- HTTP requests log records contains request processing duration
- Panics inside HTTP handlers now will be logged and JSON-formatted string will be returned (instead empty response)
- Frontend dependencies updated
- Docker image (for release) now supports
linux/amd64
+linux/386
platforms
- Docker healthcheck
- Healthcheck sub-command (hidden in CLI help) that makes a simple HTTP request (with user-agent
HealthChecker/internal
) to thehttp://127.0.0.1:8080/live
endpoint. Port number can be changed using--port
,-p
flag orLISTEN_PORT
environment variable - Two caching engines (memory and redis) instead file-based cache
serve
sub-command flags:--cache-ttl
for cache entries lifetime setting (examples:50s
,1h30m
);30m
by default; environment variable:CACHE_TTL
--caching-engine
for caching engine changing (memory|redis
);memory
by default; environment variable:CACHING_ENGINE
--redis-dsn
for redis server URL setting;redis://127.0.0.1:6379/0
by default; environment variable:REDIS_DSN
. This flag is required only ifredis
caching engine is set
- Global (available for all sub-commands) flags:
--log-json
for logging using JSON format (stderr
)--debug
for debug information for logging messages--verbose
for verbose output
- Graceful shutdown support for
serve
sub-command - HTTP endpoints:
/live
for liveness probe/ready
for readiness probe
- E2E tests (using postman)
- File-based cache support
- HTTP
/api/routes
handler
- Wrong HTTP
Content-Type
header value for docker environment
- Dead link in config file replaced with mirror
- Docker image supports argument with application version value
- Docker image builds using GitHub Actions (not hub.docker.com)
- Version value extraction using GitHub Actions
- Application re-wrote on GoLang (previous HTTP endpoint still working)
- Settings now defined in special configuration file
- Performance improvements
- Composer installation in dockerfile
- Basic sources URIs
- (docker) Now docker image based on PHPPM
- Environment value
FORCE_HTTPS
for forcinghttps
scheme usage
- Dockerfile now based on
alpine
- Bower-installed components removed (use
cdnjs.com
now) - Make repository clear
- Added
delay 3
after/tool fetch ...
#11
WindowsSpyBlocker
hosts file URI #10