Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, but uses the custom versioning scheme MAJOR.MINOR:
MAJORdenotes the switch from test to production phase for0 -> 1and fundamental codebase rewrites afterwards.MINORindicates the index of releasable features and patches made.
0.35 - 2025-08-19
Fixed
- Fix unhandled empty message values from parsing
0.34 - 2025-08-19
Added
- Add tests for library code:
auth,awareness,cli,component,core,main,parser,protocol,provider,renderer,server,store - Add developer setup script for installing git hooks
- Add
pre-commitandpre-merge-commitgit hook - Add
ruffconfig - Add matrix testing with
nox - Add dependency constraints for
websocketsandtextual - Add
coveragedevelopment dependency with config file - Add link to
elvaPython package on PyPI to the docs - Add
DashboardandInputScreenscreens - Add handling of permission errors in
serverapp - Add
free_tcp_portfunction to theservermodule and tests - Add
pass_config_fordecorator getter and tests - Add a state subscription mechanism to
Component - Add an
Awarenesscomponent - Add awareness support to
WebsocketProvider
Changed
- Adapt apps
editor(formeredit),chatandserverto rewritten CLI and define them as namespace packages - Create a namespace package for
YTextAreawidget - Rename the
climodule tomainand expose CLI functionality in a newclimodule - Expose project constants in the
coremodule - Update the
uvlock file - Update the documentation guides and API reference of all modules
- Replace legacy
tmpdirfixture withtmp_pathin tests - Let
WebsocketServerwait for allRooms to be inactive before stopping - Adapt logger name for
WebsocketServer - Rewrite connection exception callback and connection details API for
WebsocketProvider - Stabilize
WebsocketProvidertests by comparing YDoc updates instead of states - Rewrite
SQLiteStoreupdate buffer without async context manager protocol - Bump minimal Python version to 3.11
Fixed
- Fix timing issue on component interrupt signal test
- Fix clash of
propertyandclassmethodon message enums
Removed
- Remove unmaintained
Dockerfile - Remove Unix-specific signal handler from
serverapp - Remove unused dependencies
- Remove superfluous style definition for
editor - Remove unmaintained app modules
drive.pyandservice.py - Remove unmaintained
examplesandexperimentsdirectories - Remove obsolete test modules
- Remove unused
click_lazy_group.pyandclick_utils.py - Remove
ElvaRoomandElvaWebsocketServer - Remove
ConnectionandWebsocketConnectionclasses - Remove
ElvaWebsocketProvider - Remove
startedandstoppedevents - Remove custom logic for
YTextAreawidget
0.33 - 2025-05-07
Added
- Add documentation
Changed
- Change
README.mdto link to the documentation - Switch from
pdmtouvfor package management - Use tree-sitter-language-pack instead of py-tree-sitter-languages
- Update
pyproject.tomlaccording to spec
Fixed
- Fix statements querying the request path as well as types in the
servermodule - Fix lost
contentargument inQRCodewidget - Fix
hostandportarguments not applied when given via CLI toserverapp
Removed
- Remove version specifiers in
pyproject.toml
0.32 - 2025-02-13
Added
- Add
CHANGELOG.mdup to version v0.31 - Add
git-cliffalongside config
Changed
- Change fill color from
transparenttonone
Fixed
- Fix logo
maskelement not being in definitions
0.31 - 2024-12-16
Added
- Add logo to project
README.md - Add licensing information to both project and logo
README.md - Add instructions to view RDF metadata
- Add metadata to logo and breakdown SVG files
- Add dependencies to logo-generating script
- Add logo, breakdown, generating Python script and
README.md
0.30 - 2024-11-15
Added
- Add
StatusBarwidgets and actions
Changed
- Adapt config parameter names
0.29 - 2024-11-15
Added
- Add
disconnectedevent toWebsocketConnection - Add
FeatureStatuswidget - Add
ComponentStatuswidget
Changed
- Let
Componentlogging level inherit from parent logger - Set default logging level to
INFOin theclickinterface - Move basic authentication handling to
WebsocketConnection
0.28 - 2024-11-12
Added
- Add
Statuswidgets - Add
ConfigInputwidget - Add
QRCodeViewwidget - Add
ConfigPanelwidget - Add
ConfigViewwidget - Add
StatusBarwidget
Changed
- Move config widgets into its own module
- Store UI components in a separate subpackage
- Manage components with Worker API
- Redesign
MessageViewand colors in chat app
0.27 - 2024-09-26
Changed
- Bump
websocketsversion to 13.1
0.26 - 2024-09-26
Fixed
- Fix unstable
TextRenderercomponent
0.25 - 2024-09-25
Fixed
- Fix language not set if
YTextAreain chat app
0.24 - 2024-09-25
Added
- Add
YDocumentclass - Add
YEditclass
Changed
- Rewrite
YTextArea - Make
YDocumentsyntax-aware - Adjust editor app and chat app for new
YTextArea
0.23 - 2024-09-13
Added
- Add
--userand display--nameoptions to CLI - Add
clickcallback to log order of processedclick.Parameters - Add basic authentication handling to service
- Add
ErrorScreen - Add
CredentialScreento chat app
Changed
- Fall back to
Yjsprotocol if none is given - Rework gathering context information
- Rename
--message-typeto--messages - Move
LOGGER_NAMEcontext variable intologmodule - Put
LOGGER_NAMEin theclickcommand so that it does not get set on imports
Fixed
- Fix minor UI issues
- Fix abort on missing username
0.22 - 2024-09-06
Changed
- Update
MANIFEST.into also include TCSS files - Use
srclayout forsetuptools's automatic discovery and no-config build - Replace and modify
Dockerfileto enable CLI usage - Split
servermodule in library and app modules
0.21 - 2024-09-06
Added
- Add
LDAPBasicAuthto server - Add
CredentialScreento editor app
Changed
- Make LDAP basic authentication accessible via CLI
- Move LDAPBasicAuth into the
authmodule
0.20 - 2024-09-04
Added
- Add basic example for Textual authentication client
Changed
- Change to
websocketsdevelopment dependency - Rework
WebsocketConnection
0.19 - 2024-08-30
Added
- Add
BasicAuthclass for use inwebsockets.serve - Add examples
- Add LDAP self-bind function
Fixed
- Fix inconsistent class naming
0.18 - 2024-08-30
Changed
- Change to
PDMpython package manager
0.17 - 2024-08-30
Changed
- Ignore private ELVA config file
- Use
ContextVarto set the logger name accordingly
0.16 - 2024-08-30
Added
- Implement ability to gather context information
Changed
- Store identifier in file
- Update data and log paths
0.15 - 2024-08-27
Added
- Add cross-sync tests
- Add cross-sync for
serviceandserver
Changed
- Rename
message_encodingtomessage_type - Rewrite provider for Yjs and ELVA protocol
- Proper naming of helper function plus comments
Fixed
- Fix parser tests with delays
Removed
- Remove test files
0.14 - 2024-08-19
Added
- Add logging capabilities to
service - Add
ElvaWebsocketServer
Changed
- Rewrite
servermodule - Make
Componentactually wait forbeforecoroutine to complete - change
SQLiteStorelogging - Changes in persistence, CLI, style
- Sort
serviceandservertoappssubpackage - Apply
ruffformatting on provider module - Rewrite
servicewithWebsocketConnectioncomponent
Removed
- Remove unused utils
0.13 - 2024-07-08
Added
- Add
WebsocketHandlerlogging handler
0.12 - 2024-07-05
Fixed
- Test ruff formatting/fixing
0.11 - 2024-07-04
Changed
- Replace logging
dictConfigwith custom classes and logging server
Fixed
- Fix missing base class for
DefaultFormatter
0.10 - 2024-07-04
Changed
- Write
clickdecorators consistently - Define default paths and adapt
clickcommands
0.9 - 2024-07-02
Changed
- Make
Providerchoice independent of local or remote
0.8 - 2024-07-02
Removed
- Remove
logserver module
0.7 - 2024-07-02
Fixed
- Fix
pycrdtimports onmetaprovider
0.6 - 2024-07-02
Changed
- Try logging to TCP socket
0.5 - 2024-07-02
Changed
- Rename package-logging module
0.4 - 2024-07-02
Changed
- Change to static version
- Bump
pycrdtlibraries
Removed
- Remove
setuptools-scmdependency and_version.py
0.3 - 2024-07-02
Added
- Add emoji test
Changed
- Make indices of
YTextbeing based on UTF-8 encoding
Fixed
- Fix disappearing messages behind the tabview in chat app
0.2 - 2024-07-02
Changed
- Switch to file logging on object and module level
0.1 - 2024-06-25
Added
- Add
metaprovider - Add
YMessagecodecs - Add
SQLiteStorecomponent - Add
TextRenderercomponent - Add generic
Componentclass - Add logging config
- Add test for parser self instantiation
- Add parser classes
TextParser,ArrayParserandMapParser - Add editor app
- Add chat app
- Add file management (read and write)
- Add
lazy_app_clidecorator for apps - Add command line interface (CLI) along lazy loading
- Add
Providerclass - Add
Connectionclass - Add
.gitignore - Add
MkDocsas documentation framework - Add proper project configuration
- Add proper README.md
- Add project information
- Add Python requirements