-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
## Problem The project currently uses an outdated version of Elixir, which may lack recent features and improvements introduced in newer releases. Upgrading to a more recent version can enhance performance, security, and maintainability. ## Solution This pull request updates the project's Elixir version to 1.18. This version introduces several enhancements, including: - **Type System Improvements**: Elixir 1.18 introduces type checking of function calls and gradual inference of patterns and return types, enhancing code reliability. - **Language Server Enhancements**: The new compiler lock and listener features improve development tooling by allowing multiple Elixir instances to share compilation results, reducing duplicate efforts. - **Built-in JSON Support**: A new `JSON` module provides functions to encode and decode JSON, streamlining data handling without external dependencies. - **ExUnit Enhancements**: Support for parameterized tests allows running the same test module multiple times under different parameters, improving test coverage and flexibility. ## Rationale Upgrading to Elixir 1.18 ensures the project benefits from the latest language features and performance improvements. The enhancements in type checking, development tooling, and testing capabilities contribute to a more robust and efficient codebase. Additionally, built-in JSON support reduces reliance on external libraries, simplifying maintenance. For a comprehensive overview of the new features in Elixir 1.18, you might find the following video informative:
- Loading branch information
Showing
41 changed files
with
2,517 additions
and
817 deletions.
There are no files selected for viewing
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
# Used by "mix format" | ||
[ | ||
inputs: ["{mix,.formatter}.exs", "{config,apps}/**/*.{ex,exs}"] | ||
inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -36,6 +36,10 @@ result | |
# Nix files | ||
result | ||
|
||
# LSP files | ||
.elixir_ls/ | ||
.elixir-tools/ | ||
.lexical/ | ||
|
||
# Dialyzer | ||
/priv/plts/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,140 @@ | ||
# Changelog | ||
|
||
All notable changes to this project are documented in this file. | ||
|
||
## [0.6.0] - 2025-01-10 | ||
### Added | ||
- Enhanced HTTP handling with support for custom headers, streaming, and centralized error management. | ||
- Improved test coverage and added dependency `mox` for mocking. | ||
- CI/CD pipeline improvements with caching for faster builds. | ||
|
||
### Fixed | ||
- Resolved header merging issues and inconsistencies in JSON error handling. | ||
|
||
### Removed | ||
- Dropped `manage_clients` option; explicit OTP management required. | ||
|
||
### Issues | ||
- Fixed "[Fetcher] Extract error parsing to its own module" [#23](https://github.com/supabase-community/supabase-ex/issues/23) | ||
- Fixed "Unable to pass `auth` key inside options to `init_client`" [#45](https://github.com/supabase-community/supabase-ex/issues/45) | ||
- Fixed "Proposal to refactor and simplify the `Supabase.Fetcher` module" [#51](https://github.com/supabase-community/supabase-ex/issues/51) | ||
- Fixed "Invalid Unicode error during file uploads (affets `storage-ex`)" [#52](https://github.com/supabase-community/supabase-ex/issues/52) | ||
|
||
--- | ||
|
||
## [0.5.1] - 2024-09-21 | ||
### Added | ||
- Improved error handling for HTTP fetch operations. | ||
- Added optional retry policies for idempotent requests. | ||
|
||
### Fixed | ||
- Resolved race conditions in streaming functionality. | ||
|
||
--- | ||
|
||
## [0.5.0] - 2024-09-21 | ||
### Added | ||
- Support for direct file uploads to cloud storage. | ||
- Enhanced real-time subscription management. | ||
|
||
### Fixed | ||
- Corrected WebSocket reconnection logic under high load. | ||
|
||
--- | ||
|
||
## [0.4.1] - 2024-08-30 | ||
### Changed | ||
- Performance optimizations in JSON encoding and decoding. | ||
- Improved logging for debugging. | ||
|
||
### Fixed | ||
- Addressed memory leaks in connection pooling. | ||
|
||
--- | ||
|
||
## [0.4.0] - 2024-08-30 | ||
### Added | ||
- Introduced WebSocket monitoring tools. | ||
- Support for encrypted token storage. | ||
|
||
--- | ||
|
||
## [0.3.7] - 2024-05-14 | ||
### Added | ||
- Initial implementation of streaming API for large datasets. | ||
|
||
### Fixed | ||
- Bug fixes in the pagination logic. | ||
|
||
--- | ||
|
||
## [0.3.6] - 2024-04-28 | ||
### Added | ||
- Experimental support for Ecto integration. | ||
|
||
--- | ||
|
||
## [0.3.5] - 2024-04-21 | ||
### Fixed | ||
- Addressed intermittent crashes when initializing connections. | ||
|
||
--- | ||
|
||
## [0.3.4] - 2024-04-21 | ||
### Changed | ||
- Optimized internal handling of database transactions. | ||
|
||
--- | ||
|
||
## [0.3.3] - 2024-04-21 | ||
### Added | ||
- Support for preflight HTTP requests. | ||
|
||
--- | ||
|
||
## [0.3.2] - 2024-04-16 | ||
### Fixed | ||
- Resolved issues with JSON payload validation. | ||
|
||
--- | ||
|
||
## [0.3.1] - 2024-04-15 | ||
### Fixed | ||
- Resolved inconsistent query results in edge cases. | ||
|
||
--- | ||
|
||
## [0.3.0] - 2023-11-20 | ||
### Added | ||
- Major refactor introducing modular architecture. | ||
- Support for real-time database change notifications. | ||
|
||
--- | ||
|
||
## [0.2.3] - 2023-10-11 | ||
### Fixed | ||
- Patched security vulnerabilities in session handling. | ||
|
||
--- | ||
|
||
## [0.2.2] - 2023-10-10 | ||
### Added | ||
- Middleware support for request customization. | ||
|
||
--- | ||
|
||
## [0.2.1] - 2023-10-10 | ||
### Fixed | ||
- Corrected behavior for long-lived connections. | ||
|
||
--- | ||
|
||
## [0.2.0] - 2023-10-05 | ||
### Added | ||
- Initial implementation of role-based access control. | ||
|
||
--- | ||
|
||
## [0.1.0] - 2023-09-18 | ||
### Added | ||
- Initial release with core features: database access, authentication, and storage support. |
Oops, something went wrong.