Releases: colanode/colanode
v0.2.5
What's Changed
- Fix docker compose path in readme by @hakanshehu in #100
- Add unread states in sidebar menu by @hakanshehu in #106
- Implement save file by @hakanshehu in #108
- Fixes in document and node updates merge jobs by @hakanshehu in #109
- Add docs how to run Colanode locally by @hakanshehu in #110
- Close file tab on delete by @hakanshehu in #111
- Update packages by @hakanshehu in #112
- Add placeholders for password inputs by @hakanshehu in #113
Full Changelog: v0.2.4...v0.2.5
v0.2.4
What's Changed
- Add license, discord and twitter badges in readme by @hakanshehu in #80
- Implement pre-aggregated counters for users, nodes and upload storage⦠by @hakanshehu in #82
- Implement undo & redo for document editor by @hakanshehu in #83
- Add background jobs to merge document & node updates by @hakanshehu in #90
- Add Helm charts for Kubernetes self-hosting by @ylber-gashi in #87
- Rename github workflows by @hakanshehu in #91
- Improve workspace users invite input by @hakanshehu in #92
- Update packages by @hakanshehu in #94
Full Changelog: v0.2.3...v0.2.4
v0.2.3
What's Changed
- Update mutations and readme files in scripts by @hakanshehu in #67
- Fix select option settings popover trigger by @hakanshehu in #69
- Minor UI improvements in databases by @hakanshehu in #70
- Fix calendar view grid by @hakanshehu in #74
- Fix web Dockerfile to make sure assets are included by @hakanshehu in #75
- Make sure AvatarFallback has the size prop defined as required by @eljonny in #77
- Improve avatars loading by @hakanshehu in #79
- Win32 local file path URI preprocessing by @eljonny in #76
New Contributors
Full Changelog: v0.2.2...v0.2.3
v0.2.2
What's Changed
- Add bufferutil as desktop dependency - fixes #63 by @hakanshehu in #64
- Add force path style config for s3 - fixes #62 by @hakanshehu in #65
- Update packages by @hakanshehu in #66
Full Changelog: v0.2.1...v0.2.2
v0.2.1
Highlights
We have enabled login with Google currently only for the web app (desktop support coming in the future). To enable Google login for your self-hosted server, set the following environment variables:
# ACCOUNT_GOOGLE_ENABLED: 'true'
# ACCOUNT_GOOGLE_CLIENT_ID: 'your_google_client_id'
# ACCOUNT_GOOGLE_CLIENT_SECRET: 'your_google_client_secret'
What's Changed
- Implement login with google by @hakanshehu in #57
- Server settings dialog and other minor improvements by @hakanshehu in #58
- Change default cors origin to localhost:4000 by @hakanshehu in #59
- Prepare for release 0.2.1 by @hakanshehu in #60
Full Changelog: v0.2.0...v0.2.1
v0.2.0
Highlights
This release contains breaking changes affecting communication between clients (Desktop & Web) and the Server. All self-hosted users must upgrade their server to the latest version to continue using Colanode. Data on your server will remain unaffected. Desktop app users will be prompted to log in again. See the migration guide below for more details.
Local-first Web Version
We have introduced the Web version of Colanode, a local-first and offline-ready client built with architecture similar to our desktop app. It leverages browser-based technologies such as OPFS (Origin Private File System) and SQLite-wasm to store data locally, synchronizing with the server when connected. Like the desktop app, the web client supports multiple accounts and connections to different servers. Due to browser constraints, main operations are handled within worker threads, mirroring Electronβs main process. Most desktop app implementations have been reused, with only a few custom abstractions added specifically for file system interactions and SQLite communication via Kysely.
File Handling via the API
We have deprecated S3 pre-signed URLs for file uploads and downloads. All file operations now occur through the server API, addressing several issues:
- CORS Challenges: Using the server API simplifies configuration by reducing CORS setup to a single configuration point.
- Compatibility Issues: Providers like Cloudflare R2 encountered authorization problems with pre-signed URLs using recent AWS S3 libraries.
- Enhanced Flexibility: Abstracting file handling via the API simplifies future integrations with alternative storage providers such as Azure or Google Cloud Platform.
Additionally, avatar and file storage have been consolidated into one configuration, simplifying setup and reducing redundancy.
API and Socket Changes
We have made significant updates to client-server communication protocols (both API and WebSockets) to resolve discrepancies between web and desktop (Node.js) environments. These updates also include general improvements and cleanups from previous implementations.
Connecting to Insecure Servers
The process for adding custom servers has been enhanced. Previously, users could not connect via insecure (HTTP) protocols unless using 'localhost'. Now, self-hosted server configurations are easier, simply copy the configuration link from your serverβs root page into the client to establish a connection, regardless of the protocol or hostname.
Custom Path Prefix
You can now specify a custom path prefix if you're self-hosting Colanode behind an API gateway. Set the environment variable SERVER_PATH_PREFIX
to automatically apply this prefix to all URLs.
# Optional custom path prefix for the server.
# Specify as plain text without slashes. Example:
# 'colanode' changes 'https://localhost:3000/config' to 'https://localhost:3000/colanode/config'
# SERVER_PATH_PREFIX: 'colanode'
Framework and Library Upgrades
We have upgraded key dependencies to enhance performance and developer productivity:
- React: Version 19
- Tailwind CSS: Version 4
- Zod: Version 4
Both web and desktop clients utilize the same UI components.
Migration Guide
Remove all avatar storage configurations as these are no longer used:
# Delete these configurations:
S3_AVATARS_ENDPOINT: 'http://minio:9000'
S3_AVATARS_ACCESS_KEY: 'minioadmin'
S3_AVATARS_SECRET_KEY: 'your_minio_password'
S3_AVATARS_BUCKET_NAME: 'colanode-avatars'
S3_AVATARS_REGION: 'us-east-1'
Update the file storage configuration variable names:
# Before:
S3_FILES_ENDPOINT: 'http://minio:9000'
S3_FILES_ACCESS_KEY: 'minioadmin'
S3_FILES_SECRET_KEY: 'your_minio_password'
S3_FILES_BUCKET_NAME: 'colanode'
S3_FILES_REGION: 'us-east-1'
# After:
8000
STORAGE_S3_ENDPOINT: 'http://minio:9000'
STORAGE_S3_ACCESS_KEY: 'minioadmin'
STORAGE_S3_SECRET_KEY: 'your_minio_password'
STORAGE_S3_BUCKET: 'colanode'
STORAGE_S3_REGION: 'us-east-1'
If you previously used separate buckets for avatars and files, ensure you migrate avatar files into your main files bucket, maintaining their original paths.
If you plan to use the web app, ensure your CORS configuration includes the relevant origin:
# Optional CORS Configuration. Default origin is 'https://app.colanode.com'.
# Specify multiple origins using commas or '*' to allow all origins.
# SERVER_CORS_ORIGIN: 'https://app.colanode.com'
# SERVER_CORS_MAX_AGE: '7200'
What's Changed
- Prepare for Simple Icons 15 by @LitoMore in #44
- Web version by @hakanshehu in #43
- Docker and workflow improvements by @hakanshehu in #46
- Update mutation naming convention by @hakanshehu in #47
- Allow users to delete custom servers by @hakanshehu in #48
- Prepare for release 0.2.0 by @hakanshehu in #49
- Minor fixes for server config url generation and file preview by @hakanshehu in #50
- Fix windows version update workflow step by @hakanshehu in #51
- Fix server isOutdated update by @hakanshehu in #52
- Fix desktop build issues by @hakanshehu in #53
New Contributors
Full Changelog: v0.1.6...v0.2.0
v0.1.6
What's Changed
- Update Docker Compose and Email Service by @ylber-gashi in #28
- Use zod for config parsing and some folder restructure by @hakanshehu in #29
- Update docker-compose default variables by @hakanshehu in #31
- Docker compose update by @ylber-gashi in #33
- Configure cross-platform Docker builds in GitHub Actions by @ylber-gashi in #35
- Fix JSON parsing in build info retrieval in server configuration by @ylber-gashi in #36
- Improve config parsing by @ylber-gashi in #37
Full Changelog: v0.1.5...v0.1.6
v0.1.5
What's Changed
- Include immutable version and commit sha as part of server docker build #18
- Send client metadata as headers on each request #19
- Implement auth ip rate-limits as fastify plugin #20
- Implement workspace delete #21
- Fix a kysely warning on user list query #22
- Update packages #23
- Refactor and improve node cleanups on delete #24
- Add desktop publish step for MacOS Intel #26
Full Changelog: v0.1.4...v0.1.5
v0.1.4
What's Changed
- Mark preview tab as opened in double click
- Replace tippy with floating-ui in commander
- Implement mentions
- Make SMTP service optional
- Refactor debuggers
- Improve node references migration
- Fix radar service for new node counter updates
- Switch from express to fastify (#16)
- Change server host
Full Changelog: v0.1.3...v0.1.4
v0.1.3
What's Changed
Full Changelog: v0.1.2...v0.1.3