Sequel 5, hooray!

Do you have a roadmap in mind, what sort of breaking changes do you have in 
mind to cause a major version bump? Just curious. :)

Andrew

On Thursday, September 1, 2016 at 2:47:24 PM UTC-4, Jeremy Evans wrote:
>
> Sequel 4.38.0 has been released!
>
> = New Features
>
> * Sequel::SQL::NumericMethods#coerce has been added, which adds
>   support for ruby's coercion protocol when performing numeric
>   operations.  Previously, Sequel supported code like:
>
>     Sequel.expr{a - 1}
>
>   This is because a in this case returns a Sequel::SQL::Indentifier,
>   which defines #- to return a Sequel::SQL::NumericExpression.  By
>   supporting #coerce, the following code now also works:
>
>     Sequel.expr{1 - a}
>
>   This is because Integer#- calls #coerce on the argument if it is
>   defined (ruby's coercion protocol).  Previously, you had to handle
>   this differently, using something like:
>
>     Sequel.expr(1) - a
>     # or
>     Sequel.-(1, a)
>
> * Sequel now supports the ** operator for exponentiation on
>   expressions, similar to the +, -, *, and / operators.  Sequel uses
>   the database power function to implement this by default on the
>   databases that support it (most of them).  On Access, it uses the ^
>   operator, on Derby it is emulated using a combination of exp/ln
>   (with some loss of precision).  SQLite doesn't support a power
>   function at all, but Sequel emulates it using multiplication for
>   known integer exponents.
>
> * Sequel::SQLTime.date= has been added, which allows you to set the
>   date used for Sequel::SQLTime instances.  Sequel::SQLTime is a
>   subclass of Time that is literalized using only the time components,
>   and is the ruby class used to store values of database time columns
>   on most adapters.  Sequel::SQLTime defaults to using the current
>   date, but you can now set a specific date, for more consistency with
>   some drivers (Mysql2 uses 2000-01-01, tiny_tds uses 1900-01-01).
>
> * The postgres adapter now supports a :driver_options option when
>   using the pg driver, which is passed directly to pg.  This can be
>   used to specify a client SSL certificate or to specify the
>   certificate authority root certificate when using
>   :sslmode=>'verify-full'.
>
> = Other Improvements
>
> * Sequel no longer uses after_commit/rollback database hooks by
>   default if the after_commit/after_rollback model methods are not
>   overridden. This provides a performance speedup, but the main
>   benefit is that it no longer causes memory issues when saving a
>   large number of model instances in a single transaction, and it
>   also works with prepared transactions/2 phase commit.  You can
>   still set use_after_commit_rollback= manually to force the
>   after_commit/rollback setting.
>
>   Note that Sequel 5 will move after_commit/rollback model hooks to
>   a plugin, and the default and recommended approach will be to use
>   the database after_commit/rollback hooks in the after_save or
>   similar model hooks.
>
> = Backwards Compatibility
>
> * The Sequel::Model use_after_commit_rollback class and instance
>   methods now return nil by default instead of true.  nil now
>   indicates the default behavior of checking whether the appropriate
>   model hook has been defined, and only adding a database hook if so.
>
> Thanks,
> Jeremy
>

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sequel-talk.
For more options, visit https://groups.google.com/d/optout.

Reply via email to