8000 Releases Β· colanode/colanode Β· GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Releases: colanode/colanode

v0.2.4

25 Jun 18:39
1fd2cb0
Compare
Choose a tag to compare
8000

What's Changed

Full Changelog: v0.2.3...v0.2.4

v0.2.3

17 Jun 14:43
dad68da
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.2.2...v0.2.3

v0.2.2

15 Jun 10:24
9294600
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.2.1...v0.2.2

v0.2.1

12 Jun 22:58
0b192ba
Compare
Choose a tag to compare

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

Full Changelog: v0.2.0...v0.2.1

v0.2.0

12 Jun 11:41
574f617
Compare
Choose a tag to compare

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:

  1. CORS Challenges: Using the server API simplifies configuration by reducing CORS setup to a single configuration point.
  2. Compatibility Issues: Providers like Cloudflare R2 encountered authorization problems with pre-signed URLs using recent AWS S3 libraries.
  3. 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:
STORAGE_S3_ENDPOIN
8000
T: '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

New Contributors

Full Changelog: v0.1.6...v0.2.0

v0.1.6

07 May 19:01
87e30a5
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.1.5...v0.1.6

v0.1.5

02 May 14:20
Compare
Choose a tag to compare

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

30 Apr 13:03
Compare
Choose a tag to compare

v0.1.3

23 Apr 20:21
Compare
Choose a tag to compare
0