1.3.1

Fixed some i18n issues -- thanks to Mathias Herrmann

Fixed bugs related to the delivery controls.

-------------------------------------------------------------------------------

1.3.0

Ported delivery controls from pro version to open source version.  This
enables targeting of creatives and campaigns based on:
  - IP address
  - Language
  - User Agent
  - Keyword
  - Geotargeting using Net Acuity from Digital Envoy
    (country, region, metro area, city)
  - Arbitrary PHP expressions


-------------------------------------------------------------------------------
1.2.5 (skipped 1.2.4)

Put lib-db.inc into the maintenance scripts; removed their individual
mysql_connect() calls.

Fixed some bugs in the documentation (notably references in the sections
documentation to old screenshots)

Fixed bug in image_preview.php (order of includes)

When we changed the delivery code for 1.2.x, we lost the ability to dynamically
change creatives and campaigns; all campaign/creative changes would have to
wait until the daily reload.  This has been restored through a combination
of two things:
  - when saving a creative or campaign, we recalculate the daily targets
    (this gets the campaign in or out of the DailyTargets table so that
    at the next reload, it will go into or be removed from shared memory)
  - when we reload each hour, we _always_ load the creative shared memory
    segment.  This might be a bit slower, but it will allow for easier
    campaign updates.

Added support for special DEBUG statements in the delivery scripts; removed
from production scripts by assemblefcn.pl, but built into special debug
versions of the scripts

Added some docs on selectively enabling register_globals.

-------------------------------------------------------------------------------

1.2.3

Added two new shared memory segments for creative content and clickthroughs
for overflow mode -- when we had a single creative content shm segment, we
were mistakenly clearing it and reloading it while in overflow mode; this
could cause serious problems once each day (or whenever creatives were
edited)

Changed the behavior of the creative/campaign edit scripts -- they used to
call reload_daily() when campaigns or creatives were saved.  No longer --
this was taking too long when we saved creatives.  The net effect is that if
you add a creative that is supposed to start running today, it won't get
loaded until you hit the "Reload Delivery Engine" link in the admin interface.

Rolled the functions of daily_maint.php into hourly_maint.php -- it was only
calling three functions anyway, and two were already in a library.  Removed
daily_maint.php

-------------------------------------------------------------------------------

1.2.2

Changed report listing to list campaigns completed within the past 90 days
instead of 30.

Fixed bugs in campaign insertion: fread was not working properly when we
specified an extremely large number of bytes to read, and the code was
cleaning up the tmp image files before image_preview.php had a chance to
display them.

image_preview.php needed to require lib-db.inc

Bugfix in sampletag.php: IFRAME/ILAYER tag was using oasisi.php for the
ILAYER SRC, not oasisi-i.php as it should have

Added new Spanish tranlsation, courtesy of Juan Enrique Gomez; this version
uses HTML entities instead of UTF-8

-------------------------------------------------------------------------------

1.2.1a

ALERT!  1.2.1 HAS A SERIOUS FLAW THAT COULD LEAD TO COMPLETE SERVER LOCKUP
IF YOU USE THE NEW DIRECT CREATIVE LINKING (AND SPECIFY A NON-EXISTENT
CREATIVE ID)

BUGFIX: Fixed some bad delivery logic -- it would cause problems if you linked
directly to a creative that did not exist -- delivery script would try to
double-acquire a semaphore and cause deadlock.

BUGFIX: added h,w parameters to sample tags even when linking directly to
a creative

BUGFIX: better handling of IP address "domains" for cookies

-------------------------------------------------------------------------------

1.2.1

Fixed advreport.php (added include lib-oasis.inc)

Added ability to rename the delivery scripts to mask the server's identity

Added $c argument to oasisi-i.php, oasisi-e.php, oasisi-j.php and $l
to oasisi.php (so that you can specify a link directly to a particular
creative)

Added sample tag generator on the creative interface

Added $t argument to oasisi-e, oasisi-i, oasisi-j so that you can
specify the frame target (defaults to _top in oasisi-i and oasisi-j,
nothing in oasisi-e)

Added frame target selector to sample tag generator forms

-------------------------------------------------------------------------------

1.2.0

Replaced most calls to getenv() with get_oasis_env() to handle differences
in some versions of PHP and Apache in how Apache SetEnv directives are
handled.

Updated install docs

Updated default oasis.cfg to better match current RH Linux systems

Updated UPGRADING document

Fixed bug in retrieve_creative() that could cause problems with Javascript
rich media (when a target frame is specified to get_creative(), it would
try to insert TARGET='foo' into all <A> tags in the creative, which could
result in invalid Javascript.  The better option is to insert TARGET="foo".
Thanks to Werner Maier for the patch.

Added Spanish translation: thanks to David Peris!

Bugfix: in IE 6.0, the management interface was rendering with all TDs
centered.  This seems to be a bug in the way MSIE handles <DIV ALIGN=center>
around a table, but the workaround is simple, so I implemented it.

-------------------------------------------------------------------------------

1.2.0 RC3

Minor documentation changes

Bugfix: 615927, added error checking on connect to database

Bugfix: when saving prefs, a bunch of <BR>s were printed to the page,
pushing everything down too low on the page

-------------------------------------------------------------------------------

1.2.0 RC2

Moved a number of configuration options to Apache environment variables.
This has huge implications for installation -- you now need to alter httpd.conf
to include oasis_httpd.conf to get the environment variables into Apache!

Fixed handling of the OASISCLICK special tag in rich media creatives to
better accomodate SWF's parsing of parameters.

Bugfix: 605341, typo in admin.php

Bugfix: 595808, add new user with same login as existing user; existing user's
        info is overwritten

-------------------------------------------------------------------------------

1.2.0 RC1

Added iid support (thanks to David Esposito), which allows you to insert
a unique random (or otherwise generated) ID into your oasisi.php/oasisc.php
URLs for use in clickthrough tracking (instead of cookie or IP tracking).
This has the following benefits:
  - you can get accurate clickthroughs for users who have turned off cookies
  - you can get accurate clickthroughs without using cookies at all (for
    privacy-minded admins)
  - you can add multiple creative positions to a single page that share
    the same dimensions and section ID

Added support for P3P header to use compact privacy policies to allow for
third-party cookies to be used on your sites.

Added [OASISTIMESTAMP] and [OASISREFERER]

Added no-store to Cache-Control headers to prevent creatives from being stored
in proxies.

Added overflow delivery tables; all creatives which have no specific impression
targets defined are eligible for overflow delivery; while the primary tables
are being computed each hour, delivery can take place via the overflow tables.

Bugfix: advreport.php has been broken for a while.  Thanks to Daniel Kafka for
catching this.

Bugfix: removed extraneous JavaScript from the form generated by advreport.php.
Again, thanks to Daniel for the fix.

Bugfix: (573989) editing rich media caused the MIME type to be set to 
text/html, whether the creative already had a MIME type or not 

Changed [CB] to [OASISCB] for consistency ([CB] works but is deprecated)

Bugfix: you can no longer set Impressions Guaranteed > 0 for creatives which
belong to campaigns with Impressions Guaranteed == 0 (you could get away with
this before, but there are no controls to ensure that such a creative would
get exactly the right number of impressions -- it would likely overdeliver)

-------------------------------------------------------------------------------

1.1.7

Removed <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="50000">
from creative upload form.  This was an artificial cap (optionally honored by
browsers).  Can't believe it lasted this long with only one complaint.

Fixed some overlooked i18n messages.

-------------------------------------------------------------------------------

1.1.6

Added russian translation (in three different charsets!).  Also fixed a few
missing messages in French i18n library.

Bugfix: 563690 (Mozilla rendering problems)

Fixed bug where status of campaigns and creatives was not being translated.

Tightened up display of daily/hourly stats to make it fit in table better

-------------------------------------------------------------------------------

1.1.5

Added Javascript delivery option.  Thanks to Werner Maier for the patch.

Bugfix: 552356

-------------------------------------------------------------------------------

1.1.4

Fixed missing error codes in log files for oasisi-i.php and oasisi-e.php.
Thanks to Zbigniew Lukasiak for the fix.

Fixed bug #531808: commas in CPM, CPC, or Fixed values would cause a SQL
error when saving a campaign; now we quote those values, along with some
others in campaign.php, creative.php, and ltdcreative.php;  I hope this
fixes it.  On my US copy of MySQL, a query like UPDATE Campaigns SET
CPM="1,50" results in CPM getting set to 1.00 (MySQL seems to ignore
everything after the ','; presumably, this works differently when your
MySQL server is set for European locales).

A related bug was that if the thousands separator was '.', a regular 
expression trying to remove it would instead remove all the characters 
in the numeric string.  Fixed in campaign.php, creative.php, and 
campaigninsertion.php.

Added more diagnostics to load_creative_content() so that it will log
fatal shmem-related errors to the admin log, helping diagnose common
problems better. 

-------------------------------------------------------------------------------

1.1.3

Added file_exists() calls before deleting files in housekeeping() function
in hourly_maint.php.  Thanks to Brian Kariger and Paul Fierro.

Changed identify call to use the -format command-line option in anticipation
of changes in ImageMagick 5.4 (using -format should allow us to maintain
consistency in identify's output even as versions change)

Added version and date to documentation.

Added ValidateThirdParty option

-------------------------------------------------------------------------------

1.1.2

Added support for clickthrough tracking on rich media ads (put links in your
Rich Media source of the form <A HREF="[OASISCLICK:http://actual.url.here/]">
OASIS will tie the clicks back to the right creative.  Unfortunately, if you
have different links in the same creative, you won't be able to tell them
apart in the reports at this point. 

Fixed bug #481223: typo in oasisi-i.php that caused IFRAME ads to open
in the IFRAME itself

Fixed bug #486477: Mozilla rendering engine did not like comments of the
form "<!-- ----- -->"

-------------------------------------------------------------------------------

1.1.1a

Fixed a stupid bug in last release -- mysql_connect() had hardcoded localized
connection parameters.

-------------------------------------------------------------------------------

1.1.1

lib-dengine.inc: fixed a bug in shm_remove() call for versions 4.0.7
and above (forgot to add the shm_attach() in previous release)

updated the shm_remove() calls in install-lib.inc to be compatible with
PHP 4.0.7 and up

CRITICAL BUG FIX: preview_image.php would allow access to unauthorized files.
This bug was reported by Egbert Gerber and has been fixed.

-------------------------------------------------------------------------------

1.1

I think we're stable enough for a 1.1 release!

Added some code to detect version 4.0.7 and call shm_remove() with the
newer semantics. 

Fixed bug that was causing subsections to not be deleted.

-------------------------------------------------------------------------------

1.1 beta 7

Fixed bug 459120 (errors in full delivery table view)

Fixed bug 452969 (bad checking for impression totals of creatives, campaigns
when editing a creative)

Fixed bug in display of "Deliver by" dropdown in campaign interface.
Thanks to Egbert Gerber for the patch.

-------------------------------------------------------------------------------

1.1 beta 6

Closed a security hole that would allow advertisers (or anyone) to see
campaign reports by constructing the appropriate GET string.  Thanks to
Egbert Gerber for catching this.

Fixed a bug in oasisc.php where shared memory and a semaphore were
not released under certain error conditions.  This appears to be instrumental
in correcting lockups under FreeBSD.

More i18n fixes; some overlooked hard-coded labels, a number of calls
to number_format() that didn't specify the decimal placeholder or the thousands
separator, and some hard-coded currency symbols.

Still more bugs lingering after the major interface overhaul in version 1.0;
campaign.php and creative.php did not print a footer after reporting errors,
so the errors were not visible in Netscape.

Added more details to shared memory troubleshooting in the docs.

-------------------------------------------------------------------------------

1.1 beta 5

Added more i18n support; now numbers and currency are formatted appropriately,
via additional variables in the lib-i18n.inc file.

-------------------------------------------------------------------------------

1.1 beta 4

Fixed typo in lib-mgmt.php which caused the Admin button to not show up
under certain versions of MSIE.

Now test for existence of the hourly log file before trying to move it
and process it.  This eliminates useless error messages from the cron job.

Added French translation -- thanks to Jean Philippe Civade! 

Fixed some more internationalization bugs; there were still a few messages
hard-coded.  I know there are still some in the admin scripts.

Reports now use local date format at the top instead of YYYY-MM-DD.

-------------------------------------------------------------------------------

1.1 beta 3

Fixed typo in creative.php (OAISmsg instead of OASISmsg, caused no message
to be displayed when deleting creatives).  A similar typo was in lib-report.php.

-------------------------------------------------------------------------------

1.1 beta 2
Replaced rand() with mt_rand()

Altered docs to advise users to block access to "*.inc" files

Added some FAQs to the docs

Added all IAB-recommended banner and button sizes to the MaxSizes table;
added a Name field to our MaxSizes records.

Fixed a bug in copy campaign where ImpressionsDelivered, ClicksDelivered
did not get set to 0 on the new campaign's creatives

Bugfixes in Campaign management: after copying a campaign or deleting it,
the interface was redirecting to bad URLs.  Now fixed.

Fixed a bug where the admin and simulation logs were not getting written

Added a summary e-mail report, courtesy of Willo van der Merwe

Fixed numerous interface bugs

-------------------------------------------------------------------------------

1.1 beta 1

Renamed all lib-*.php files to lib-*.inc

Added lib-i18n.inc (and oasis_lang to oasis.cfg)

advertiser reporting interface

-------------------------------------------------------------------------------
1.0

New look and feel for interface

Install default advertiser, section, and campaign

Sample tag generator

Added cache control headers to oasisi-i.php to prevent caching of
IFRAME/ILAYER code.

Got rid of error messages when hourly_maint.php is run with no
campaigns or sections

Better testing for errors on connecting to shared memory segments in
admin interface: a more helpful error message is presented, suggesting
a remedy to the problem.

Improvements to install.php

Added upgrade.php

Cleaned up documentation; clarification and HTML cleanup.

Documentation (HTML as well as PDF) linked up in interface

Added test for register_argc_argv to install-lib.php so that OASIS
won't install without this configuration option set.

BUGFIX: extra newline in oasisi-e.php's output when writing third-party
banner code

BUGFIX: long lines in log file were breaking up interface

BUGFIX: "Suspended" was not in the MySQL enums for Campaigns and Creatives;
selecting "Suspended" would result in a NULL value being stored

BUGFIX: hourly_maint.php called "nice -n 10", which won't work on FreeBSD;
"nice -10" works on both Linux and FreeBSD


0.1c

Added [oasis_domain] configuration variable.  In oasisi*.php, the cookie
was being set for the domain '.wral-tv.com'.  It is now set properly based
on the configuration at install time.

Changed oasisi-e.php and oasisi-i.php to use

http://[oasis_host][oasis_url]oasisc.php

instead of

/oasisc.php

when delivering third-party ads.  This would have only caused problems for
users who had OASIS installed in non-root directories


0.1b

Fixed problem in oasisi-e.php and oasisi-i.php where the $media_type array
was getting overwritten with a scalar.  This caused problems if there were
two calls to get_creative() in a single page.

Default size of CreativeContent shared memory lowered from 5MB to 4MB so that
OASIS works out of the box on the stock FreeBSD kernel, where the maximum
shared memory segment is 4MB.  Added instructions for FreeBSD users to
recompile the kernel to up this limit.

Fixed a misnamed variable in install.php which caused problems if the MySQL
root account has a password.

Improved documentation -- better explanation of how to run hourly_maint.php
if something goes wrong in the install; added Troubleshooting section.



