Releases: bkremenovic/eloquent-tokens
Version 2.0.0
Release 2.0.0 Highlights:
-
Token Security Enhancement: Tokens are now hashed using the SHA-512 algorithm before being stored in the database. This update ensures enhanced security by preventing raw tokens from being exposed in the database.
-
Longer Token Format: The token field in the tokens table has been updated to a fixed length of 128 characters (char(128)), ensuring consistency and compatibility with the new token generation approach.
-
Optimized Token Generation: Replaced the previous random string generation method with a more secure bin2hex(random_bytes(64)) approach for generating 128-character tokens, offering stronger randomness and security.
-
Improved Token Lookup: Tokens are now hashed during queries, ensuring that comparisons in the database are performed against the hashed value, further enhancing security during token validation.
Version 1.3.0
Release 1.3.0 Highlights:
- Expanded Model ID Support: Reintroduced support for both UUIDs and integer IDs for model_id fields across the tokens and token_blacklists tables, ensuring compatibility with various ID formats.
- TokenInstance Enhancements: Updated the TokenInstance class to handle both UUIDs and integer IDs for associated models, improving flexibility in token management.
- Improved Token Creation Flexibility: Refined the HasEloquentTokens trait to allow expiration times for tokens to be passed as either a Carbon instance or a string, providing more options for token expiration management.
- Index Optimizations: Removed unnecessary indexing on the data field in the tokens table, streamlining database performance.
Version 1.2.1
Release 1.2.1 Highlights:
- Extended nesbot/carbon Compatibility: Updated nesbot/carbon dependency to support versions 2.71.0 and 3.0.0, maintaining compatibility with both existing and future versions of the Carbon date-time library.
Version 1.2.0
Release 1.2.0 Highlights:
- Upgraded Laravel Framework Compatibility: Updated Laravel framework dependency to include versions 7.0, 8.0, 9.0, 10.0, and now 11.0, ensuring compatibility with the latest Laravel features and improvements.
Version 1.1.0
Release 1.1.0 Highlights:
- Enhanced TokenInstance Class: Added new methods to retrieve the model class and model ID, facilitating easier access and manipulation of associated models.
- Improved Token Management Performance: Refactored codebase for better efficiency.
- Transition from Illuminate\Support\Carbon to Carbon\Carbon for consistent date handling.
- Introduction of caching for model instances within the TokenInstance class to minimize database queries.
- Refined test case comparisons with assertSame for stricter validation.
- StatelessTokenDriver Optimization: Refined the retrieval of Eloquent models from TokenInstance, enhancing query performance by decoupling model retrieval from query execution.
- TokenInstance Enhancements: Introduced a driver property along with its getter method, providing insight into the token driver used for each token instance, thereby offering improved traceability and context.
Version 1.0.0
Release 1.0.0 Highlights:
- Multiple token drivers: Stateless and Database
- Easy installation and configuration
- Define allowable token types
- Create tokens with expiration dates
- Include additional data with tokens
- Advanced token querying capabilities
- Efficient token deletion methods
- Force delete all tokens feature