News and announcements

Upstart 0.6.5 released

Written for upstart by Scott James Remnant (Canonical) on 2010-02-04

Haven't quite followed the original release plan here, but I thought it
was important to get a new Upstart release out sooner rather than later
for the stable crowd. The main change here is that the libnih library
has been separated out into its own source tree (you can get it from
Launchpad), along with some merging of patches that had lived in the
Ubuntu branch of Upstart for a while back into the trunk.

0.6.5 2010-02-04 "Our last, best hope for victory"

        * Since libnih has been separated out into its own project, Upstart
          no longer includes its source and now uses the installed version by
          default.

        * The external nih-dbus-tool means that cross-compilation is trivial,
          the path to it may be overriden with NIH_DBUS_TOOL=... as an
          argument to configure. (Bug: #426740)

        * Developers may still build against a local libnih source tree by
          passing --with-local-libnih=/path/to/libnih to configure.

        * There is a new initctl "reload" command, with matching
          /sbin/reload symlink. This sends the SIGHUP signal to the running
          main process of the named job instance.

        * Event operator matches in jobs now support "!=" in addition to the
          usual "=", e.g.:

                start on net-device-added INTERFACE!=eth*

          (Bug: #513035)

        * Moved D-Bus system bus reconnection trigger from SIGHUP to SIGUSR1,
          since SIGHUP is already used for a forced configuration reload and
          causes Upstart to "forget" state.

        * Fixed bug where the default runlevel would be lost when an
          /etc/inittab file exists without an initdefault line. (Bug: #405847)

        * Fixed "Unhandled error" message from shutdown. (Bug: #426332)

        * Fixed "Unhandled error" assertion crash from Upstart child
          processes when failing to spawn a job. (Bug: #451917)

        * No longer holds /dev/console open, so the SAK SysRq key will not
          kill Upstart. (Bug: #486005)

        * Restored sync() call before reboot().

        * Added missing OPTIONS section to init(8) manpage. (Bug: #449883)

Upstart 0.6.3 released

Written for upstart by Scott James Remnant (Canonical) on 2009-08-02

The biggest disadvantage to people actually using your software is that they find bugs, this one's a doozy because it looks like it affects older 0.3 releases as well. Now seems as good a time as any to repeat my recommendation that distributions, mobile and embedded appliance developers using Upstart consider using 0.6 in their next release rather than sticking with 0.3

I've also today created the 0.6 stable branch in bzr, those following stable releases with bzr will want to update their trees to lp:~scott/upstart/0.6. New stable releases will be made off this branch while trunk receives more exciting developments.

0.6.3 2009-08-02 "Our last, best hope for peace"

 * Fixed an assertion when a job's main process is terminated
   while in the stopping state. (Bug: #406408)

 * Fixed compilation on ia64.

 * nih-dbus-tool(1) manpage will not be installed, since the binary
   is not. (Bug: #403103)

The tarball can be found here:

 http://upstart.ubuntu.com/download/

For more information on upstart:

 http://upstart.ubuntu.com/

Upstart 0.6.2 released

Written for upstart by Scott James Remnant (Canonical) on 2009-07-21

I've started the process of converting Ubuntu's boot process to be Upstart native, and hit both an assertion and an annoying bug with the fork following. Might as well keep up the release momentum, so here's a release to fix those.

0.6.2 2009-07-21 "Buggrit, millennium hand and shrimp"

        * Fixed an assertion when a job receives a stop event or the
          stop command while still in the starting state.

        * Changed exec() trace handling to allow the main process to
          exec another before fork()ing while still following (e.g.
          main script exec'ing a daemon)

 * Restored missing chdir("/") call when catching crashes.

The tarball can be found here:

        http://upstart.ubuntu.com/download/

For more information on upstart:

        http://upstart.ubuntu.com/

Upstart 0.6.1 released

Written for upstart by Scott James Remnant (Canonical) on 2009-07-16

Thanks to Jeff Oliver's debugging, I was able to understand why the
ptrace()-based daemon supervision wasn't working half the time and come
up with a simple fix. Having working "expect fork" and "expect daemon"
is a big win!

Cleaned up a couple of minor "runlevel in sysinit" bugs at the same
time; and since D-Bus 1.2.16 has been released, bumped the requirement
so people know they can just use the release.

0.6.1 2009-07-16 "Born in the wagon of a travelling show"

        * D-Bus 1.2.16 is now required.

        * Updated ptrace() code to handle receiving the trapped stopped
          child _before_ we receive the trapped fork() syscall, which
          seems to be the most common way the race goes when running
          as init. This seems to make "expect fork/daemon" largely work.
          (Bug: #264711)

        * runlevel will now output "unknown" and exit with an error when
          called before the first telinit call. (Bug: #400248)

        * runlevel will prefix error messages with the utmp filename being
          used. (Bug: #400241)

The tarball can be found here:

        http://upstart.ubuntu.com/download/

For more information on upstart:

        http://upstart.ubuntu.com/

upstart 0.6.0 released

Written for upstart by Scott James Remnant (Canonical) on 2009-07-09

At last, the announcement of a new stable series. This one's based off 0.5.2 but with a lot of the sharp corners shaved off, and lots of bug fixes.

I strongly suggest that everybody using 0.3.x or 0.5.x now bite the bullet and switch to using 0.6.0, I probably won't make another release on those branches now. There's a bit of a compatibility bump moving the configuration directory, but I'll make sure that the 0.10 development series is backwards compatible with it.

0.6.0 2009-07-09 "How appropriate, you fight like a cow"

 * The licence for Upstart has been changed back to version 2 of the
   GNU GPL.

 * D-Bus 1.2.15 is now required, this is the current GIT HEAD
   pending a 1.2.16 release.

 * Configuration paths have changed. Global configuration now
   resides in "/etc/init.conf" while jobs are now configured in
   "/etc/init"

 * Job configuration filenames must now end in ".conf"

 * Default configuration files are now supplied in the "conf"
   sub-directory of the source, and installed into "/etc/init".

   These match the Debian/Ubuntu sysvinit configuration so may
   require some tweaking for other distributions, but provide an
   excellent base.

   The old example-jobs tarballs are deprecated.

 * The D-Bus interface remains unstable, to reflect this the current
   interface name has changed to "com.ubuntu.Upstart0_6" and the
   name of the job and instance interfaces have changed to match.

 * The "EmitEvent" D-Bus method gains a wait argument, when given
   as TRUE (the recommended setting) the method call will be blocked
   until all effects of the event have finished. When FALSE the
   method call will return once the event has been queued.

 * The "Start", "Stop" and "Restart" D-Bus methods of jobs and
   instances gain a similar wait argument.

 * The Upstart D-Bus object now has "version" and "log_priority"
   properties. The former is to obtain the version of the init daemon,
   the latter allows you to obtain and change the logging priority.

 * Job D-Bus objects now have "name", "description", "author" and
   "version" properties to obtain the job name and the contents of
   the equivalent job file fields for the others.

 * Instance D-Bus objects now have "name", "goal", "state" and
   "processes" properties to obtain the instance name, goal, state
   and list of running processes and their pids respectively.

 * The default D-Bus security policy now permits use of the "Get"
   methods by all users, including obtaining values of properties.

 * initctl has been rewritten with functionality more along the
   lines of Upstart 0.3.x than before; since many distributions are
   still shipping 0.3.x the summary of changes for the tool reflects
   both changes from 0.3.x and 0.5.x

 * The global "-p"/"--pid" argument has been dropped, since
   communication is over D-Bus. New "--system" and "--dest" arguments
   have been added to force communication over the system bus, and
   specify the destination, instead of using the private socket (this
   is the default when run as non-root to permit "list" and "status"
   to work for ordinary users).

 * The "-i"/"--id" and "--show-ids" options to commands have been
   dropped since jobs no longer have ids.

 * Since instances may now have names, these will be displayed in
   brackets after the job name when one is present. The output of
   the goal and state are now expressed as "start/running" instead
   of "(start) running" to disambiguate.

 * initctl "start" and "stop" now only output the final state of
   the job, not intermediate states it passes through. When called
   with "--no-wait", the commands now output a status before
   returning (which may not be the final status).

 * initctl "start", "stop" and "status" now only accept a single
   job name. Further arguments are taken as KEY=VALUE environment
   variables to pass to the job, replacing the previous "-e" option.

 * There is a new initctl "restart" command, with matching
   /sbin/restart symlink. This is the atomic equivalent of calling
   "stop" and "start" with the exception that a stopped job will
   not be started again.

 * In keeping with the newer instance model, instance jobs are now
   output on separate lines with their full names rather than
   indented under a "master" instance.

 * initctl "status" will exit non-zero if the job name was not
   found. (Bug: #328323)

 * initctl "status" now outputs information for multi-instance
   jobs. (Bug: #331407)

 * initctl "list" no longer accepts a pattern, use grep. Output
   is no longer sorted.

 * initctl "emit" no longer outputs changes that occur as a result
   of the event.

 * When initctl "emit" is called with "--no-wait", it will return
   immediately. (Bug: #324890)

 * initctl "emit" now only accepts a single event name. Further
   arguments are taken as KEY=VALUE environment for the event,
   replacing the previous "-e" option.

 * initctl "jobs" and "events" have been dropped.

 * initctl "log-priority" may be called without arguments, in
   which case it will output the current priority. (Bug: #280529)

 * initctl "reload" has been renamed to "reload-configuration"
   to avoid confusion with reloading a job's configuration.

 * initctl(8) man page updated. (Bug: #285753)

 * runlevel no longer accepts the --set and --reboot arguments,
   instead telinit and shutdown write these records into utmp and wtmp.

 * runlevel(7) man page added to describe the runlevel event, and
   the implementation of runlevels and System V compatibility in
   Upstart. (Bug: #60429)

 * telinit will no longer silently ignore the "a", "b" or "c"
   runlevels.

 * telinit now accepts the previously ignored "-e" argument, passing
   the environment variables given along with the runlevel event.

 * telinit now officially accepts the "q"/"Q" and "u"/"U" arguments,
   the former will reload the Upstart configuration while the latter
   will re-execute Upstart.

 * telinit q will also attempt to reconnect to the D-Bus system bus
   if the connection has not been made, or has been lost.
   (Bug: #323022)

 * reboot no longer silently ignores the "-t" option.

 * reboot now silently ignores the "-n", "-i" and "-h" options; it
   will no longer sync your disks, down your network interfaces or
   spin down your hard drives. This functionality is all handled
   by the kernel on a modern system. (Bug: #92685)

 * reboot now writes a "shutdown" record to /var/log/wtmp, this means
   that the "-w" option is honoured with its original intent. We
   still silently ignore the "-d" option.

 * shutdown message generation fixed to be more easily translatable.
   (Bug: #102565)

 * The TERM/KILL timeout, and other system timeouts, now use the
   monotonic clock so are unaffected by system clock changes.
   (Bug: #389588)

 * Respawn detection now uses the monotonic clock so is unaffected
   by system clock changes. (Bug: #389586)

 * Significant improvement in the amount of manual pages included
   with Upstart and their content. (Bug: #60429)

 * A manual page refering people from /etc/inittab to /etc/init
   is also included. (Bug: #72058)

The tarball can be found here:

        http://upstart.ubuntu.com/download/

For more information on upstart:

        http://upstart.ubuntu.com/

2125 of 30 results

Announcements