Releases: any1/wayvnc
v0.8.0
Highlights
- Transient seats via the new
ext-transient-seat-v1
protocol. These are not implemented in any compositor yet, but will hopefully be a part of sway 0.10 - Automatic server-side resizing of headless outputs, by courtesy of Consolatis
- Detached mode, which allows wayvnc to attach to and detach from a running compositor
Bugfixes
- A crash when trying to attach to a non-wlroots compositor has been fixed. Attaching fails, but it doesn't crash.
These have already been released as a part of the v0.7 branch, but they will also be enumerated here:
- Missing documentation for the websocket flag
- Null-dereferencing when input is disabled
- Out-of-bounds memory access when compositors submit out-of-bounds damage
- Too strict authentication related config parameter sanitation
Shortlog
Andri Yngvason (27):
Set version for next release
meson: Bump Neat VNC version requirement
Don't use tag for git version
Add transient seats
Fix copy-pasta from last commit
ctl-server: Add null-check for info.seat
Sanitise buffer damage from compositor
Relax auth parameter sanitation
Implement detached mode
Detach instead of exiting when compositor goes away
Emit "detached" control event
examples: Add script to auto attach to any compositor
builds: archlinux: Add python cryptodomex
Detach instead of exiting if all outputs go away
main: Only one client is allowed to resize
output: NOOP is another name for HEADLESS
output-management: Force normal transform on headless
main: Remove wayland fd handler on detach
output-management: Clean up and init resources on destroy
pam_auth: Correct use of calloc()
main: Fix ctl-server use after free
meson: Pre-release v0.8-rc0
main: Pass error messages to control socket
main: Fix crashes with non-wlroots compositors
ctl: Replace hostname with IP address
Merge branch 'master' into v0.8
Release v0.8.0
Christopher Snowhill (1):
Add null seat pointer checks
Consolatis (2):
Add wlr-output-management protocol
Automatically resize headless outputs on client request
Lucas Servén Marín (1):
man: document websocket flag
v0.8-rc0
This pre-release adds the following new features:
- Transient seats via the new
ext-transient-seat-v1
protocol - Automatic server-side resizing of headless outputs, by courtesy of Consolatis
- Detached mode, which allows wayvnc to attach to and detach from a running compositor
Changes
Andri Yngvason (22):
Set version for next release
meson: Bump Neat VNC version requirement
Don't use tag for git version
Add transient seats
Fix copy-pasta from last commit
ctl-server: Add null-check for info.seat
Sanitise buffer damage from compositor
Relax auth parameter sanitation
Implement detached mode
Detach instead of exiting when compositor goes away
Emit "detached" control event
examples: Add script to auto attach to any compositor
builds: archlinux: Add python cryptodomex
Detach instead of exiting if all outputs go away
main: Only one client is allowed to resize
output: NOOP is another name for HEADLESS
output-management: Force normal transform on headless
main: Remove wayland fd handler on detach
output-management: Clean up and init resources on destroy
pam_auth: Correct use of calloc()
main: Fix ctl-server use after free
Christopher Snowhill (1):
Add null seat pointer checks
Consolatis (2):
Add wlr-output-management protocol
Automatically resize headless outputs on client request
Lucas Servén Marín (1):
man: document websocket flag
v0.7.2
This release fixes the following issues:
- Missing documentation for the websocket flag
- Null-dereferencing when input is disabled
- Out-of-bounds memory access when compositors submit out-of-bounds damage
- Too strict authentication related config parameter sanitation
Changes
Andri Yngvason (4):
ctl-server: Add null-check for info.seat
Sanitise buffer damage from compositor
Relax auth parameter sanitation
Christopher Snowhill (1):
Add null seat pointer checks
Lucas Servén Marín (1):
man: document websocket flag
v0.7.1
v0.7.0
As usual, most of the work takes place in Neat VNC, and there is more to see in the release notes for Neat VNC: https://github.com/any1/neatvnc/releases/tag/v0.7.0
Highlights
- Each client can now have its own seat, i.e. it's own cursor and separate keyboard focus
- A new option to create a websocket instead of a regular TCP socket
- Software pixel buffers with fewer bits per pixel than 32 are now supported, thanks to MazTheMan
- A new RSA based authentication method with encryption has been added
- A config file can now reference files relative to the directory in which it resides
Bugfixes
- The
unix-socket
option is fixed - Various kinks in
wayvncctl
have been ironed out
Changes
Andri Yngvason (29):
ctl-client: Use EAGAIN instead of ENODATA
Add sr.ht build manifest
.github: Add issue templates
CONTRIBUTING.md: Add extra commit message rule
CONTRIBUTING.md: Summarise coding style guide
.github: Add pull request template
.github: template: bug: Improve clarity
Prepare for per-client seats
main: Increase access to per-client seats
Show seat in client list
Iterate over clients instead of listing
Remove unnecessary copying when listing clients
Add seat name to client-connected event
seat: Add occupancy count
Assign clients to unoccupied seats
main: Add websockets
README: Remove "installing" section
main: Use 1 client cleanup function
Add non-tls authentication
Add config parameter for RSA private key file
Use new Neat VNC authentication API
man: Add new auth config entries
README: Document RSA-AES
Add config option to make paths relative to config file
man: Document use_relative_paths parameter
README: Use relative paths in config examples
Allow use of absolute paths with config relative paths
main: Add rsa to command sanity checker
util: valgrind.sh: Find suppressions regardless of current dir
Benjamin Richter (1):
main: Fix unix-socket option parsing
Jim Ramsay (14):
Add build status badges to README
Fix all non-parameterized IPCs
Add initial integration test to CI
Fix indenting and unlicense example scripts
Update build deps for fedora
Add vncdotool for integration tests
Add verbosity to integration test timeout loops
Add event check to integration test
Harden wayvncctl client json message parsing
Harden wayvncctl --reconnect
Fix 'wayvncctl wayvnc-exit' return code
test: tidy up integration tests
test: Add multi-output integration test
Updated documentation for integration tests
MazTheMan (1):
get pixel size from fourcc to calculate pixel stride
Michael Vetter (2):
Dont include ctrl-server.h in client file
Add packaging status badge to README
v0.6.2
v0.6.1
v0.6.0
Thanks to Jim Ramsay, we now have a new control command named wayvncctl
that can be used to configure the server while it's running. A non-exhaustive list of new features that are enabled by this addition are the following:
- The captured output can be changed on the fly
- Connected clients can be listed and managed
- Various events can be monitored
See the man page for wayvncctl(1)
for more information.
The control interface may change in future versions, and that includes the names of commands and events.
Highlights
- Control interface, mentioned above.
- Screen capturing is paused when no client is connected
- Screen capturing is paused for outputs that are powered off
- Horizontal scrolling
- Each client now gets its own set of virtual inputs. This helps with state tracking.
- Symbol to key code mapping now works better with xwayland
Changes
Ahmad Fatoum (1):
README: note that Weston is not supported
Andri Yngvason (45):
main: Fix typo in help text
pointer: Add horizontal scrolling
Align man-page with help-text
util: trace.sh: Fix chown and event serialisation
keyboard: Prefer lower keycodes
man page: Add FAQ entry about unsupported protocols
main: Refer users to man page when screencopy is missing
main: Suggest to enable debug logging when address binding fails
Adapt to aml api change
Normal exiting conditions should not yield warning
wayvnc manpage: Fix typo
Create option parser interface
ctl-server: Fix sign-compare warning
main: Add per-client state
Create separate input for each client
Create separate data-control for each client
Fixup previous commit
meson: Set default warning level to 2
buffer: Add braces to side-step bogus fallthrough warning
ctl-server: Fix sign compare warning
main: Use stronger error checking for client ids
ctl: Fix sign compare warnings
Move control command schemas into own files
output: Abort on invalid power state
output: The name the "unknown" power state is "UNKNOWN"
Implement custom option parser
Add meson.build for unit tests
main: Don't init render node with gpu disabled
ctl-client: Align log messages with other log messages
ctl-client: Rename WARNING log level to ERROR
ctl-client: Add a few vertical spaces + style changes
ctl-client: Use more descriptive response error message
ctl-client: Rename print_as_yaml -> print_for_human
ctl-client: Remove messages about how many clients/outputs there are
ctl-client: Remove decorations in client/output lists
ctl-client: Don't print "<<null>" for events with no params
ctl-client: Print trailing newline for events
ctl-server: Fix segfault in error path
ctl-server: Improve error messages for missing arguments
ctl-commands: Capitalise "VNC"
ctl-commands: Fix typo
ctl-client: Replace = with : in event description
ctl-commands: Use slightly more helpful schemas
meson: Require specific versions of aml and neatvnc
Release v0.6.0
Consolatis (2):
Prevent capture and performance counter when idle
main: Prevent capture restart if idle
Jim Ramsay (85):
Log the listening address and port
Log removal of seats and outputs
Add manpage section about multiple outputs
Log signal handler
Log output selection and list of outputs
Refactor pointer initialization code
Refactor output selection code
Add output_cycle to get next/prev outputs
Add functions to switch outputs on the fly
Switch to previous output if current output disappears
Add json-ipc message plumbing
Add ctl control socket and initial command infrastructure
Refactor some common utilities out of main
Add ctl-client code
Add initial wayvncctl executable
Add wayvnctl help command
Add wayvncctl version command
Manpage updates for wayvnc and wayvncctl
Allow 'wayvncctl foo --help' syntax
Add wayvncctl human-readable output
Clarify the various wayvncctl 'help' modes
Ensure fatal errors are sent first
Add jsonipc event message constructor
Add server event infrastructure
Added event help text
Introduce an event loop mode in wayvncctl
Add example event-watcher script
Cleanup stale unix socket, iff inactive
Git: ignore .cache/
Fix wayvncctl usage and manpage typos
Add wayvncctl --wait option
Add wayvncctl --reconnect option
Clean up wayvncctl logging
Introduce wayvncctl startup amd shutdown events
Introduce a simple CI that builds wayvnc
Fix segfault if running wayvncctl with no args
Make better client IDs for wayvncctl
Add wayvncctl get-clients command
Start capture on output switch iff clients are connected
Add wayvncctl get-outputs command
Ensure cmd parsing never mis-sets the type
Add wayvncctl disconnect-client command
Cleanup magic strings in event sending code
Add wayvncctl capture-changed event
Add wayvncctl wayvnc-exit command
Add a brief timeout between a capture failure and the retry
Add more libraries to the build CI environment
Add power management state to the output object
Don't attempt capture if an output is powered off
Turn output power on when starting capture
Blank the capture screen when output power turns off
Switch wayvncctl to use option_parser
Refactor comand and event name parsing
Handle all wayvncctl help commands locally
Add output power state to get_outputs ipc command
Refresh and cleanup README.md
Fix trace logging assert crash
Fix segfault after hot-plugging outputs
Improve error message for client receive buffer overflow
Increase client receive buffer size
Force a wayland round-trip after an output appears
Add single-output-sway helper script
Add more error logs for wayland init failures
Fixup buffer.c compiler warning
Add unit tests to github CI
Run github CI on a ci-test branch too
Enable unit tests by default
Cleanup CI reporting and step names
Convert wayvncctl subcommands to use option-parser
Fix segfault for wayvncctl help --command=bad-name
Remove 'help' command and clean up help output
Add help text for wayvncctl-only events
Refactor option-parser table printing code for reuse
Add command and event details to help output
Rename and reorder all wayvncctl commands
Split wayvnctl output-set into output-set and output-cycle
CI: Run apt-get update before install
Allow positional args for single-param commands
Add help output for wayvncctl positional arguments
Add description and argument help to wayvnc --help
Add 'schema' to wayvncctl command parameters
Add option_parser_print_usage
Allow reflow of multiline text
Autoprint option default values
Clean up command summary printing
Simon Ser (1):
readme: remove link to compatibility table
v0.5.0
The most significant addition for this release is H.264 encoding via the
Open H.264 RFB protocol extension. Clients that have implemented Open H.264
at this time are TigerVNC and wlvncc, of which only the latter uses hardware
accelerated decoding.
H.264 encoding is hardware accelerated and requires the --gpu
command line
flag to be enabled. It isn't particularly useful without hardware acceleration,
so it's better to stick with "Tight" encoding if you don't have GPU rendering.
Highlights
- H.264 Encoding
- Input can now be disabled
- UNIX Sockets
- Screen-capturing via DMA-BUF is now a command line flag (
--gpu
) - Improved logging and error messages
Shortlog
Andri Yngvason (26):
Display Patreon account on GitHub page
README: Update installation steps for archlinux
README: IRC channel has moved to libera.chat
Use new NeatVNC buffer submission API
Align with nvnc_fb_pool API change
Let neatvnc handle buffer transforms
Remove damage-refinery
Remove left-over #include
Correct transform for y-inverted buffers
main: Pin wl_output version to 3
screencopy: Set upper bounds on protocol version
main: Set upper bounds on pointer manager version
README: Clarify that Gnome and KDE are not supported
README: Emphasize the "not" in "not supported"
main: Exit on failed keyboard initialisation
FAQ: Mention WAYLAND_DISPLAY
pixels: Remove unused function
Clean up input managers and input backends separately
screencopy: Attach pts to nvnc fbs
main: Add a placeholder buffer
main: Extract input related object binding into function
main: Disallow setting seat name and disabling input
main: Add options to change log level
Use neatvnc logging facilities
screencopy: Add pts to dtrace probes
Make enabling of screencopy-dmabuf a runtime option
Consolatis (1):
Function without virtual keyboard, mouse protocol
Gunnar Wolf (1):
Documented wayvnc is now available in Debian as well
Joel Jensen (1):
When remote input is disabled, also disable clipboard management
Matthias Braun (1):
Fix typos in README.md
Ryan Farley (1):
Support UNIX domain sockets
shironeko (2):
Disable seat completely when using disable-input
main: check data_control exist before using it
v0.4.1
This release fixes wayland protocol version binding bugs. These fixes are needed for the upcoming wlroots
release.
Andri Yngvason (3):
main: Pin wl_output version to 3
screencopy: Set upper bounds on protocol version
main: Set upper bounds on pointer manager version