3.0.14 Jan 03 2006
- Fix breakage with mutator_name (Ask Bj�rn Hansen)
3.0.13 Dec 15 2005
- Use DBI's last_insert_id() where available (David Steinbrunner)
- Cope better with deleting through a might_have (Rob Brown)
- Allow setting a false value or NULL in a might_have (Brad Bowman)
3.0.12 Nov 04 2005
- Use Clone instead of dclone for cloning meta info to reduce required
perl version (Juan Camacho) and allow for closures (RT#15498)
- Remove lots of old deprecations
3.0.11 Oct 23 2005
- search through a has_many can now take hash_ref
- Fix documentation for SQL wildcards (RT#15145)
3.0.10 Oct 7 2005
- Set Storable::Deparse so that has_a subrefs can be cloned (Will Ross)
- Use shorter version of mk_classdata
- Include t/24 which was accidentally left out of MANIFEST in 3.0.9
3.0.9 Sep 23 2005
- Fixed bug with shared meta_info (Will Ross)
- create() has been renamed to insert() to make it much clearer that
it corresponds to an SQL INSERT rather than lots of different ideas
as to what create() might mean. create() still (silently) works. It
will give 'deprecated' warnings from 3.2.0 and will be removed no
earlier than 3.4.0.
The before/after create triggers have NOT been renamed yet as I'm
rethinking some of that. We'll probably end up with more trigger
points. Comments and suggestions welcome.
3.0.8 Sep 20 2005
- constraint exceptions now set their 'data' (Dan Collis Puro)
- method created by has_many can now override method in parent class
(reported by Christopher H. Laco)
- factored out transform_sql for easier modification
3.0.7 Sep 17 2005
- Make Column responsible for accessor() and mutator() so they can be
set up declaratively as well as programmatically (this means the
second argument to accessor_name and mutator_name is now a Column
object rather than its name, so you may need to check your case
sensitivity)
- Rename accessor/mutator_name to accessor/mutator_name_for
- Document that order_by clauses in sort() are passed through
- Make one-shot 'Essential' set up slightly more explicit in docs
(Adam Kennedy)
- Fix HasMany warning typo (argumemt) (Dan Friedman)
- Remove obsolete SearchGenerator code which had leaked out
3.0.6 Sep 16 2005
- constrain_column can now take subref constraint
- Document DBD::AnyData and FreeTDS issues (Matt Trout)
- Factor out database error handling to _db_error()
- Switch to Class::Accessor::Fast in Column and Relationship
3.0.5 Sep 14 2005
- has_many can take compile time constraints (Cees Hek)
- has_many can take a cascading delete strategy (deprecating the old,
undocumented, 'no_cascade_delete' option)
- columns() can take Class::DBI::Column objects directly
which can now in turn take options, thus allowing things like:
__PACKAGE__->columns(dates => Class::DBI::Column->new(
tdate => { placeholder => 'IF(1, CURDATE(), ?)' }
)
3.0.4 Sep 13 2005
Pre-Reqs
- Note requirement for Scalar::Util 1.08+ (for refaddr)
Refactorings
- Move to pluggable Search interface
(includes reworking of search approach per Tim Bunce)
3.0.3 Sep 11 2005
Bug Fixes
- Ensure object is removed from index when delete()d (Tim Bunce)
- clear_object_index when new relationship set up (Tim Bunce)
- Fixed bug where PK values got auto-vivified
(Tatsuhiko Miyagawa, Christopher L. Everett, Tim Bunce)
- Removed 'AS' when aliasing tables; some databases don't like that
- Properly return -1 from unchanged object updates (Kingsley Kerce)
- Fixed problems with overloaded stringification of related classes
(Tim Bunce)
- Fixed bug where Essential might contain the PK twice
Refactorings
- Split live_object_key for easy subclassing (Tim Bunce)
- Split out _as_hash() to return underlying data hash
- Optimised _mk_column_accessors (Maurice Aubrey)
- Don't hard-code relationship names (Peter Speltz)
Internals
- Changed error message when setting up has_a with incorrect column
(Drew Taylor)
Documentation
- Fixed docs for after_update trigger and update (Kingsley Kerce)
3.0.2 Sep 11 2005
Code
- No changes
Pre-Reqs
- Fixed code to explicitly need 5.6 (rather than just Makefile)
- Require 'version' for new 3 part versions
Tests
- Fixed t/01 to check mutator_name better
- Added NOT NULL to Primary in t/Blurb to avoid 0.95 regression
- Added new Test base class Class::DBI::Test::SQLite
- Changed all remaining uses of eq_set() to is_deeply()
Documentation
- Documented $obj->id() in list context (William McKee)
- Documented cascading delete for might_have (Tom Hukins)
- Documented MCFK better (plus fixed lots of typos etc) (Tom Hukins)
- Documented DBIx::ContextualFetch better
- select_val better (Dave Howorth)
- Fixed misspelling of Perrin Harkins
- Fixed documentation for the year constraint (Andy Lester)
- Fixed set_sql documentation to explain when it creates a method
- Fixed new_music documentation (Carl Johnstone)
- Fixed docs for CD columns to show 'reldate' (Mark Thomas)
- Fixed lots of other tiny doc issues
- Fixed docs for Essential (defaults to Primary, rather than All)
- Fixed docs for what gets passed to triggers (Ryan Tate)
3.0.1 Sep 11 2005
- Code is identical to 0.96
- New section added to documentation on Release Philosophy
- Replace eq_set with is_deeply in t/04 to work around Test::More bug
Take maintainership
* Changes since 1.4.0-beta2
** meta takes a key argument
This can be used to stuff keys.
* Changes since 1.4.0-beta1
** RATPOISON environment variable
RATPOISON is set to the location of the ratpoison binary. This is
useful for scripts.
* Changes since 1.3.0
** command arguments can be wrapped in double quotes.
To include a space in a command argument, wrap the argument with ".
** New command undefinekey
not passing a 3rd argument to definekey and bind no longer unbind the
key. You must use undefinekey and unbind now.
** ratpoison -c prints errors to stderr
You can now capture errors and output seperately depending on whether
its printed to stderr or stdout.
** the mouse warp feature is now turned off by default
to turn it back on, run 'warp on'.
** version now displays the date and time
** new command, sselect
sselect lets you jump to an X11 screen by number.
** configure script warns about missing history lib
Rather than error out, now, ratpoison will just be built without history.
** new commands ratwarp, ratrelwarp, and ratclick
** more new commands
inext, iprev, iother, cnext, cprev, cother, prompt, dedicate,
describekey, focusprev, sdump, sfdump.
** yet two more new commands: putsel, getsel
putsel puts the specified text into the X11 selection so other clients
can yank it. getsel returns the current selection.
http://secunia.com/advisories/17892/
version 0.4.9-pre1:
- DV encoder, DV muxer
- Microsoft RLE video decoder
- Microsoft Video-1 decoder
- Apple Animation (RLE) decoder
- Apple Graphics (SMC) decoder
- Apple Video (RPZA) decoder
- Cinepak decoder
- Sega FILM (CPK) file demuxer
- Westwood multimedia support (VQA & AUD files)
- Id Quake II CIN playback support
- 8BPS video decoder
- FLIC playback support
- RealVideo 2.0 (RV20) decoder
- Duck TrueMotion v1 (DUCK) video decoder
- Sierra VMD demuxer and video decoder
- MSZH and ZLIB decoder support
- SVQ1 video encoder
- AMR-WB support
- PPC optimisations
- rate distortion optimal cbp support
- rate distorted optimal ac prediction for mpeg4
- rate distorted optimal lambda->qp support
- AAC encoding with libfaac
- Sunplus JPEG codec (SP5X) support
- use lagrange multipler instead of qp for ratecontrol
- theora/VP3 decoding support
- XA and ADX ADPCM codecs
- export mpeg2 active display area / pan scan
- Add support for configuring with IBM XLC
- floating point AAN DCT
- initial support for zygovideo (not complete)
- rgb ffv1 support
- new audio/video parser API
- av_log() system
- av_read_frame() and av_seek_frame() support
- missing last frame fixes
- seek by mouse in ffplay
- noise reduction of dct coefficients
- h263 OBMC & 4MV support
- h263 alternative inter vlc support
- h263 loop filter
- h263 slice structured mode
- interlaced DCT support for MPEG2 encoding
- stuffing to stay above min_bitrate
- mb type & qp vissualization
- frame stepping for ffplay
- interlaced motion estimation
- alternate scantable support
- SVCD scan offset support
- closed gop support
- SSE2 fdct
- quantizer noise shaping
- G.726 ADPCM audio codec
- MS ADPCM encoding
- multithreaded/SMP motion estimation
- multithreaded/SMP encoding for MPEG1/MPEG2/MPEG4/H263
- multithreaded/SMP decoding for MPEG2
- FLAC decoder
- Metrowerks CodeWarrior suppport
- h263+ custom pcf support
- nicer output for 'ffmpeg -formats'
- matroska demuxer
- SGI image format, encoding and decoding
- h264 loop filter support
- h264 CABAC support
- nicer looking arrows for the motion vector vissualization
- improved VCD support
- audio timestamp drift compensation
- mpeg2 YUV 422/444 support
- polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
- better image scaling
- h261 support
- correctly interleave packets during encoding
- VIS optimized motion compensation
- intra_dc_precission>0 encoding support
- support reuse of motion vectors/mb types/field select values of the source video
- more accurate deblock filter
- padding support
- many optimizations and bugfixes
Font::TTFMetrics encapsulates the font metrics of a true type font
file. A true type font file contains several tables which need to
be parsed before any useful information could be gathered about
the font. There is the excellent module for parsing TTF font in
CPAN by Martin Hosken, Font::TTF. But in my opinion the use of
Font::TTF requires intimate knowledge of TTF font format. This
module was written to support the use of TTF in Pastel 2D graphics
library in Perl. Three factors prompted me to write this module:
first, I required a fast module to access TTF file. Second, all
the access required was read-only. Last, I wanted a user friendly,
higher level API to access TTF file.