Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: Crecto/crecto

Release v0.14.0

10 Oct 18:51

Choose a tag to compare

Release v0.14.0

Added

  • Enhanced association safety with bounds checking to prevent IndexError (#133, #195)
  • Association foreign key validation in changesets (#249, #195)
  • Comprehensive test suite for association safety
  • Transaction support with savepoints for nested operations (#249)
  • Enhanced changeset validation with association support

Fixed

  • IndexError in belongs_to associations (#133, #195)
  • IndexError in has_many associations (#133, #195)
  • IndexError in has_one associations (#133, #195)
  • Query string interpolation corruption (#217)
  • Multi-transaction association operations (#249)
  • Association foreign key validation (#249, #195)

Improved

  • Query and transaction testing coverage
  • Live transaction enhancements for better consistency
  • Safe array access patterns to all association macros

v0.13.0

09 Oct 22:14

Choose a tag to compare

v0.13.0 Release

Summary

This release brings significant improvements to Crecto's infrastructure, including comprehensive test coverage, new error types, UUID support, and performance optimizations. It establishes a solid foundation for future user story implementations.

Features

Test Infrastructure

  • Comprehensive Test Coverage: Added extensive test coverage for core functionality including:
    • Bulk configuration handling (spec/bulk_config_spec.cr)
    • Error type handling and validation (spec/error_types_spec.cr)
    • Prepared statement cache behavior (spec/prepared_statement_cache_spec.cr)
    • Query iteration and result processing (spec/query_iterator_spec.cr)

Quality Infrastructure

  • UUID Type Support: Added UUID type support to schema field types with UUID_FORMAT constant
  • Enhanced Error Types: Implemented comprehensive error handling with:
    • BulkError for bulk operation errors
    • AssociationError for association-related errors
    • IteratorError for query iteration errors
  • Bulk Configuration: Created BulkConfig singleton for managing operation thresholds
  • Performance Optimizations: Added PreparedStatementCache infrastructure for improved query performance
  • Query Iterator: Implemented QueryIterator(T) base class for memory-efficient large dataset processing

Type System Improvements

  • Enhanced Type Checking: Improved overall type checking system robustness
  • Type Cleanup: Removed duplicate Int64 type definition

Development Experience

  • Multi-Database Testing: Added comprehensive test database configurations
  • Example Repository: Created example spec repository for easier testing
  • Flexible Updates: Enhanced update_from_hash method for greater flexibility

Bug Fixes

  • Type System: Fixed duplicate Int64 type definition in types.cr

Documentation

  • Agent Documentation: Added AGENTS.md with comprehensive agent workflow documentation
  • Project Instructions: Created CLAUDE.md with project-specific development guidelines
  • Enhanced README: Updated README with improved documentation and structure
  • Test Configuration: Added comprehensive multi-database testing setup in spec/test_repos.cr

Breaking Changes

None - this is a minor release with backward-compatible improvements.

Upcoming

This release establishes the foundation for Phase 3 user story implementations including:

  • Bulk operations with configurable thresholds
  • Prepared statement caching for performance optimization
  • Memory-efficient query iteration for large datasets
  • Enhanced error handling and reporting

Note: All tests pass across all supported databases (PostgreSQL, MySQL, SQLite3).

v0.12.1, 2021-08-27

27 Aug 15:23

Choose a tag to compare

  • Fixed multi error checking, thanks @hutou
  • Fixed installing via shards command

v0.12.0, 2021-06-11

11 Jun 20:43

Choose a tag to compare

  • Update for crystal 1.0

v0.11.3, 2020-04-25

25 Apr 15:55

Choose a tag to compare

Update for crystal 0.34.0

v0.11.2, 2019-11-01

01 Nov 15:19

Choose a tag to compare

  • Fix shard version/git tag version mismatch

v0.11.1, 2019-09-27

27 Sep 14:18

Choose a tag to compare

  • Updated for crystal 0.31.0

v0.11.0, 2019-09-13

13 Sep 18:02

Choose a tag to compare

  • Fixed breaking bug
  • Updated all dependencies to latest versions
  • Updated to Crystal 0.30.1

v0.10.1, 2018-11-3

04 Nov 01:38
0507925

Choose a tag to compare

v0.10.0, 2018-10-25

25 Oct 17:40
813ccdf

Choose a tag to compare

  • Updated to crystal 0.26.1
  • Allow defining models without any fields - @jreinert
  • Queries in preloads
  • Live transactions with Repo#transaction! - @jreinert
  • Changed model to use JSON::Serializable - @jreinert
  • Fields now correctly compare nil - @shiba-hiro
  • Added Repo#join method override with string argument - @shiba-hiro
  • Added more where and or_where method signatures - @jreinert
  • Added int8 and int16 suppoert - @jianghengle
  • Improved performance using String::Builder to build query strings - @jreinert
  • Added Repo#get_by method overloads to use Query objects - @jreinert
  • Compiler improvements by only including associations when used - @jianghengle
  • Updated to use new crystal time / timezone format - @wontruefree
  • Handle single-column updates for postgres 10.x - @faultyserver
  • Added Schema#cast and Schema#cast! mass assignment methods - @jreinert
  • Fixed has_one preloads - @jreinert