summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
blob: 6709015d57c8dfc604fcb2b2d44ca8a5bb9194dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
CHANGELOG
=========

v1.4.0
-------------------
- ENV variables in configs (automatic RR_ mapping and manual definition using "${ENV_NAME}" value)
- the ability to safely remove the worker from the pool in runtime
- minor performance improvements
- `real ip` resolution using X-Real-Ip and X-Forwarded-For (+cidr verification) 
- automatic worker lifecycle manager (controller, see [sample config](https://github.com/spiral/roadrunner/blob/master/.rr.yaml))
   - maxMemory (graceful stop)
   - ttl (graceful stop)
   - idleTTL (graceful stop)
   - execTTL (brute, max_execution_time)   
- the ability to stop rr using `rr stop`
- `maxRequest` option has been deprecated in favor of `maxRequestSize`
- `/vendor/bin/rr get` to download rr server binary (symfony/console) by @Alex-Bond
- `/vendor/bin/rr init` to init rr config by @Alex-Bond
- quick builds are no longer supported
- PSR-12
- strict_types=1 added to all php files

v1.3.7 (21.03.2019)
-------------------
- bugfix: Request field ordering with same names #136 

v1.3.6 (21.03.2019)
-------------------
- bugfix: pool did not wait for slow workers to complete while running concurrent load with http:reset command being invoked

v1.3.5 (14.02.2019)
-------------------
- new console flag `l` to define log formatting
    * **color|default** - colorized output
    * **plain**         - disable all colorization
    * **json**          - output as json
- new console flag `w` to specify work dir
- added ability to work without config file when at least one `overwrite` option has been specified
- pool config now sets `numWorkers` equal to number of cores by default (this section can be omitted now)

v1.3.4 (02.02.2019)
-------------------
- bugfix: invalid content type detection for urlencoded form requests with custom encoding by @Alex-Bond

v1.3.3 (31.01.2019)
-------------------
- added HttpClient for faster integrations with non PSR-7 frameworks by @Alex-Bond

v1.3.2 (11.01.2019)
-------------------
- `_SERVER` now exposes headers with HTTP_ prefix (fixing Lravel integration) by @Alex-Bond
- fixed bug causing body payload not being received for custom HTTP methods by @Alex-Bond 

v1.3.1 (11.01.2019)
-------------------
- fixed bug causing static_pool crash when multiple reset requests received at the same time
- added `always` directive to static service config to always service files of specific extension
- added `vendor/bin/rr-build` command to easier compile custom RoadRunner builds 

v1.3.0 (05.01.2019)
-------------------
- added support for zend/diactros 1.0 and 2.0
- removed `http-interop/http-factory-diactoros`
- added `strict_types=1`
- added elapsed time into debug log
- ability to redefine config via flags (example: `rr serve -v -d -o http.workers.pool.numWorkers=1`)
- fixed bug causing child processes die before parent rr (annoying error on windows "worker exit status ....")
- improved stop sequence and graceful exit
- `env.Environment` has been spitted into `env.Setter` and `env.Getter`
- added `env.Copy` method
- config management has been moved out from root command into `utils`
- spf13/viper dependency has been bumped up to 1.3.1
- more tests
- new travis configuration

v1.2.8 (26.12.2018)
-------------------
- bugfix #76 error_log redirect has been disabled after `http:reset` command

v1.2.7 (20.12.2018)
-------------------
- #67 bugfix, invalid protocol version while using HTTP/2 with new http-interop by @bognerf
- #66 added HTTP_USER_AGENT value and tests for it
- typo fix in static service by @Alex-Bond
- added PHP 7.3 to travis
- less ambiguous error when invalid data found in a pipe(`invalid prefix (checksum)` => `invalid data found in the buffer (possible echo)`)

v1.2.6 (18.10.2018)
-------------------
- bugfix: ignored `stopping` value during http server shutdown
- debug log now split message into individual lines

v1.2.5 (13.10.2018)
------
- decoupled from Zend Diactoros via PSR-17 factory (by @1ma)
- `Verbose` flag for cli renamed to `verbose` (by @ruudk)
- bugfix: HTTP protocol version mismatch on PHP end

v1.2.4 (30.09.2018)
------
- minor performance improvements (reduced number of syscalls)
- worker factory connection is now exposed to PHP using RR_RELAY env
- HTTPS support
- HTTP/2 and HTTP/2 Support
- Removed `disable` flag of static service

v1.2.3 (29.09.2018)
------
- reduced verbosity
- worker list has been extracted from http service and now available for other rr based services
- built using Go 1.11

v1.2.2 (23.09.2018)
------
- new project directory structure
- introduces DefaultsConfig, allows to keep config files smaller
- better worker pool destruction while working with long running processes
- added more php versions to travis config
- `Spiral\RoadRunner\Exceptions\RoadRunnerException` is marked as deprecated in favor of `Spiral\RoadRunner\Exception\RoadRunnerException`
- improved test coverage

v1.2.1 (21.09.2018)
------
- added RR_HTTP env variable to php processes run under http service
- bugfix: ignored `--config` option
- added shorthand for config `-c`
- rr now changes working dir to the config location (allows relating paths for php scripts)

v1.2.0 (10.09.2018)
-------
- added an ability to request `*logrus.Logger`, `logrus.StdLogger`, `logrus.FieldLogger` dependency
in container
- added ability to set env values using `env.Environment`
- `env.Provider` renamed to `env.Environment`
- rr does not throw a warning when service config is missing, instead debug level is used
- rr server config now support default value set (shorter configs)
- debug handlers have been moved from root command and now can be defined for each service separately
- bugfix: panic when using debug mode without http service registered
- `rr.Verbose` and `rr.Debug`is not public
- rpc service now exposes it's addressed to underlying workers to simplify the connection
- env service construction has been simplified in order to unify it with other services
- more tests

v1.1.1 (26.07.2018)
-------
- added support for custom env variables
- added env service
- added env provider to provide ability to define env variables from any source
- container can resolve values by interface now

v1.1.0 (08.07.2018)
-------
- bugfix: Wrong values for $_SERVER['REQUEST_TIME'] and $_SERVER['REQUEST_TIME_FLOAT']
- rr now resolves remoteAddr (IP-address)
- improvements in the error buffer
- support for custom configs and dependency injection for services
- support for net/http native middlewares
- better debugger
- config pre-processing now allows seconds for http service timeouts
- support for non-serving services

v1.0.5 (30.06.2018)
-------
- docker compatible logging (forcing TTY output for logrus)

v1.0.4 (25.06.2018)
-------
- changes in server shutdown sequence

v1.0.3 (23.06.2018)
-------
- rr would provide error log from workers in realtime now
- even better service shutdown
- safer unix socket allocation
- minor CS

v1.0.2 (19.06.2018)
-------
- more validations for user configs

v1.0.1 (15.06.2018)
-------
- Makefile added

v1.0.0 (14.06.2018)
------
- higher performance
- worker.State.Updated() has been removed in order to improve overall performance
- staticPool can automatically replace workers killed from outside
- server would not attempt to rebuild static pool in case of reoccurring failure
- PSR-7 server
- file uploads
- service container and plugin based model
- RPC server
- better control over worker state, move events
- static files server
- hot code reload, interactive workers console
- support for future streaming responses
- much higher tests coverage
- less dependencies
- yaml/json configs (thx viper)
- CLI application server
- middleware and event listeners support
- psr7 library for php