- Added support for equivalent domains in user settings, allowing users to define custom domain groups and exclude specific global groups.
- Introduced new migration script to add necessary database columns and a table for global equivalent domains.
- Created a Python script to generate seed SQL for global domains, which can be executed to populate the database.
- Updated API endpoints to handle equivalent domains, including retrieval and persistence of user-defined settings.
- Refactored existing settings handler to remove stubs and implement full functionality for managing equivalent domains.
- Introduced new meta endpoints: `/api/alive`, `/api/now`, `/api/version`, and `/api/hibp/breach` for health checks and versioning.
- Added settings endpoints: `/api/settings/domains` for retrieving and managing equivalent domains, with stub implementations for future persistence.
- Updated router to include new handlers and ensure proper routing for the added endpoints.
- Added a new entry point in JavaScript to handle zero-copy streaming uploads to R2.
- Updated the Rust backend to support the new upload route with JWT validation.
- Enhanced the API to generate full URLs for the new azure-upload endpoint.
- Introduced new dependencies: `futures-util` and `wasm-streams` for improved async handling.
- Implemented functionality to create, upload, download, and delete attachments associated with ciphers.
- Introduced a new `attachments` module and updated the database schema to include an `attachments` table.
- Enhanced the API routes to handle attachment operations, including legacy support.
- Updated the README and configuration files to reflect the new attachment feature and its usage.
- Added a rate limiting wrapper to intercept requests and apply limits to login, registration, and prelogin endpoints.
- Configured rate limits in `wrangler.toml` for both production and development environments.
- Updated README to document the rate limiting feature, including how it works and customization options.
- Added support for both simple and complex KDF request formats in the post_kdf handler.
- Enhanced KDF validation to ensure compatibility with legacy formats.
- Updated data structures to reflect changes in KDF parameters and request handling.
- Introduced methods to extract KDF parameters and new password hash from either format.
- Added new fields for Argon2 parameters (kdf_memory, kdf_parallelism) in the users table and related SQL migration.
- Updated API routes and handlers to support changing KDF settings.
- Enhanced KDF validation logic to accommodate both PBKDF2 and Argon2.
- Modified user registration and prelogin responses to include Argon2 parameters.
- Updated relevant data structures to reflect new KDF settings.