# ANN: Sequel 1.0 Released!

**URL:** <https://www.ruby-forum.com/t/ann-sequel-1-0-released/124796>\
**Category:** Ruby\
**Created:** [January 2, 2008, 7:00pm UTC](https://www.ruby-forum.com/t/ann-sequel-1-0-released/124796 "2008-01-02T19:00:33Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![ciconia](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/71c47a/32.png) [@ciconia](https://www.ruby-forum.com/u/ciconia)\
**Post date:** [January 2, 2008, 7:00pm UTC](https://www.ruby-forum.com/t/ann-sequel-1-0-released/124796/1 "2008-01-02T19:00:33Z")

</div>

I’m pleased to announce that Sequel version 1.0 has just been  
released. Sequel is a lightweight database access and ORM library for  
Ruby. Sequel provides thread safety, connection pooling and a simple  
and expressive API for constructing database queries and table  
schemas.

This milestone release separates Sequel into two separate libraries:  
sequel\_core and sequel\_model. Also new in this release are refactored  
model hooks (callbacks), a few minor bug fixes, and 100% code  
coverage! To update your sequel gem execute the following command:

sudo gem update sequel

Following is a discussion of the main changes:

=== New code organization

Sequel is now divided into two parts: sequel\_core and sequel\_model.  
These two parts are distributed as two separate gems. The sequel gem  
bundles sequel\_core and sequel\_model together. If you don’t use  
Sequel::Model in your code, you can just install and use sequel\_core.

=== New model hooks implementation

The hooks implementation have been rewritten from scratch, is much  
more robust and offers a few new features:

- More ways to define hooks: hooks can now be defined by supplying a  
block or a method name, or by overriding the hook instance method.

- Inheritable hooks: Hooks can now be inherited, which means that you  
can define general hooks in a model superclass, and use them in  
subclasses. You can also define global hooks on Sequel::Model that  
will be invoked for all model classes.

- Hook chains can be broken by returning false from within the hook.

- New after\_initialize hook, invoked after instance initialization.

- The hook invocation order can no longer be changed. Hooks are  
invoked in order of definition, from the top of the class hierarchy  
(that is, from Sequel::Model) down to the specific class.

=== Miscellanea

- Removed deprecated adapter stubs, and all other deprecations in both  
sequel\_core and sequel\_model.

- Fixed String#to\_time to raise error correctly for invalid time  
stamps.

- Fixed error behavior when parse\_tree or ruby2ruby are not available.

=== More info on Sequel

Sequel project page:  
[http://code.google.com/p/ruby-sequel](http://code.google.com/p/ruby-sequel)

Sequel documentation:  
[http://sequel.rubyforge.org](http://sequel.rubyforge.org)

Join the Sequel-talk group:  
[http://groups.google.com/group/sequel-talk](http://groups.google.com/group/sequel-talk)

Join Sequel discussion on IRC at #sequel.

Install the gem:  
sudo gem install sequel

Or check out the source and install manually:  
svn co [http://ruby-sequel.googlecode.com/svn/trunk](http://ruby-sequel.googlecode.com/svn/trunk) sequel  
cd sequel  
rake install

---

<div class="post-metadata">

**Author:** ![ciconia](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/71c47a/32.png) [@ciconia](https://www.ruby-forum.com/u/ciconia)\
**Post date:** [January 2, 2008, 7:51pm UTC](https://www.ruby-forum.com/t/ann-sequel-1-0-released/124796/2 "2008-01-02T19:51:43Z")

</div>

100% code coverage, that just gives a warm and fuzzy feeling 🙂

~Wayne
