]> git.sesse.net Git - cubemap/blob - NEWS
Create $(libdir) on make install.
[cubemap] / NEWS
1 Cubemap 1.5.1, 2023-12-17
2
3   * Use systemd.pc to place systemd system units.
4     Patch by Chris Hofstaedtler.
5
6
7 Cubemap 1.5.0, 2023-12-09
8
9   * Support input from pipes (subprocesses).
10
11     With a program that can output Metacube on stdout, such as a suitably
12     patched FFmpeg binary, this gives Cubemap transcoding/remuxing capabilities.
13
14     Of course, one cannot upgrade such a binary by SIGHUP-ing it, but it will
15     survive a Cubemap reload/restart.
16
17   * Add a LD_PRELOAD-able library to force Metacube output from FFmpeg.
18
19     This hooks just the right amount of functions to add Metacube output
20     to arbitrary FFmpeg programs, but is obviously very brittle.
21     (Native FFmpeg support would be better, but a patch did not
22     go through when I tried a while back.) It is only lightly tested.
23     Documentation in the README and cubemap.config.sample.
24
25   * Various bugfixes.
26
27
28 Cubemap 1.4.3, 2019-11-17
29
30   * Keep the HLS backlog even if the stream header changes. Useful
31     for streaming fMP4 across backend restarts, at least given a
32     reasonable client (not all can play or even seek across
33     discontinuities).
34
35   * Various bugfixes.
36
37
38 Cubemap 1.4.2, 2018-12-21
39
40   * Fix an issue with backlogs larger then 2 GB.
41
42
43 Cubemap 1.4.1, 2018-09-12
44
45   * Fix some 32-bit compilation issues.
46
47
48 Cubemap 1.4.0, 2018-09-01
49
50   * NOTE: Cubemap now requires a C++11 compiler. Also, live upgrades
51     from Cubemap before version 1.2.0 is no longer supported (upgrade
52     through 1.3.2 first if this is a problem for you).
53
54   * Support for TLS 1.2, through the tlse library (a lightly patched
55     version is included) and kTLS. This requires Linux >= 4.17.
56
57   * Support for fMP4 (HLS), including generating playlists on-the-fly.
58     This requires an input Metacube stream generated by Nageru >= 1.7.2.
59     See cubemap.config.sample for an example.
60
61   * Fix an issue that would cause problems with UDP inputs on reload
62     (unless their source encoding was explicitly marked as raw).
63
64
65 Cubemap 1.3.2, 2017-05-24
66
67   * Fix a bug where streams with paths exactly seven characters long
68     (e.g. “/abc.ts”) would get broken buffering behavior, as they would
69     start at the start of the backlog, not the end as they should.
70     This caused massively increased latency and/or problems playing back
71     the streams properly.
72
73
74 Cubemap 1.3.1, 2016-07-23
75
76   * Support Metacube timestamp blocks. This allows Metacube producers
77     to add timestamps at arbitrary places between blocks, which,
78     provided that the system clocks on both sides are in sync, allows
79     Cubemap to produce a latency measure. If the latency is very high
80     (and/or keeps going up), you will know that the network has problems
81     keeping up with transporting the stream, even in the absence of
82     other error messages.
83
84     At the time of release, only Nageru adds timestamp blocks;
85     VLC does not.
86
87
88 Cubemap 1.3.0, 2016-07-14
89
90   * Add an option for raw (non-Metacube) inputs over HTTP
91     (src_encoding=raw). Only really useful for TS.
92
93   * If a HTTP input fails multiple times, silence it in the error log
94     for the next minute. This reduces the amount of logging for a
95     permanently dead input stream by a lot, although of course,
96     such streams should generally just be removed from the
97     configuration altogether.
98
99
100 Cubemap 1.2.2, 2016-04-02
101
102   * Fix literal IPv6 address parsing in URLs.
103
104   * Fix a bug (introduced in 1.2.0) where access.log would have monotonic
105     timestamps (typically time since boot) instead of real time.
106
107   * Increase the Metacube block size warning limit from 1MB to 10MB, as MP4
108     muxing can legitimately create huge blocks.
109
110
111 Cubemap 1.2.1, 2015-08-30
112
113   * Use libsystemd to inform systemd accurately about when the service is up
114     and running. Note that this means Cubemap now also depends on libsystemd.
115
116   * Add a simple HTTP endpoint that returns a very short string (gen204),
117     for timing purposes.
118
119   * Document config options better in cubemap.config.sample.
120  
121
122 Cubemap 1.2.0, 2015-07-24
123
124   * Add support for server-side prebuffering (force_prebuffering=NNN
125     on a stream to prebuffer that amount of bytes), where Cubemap doesn't
126     send any data before it knows it can send a certain number of
127     bytes without waiting for more from the input (either through
128     giving out old data, waiting for new data, or a combination).
129
130     This is useful when using jwPlayer or <video> in browsers, where
131     the client typically does not wait to fill up its buffer before it
132     starts playing, and thus will stay perenially in a low-buffer state.
133     Effectively it is forcing a certain amount of buffering on the client.
134
135   * Log the client's Referer: and User-Agent: header in the stats file and
136     access log.
137
138   * Time out clients that go more than 60 seconds without sending a request;
139     they could hang in that state for days and months before.
140
141
142 Cubemap 1.1.2, 2014-07-07
143
144   * Remove some leftover debug code that would cause compile errors.
145
146
147 Cubemap 1.1.1, 2014-07-06
148
149   * Fix parsing of IPv6 SSM URLs. Also add an example to the
150     configuration file.
151
152   * Change the default backlog size to 10 MB.
153
154
155 Cubemap 1.1.0, 2014-04-30
156
157   * Multicast support, both for sending and receiving;
158     both IPv4 and IPv6, both ASM and SSM.
159
160   * Drop support for fwmark, since it is obsolete with sch_fq
161     around.
162
163   * Many smaller bugfixes.
164
165
166 Cubemap 1.0.4, 2014-03-23
167
168   * Fix a segfault on reload that was introduced in 1.0.2.
169
170   * Remove the Metacube VLC patch, as it is now upstream.
171
172   * Always compile with large file support, which works around
173     a blocking issue with 32-bit x86.
174
175
176 Cubemap 1.0.3, 2014-02-06
177
178   * Fix a compilation error with newer glibc.
179
180
181 Cubemap 1.0.2, 2014-02-04
182
183  * Support SO_MAX_PACING_RATE (Linux 3.13 and above).
184
185  * Add a listen statement to listen only on specific IP addresses,
186    in addition to the port statement.
187
188  * Update the VLC Metacube patch to apply to current VLC git.
189
190  * Fix a crash bug on reload.
191
192  * Be more consistent about handling streams that have no data yet.
193    In particular, this could show itself as erratic behavior when
194    sending Metacube streams on to other Cubemap instances.
195
196
197 Cubemap 1.0.1, 2013-09-19
198
199  * Added NEWS file.
200
201  * Fix an issue where Cubemap could be slow when /tmp was slow
202    (ie., not on SSD and not on tmpfs), due to high mutex contention.
203
204  * Fix compilation on 32-bit systems.
205
206  * Various packaging fixes and a systemd service unit, contributed
207    by Philipp Kern.
208
209  * Use the new deleted-by-default temporary files if available
210    (Linux 3.11 and above).
211
212
213 Cubemap 1.0.0, 2013-08-24
214
215  * Initial release.