CodeIgniter 1.7.0 Released

CodeIgniter 1.7.0 just released.  Get it while it’s hot!  New validation library, greatly enhanced form validation, some sexy loader enhancements and “whacks” of fixes including significant work in active record.  For a list of all changes please see the change log. My personal favourite is this bug which I was proud to squash:

Fixed an edit from 1.6.3 that made the $robots array in user_agents.php go poof.

“Poof” you see… is the technical word for what was experienced.  Now that’s good developin’ fella!  Official announcement is here… but its not nearly as colourful as this post.

This entry was made on and filed into CodeIgniter.


Bruce Alderson wrote on

The Changelog on the public site seems to be missing the 1.7 changes ;-)

Bruce Alderson wrote on

Oh, duh.  The changlog format is just weird.  No new features, just fixes?

Derek wrote on

Nope, you’re right.  Its got an extra heading there.  It’ll get fixed up right away, for now just ignore the second one, “Version 1.6.3”, at the top.

Wojtek wrote on

Seems that CI site is down :(

Eric wrote on

Very cool.  One question I have had in the new releases is how you guys add this to the footer of the php files:

/* End of file myfile.php */ 
/* Location: ./system/modules/mymodule/myfile.php */ 

I could get the first one with TextMate but not the full path.

Steven W wrote on

The updates to the validation and session classes are going to be huge for me. This is awesome, I can’t wait to start using the new version!

louis w wrote on

There were about 4 moments while reading the change log when I was like “OH!”. This looks like a great upload and excited about many of the improvements. Kudos.

Jon Trelfa wrote on

Whoa… very good news :)  I’m reading up on the new validation class right now (well, sorta right now; I’m commenting on your blog right now)

I did read through the released style guide and was surprised by a couple of things:
* line comments on each line for large blocks of comments - too cumbersome, IMHO; and ugly
* Lots of references to EE; not sure if that’s a hint to the next EE release?
* Allman Style good, K&R;Style bad - I’m glad people hold to a curly-brace religion - I’m afraid that part of your style guide could start a holy war.

Anyway, I just barely started a new CI project, so I’ll hurry up and update to 1.7 before I get too far in.

[edit by Derek: cleaned up the xhtml list a bit, and removed your other comment about lists… just to keep this tidy ;) ]

m4rw3r wrote on

I’m using this in e for the footers (I will probably automate the removal of everything before ./application):

* Created on `date +%Y` `date +%b` `date +%d`
* by Martin Wernstahl <>
/* End of file $TM_FILENAME */
/* Location: $TM_FILEPATH */

Lou Quillio wrote on

Lots of CRLF line-endings in the checkout I just did.  RUnds counter to the style guide.  Something like this will fix:

find . -type f -exec flip -u {} \;


Pascal wrote on

@Eric - here’s what I’ve been using:

/* End of file $TM_FILENAME */
/* Location: `
echo ${filepath/$project/.}
` */ 

It only works if you open the parent folder of the project, but that is probably what you have open anyways.
If someone can work out how to get rid of the bash variables, that would be awesome.

Eric wrote on

@Pascal - Thanks for that it worked perfectly!

Derek Jones wrote on

Here’s the snippet I use:

#!/usr/bin/env php
$relative str_replace($_ENV['TM_PROJECT_DIRECTORY']'.'$_ENV['TM_FILEPATH']);

$out = <<<CORPUSCLE
<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');
 * CodeIgniter
 * An open source application development framework for PHP 4.3.2 or newer
 * @package        CodeIgniter
 * @author        ExpressionEngine Dev Team
 * @copyright    Copyright (c) 2006, EllisLab, Inc.
 * @license
 * @link
 * @since        Version 1.0
 * @filesource

// ------------------------------------------------------------------------

/* End of file $name */
/* Location: $relative */


Prasanna Manian wrote on


I have noticed a issue, in the file system\database\DB_utility.php

The line @ line number 178 is like the following:

if ( ! is_object($query) OR ! method_exists($query, ‘field_names’))

And i think it should be

if ( ! is_object($query) OR ! method_exists($query, ‘list_fields’))

as the “field_names” method is DEPRECATED.

Also I have made a post in the forum regarding this in the forum here -

Also I have an peculiar issue. I have posted the same in the forum. Can you please have a look over that and help me on fixing that issue.

I am using the latest version of codeigniter 1.7

Here is the URL:

Expecting the reply from you soon.

Thanks in advance.

With Regards,
Prasanna Manian.